libt3widget
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules
List of all members | Public Types | Public Member Functions
t3_widget::frame_t Class Reference

A widget showing a frame. More...

Inheritance diagram for t3_widget::frame_t:
t3_widget::widget_t t3_widget::container_t t3_widget::window_component_t t3_widget::mouse_target_t t3_widget::window_component_t t3_widget::window_component_t

Public Types

enum  frame_dimension_t {
  AROUND_ALL, COVER_BOTTOM, COVER_RIGHT, COVER_LEFT,
  COVER_TOP
}
 Constants defining bits determining which parts of the frame should be covered by the child widget. More...
 
- Public Types inherited from t3_widget::window_component_t
enum  focus_t {
  FOCUS_OUT, FOCUS_SET, FOCUS_IN_FWD, FOCUS_IN_BCK,
  FOCUS_REVERT
}
 

Public Member Functions

virtual bool accepts_focus (void)
 Query whether this widget accepts focus. More...
 
virtual void force_redraw (void)
 Request that this window_component_t be completely redrawn. More...
 
 frame_t (frame_dimension_t _dimension=AROUND_ALL)
 Create a new frame_t. More...
 
virtual bool is_child (window_component_t *component)
 Determine whether a window_compnent_t is a child of the container_t. More...
 
virtual bool is_hotkey (key_t key)
 Query whether key is a hotkey for this widget. More...
 
virtual bool process_key (key_t key)
 Handle a key press by the user. More...
 
void set_child (widget_t *_child)
 Set the child widget. More...
 
virtual void set_child_focus (window_component_t *target)
 Set the focus to a specific window component. More...
 
virtual void set_enabled (bool enable)
 Set the enabled status of this widget. More...
 
virtual void set_focus (focus_t focus)
 Set whether this window_component_t has the input focus. More...
 
virtual bool set_size (optint height, optint width)
 Set the size of this window_component_t. More...
 
virtual void update_contents (void)
 Update the contents of the window. More...
 
- Public Member Functions inherited from t3_widget::widget_t
virtual void hide (void)
 Hide the window_component_t. More...
 
virtual bool is_enabled (void)
 Query the enabled status of this widget. More...
 
virtual bool is_shown (void)
 Query the visibility status of this widget. More...
 
virtual bool process_mouse_event (mouse_event_t event)
 Process a mouse event. More...
 
virtual void set_anchor (window_component_t *anchor, int relation)
 Set this widget's anchor. More...
 
virtual void set_position (optint top, optint left)
 Move the window_component_t to a specified position. More...
 
virtual void show (void)
 Display the window_component_t. More...
 
- Public Member Functions inherited from t3_widget::window_component_t
virtual t3_window_t * get_base_window (void)
 Retrieve the t3_window_t for this window_component_t. More...
 
 window_component_t (void)
 Base constructor. More...
 
virtual ~window_component_t (void)
 Base destructor. More...
 
- Public Member Functions inherited from t3_widget::mouse_target_t
void grab_mouse (void)
 Grab all future mouse events. More...
 
void register_mouse_target (t3_window_t *target)
 Register a window to receive mouse events. More...
 
void release_mouse_grab (void)
 Release a previous mouse grab. More...
 
void unregister_mouse_target (t3_window_t *target)
 Unregister a window to receive mouse events. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from t3_widget::mouse_target_t
static bool handle_mouse_event (mouse_event_t event)
 
- Protected Member Functions inherited from t3_widget::widget_t
void init_unbacked_window (int height, int width, bool register_as_mouse_target=false)
 Initialize the window with an unbacked t3_window_t with height and width. More...
 
void init_window (int height, int width, bool register_as_mouse_target=true)
 Initialize the window with a t3_window_t with height and width. More...
 
 widget_t (int height, int width, bool register_as_mouse_target=true)
 Constructor which creates a default t3_window_t with height and width. More...
 
 widget_t (void)
 Constructor which does not create a default t3_window_t. More...
 
- Protected Member Functions inherited from t3_widget::mouse_target_t
 mouse_target_t (bool use_window=true)
 
- Protected Member Functions inherited from t3_widget::container_t
virtual bool set_widget_parent (window_component_t *widget)
 Make widget a child window of this container_t, by setting its parent window. More...
 
virtual void unset_widget_parent (window_component_t *widget)
 Unset the parent window for a widget. More...
 
- Protected Attributes inherited from t3_widget::widget_t
bool enabled
 Widget is enabled. More...
 
bool redraw
 Widget requires redrawing on next update_contents call. More...
 
bool shown
 Widget is shown. More...
 
- Protected Attributes inherited from t3_widget::window_component_t
cleanup_t3_window_ptr window
 The t3_window_t used for presenting this item on screen (see libt3window). More...
 

Detailed Description

A widget showing a frame.

This widget is primarily meant to draw frames around other widgets. The child widget is automatically resized to fit the frame.

Member Enumeration Documentation

Constants defining bits determining which parts of the frame should be covered by the child widget.

Enumerator
AROUND_ALL 

Constant indicating the frame should go around the widget on all sides.

COVER_BOTTOM 

Bit indicating that the bottom line of the frame should be covered by the child widget.

COVER_RIGHT 

Bit indicating that the right line of the frame should be covered by the child widget.

COVER_LEFT 

Bit indicating that the left line of the frame should be covered by the child widget.

COVER_TOP 

Bit indicating that the top line of the frame should be covered by the child widget.

Constructor & Destructor Documentation

t3_widget::frame_t::frame_t ( frame_dimension_t  _dimension = AROUND_ALL)

Create a new frame_t.

Parameters
_dimensionBit map indicating which parts of the frame should be covered by the child widget.

For some widgets, it may provide a more aesthetic appearance if part of the widget overlaps the frame. This is mostly the case for widgets that have a scrollbar on one side, like for example the list_pane_t. Making the scrollbar overlap the frame looks better and leaves more space while still clearly delinating the edges of the list.

Member Function Documentation

bool t3_widget::frame_t::accepts_focus ( void  )
virtual

Query whether this widget accepts focus.

Reimplemented from t3_widget::widget_t.

void t3_widget::frame_t::force_redraw ( void  )
virtual

Request that this window_component_t be completely redrawn.

Reimplemented from t3_widget::widget_t.

bool t3_widget::frame_t::is_child ( window_component_t component)
virtual

Determine whether a window_compnent_t is a child of the container_t.

Implements t3_widget::container_t.

bool t3_widget::frame_t::is_hotkey ( key_t  key)
virtual

Query whether key is a hotkey for this widget.

Reimplemented from t3_widget::widget_t.

bool t3_widget::frame_t::process_key ( key_t  key)
virtual

Handle a key press by the user.

Returns
A boolean indicating whether this window_component_t handled the key press.

Implements t3_widget::window_component_t.

void t3_widget::frame_t::set_child ( widget_t _child)

Set the child widget.

void t3_widget::frame_t::set_child_focus ( window_component_t target)
virtual

Set the focus to a specific window component.

Implements t3_widget::container_t.

void t3_widget::frame_t::set_enabled ( bool  enable)
virtual

Set the enabled status of this widget.

When a widget is not enabled, it will not accept focus.

Reimplemented from t3_widget::widget_t.

void t3_widget::frame_t::set_focus ( focus_t  focus)
virtual

Set whether this window_component_t has the input focus.

Note that this merely notifies the window_component_t that it should change it's appearance to indicate the user that this window_component_t has the input focus. Which window_component_t actually receives the input events is handled outside of the window_component_t.

Reimplemented from t3_widget::widget_t.

bool t3_widget::frame_t::set_size ( optint  height,
optint  width 
)
virtual

Set the size of this window_component_t.

Parameters
heightThe new height of the window_component_t in cells, or None if it should remain unchanged.
widthThe new width of the window_component_t in cells, or None if it should remain unchanged.
Returns
A boolean indicating whether all allocations required for the resize operation succeeded.

Implements t3_widget::window_component_t.

void t3_widget::frame_t::update_contents ( void  )
virtual

Update the contents of the window.

Implements t3_widget::window_component_t.