Gtk-- Reference: Gtk::HandleBox

Class Index | Cross Index | Namespace Index

# Class Gtk::HandleBox

A container which allows the user to reposition it's contents.
Contained in: Gtk
Derived from: Gtk::Bin
Derived by: none

#include <gtk--/handlebox.h>

### public function member index:
`` | `HandleBox` | `()`;
``signal` `void`` | `child_attached` | `(`Widget`*)`;
``signal` `void`` | `child_detached` | `(`Widget`*)`;
``Gdk_Window`` | `get_bin_window` | `()`;
``Gdk_Window`` | `get_float_window` | `()`;
``GtkPositionType`` | `get_handle_position` | `() `const``;
``GtkShadowType`` | `get_shadow_type` | `() `const``;
``GtkPositionType`` | `get_snap_edge` | `() `const``;
``GtkHandleBox`*` | `gtkobj` | `()`;
``const` `GtkHandleBox`*` | `gtkobj` | `() `const``;
``static` `bool`` | `isA` | `(`Object`* `object`)`;
``bool`` | `is_child_detached` | `() `const``;
``bool`` | `is_float_window_mapped` | `() `const``;
``bool`` | `is_in_drag` | `() `const``;
``void`` | `set_handle_position` | `(`GtkPositionType` `position`)`;
``void`` | `set_shadow_type` | `(`GtkShadowType` `type`)`;
``void`` | `set_snap_edge` | `(`GtkPositionType` `edge`)`;
``bool`` | `shrinks_on_detach` | `() `const``;
``virtual`` | `~HandleBox` | `()`;
### protected function member index:
``virtual` `void`` | `child_attached_impl` | `(`Widget`* `p0`)`;
``virtual` `void`` | `child_detached_impl` | `(`Widget`* `p0`)`;

## Description:

The `Gtk::HandleBox` widget allows a portion of a window to be "torn off". It is a bin widget which displays its child and a handle that the user can drag to tear off a separate window (the float window) containing the child widget. A thin ghost is drawn in the original location of the handlebox. By dragging the separate window back to its original location, it can be reattached.

When reattaching, the ghost and float window, must be aligned along one of the edges, the snap edge. This either can be specified by the application programmer explicitely, or GTK+ will pick a reasonable default based on the handle position.

To make detaching and reattaching the handlebox as minimally confusing as possible to the user, it is important to set the snap edge so that the snap edge does not move when the handlebox is deattached. For instance, if the handlebox is packed at the bottom of a VBox, then when the handlebox is detached, the bottom edge of the handlebox's allocation will remain fixed as the height of the handlebox shrinks, so the snap edge should be set to `GTK_POS_BOTTOM`.

## Function Member Descriptions:

Gtk::HandleBox::gtkobj - Returns the underlaying gtk+ object.

``GtkHandleBox`*` `gtkobj``()`;
Gtk::HandleBox::isA - Returns true if object is this type.

``static` `bool`` `isA``(`Object`* `object`)`;
Gtk::HandleBox::set_handle_position - Set the handle's position.

``void`` `set_handle_position``(`GtkPositionType` `position`)`;

> position can be one of: `GTK_POS_LEFT`, `GTK_POS_RIGHT`, `GTK_POS_TOP`, `GTK_POS_BOTTOM`.

Gtk::HandleBox::set_shadow_type - Set how te widget looks.

``void`` `set_shadow_type``(`GtkShadowType` `type`)`;

> type can be one of: `GTK_SHADOW_NONE`, `GTK_SHADOW_IN`, `GTK_SHADOW_OUT`, `GTK_SHADOW_ETCHED_IN`, `GTK_SHADOW_ETCHED_OUT`.