DzlDockItem: Dazzle Reference Manual

## DzlDockItem DzlDockItem |

## Functions

DzlDockManager * | dzl_dock_item_get_manager ()
void | dzl_dock_item_set_manager ()
gboolean | dzl_dock_item_adopt ()
void | dzl_dock_item_present ()
void | dzl_dock_item_present_child ()
void | dzl_dock_item_update_visibility ()
gboolean | dzl_dock_item_has_widgets ()
gboolean | dzl_dock_item_get_child_visible ()
void | dzl_dock_item_set_child_visible ()
DzlDockItem * | dzl_dock_item_get_parent ()
gchar * | dzl_dock_item_get_title ()
gchar * | dzl_dock_item_get_icon_name ()
gboolean | dzl_dock_item_get_can_close ()
gboolean | dzl_dock_item_get_can_minimize ()
gboolean | dzl_dock_item_close ()
gboolean | dzl_dock_item_minimize ()
void | dzl_dock_item_release ()

## Types and Values

| DzlDockItemInterface

## Description

## Functions

### dzl_dock_item_get_manager ()

    DzlDockManager *
    dzl_dock_item_get_manager (DzlDockItem *self);

Gets the dock manager for this dock item.

#### Parameters

self | A DzlDockItem |

#### Returns

A DzlDockmanager.

[nullable][transfer none]

### dzl_dock_item_set_manager ()

    void
    dzl_dock_item_set_manager (DzlDockItem *self,
                               DzlDockManager *manager);

Sets the dock manager for this DzlDockItem.

#### Parameters

self | A DzlDockItem |
manager | A DzlDockManager. | [nullable]

### dzl_dock_item_adopt ()

    gboolean
    dzl_dock_item_adopt (DzlDockItem *self,
                         DzlDockItem *child);

### dzl_dock_item_present ()

    void
    dzl_dock_item_present (DzlDockItem *self);

This widget will walk the widget hierarchy to ensure that the dock item is visible to the user.

#### Parameters

self | A DzlDockItem |

### dzl_dock_item_present_child ()

    void
    dzl_dock_item_present_child (DzlDockItem *self,
                                 DzlDockItem *child);

### dzl_dock_item_update_visibility ()

    void
    dzl_dock_item_update_visibility (DzlDockItem *self);

### dzl_dock_item_has_widgets ()

    gboolean
    dzl_dock_item_has_widgets (DzlDockItem *self);

### dzl_dock_item_get_child_visible ()

    gboolean
    dzl_dock_item_get_child_visible (DzlDockItem *self,
                                     DzlDockItem *child);

### dzl_dock_item_set_child_visible ()

    void
    dzl_dock_item_set_child_visible (DzlDockItem *self,
                                     DzlDockItem *child,
                                     gboolean child_visible);

### dzl_dock_item_get_parent ()

    DzlDockItem *
    dzl_dock_item_get_parent (DzlDockItem *self);

Gets the parent DzlDockItem, or `NULL`.

#### Returns

A DzlDockItem or `NULL`.

[transfer none][nullable]

### dzl_dock_item_get_title ()

    gchar *
    dzl_dock_item_get_title (DzlDockItem *self);

Gets the title for the DzlDockItem.

Generally, you want to use a DzlDockWidget which has a "title" property you can set. But this can be helpful for integration of various container widgets.

#### Parameters

self | A DzlDockItem |

#### Returns

A newly allocated string or `NULL`.

[transfer full][nullable]

### dzl_dock_item_get_icon_name ()

    gchar *
    dzl_dock_item_get_icon_name (DzlDockItem *self);

Gets the icon_name for the DzlDockItem.

Generally, you want to use a DzlDockWidget which has a "icon-name" property you can set. But this can be helpful for integration of various container widgets.

#### Parameters

self | A DzlDockItem |

#### Returns

A newly allocated string or `NULL`.

[transfer full][nullable]

### dzl_dock_item_get_can_close ()

    gboolean
    dzl_dock_item_get_can_close (DzlDockItem *self);

If this dock item can be closed by the user, this virtual function should be implemented by the panel and return `TRUE`.

#### Parameters

self | a DzlDockItem |

#### Returns

`TRUE` if the dock item can be closed by the user, otherwise `FALSE`.

### dzl_dock_item_get_can_minimize ()

    gboolean
    dzl_dock_item_get_can_minimize (DzlDockItem *self);

[virtual can_minimize]

#### Parameters

self | a DzlDockItem |

#### Returns

`TRUE` if the widget can be minimized.

### dzl_dock_item_close ()

    gboolean
    dzl_dock_item_close (DzlDockItem *self);

This function will request that the dock item close itself.

#### Parameters

self | a DzlDockItem |

#### Returns

`TRUE` if the dock item was closed

### dzl_dock_item_minimize ()

    gboolean
    dzl_dock_item_minimize (DzlDockItem *self,
                            DzlDockItem *child,
                            GtkPositionType *position);

This requests that `self` minimize `child` if it knows how.

If not, it should suggest the gravity for `child` if it knows how to determine that. For example, a DzlDockBin might know if the widget was part of the right panel and therefore may set `position` to `GTK_POS_RIGHT`.

#### Parameters

self | a DzlDockItem |
child | A DzlDockItem that is a child of `self` |
position | A location for a GtkPositionType. | [inout]

#### Returns

`TRUE` if `child` was minimized. Otherwise `FALSE` and `position` may be updated to a suggested position.

### dzl_dock_item_release ()

    void
    dzl_dock_item_release (DzlDockItem *self,
                           DzlDockItem *child);

This virtual method should remove `child` from `self` if the dock item knows how to do so. For example, the DzlDockStack will remove `child` from it's internal GtkStack.

After the virtual function has been executed, child tracking will be removed so that DzlDockItem implementations do not need to implement themselves.

#### Parameters

self | A DzlDockItem |

## Types and Values

### DzlDockItemInterface

    typedef struct {
      GTypeInterface parent;

      void            (*set_manager)        (DzlDockItem     *self,
                                             DzlDockManager  *manager);
      DzlDockManager *(*get_manager)        (DzlDockItem     *self);
      void            (*manager_set)        (DzlDockItem     *self,
                                             DzlDockManager  *old_manager);
      void            (*present_child)      (DzlDockItem     *self,
                                             DzlDockItem     *child);
      void            (*update_visibility)  (DzlDockItem     *self);
      gboolean        (*get_child_visible)  (DzlDockItem     *self,
                                             DzlDockItem     *child);
      void            (*set_child_visible)  (DzlDockItem     *self,
                                             DzlDockItem     *child,
                                             gboolean         child_visible);
      gchar          *(*get_title)          (DzlDockItem     *self);
      gchar          *(*get_icon_name)      (DzlDockItem     *self);
      gboolean        (*get_can_close)      (DzlDockItem     *self);
      gboolean        (*can_minimize)       (DzlDockItem     *self,
                                             DzlDockItem     *descendant);
      gboolean        (*close)              (DzlDockItem     *self);
      gboolean        (*minimize)           (DzlDockItem     *self,
                                             DzlDockItem     *child,
                                             GtkPositionType *position);
      void            (*release)            (DzlDockItem     *self,
                                             DzlDockItem     *child);
    } DzlDockItemInterface;