## 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 ()
void | dzl_dock_item_emit_presented ()
GIcon * | dzl_dock_item_ref_gicon ()
void | dzl_dock_item_needs_attention ()

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

### dzl_dock_item_emit_presented ()

    void
    dzl_dock_item_emit_presented (DzlDockItem *self);

Emits the “presented” signal.

Containers should emit this when their descendant has been presented as the current visible child. This allows dock items to do lazy initialization of content once the widgetry is visible to the user.

Currently, this is best effort, as there are a number of situations that make covering all cases problematic.

#### Parameters

self | a DzlDockItem |

Since: 3.30

### dzl_dock_item_ref_gicon ()

    GIcon *
    dzl_dock_item_ref_gicon (DzlDockItem *self);

Gets a GIcon for the dock item, if any has been set.

If an icon-name has been set, a new GIcon for that icon-name may be returned.

#### Parameters

self | a DzlDockItem |

#### Returns

a GIcon or `NULL`.

[transfer full][nullable]

Since: 3.34

### dzl_dock_item_needs_attention ()

    void
    dzl_dock_item_needs_attention (DzlDockItem *self);

Emits the "needs-attention" signal.

#### Parameters

self | a DzlDockItem |

Since: 3.34

## 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);
      void            (*presented)          (DzlDockItem     *self);
      GIcon          *(*ref_gicon)          (DzlDockItem     *self);
      void            (*needs_attention)    (DzlDockItem     *self);
    } DzlDockItemInterface;