123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368 |
- {$IfDef read_interface}
- type
- PGnomeDockPlacement = ^TGnomeDockPlacement;
- TGnomeDockPlacement = (GNOME_DOCK_TOP,GNOME_DOCK_RIGHT,GNOME_DOCK_BOTTOM,
- GNOME_DOCK_LEFT,GNOME_DOCK_FLOATING);
- type
- TGnomeDockItemBehavior = (GNOME_DOCK_ITEM_BEH_NORMAL := 0,GNOME_DOCK_ITEM_BEH_EXCLUSIVE := 1 shl 0,
- GNOME_DOCK_ITEM_BEH_NEVER_FLOATING := 1 shl 1,
- GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL := 1 shl 2,
- GNOME_DOCK_ITEM_BEH_NEVER_HORIZONTAL := 1 shl 3,
- GNOME_DOCK_ITEM_BEH_LOCKED := 1 shl 4);
- const
- GNOME_DOCK_ITEM_BEH_NEVER_DETACH = GNOME_DOCK_ITEM_BEH_NEVER_FLOATING;
- type
- PGnomeDockItem = ^TGnomeDockItem;
- TGnomeDockItem = record
- bin : TGtkBin;
- name : Pgchar;
- bin_window : PGdkWindow;
- float_window : PGdkWindow;
- shadow_type : TGtkShadowType;
- orientation : TGtkOrientation;
- behavior : TGnomeDockItemBehavior;
- flag0 : word;
- dragoff_x : gint;
- dragoff_y : gint;
- float_x : gint;
- float_y : gint;
- grab_on_map_event : guint;
- end;
- GNOME_DOCK_ITEM = PGnomeDockItem;
- function GNOME_DOCK_ITEM_NOT_LOCKED(x : PGnomeDockItem) : gboolean;
- const
- bm__GnomeDockItem_float_window_mapped = $1;
- bp__GnomeDockItem_float_window_mapped = 0;
- bm__GnomeDockItem_is_floating = $2;
- bp__GnomeDockItem_is_floating = 1;
- bm__GnomeDockItem_in_drag = $4;
- bp__GnomeDockItem_in_drag = 2;
- function float_window_mapped(var a : TGnomeDockItem) : gboolean;
- procedure set_float_window_mapped(var a : TGnomeDockItem; __float_window_mapped : gboolean);
- function is_floating(var a : TGnomeDockItem) : gboolean;
- procedure set_is_floating(var a : TGnomeDockItem; __is_floating : gboolean);
- function in_drag(var a : TGnomeDockItem) : gboolean;
- procedure set_in_drag(var a : TGnomeDockItem; __in_drag : gboolean);
- type
- PGnomeDockItemClass = ^TGnomeDockItemClass;
- TGnomeDockItemClass = record
- parent_class : TGtkBinClass;
- dock_drag_begin : procedure (item:PGnomeDockItem);cdecl;
- dock_drag_motion : procedure (item:PGnomeDockItem; x:gint; y:gint);cdecl;
- dock_drag_end : procedure (item:PGnomeDockItem);cdecl;
- dock_detach : procedure (item:PGnomeDockItem);cdecl;
- end;
- GNOME_DOCK_ITEM_CLASS = PGnomeDockItemClass;
- type
- PGnomeDockLayoutItem = ^TGnomeDockLayoutItem;
- TGnomeDockLayoutItem = record
- item : PGnomeDockItem;
- placement : TGnomeDockPlacement;
- position : record
- case longint of
- 0 : ( floating : record
- x : gint;
- y : gint;
- orientation : TGtkOrientation;
- end );
- 1 : ( docked : record
- band_num : gint;
- band_position : gint;
- offset : gint;
- end );
- end;
- end;
- GNOME_DOCK_LAYOUT_ITEM = PGnomeDockLayoutItem;
- PGnomeDockLayout = ^TGnomeDockLayout;
- TGnomeDockLayout = record
- theobject : TGtkObject;
- items : PGList;
- end;
- GNOME_DOCK_LAYOUT = PGnomeDockLayout;
- PGnomeDockLayoutClass = ^TGnomeDockLayoutClass;
- TGnomeDockLayoutClass = record
- parent_class : TGtkObjectClass;
- end;
- GNOME_DOCK_LAYOUT_CLASS = PGnomeDockLayoutClass;
- type
- PGnomeDockBand = ^TGnomeDockBand;
- TGnomeDockBand = record
- container : TGtkContainer;
- orientation : TGtkOrientation;
- children : PGList;
- num_children : guint;
- floating_child : PGList;
- doing_drag : gboolean;
- max_space_requisition : guint;
- tot_offsets : guint;
- drag_allocation : TGtkAllocation;
- flag0 : word;
- end;
- GNOME_DOCK_BAND = PGnomeDockBand;
- const
- bm__GnomeDockBand_new_for_drag = $1;
- bp__GnomeDockBand_new_for_drag = 0;
- function new_for_drag(var a : TGnomeDockBand) : Boolean;
- procedure set_new_for_drag(var a : TGnomeDockBand; __new_for_drag : Boolean);
- type
- PGnomeDockBandClass = ^TGnomeDockBandClass;
- TGnomeDockBandClass = record
- parent_class : TGtkContainerClass;
- end;
- GNOME_DOCK_BAND_CLASS = PGnomeDockBandClass;
- PGnomeDockBandChild = ^TGnomeDockBandChild;
- TGnomeDockBandChild = record
- widget : PGtkWidget;
- offset : guint;
- real_offset : guint;
- drag_offset : guint;
- drag_allocation : TGtkAllocation;
- prev_space : guint;
- foll_space : guint;
- drag_prev_space : guint;
- drag_foll_space : guint;
- max_space_requisition : guint;
- end;
- GNOME_DOCK_BAND_CHILD = PGnomeDockBandChild;
- type
- PGnomeDock = ^TGnomeDock;
- TGnomeDock = record
- container : TGtkContainer;
- client_area : PGtkWidget;
- top_bands : PGList;
- bottom_bands : PGList;
- right_bands : PGList;
- left_bands : PGList;
- floating_children : PGList;
- client_rect : TGtkAllocation;
- flag0 : word;
- end;
- GNOME_DOCK = PGnomeDock;
- const
- bm__GnomeDock_floating_items_allowed = $1;
- bp__GnomeDock_floating_items_allowed = 0;
- function floating_items_allowed(var a : TGnomeDock) : gboolean;
- procedure set_floating_items_allowed(var a : TGnomeDock; __floating_items_allowed : gboolean);
- type
- PGnomeDockClass = ^TGnomeDockClass;
- TGnomeDockClass = record
- parent_class : TGtkContainerClass;
- layout_changed : procedure (dock:PGnomeDock);cdecl;
- end;
- GNOME_DOCK_CLASS = PGnomeDockClass;
- function GNOME_TYPE_DOCK_ITEM : TGTKType;
- function GNOME_IS_DOCK_ITEM(obj : Pointer) : Boolean;
- function GNOME_IS_DOCK_ITEM_CLASS(klass : Pointer) : Boolean;
- function gnome_dock_item_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_item_get_type';
- function gnome_dock_item_new(name:Pgchar; behavior:TGnomeDockItemBehavior):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_item_new';
- procedure gnome_dock_item_construct(new_dock_item:PGnomeDockItem; name:Pgchar; behavior:TGnomeDockItemBehavior);cdecl;external libgnomeuidll name 'gnome_dock_item_construct';
- function gnome_dock_item_get_child(dock_item:PGnomeDockItem):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_item_get_child';
- function gnome_dock_item_get_name(dock_item:PGnomeDockItem):Pchar;cdecl;external libgnomeuidll name 'gnome_dock_item_get_name';
- procedure gnome_dock_item_set_shadow_type(dock_item:PGnomeDockItem; thetype:TGtkShadowType);cdecl;external libgnomeuidll name 'gnome_dock_item_set_shadow_type';
- function gnome_dock_item_get_shadow_type(dock_item:PGnomeDockItem):TGtkShadowType;cdecl;external libgnomeuidll name 'gnome_dock_item_get_shadow_type';
- function gnome_dock_item_set_orientation(dock_item:PGnomeDockItem; orientation:TGtkOrientation):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_item_set_orientation';
- function gnome_dock_item_get_orientation(dock_item:PGnomeDockItem):TGtkOrientation;cdecl;external libgnomeuidll name 'gnome_dock_item_get_orientation';
- function gnome_dock_item_get_behavior(dock_item:PGnomeDockItem):TGnomeDockItemBehavior;cdecl;external libgnomeuidll name 'gnome_dock_item_get_behavior';
- function gnome_dock_item_detach(item:PGnomeDockItem; x:gint; y:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_item_detach';
- procedure gnome_dock_item_attach(item:PGnomeDockItem; parent:PGtkWidget; x:gint; y:gint);cdecl;external libgnomeuidll name 'gnome_dock_item_attach';
- procedure gnome_dock_item_grab_pointer(item:PGnomeDockItem);cdecl;external libgnomeuidll name 'gnome_dock_item_grab_pointer';
- procedure gnome_dock_item_drag_floating(item:PGnomeDockItem; x:gint; y:gint);cdecl;external libgnomeuidll name 'gnome_dock_item_drag_floating';
- procedure gnome_dock_item_handle_size_request(item:PGnomeDockItem; requisition:PGtkRequisition);cdecl;external libgnomeuidll name 'gnome_dock_item_handle_size_request';
- procedure gnome_dock_item_get_floating_position(item:PGnomeDockItem; x:Pgint; y:Pgint);cdecl;external libgnomeuidll name 'gnome_dock_item_get_floating_position';
- function GNOME_TYPE_DOCK_LAYOUT : TGTKType;
- function GNOME_IS_DOCK_LAYOUT(obj : pointer) : Boolean;
- function GNOME_IS_DOCK_LAYOUT_CLASS(klass : pointer) : boolean;
- function gnome_dock_layout_new:PGnomeDockLayout;cdecl;external libgnomeuidll name 'gnome_dock_layout_new';
- function gnome_dock_layout_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_layout_get_type';
- function gnome_dock_layout_add_item(layout:PGnomeDockLayout; item:PGnomeDockItem; placement:TGnomeDockPlacement; band_num:gint; band_position:gint;
- offset:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_add_item';
- function gnome_dock_layout_add_floating_item(layout:PGnomeDockLayout; item:PGnomeDockItem; x:gint; y:gint; orientation:TGtkOrientation):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_add_floating_item';
- function gnome_dock_layout_get_item(layout:PGnomeDockLayout; item:PGnomeDockItem):PGnomeDockLayoutItem;cdecl;external libgnomeuidll name 'gnome_dock_layout_get_item';
- function gnome_dock_layout_get_item_by_name(layout:PGnomeDockLayout; name:Pgchar):PGnomeDockLayoutItem;cdecl;external libgnomeuidll name 'gnome_dock_layout_get_item_by_name';
- function gnome_dock_layout_remove_item(layout:PGnomeDockLayout; item:PGnomeDockItem):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_remove_item';
- function gnome_dock_layout_remove_item_by_name(layout:PGnomeDockLayout; name:Pgchar):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_remove_item_by_name';
- function gnome_dock_layout_create_string(layout:PGnomeDockLayout):Pgchar;cdecl;external libgnomeuidll name 'gnome_dock_layout_create_string';
- function gnome_dock_layout_parse_string(layout:PGnomeDockLayout; _string:Pgchar):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_parse_string';
- function gnome_dock_layout_add_to_dock(layout:PGnomeDockLayout; dock:PGnomeDock):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_add_to_dock';
- function GNOME_TYPE_DOCK_BAND : TGTKType;
- function GNOME_IS_DOCK_BAND(obj : Pointer) : Boolean;
- function GNOME_IS_DOCK_BAND_CLASS(klass : Pointer) : Boolean;
- function gnome_dock_band_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_band_new';
- function gnome_dock_band_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_band_get_type';
- procedure gnome_dock_band_set_orientation(band:PGnomeDockBand; orientation:TGtkOrientation);cdecl;external libgnomeuidll name 'gnome_dock_band_set_orientation';
- function gnome_dock_band_get_orientation(band:PGnomeDockBand):TGtkOrientation;cdecl;external libgnomeuidll name 'gnome_dock_band_get_orientation';
- function gnome_dock_band_insert(band:PGnomeDockBand; child:PGtkWidget; offset:guint; position:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_insert';
- function gnome_dock_band_prepend(band:PGnomeDockBand; child:PGtkWidget; offset:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_prepend';
- function gnome_dock_band_append(band:PGnomeDockBand; child:PGtkWidget; offset:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_append';
- procedure gnome_dock_band_set_child_offset(band:PGnomeDockBand; child:PGtkWidget; offset:guint);cdecl;external libgnomeuidll name 'gnome_dock_band_set_child_offset';
- function gnome_dock_band_get_child_offset(band:PGnomeDockBand; child:PGtkWidget):guint;cdecl;external libgnomeuidll name 'gnome_dock_band_get_child_offset';
- procedure gnome_dock_band_move_child(band:PGnomeDockBand; old_child:PGList; new_num:guint);cdecl;external libgnomeuidll name 'gnome_dock_band_move_child';
- function gnome_dock_band_get_num_children(band:PGnomeDockBand):guint;cdecl;external libgnomeuidll name 'gnome_dock_band_get_num_children';
- procedure gnome_dock_band_drag_begin(band:PGnomeDockBand; item:PGnomeDockItem);cdecl;external libgnomeuidll name 'gnome_dock_band_drag_begin';
- function gnome_dock_band_drag_to(band:PGnomeDockBand; item:PGnomeDockItem; x:gint; y:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_drag_to';
- procedure gnome_dock_band_drag_end(band:PGnomeDockBand; item:PGnomeDockItem);cdecl;external libgnomeuidll name 'gnome_dock_band_drag_end';
- function gnome_dock_band_get_item_by_name(band:PGnomeDockBand; name:Pchar; position_return:Pguint; offset_return:Pguint):PGnomeDockItem;cdecl;external libgnomeuidll name 'gnome_dock_band_get_item_by_name';
- procedure gnome_dock_band_layout_add(band:PGnomeDockBand; layout:PGnomeDockLayout; placement:TGnomeDockPlacement; band_num:guint);cdecl;external libgnomeuidll name 'gnome_dock_band_layout_add';
- function GNOME_TYPE_DOCK : TGTKType;
- function GNOME_IS_DOCK(obj : Pointer) : Boolean;
- function GNOME_IS_DOCK_CLASS(klass : Pointer) : Boolean;
- function gnome_dock_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_new';
- function gnome_dock_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_get_type';
- procedure gnome_dock_allow_floating_items(dock:PGnomeDock; enable:gboolean);cdecl;external libgnomeuidll name 'gnome_dock_allow_floating_items';
- procedure gnome_dock_add_item(dock:PGnomeDock; item:PGnomeDockItem; placement:TGnomeDockPlacement; band_num:guint; position:gint;
- offset:guint; in_new_band:gboolean);cdecl;external libgnomeuidll name 'gnome_dock_add_item';
- procedure gnome_dock_add_floating_item(dock:PGnomeDock; widget:PGnomeDockItem; x:gint; y:gint; orientation:TGtkOrientation);cdecl;external libgnomeuidll name 'gnome_dock_add_floating_item';
- procedure gnome_dock_set_client_area(dock:PGnomeDock; widget:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_dock_set_client_area';
- function gnome_dock_get_client_area(dock:PGnomeDock):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_get_client_area';
- function gnome_dock_get_item_by_name(dock:PGnomeDock; name:Pgchar; placement_return:PGnomeDockPlacement; num_band_return:Pguint; band_position_return:Pguint;
- offset_return:Pguint):PGnomeDockItem;cdecl;external libgnomeuidll name 'gnome_dock_get_item_by_name';
- function gnome_dock_get_layout(dock:PGnomeDock):PGnomeDockLayout;cdecl;external libgnomeuidll name 'gnome_dock_get_layout';
- function gnome_dock_add_from_layout(dock:PGnomeDock; layout:PGnomeDockLayout):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_add_from_layout';
- {$EndIf read_interface}
- {$Ifdef read_implementation}
- function GNOME_TYPE_DOCK_ITEM : TGTKType;
- begin
- GNOME_TYPE_DOCK_ITEM:=gnome_dock_band_get_type;
- end;
- function GNOME_IS_DOCK_ITEM(obj : pointer) : Boolean;
- begin
- GNOME_IS_DOCK_ITEM:=(obj<>nil) and GNOME_IS_DOCK_ITEM_CLASS(PGtkTypeObject(obj)^.klass);
- end;
- function GNOME_IS_DOCK_ITEM_CLASS(klass : pointer) : boolean;
- begin
- GNOME_IS_DOCK_ITEM_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK_ITEM);
- end;
- function GNOME_DOCK_ITEM_NOT_LOCKED(x : PGnomeDockItem) : gboolean;
- begin
- GNOME_DOCK_ITEM_NOT_LOCKED:= not gboolean(gint(x^.behavior) and gint(GNOME_DOCK_ITEM_BEH_LOCKED));
- end;
- function float_window_mapped(var a : TGnomeDockItem) : gboolean;
- begin
- float_window_mapped:=gboolean((a.flag0 and bm__GnomeDockItem_float_window_mapped) shr bp__GnomeDockItem_float_window_mapped);
- end;
- procedure set_float_window_mapped(var a : TGnomeDockItem; __float_window_mapped : gboolean);
- begin
- a.flag0:=a.flag0 or ((gint(__float_window_mapped) shl bp__GnomeDockItem_float_window_mapped) and bm__GnomeDockItem_float_window_mapped);
- end;
- function is_floating(var a : TGnomeDockItem) : gboolean;
- begin
- is_floating:=gboolean((a.flag0 and bm__GnomeDockItem_is_floating) shr bp__GnomeDockItem_is_floating);
- end;
- procedure set_is_floating(var a : TGnomeDockItem; __is_floating : gboolean);
- begin
- a.flag0:=a.flag0 or ((gint(__is_floating) shl bp__GnomeDockItem_is_floating) and bm__GnomeDockItem_is_floating);
- end;
- function in_drag(var a : TGnomeDockItem) : gboolean;
- begin
- in_drag:=gboolean((a.flag0 and bm__GnomeDockItem_in_drag) shr bp__GnomeDockItem_in_drag);
- end;
- procedure set_in_drag(var a : TGnomeDockItem; __in_drag : gboolean);
- begin
- a.flag0:=a.flag0 or ((gint(__in_drag) shl bp__GnomeDockItem_in_drag) and bm__GnomeDockItem_in_drag);
- end;
- function GNOME_TYPE_DOCK_LAYOUT : TGTKType;
- begin
- GNOME_TYPE_DOCK_LAYOUT:=gnome_dock_layout_get_type;
- end;
- function GNOME_IS_DOCK_LAYOUT(obj : pointer) : Boolean;
- begin
- GNOME_IS_DOCK_LAYOUT:=(obj<>nil) and GNOME_IS_DOCK_LAYOUT_CLASS(PGtkTypeObject(obj)^.klass);
- end;
- function GNOME_IS_DOCK_LAYOUT_CLASS(klass : pointer) : boolean;
- begin
- GNOME_IS_DOCK_LAYOUT_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK_LAYOUT);
- end;
- function GNOME_TYPE_DOCK_BAND : TGTKType;
- begin
- GNOME_TYPE_DOCK_BAND:=gnome_dock_band_get_type;
- end;
- function GNOME_IS_DOCK_BAND(obj : pointer) : Boolean;
- begin
- GNOME_IS_DOCK_BAND:=(obj<>nil) and GNOME_IS_DOCK_BAND_CLASS(PGtkTypeObject(obj)^.klass);
- end;
- function GNOME_IS_DOCK_BAND_CLASS(klass : pointer) : boolean;
- begin
- GNOME_IS_DOCK_BAND_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK_BAND);
- end;
- function new_for_drag(var a : TGnomeDockBand) : boolean;
- begin
- new_for_drag:=boolean((a.flag0 and bm__GnomeDockBand_new_for_drag) shr bp__GnomeDockBand_new_for_drag);
- end;
- procedure set_new_for_drag(var a : TGnomeDockBand; __new_for_drag : boolean);
- begin
- a.flag0:=a.flag0 or ((longint(__new_for_drag) shl bp__GnomeDockBand_new_for_drag) and bm__GnomeDockBand_new_for_drag);
- end;
- function GNOME_TYPE_DOCK : TGTKType;
- begin
- GNOME_TYPE_DOCK:=gnome_dock_get_type;
- end;
- function GNOME_IS_DOCK(obj : pointer) : Boolean;
- begin
- GNOME_IS_DOCK:=(obj<>nil) and GNOME_IS_DOCK_CLASS(PGtkTypeObject(obj)^.klass);
- end;
- function GNOME_IS_DOCK_CLASS(klass : pointer) : boolean;
- begin
- GNOME_IS_DOCK_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK);
- end;
- function floating_items_allowed(var a : TGnomeDock) : gboolean;
- begin
- floating_items_allowed:=gBoolean((a.flag0 and bm__GnomeDock_floating_items_allowed) shr bp__GnomeDock_floating_items_allowed);
- end;
- procedure set_floating_items_allowed(var a : TGnomeDock; __floating_items_allowed : gboolean);
- begin
- a.flag0:=a.flag0 or ((gint(__floating_items_allowed) shl bp__GnomeDock_floating_items_allowed) and bm__GnomeDock_floating_items_allowed);
- end;
- {$Endif read_implementation}
|