GdlDockItem

GdlDockItem

Synopsis

enum                GdlDockItemBehavior;
enum                GdlDockItemFlags;
struct              GdlDockItem;
struct              GdlDockItemClass;
#define             GDL_DOCK_ITEM_FLAGS                 (item)
#define             GDL_DOCK_ITEM_IN_DRAG               (item)
#define             GDL_DOCK_ITEM_IN_PREDRAG            (item)
#define             GDL_DOCK_ITEM_ICONIFIED             (item)
#define             GDL_DOCK_ITEM_USER_ACTION           (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_HAS_GRIP              (item)
#define             GDL_DOCK_ITEM_CANT_CLOSE            (item)
#define             GDL_DOCK_ITEM_CANT_ICONIFY          (item)
GtkWidget *         gdl_dock_item_new                   (const gchar *name,
                                                         const gchar *long_name,
                                                         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_dock_to               (GdlDockItem *item,
                                                         GdlDockItem *target,
                                                         GdlDockPlacement position,
                                                         gint docking_param);
void                gdl_dock_item_set_orientation       (GdlDockItem *item,
                                                         GtkOrientation orientation);
GtkWidget *         gdl_dock_item_get_tablabel          (GdlDockItem *item);
void                gdl_dock_item_set_tablabel          (GdlDockItem *item,
                                                         GtkWidget *tablabel);
GtkWidget *         gdl_dock_item_get_grip              (GdlDockItem *item);
void                gdl_dock_item_hide_grip             (GdlDockItem *item);
void                gdl_dock_item_show_grip             (GdlDockItem *item);
void                gdl_dock_item_notify_selected       (GdlDockItem *item);
void                gdl_dock_item_notify_deselected     (GdlDockItem *item);
void                gdl_dock_item_bind                  (GdlDockItem *item,
                                                         GtkWidget *dock);
void                gdl_dock_item_unbind                (GdlDockItem *item);
void                gdl_dock_item_hide_item             (GdlDockItem *item);
void                gdl_dock_item_iconify_item          (GdlDockItem *item);
void                gdl_dock_item_show_item             (GdlDockItem *item);
void                gdl_dock_item_lock                  (GdlDockItem *item);
void                gdl_dock_item_unlock                (GdlDockItem *item);
void                gdl_dock_item_set_default_position  (GdlDockItem *item,
                                                         GdlDockObject *reference);
void                gdl_dock_item_preferred_size        (GdlDockItem *item,
                                                         GtkRequisition *req);
                    GdlDockItemClassPrivate;
                    GdlDockItemPrivate;

Object Hierarchy

  GFlags
   +----GdlDockItemBehavior
  GFlags
   +----GdlDockItemFlags
  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GdlDockObject
                           +----GdlDockItem
                                 +----GdlDockNotebook
                                 +----GdlDockPaned

Implemented Interfaces

GdlDockItem implements AtkImplementorIface and GtkBuildable.

Properties

  "behavior"                 GdlDockItemBehavior   : 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

Signals

  "deselected"                                     : Run First
  "dock-drag-begin"                                : Run First
  "dock-drag-end"                                  : Run First
  "dock-drag-motion"                               : Run First
  "selected"                                       : Run First

Description

Details

enum GdlDockItemBehavior

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.

GDL_DOCK_ITEM_BEH_NORMAL

Normal dock item

GDL_DOCK_ITEM_BEH_NEVER_FLOATING

item cannot be undocked

GDL_DOCK_ITEM_BEH_NEVER_VERTICAL

item cannot be docked vertically

GDL_DOCK_ITEM_BEH_NEVER_HORIZONTAL

item cannot be docked horizontally

GDL_DOCK_ITEM_BEH_LOCKED

item is locked, it cannot be moved around

GDL_DOCK_ITEM_BEH_CANT_DOCK_TOP

item cannot be docked at top

GDL_DOCK_ITEM_BEH_CANT_DOCK_BOTTOM

item cannot be docked at bottom

GDL_DOCK_ITEM_BEH_CANT_DOCK_LEFT

item cannot be docked left

GDL_DOCK_ITEM_BEH_CANT_DOCK_RIGHT

item cannot be docked right

GDL_DOCK_ITEM_BEH_CANT_DOCK_CENTER

item cannot be docked at center

GDL_DOCK_ITEM_BEH_CANT_CLOSE

item cannot be closed

GDL_DOCK_ITEM_BEH_CANT_ICONIFY

item cannot be iconified

GDL_DOCK_ITEM_BEH_NO_GRIP

item doesn't have a grip

enum GdlDockItemFlags

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;

Status flag of a GdlDockItem. Don't use unless you derive a widget from GdlDockItem

GDL_DOCK_IN_DRAG

item is in a drag operation

GDL_DOCK_IN_PREDRAG

item is in a predrag operation

GDL_DOCK_ICONIFIED

item is iconified

GDL_DOCK_USER_ACTION

indicates the user has started an action on the dock item

struct GdlDockItem

struct GdlDockItem;


struct GdlDockItemClass

struct GdlDockItemClass {
    GdlDockObjectClass  parent_class;

    GdlDockItemClassPrivate *priv;

    gboolean            has_grip;
    
    /* virtuals */
    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     (* set_orientation)  (GdlDockItem    *item,
                                   GtkOrientation  orientation);
};


GDL_DOCK_ITEM_FLAGS()

#define GDL_DOCK_ITEM_FLAGS(item)     (GDL_DOCK_OBJECT (item)->flags)


GDL_DOCK_ITEM_IN_DRAG()

#define             GDL_DOCK_ITEM_IN_DRAG(item)


GDL_DOCK_ITEM_IN_PREDRAG()

#define             GDL_DOCK_ITEM_IN_PREDRAG(item)


GDL_DOCK_ITEM_ICONIFIED()

#define             GDL_DOCK_ITEM_ICONIFIED(item)


GDL_DOCK_ITEM_USER_ACTION()

#define             GDL_DOCK_ITEM_USER_ACTION(item)


GDL_DOCK_ITEM_NOT_LOCKED()

#define GDL_DOCK_ITEM_NOT_LOCKED(item) !((item)->behavior & GDL_DOCK_ITEM_BEH_LOCKED)


GDL_DOCK_ITEM_NO_GRIP()

#define GDL_DOCK_ITEM_NO_GRIP(item) ((item)->behavior & GDL_DOCK_ITEM_BEH_NO_GRIP)


GDL_DOCK_ITEM_SET_FLAGS()

#define             GDL_DOCK_ITEM_SET_FLAGS(item,flag)


GDL_DOCK_ITEM_UNSET_FLAGS()

#define             GDL_DOCK_ITEM_UNSET_FLAGS(item,flag)


GDL_DOCK_ITEM_HAS_GRIP()

#define             GDL_DOCK_ITEM_HAS_GRIP(item)


GDL_DOCK_ITEM_CANT_CLOSE()

#define             GDL_DOCK_ITEM_CANT_CLOSE(item)


GDL_DOCK_ITEM_CANT_ICONIFY()

#define             GDL_DOCK_ITEM_CANT_ICONIFY(item)


gdl_dock_item_new ()

GtkWidget *         gdl_dock_item_new                   (const gchar *name,
                                                         const gchar *long_name,
                                                         GdlDockItemBehavior behavior);

Creates a new dock item widget.

name :

Unique name for identifying the dock object.

long_name :

Human readable name for the dock object.

behavior :

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.

gdl_dock_item_new_with_stock ()

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.

name :

Unique name for identifying the dock object.

long_name :

Human readable name for the dock object.

stock_id :

Stock icon for the dock object.

behavior :

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.

gdl_dock_item_dock_to ()

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.

item :

The dock item that will be relocated to the dock position.

target :

The dock item that will be used as the point of reference. [allow-none]

position :

The position to dock item, relative to target.

docking_param :

This value is unused, and will be ignored.

gdl_dock_item_set_orientation ()

void                gdl_dock_item_set_orientation       (GdlDockItem *item,
                                                         GtkOrientation orientation);

This function sets the layout of the dock item.

item :

The dock item which will get it's orientation set.

orientation :

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).

gdl_dock_item_get_tablabel ()

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

item :

The dock item from which to get the tab label widget.

Returns :

Returns the tab label widget.

gdl_dock_item_set_tablabel ()

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

item :

The dock item which will get it's tab label widget set.

tablabel :

The widget that will become the tab label.

gdl_dock_item_get_grip ()

GtkWidget *         gdl_dock_item_get_grip              (GdlDockItem *item);

This function returns the dock item's grip label widget.

item :

The dock item from which to to get the grip of.

Returns :

Returns the current label widget.

gdl_dock_item_hide_grip ()

void                gdl_dock_item_hide_grip             (GdlDockItem *item);

This function hides the dock item's grip widget.

item :

The dock item to hide the grip of.

gdl_dock_item_show_grip ()

void                gdl_dock_item_show_grip             (GdlDockItem *item);

This function shows the dock item's grip widget.

item :

The dock item to show the grip of.

gdl_dock_item_notify_selected ()

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.

item :

the dock item to emit a selected signal on.

gdl_dock_item_notify_deselected ()

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.

item :

the dock item to emit a deselected signal on.

gdl_dock_item_bind ()

void                gdl_dock_item_bind                  (GdlDockItem *item,
                                                         GtkWidget *dock);

Binds this dock item to a new dock master.

item :

The item to bind.

dock :

The GdlDock widget to bind it to. Note that this widget must be a type of GdlDock.

gdl_dock_item_unbind ()

void                gdl_dock_item_unbind                (GdlDockItem *item);

Unbinds this dock item from it's dock master.

item :

The item to unbind.

gdl_dock_item_hide_item ()

void                gdl_dock_item_hide_item             (GdlDockItem *item);

This function hides the dock item. When dock items are hidden they are completely removed from the layout.

The dock item close button causes the panel to be hidden.

item :

The dock item to hide.

gdl_dock_item_iconify_item ()

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.

item :

The dock item to iconify.

gdl_dock_item_show_item ()

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.

item :

The dock item to show.

gdl_dock_item_lock ()

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.

item :

The dock item to lock.

gdl_dock_item_unlock ()

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.

item :

The dock item to unlock.

gdl_dock_item_set_default_position ()

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.

item :

The dock item

reference :

The GdlDockObject which is the default dock for item

gdl_dock_item_preferred_size ()

void                gdl_dock_item_preferred_size        (GdlDockItem *item,
                                                         GtkRequisition *req);

Gets the preferred size of the dock item in pixels.

item :

The dock item to get the preferred size of.

req :

A pointer to a GtkRequisition into which the preferred size will be written.

GdlDockItemClassPrivate

typedef struct _GdlDockItemClassPrivate GdlDockItemClassPrivate;


GdlDockItemPrivate

typedef struct _GdlDockItemPrivate GdlDockItemPrivate;

Property Details

The "behavior" property

  "behavior"                 GdlDockItemBehavior   : Read / Write

General behavior for the dock item (i.e. whether it can float, if it's locked, etc.).


The "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


The "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


The "preferred-height" property

  "preferred-height"         gint                  : Read / Write

Preferred height for the dock item.

Allowed values: >= G_MAXULONG

Default value: -1


The "preferred-width" property

  "preferred-width"          gint                  : Read / Write

Preferred width for the dock item.

Allowed values: >= G_MAXULONG

Default value: -1


The "resize" property

  "resize"                   gboolean              : Read / Write

If set, the dock item can be resized when docked in a GtkPanel widget.

Default value: TRUE

Signal Details

The "deselected" signal

void                user_function                      (GdlDockItem *arg0,
                                                        gpointer     user_data)      : Run First

Signals that this dock has been deselected in a switcher.

user_data :

user data set when the signal handler was connected.

The "dock-drag-begin" signal

void                user_function                      (GdlDockItem *item,
                                                        gpointer     user_data)      : Run First

Signals that the dock item has begun to be dragged.

item :

The dock item which is being dragged.

user_data :

user data set when the signal handler was connected.

The "dock-drag-end" signal

void                user_function                      (GdlDockItem *item,
                                                        gboolean     cancel,
                                                        gpointer     user_data)      : Run First

Signals that the dock item dragging has ended.

item :

The dock item which is no longer being dragged.

cancel :

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 :

user data set when the signal handler was connected.

The "dock-drag-motion" signal

void                user_function                      (GdlDockItem *item,
                                                        gint         x,
                                                        gint         y,
                                                        gpointer     user_data)      : Run First

Signals that a dock item dragging motion event has occured.

item :

The dock item which is being dragged.

x :

The x-position that the dock item has been dragged to.

y :

The y-position that the dock item has been dragged to.

user_data :

user data set when the signal handler was connected.

The "selected" signal

void                user_function                      (GdlDockItem *arg0,
                                                        gpointer     user_data)      : Run First

Signals that this dock has been selected from a switcher.

user_data :

user data set when the signal handler was connected.