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.