GdlDockItem

## GdlDockItem GdlDockItem |

## Synopsis

    enum                GdlDockItemBehavior;
    enum                GdlDockItemFlags;
                        GdlDockItemPrivate;
                        GdlDockItem;
    #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);
    void                gdl_dock_item_hide_grip             (GdlDockItem *item);
    void                gdl_dock_item_show_grip             (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);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----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

      "dock-drag-begin"                                : Run First
      "dock-drag-end"                                  : Run First
      "dock-drag-motion"                               : 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;

### 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),
        /* for general use: indicates the user has started an action on
           the dock item */
        GDL_DOCK_USER_ACTION         = 1 << (GDL_DOCK_OBJECT_FLAGS_SHIFT + 3)
    } GdlDockItemFlags;

### GdlDockItemPrivate

    typedef struct _GdlDockItemPrivate GdlDockItemPrivate;

### GdlDockItem

    typedef struct _GdlDockItem GdlDockItem;

### GDL_DOCK_ITEM_FLAGS()

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

`item` : |

### GDL_DOCK_ITEM_IN_DRAG()

    #define             GDL_DOCK_ITEM_IN_DRAG(item)

`item` : |

### GDL_DOCK_ITEM_IN_PREDRAG()

    #define             GDL_DOCK_ITEM_IN_PREDRAG(item)

`item` : |

### GDL_DOCK_ITEM_ICONIFIED()

    #define             GDL_DOCK_ITEM_ICONIFIED(item)

`item` : |

### GDL_DOCK_ITEM_USER_ACTION()

    #define             GDL_DOCK_ITEM_USER_ACTION(item)

`item` : |

### GDL_DOCK_ITEM_NOT_LOCKED()

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

`item` : |

### GDL_DOCK_ITEM_NO_GRIP()

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

`item` : |

### GDL_DOCK_ITEM_SET_FLAGS()

    #define             GDL_DOCK_ITEM_SET_FLAGS(item,flag)

`item` : |
`flag` : |

### GDL_DOCK_ITEM_UNSET_FLAGS()

    #define             GDL_DOCK_ITEM_UNSET_FLAGS(item,flag)

`item` : |
`flag` : |

### GDL_DOCK_ITEM_HAS_GRIP()

    #define             GDL_DOCK_ITEM_HAS_GRIP(item)

`item` : |

### GDL_DOCK_ITEM_CANT_CLOSE()

    #define             GDL_DOCK_ITEM_CANT_CLOSE(item)

`item` : |

### GDL_DOCK_ITEM_CANT_ICONIFY()

    #define             GDL_DOCK_ITEM_CANT_ICONIFY(item)

`item` : |

### gdl_dock_item_new ()

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

`name` : |
`long_name` : |
`behavior` : |
Returns : |

### 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);

`name` : |
`long_name` : |
`stock_id` : |
`behavior` : |
Returns : |

### gdl_dock_item_dock_to ()

    void                gdl_dock_item_dock_to               (GdlDockItem *item,
                                                             GdlDockItem *target,
                                                             GdlDockPlacement position,
                                                             gint docking_param);

`item` : |
`target` : |
`position` : |
`docking_param` : |

### gdl_dock_item_set_orientation ()

    void                gdl_dock_item_set_orientation       (GdlDockItem *item,
                                                             GtkOrientation orientation);

`item` : |
`orientation` : |

### gdl_dock_item_get_tablabel ()

    GtkWidget*          gdl_dock_item_get_tablabel          (GdlDockItem *item);

`item` : |
Returns : |

### gdl_dock_item_set_tablabel ()

    void                gdl_dock_item_set_tablabel          (GdlDockItem *item,
                                                             GtkWidget *tablabel);

`item` : |
`tablabel` : |

### gdl_dock_item_hide_grip ()

    void                gdl_dock_item_hide_grip             (GdlDockItem *item);

`item` : |

### gdl_dock_item_show_grip ()

    void                gdl_dock_item_show_grip             (GdlDockItem *item);

`item` : |

### gdl_dock_item_bind ()

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

`item` : |
`dock` : |

### gdl_dock_item_unbind ()

    void                gdl_dock_item_unbind                (GdlDockItem *item);

`item` : |

### gdl_dock_item_hide_item ()

    void                gdl_dock_item_hide_item             (GdlDockItem *item);

`item` : |

### gdl_dock_item_iconify_item ()

    void                gdl_dock_item_iconify_item          (GdlDockItem *item);

`item` : |

### gdl_dock_item_show_item ()

    void                gdl_dock_item_show_item             (GdlDockItem *item);

`item` : |

### gdl_dock_item_lock ()

    void                gdl_dock_item_lock                  (GdlDockItem *item);

`item` : |

### gdl_dock_item_unlock ()

    void                gdl_dock_item_unlock                (GdlDockItem *item);

`item` : |

### gdl_dock_item_set_default_position ()

    void                gdl_dock_item_set_default_position  (GdlDockItem *item,
                                                             GdlDockObject *reference);

`item` : |
`reference` : |

### gdl_dock_item_preferred_size ()

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

`item` : |
`req` : |

## 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

Orientation of the docking item.

Default value: GTK_ORIENTATION_VERTICAL

### The `"preferred-height"` property

      "preferred-height"         gint                  : Read / Write

Preferred height for the dock item.

Allowed values: >= -1

Default value: -1

### The `"preferred-width"` property

      "preferred-width"          gint                  : Read / Write

Preferred width for the dock item.

Allowed values: >= -1

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 `"dock-drag-begin"` signal

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

`gdldockitem` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"dock-drag-end"` signal

    void                user_function                      (GdlDockItem *gdldockitem,
                                                            gboolean     arg1,
                                                            gpointer     user_data)        : Run First

`gdldockitem` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The `"dock-drag-motion"` signal

    void                user_function                      (GdlDockItem *gdldockitem,
                                                            gint         arg1,
                                                            gint         arg2,
                                                            gpointer     user_data)        : Run First

`gdldockitem` : | the object which received the signal.
`arg1` : |
`arg2` : |
`user_data` : | user data set when the signal handler was connected.