![]() |
![]() |
![]() |
GNOME Docking Library Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
#define GDL_DOCK_ITEM_CANT_CLOSE (item) #define GDL_DOCK_ITEM_CANT_ICONIFY (item) #define GDL_DOCK_ITEM_FLAGS (item) #define GDL_DOCK_ITEM_HAS_GRIP (item) #define GDL_DOCK_ITEM_ICONIFIED (item) #define GDL_DOCK_ITEM_IN_DRAG (item) #define GDL_DOCK_ITEM_IN_PREDRAG (item) #define GDL_DOCK_ITEM_NOT_LOCKED (item) #define GDL_DOCK_ITEM_NO_GRIP (item) #define GDL_DOCK_ITEM_SET_FLAGS (item, flag) #define GDL_DOCK_ITEM_UNSET_FLAGS (item, flag) #define GDL_DOCK_ITEM_USER_ACTION (item) struct GdlDockItem; enum GdlDockItemBehavior; struct GdlDockItemClass; enum GdlDockItemFlags; GtkWidget * gdl_dock_item_new (const gchar *name
,const gchar *long_name
,GdlDockItemBehavior behavior
); GtkWidget * gdl_dock_item_new_with_pixbuf_icon (const gchar *name
,const gchar *long_name
,const GdkPixbuf *pixbuf_icon
,GdlDockItemBehavior behavior
); GtkWidget * gdl_dock_item_new_with_stock (const gchar *name
,const gchar *long_name
,const gchar *stock_id
,GdlDockItemBehavior behavior
); void gdl_dock_item_bind (GdlDockItem *item
,GtkWidget *dock
); void gdl_dock_item_unbind (GdlDockItem *item
); void gdl_dock_item_show_grip (GdlDockItem *item
); void gdl_dock_item_hide_grip (GdlDockItem *item
); void gdl_dock_item_show_item (GdlDockItem *item
); void gdl_dock_item_hide_item (GdlDockItem *item
); void gdl_dock_item_iconify_item (GdlDockItem *item
); void gdl_dock_item_dock_to (GdlDockItem *item
,GdlDockItem *target
,GdlDockPlacement position
,gint docking_param
); void gdl_dock_item_lock (GdlDockItem *item
); void gdl_dock_item_unlock (GdlDockItem *item
); void gdl_dock_item_notify_deselected (GdlDockItem *item
); void gdl_dock_item_notify_selected (GdlDockItem *item
); GtkWidget * gdl_dock_item_get_grip (GdlDockItem *item
); GtkWidget * gdl_dock_item_get_tablabel (GdlDockItem *item
); gboolean gdl_dock_item_or_child_has_focus (GdlDockItem *item
); void gdl_dock_item_preferred_size (GdlDockItem *item
,GtkRequisition *req
); void gdl_dock_item_set_default_position (GdlDockItem *item
,GdlDockObject *reference
); void gdl_dock_item_set_orientation (GdlDockItem *item
,GtkOrientation orientation
); void gdl_dock_item_set_tablabel (GdlDockItem *item
,GtkWidget *tablabel
);
GObject +----GInitiallyUnowned +----GtkWidget +----GtkContainer +----GdlDockObject +----GdlDockItem +----GdlDockNotebook +----GdlDockPaned
"behavior" GdlDockItemBehavior : Read / Write "closed" gboolean : Read / Write "iconified" gboolean : Read / Write "locked" gboolean : Read / Write "orientation" GtkOrientation : Read / Write / Construct "preferred-height" gint : Read / Write "preferred-width" gint : Read / Write "resize" gboolean : Read / Write
"deselected" :Run First
"dock-drag-begin" :Run First
"dock-drag-end" :Run First
"dock-drag-motion" :Run First
"move-focus-child" :Action
"selected" :Run First
A dock item is a container widget that can be docked at different place. It accepts a single child and adds a grip allowing the user to click on it to drag and drop the widget.
The grip is implemented as a GdlDockItemGrip.
#define GDL_DOCK_ITEM_CANT_CLOSE(item) ((gdl_dock_item_get_behavior_flags(item) & GDL_DOCK_ITEM_BEH_CANT_CLOSE) != 0)
Evaluates to TRUE
the item cannot be closed.
|
A GdlDockObject |
#define GDL_DOCK_ITEM_CANT_ICONIFY(item) ((gdl_dock_item_get_behavior_flags(item) & GDL_DOCK_ITEM_BEH_CANT_ICONIFY) != 0)
Evaluates to TRUE
the item cannot be iconifyed.
|
A GdlDockObject |
#define GDL_DOCK_ITEM_FLAGS(item) (GDL_DOCK_OBJECT (item)->flags)
GDL_DOCK_ITEM_FLAGS
has been deprecated since version 3.6 and should not be used in newly-written code. Use GDL_DOCK_OBJECT_FLAGS instead
Get all flags of GdlDockObject.
|
A GdlDockObject |
#define GDL_DOCK_ITEM_HAS_GRIP(item) ((gdl_dock_item_get_behavior_flags (item) & GDL_DOCK_ITEM_BEH_NO_GRIP) == 0)
Evaluates to TRUE
the item has a handle, so it can be moved.
|
A GdlDockObject |
#define GDL_DOCK_ITEM_ICONIFIED(item)
GDL_DOCK_ITEM_ICONIFIED
has been deprecated since version 3.6 and should not be used in newly-written code. Use GDL_DOCK_OBJECT_UNSET_FLAGS instead
Evaluates to TRUE
if the item is iconified, appearing only as a button in
the dock bar.
|
A GdlDockObject |
#define GDL_DOCK_ITEM_IN_DRAG(item)
GDL_DOCK_ITEM_IN_DRAG
has been deprecated since version 3.6 and should not be used in newly-written code. Use a private flag instead
Evaluates to TRUE
if the user is dragging the item.
|
A GdlDockObject |
#define GDL_DOCK_ITEM_IN_PREDRAG(item)
GDL_DOCK_ITEM_IN_PREDRAG
has been deprecated since version 3.6 and should not be used in newly-written code. Use a private flag instead
Evaluates to TRUE
if the user has clicked on the item but hasn't made a big
enough move to start the drag operation.
|
A GdlDockObject |
#define GDL_DOCK_ITEM_NOT_LOCKED(item) ((gdl_dock_item_get_behavior_flags(item) & GDL_DOCK_ITEM_BEH_LOCKED) == 0)
Evaluates to TRUE
the item can be moved, closed, or iconified.
|
A GdlDockObject |
#define GDL_DOCK_ITEM_NO_GRIP(item) ((gdl_dock_item_get_behavior_flags(item) & GDL_DOCK_ITEM_BEH_NO_GRIP) != 0)
GDL_DOCK_ITEM_NO_GRIP
has been deprecated since version 3.6 and should not be used in newly-written code. Use !GDL_DOCK_ITEM_HAS_GRIP instead
Evaluates to TRUE
the item has not handle, so it cannot be moved.
|
A GdlDockObject |
#define GDL_DOCK_ITEM_SET_FLAGS(item,flag)
GDL_DOCK_ITEM_SET_FLAGS
has been deprecated since version 3.6 and should not be used in newly-written code. Use GDL_DOCK_OBJECT_SET_FLAGS instead
Set one or more flags of a dock object.
|
A GdlDockObject |
|
One or more GdlDockObjectFlags |
#define GDL_DOCK_ITEM_UNSET_FLAGS(item,flag)
GDL_DOCK_ITEM_UNSET_FLAGS
has been deprecated since version 3.6 and should not be used in newly-written code. Use GDL_DOCK_OBJECT_UNSET_FLAGS instead
Clear one or more flags of a dock object.
|
A GdlDockObject |
|
One or more GdlDockObjectFlags |
#define GDL_DOCK_ITEM_USER_ACTION(item)
GDL_DOCK_ITEM_USER_ACTION
has been deprecated since version 3.6 and should not be used in newly-written code. Use a private flag instead
Evaluates to TRUE
if the user currently use the item, by example dragging
division of a GdlDockPaned object.
|
A GdlDockObject |
typedef enum { GDL_DOCK_ITEM_BEH_NORMAL = 0, GDL_DOCK_ITEM_BEH_NEVER_FLOATING = 1 << 0, GDL_DOCK_ITEM_BEH_NEVER_VERTICAL = 1 << 1, GDL_DOCK_ITEM_BEH_NEVER_HORIZONTAL = 1 << 2, GDL_DOCK_ITEM_BEH_LOCKED = 1 << 3, GDL_DOCK_ITEM_BEH_CANT_DOCK_TOP = 1 << 4, GDL_DOCK_ITEM_BEH_CANT_DOCK_BOTTOM = 1 << 5, GDL_DOCK_ITEM_BEH_CANT_DOCK_LEFT = 1 << 6, GDL_DOCK_ITEM_BEH_CANT_DOCK_RIGHT = 1 << 7, GDL_DOCK_ITEM_BEH_CANT_DOCK_CENTER = 1 << 8, GDL_DOCK_ITEM_BEH_CANT_CLOSE = 1 << 9, GDL_DOCK_ITEM_BEH_CANT_ICONIFY = 1 << 10, GDL_DOCK_ITEM_BEH_NO_GRIP = 1 << 11 } GdlDockItemBehavior;
Described the behaviour of a doc item. The item can have multiple flags set.
Normal dock item | |
item cannot be undocked | |
item cannot be docked vertically | |
item cannot be docked horizontally | |
item is locked, it cannot be moved around | |
item cannot be docked at top | |
item cannot be docked at bottom | |
item cannot be docked left | |
item cannot be docked right | |
item cannot be docked at center | |
item cannot be closed | |
item cannot be iconified | |
item doesn't have a grip |
struct GdlDockItemClass { GdlDockObjectClass parent_class; GdlDockItemClassPrivate *priv; /* virtuals */ void (* set_orientation) (GdlDockItem *item, GtkOrientation orientation); /* signals */ void (* dock_drag_begin) (GdlDockItem *item); void (* dock_drag_motion) (GdlDockItem *item, gint x, gint y); void (* dock_drag_end) (GdlDockItem *item, gboolean cancelled); void (* move_focus_child) (GdlDockItem *item, GtkDirectionType direction); };
typedef enum { GDL_DOCK_IN_DRAG = 1 << GDL_DOCK_OBJECT_FLAGS_SHIFT, GDL_DOCK_IN_PREDRAG = 1 << (GDL_DOCK_OBJECT_FLAGS_SHIFT + 1), GDL_DOCK_ICONIFIED = 1 << (GDL_DOCK_OBJECT_FLAGS_SHIFT + 2), GDL_DOCK_USER_ACTION = 1 << (GDL_DOCK_OBJECT_FLAGS_SHIFT + 3) } GdlDockItemFlags;
GdlDockItemFlags
has been deprecated since version 3.6 and should not be used in newly-written code. Use your own private data instead.
Status flag of a GdlDockItem. Don't use unless you derive a widget from GdlDockItem
GtkWidget * gdl_dock_item_new (const gchar *name
,const gchar *long_name
,GdlDockItemBehavior behavior
);
Creates a new dock item widget.
|
Unique name for identifying the dock object. |
|
Human readable name for the dock object. |
|
General behavior for the dock item (i.e. whether it can float, if it's locked, etc.), as specified by GdlDockItemBehavior flags. |
Returns : |
The newly created dock item grip widget. |
GtkWidget * gdl_dock_item_new_with_pixbuf_icon (const gchar *name
,const gchar *long_name
,const GdkPixbuf *pixbuf_icon
,GdlDockItemBehavior behavior
);
Creates a new dock item grip widget with a given pixbuf icon.
|
Unique name for identifying the dock object. |
|
Human readable name for the dock object. |
|
Pixbuf icon for the dock object. |
|
General behavior for the dock item (i.e. whether it can float, if it's locked, etc.), as specified by GdlDockItemBehavior flags. |
Returns : |
The newly created dock item grip widget. |
Since 3.3.2
GtkWidget * gdl_dock_item_new_with_stock (const gchar *name
,const gchar *long_name
,const gchar *stock_id
,GdlDockItemBehavior behavior
);
Creates a new dock item grip widget with a given stock id.
|
Unique name for identifying the dock object. |
|
Human readable name for the dock object. |
|
Stock icon for the dock object. |
|
General behavior for the dock item (i.e. whether it can float, if it's locked, etc.), as specified by GdlDockItemBehavior flags. |
Returns : |
The newly created dock item grip widget. |
void gdl_dock_item_bind (GdlDockItem *item
,GtkWidget *dock
);
Binds this dock item to a new dock master.
void gdl_dock_item_unbind (GdlDockItem *item
);
Unbinds this dock item from it's dock master.
|
The item to unbind. |
void gdl_dock_item_show_grip (GdlDockItem *item
);
This function shows the dock item's grip widget.
|
The dock item to show the grip of. |
void gdl_dock_item_hide_grip (GdlDockItem *item
);
This function hides the dock item's grip widget.
|
The dock item to hide the grip of. |
void gdl_dock_item_show_item (GdlDockItem *item
);
This function shows the dock item. When dock items are shown, they are displayed in their normal layout position.
|
The dock item to show. |
void gdl_dock_item_hide_item (GdlDockItem *item
);
This function hides the dock item. Since version 3.6, when dock items are hidden they are not removed from the layout.
The dock item close button causes the panel to be hidden.
|
The dock item to hide. |
void gdl_dock_item_iconify_item (GdlDockItem *item
);
This function iconifies the dock item. When dock items are iconified they are hidden, and appear only as icons in dock bars.
The dock item iconify button causes the panel to be iconified.
|
The dock item to iconify. |
void gdl_dock_item_dock_to (GdlDockItem *item
,GdlDockItem *target
,GdlDockPlacement position
,gint docking_param
);
Relocates a dock item to a new location relative to another dock item.
|
The dock item that will be relocated to the dock position. |
|
The dock item that will be used as the point of reference. [allow-none] |
|
The position to dock item, relative to target. |
|
This value is unused, and will be ignored. |
void gdl_dock_item_lock (GdlDockItem *item
);
This function locks the dock item. When locked the dock item cannot be dragged around and it doesn't show a grip.
|
The dock item to lock. |
void gdl_dock_item_unlock (GdlDockItem *item
);
This function unlocks the dock item. When unlocked the dock item can be dragged around and can show a grip.
|
The dock item to unlock. |
void gdl_dock_item_notify_deselected (GdlDockItem *item
);
This function emits the deselected signal. It is used by GdlSwitcher to let clients know that this item has been deselected.
|
the dock item to emit a deselected signal on. |
void gdl_dock_item_notify_selected (GdlDockItem *item
);
This function emits the selected signal. It is to be used by GdlSwitcher to let clients know that this item has been switched to.
|
the dock item to emit a selected signal on. |
GtkWidget * gdl_dock_item_get_grip (GdlDockItem *item
);
This function returns the dock item's grip label widget.
|
The dock item from which to to get the grip of. |
Returns : |
Returns the current label widget. [allow-none][transfer none] |
GtkWidget * gdl_dock_item_get_tablabel (GdlDockItem *item
);
Gets the current tab label widget. Note that this label widget is only visible when the "switcher-style" property of the GdlDockMaster is set to GDL_SWITCHER_STYLE_TABS
|
The dock item from which to get the tab label widget. |
Returns : |
Returns the tab label widget. [transfer none] |
gboolean gdl_dock_item_or_child_has_focus (GdlDockItem *item
);
Checks whether a given GdlDockItem or its child widget has focus. This check is performed recursively on child widgets.
|
The dock item to be checked |
Returns : |
TRUE if the dock item or its child widget has focus;
FALSE otherwise. |
Since 3.3.2
void gdl_dock_item_preferred_size (GdlDockItem *item
,GtkRequisition *req
);
Gets the preferred size of the dock item in pixels.
|
The dock item to get the preferred size of. |
|
A pointer to a GtkRequisition into which the preferred size will be written. |
void gdl_dock_item_set_default_position (GdlDockItem *item
,GdlDockObject *reference
);
This method has only an effect when you add you dock_item with GDL_DOCK_ITEM_BEH_NEVER_FLOATING. In this case you have to assign it a default position.*
Deprecated 3.6: This function is doing nothing now.
|
The dock item |
|
The GdlDockObject which is the default dock for item
|
void gdl_dock_item_set_orientation (GdlDockItem *item
,GtkOrientation orientation
);
This function sets the layout of the dock item.
|
The dock item which will get it's orientation set. |
|
The orientation to set the item to. If the orientation is set to GTK_ORIENTATION_VERTICAL, the grip widget will be shown along the top of the edge of item (if it is not hidden). If the orientation is set to GTK_ORIENTATION_HORIZONTAL, the grip widget will be shown down the left edge of the item (even if the widget text direction is set to RTL). |
void gdl_dock_item_set_tablabel (GdlDockItem *item
,GtkWidget *tablabel
);
Replaces the current tab label widget with another widget. Note that this label widget is only visible when the "switcher-style" property of the GdlDockMaster is set to GDL_SWITCHER_STYLE_TABS
|
The dock item which will get it's tab label widget set. |
|
The widget that will become the tab label. |
"behavior"
property"behavior" GdlDockItemBehavior : Read / Write
General behavior for the dock item (i.e. whether it can float, if it's locked, etc.).
"closed"
property "closed" gboolean : Read / Write
If set, the dock item is closed.
Default value: FALSE
Since 3.6
"iconified"
property "iconified" gboolean : Read / Write
If set, the dock item is hidden but it has a corresponding icon in the dock bar allowing to show it again.
Default value: FALSE
Since 3.6
"locked"
property "locked" gboolean : Read / Write
If set, the dock item cannot be dragged around and it doesn't show a grip.
Default value: FALSE
"orientation"
property "orientation" GtkOrientation : Read / Write / Construct
The orientation of the docking item. If the orientation is set to GTK_ORIENTATION_VERTICAL, the grip widget will be shown along the top of the edge of item (if it is not hidden). If the orientation is set to GTK_ORIENTATION_HORIZONTAL, the grip widget will be shown down the left edge of the item (even if the widget text direction is set to RTL).
Default value: GTK_ORIENTATION_VERTICAL
"preferred-height"
property "preferred-height" gint : Read / Write
Preferred height for the dock item.
Allowed values: >= G_MAXULONG
Default value: -1
"preferred-width"
property "preferred-width" gint : Read / Write
Preferred width for the dock item.
Allowed values: >= G_MAXULONG
Default value: -1
"deselected"
signalvoid user_function (GdlDockItem *arg0,
gpointer user_data) : Run First
Signals that this dock has been deselected in a switcher.
|
user data set when the signal handler was connected. |
"dock-drag-begin"
signalvoid user_function (GdlDockItem *item,
gpointer user_data) : Run First
Signals that the dock item has begun to be dragged.
|
The dock item which is being dragged. |
|
user data set when the signal handler was connected. |
"dock-drag-end"
signalvoid user_function (GdlDockItem *item,
gboolean cancel,
gpointer user_data) : Run First
Signals that the dock item dragging has ended.
|
The dock item which is no longer being dragged. |
|
This value is set to TRUE if the drag was cancelled by the user. cancel is set to FALSE if the drag was accepted. |
|
user data set when the signal handler was connected. |
"dock-drag-motion"
signalvoid user_function (GdlDockItem *item,
GdkDevice *device,
gint x,
gint y,
gpointer user_data) : Run First
Signals that a dock item dragging motion event has occured.
|
The dock item which is being dragged. |
|
The device used. |
|
The x-position that the dock item has been dragged to. |
|
The y-position that the dock item has been dragged to. |
|
user data set when the signal handler was connected. |
"move-focus-child"
signalvoid user_function (GdlDockItem *gdldockitem,
GtkDirectionType dir,
gpointer user_data) : Action
The ::move-focus-child signal is emitted when a change of focus is
requested for the child widget of a dock item. The dir
parameter
specifies the direction in which focus is to be shifted.
|
The dock item in which a change of focus is requested |
|
The direction in which to move focus |
|
user data set when the signal handler was connected. |
Since 3.3.2
"selected"
signalvoid user_function (GdlDockItem *arg0,
gpointer user_data) : Run First
Signals that this dock has been selected from a switcher.
|
user data set when the signal handler was connected. |