Panels are constructed with the ID of the child widget. If the ID does not exist at the time of construction, the Panel will be hidden. When a widget with the given ID is created, the Panel will automatically be shown and will contain the Widget as its child. If that widget is later destroyed, the Panel will automatically be hidden again.
Public Member Functions | |
virtual Size | absolute_to_client (const Size &absolute) const |
virtual Rect | absolute_to_client (const Rect &absolute) const |
void | capture_mouse () |
virtual void | child_created (const WidgetPtr &child) |
virtual void | child_destroyed () |
virtual Size | client_to_absolute (const Size &client) const |
virtual Rect | client_to_absolute (const Rect &client) const |
Point | client_to_screen (const Point &client) |
bool | closeable () const |
virtual bool | drag_drop_sensitive (const Point &position, Component *&dragged_component) const |
Determines if the given point is sensitive to drag and drop operations. | |
virtual Rect | get_background_rect () const |
virtual Dimensions | get_borders () const |
virtual const ComponentList & | get_children () const |
virtual Rect | get_client_rect () const |
Color | get_color (int part) const |
virtual Size | get_desired_size () const |
virtual Component * | get_dock_target () |
Font | get_font (int id) const |
BitmapPtr | get_image () const |
virtual layout::Panel * | get_layout () const |
InterfaceManager & | get_manager () const |
virtual Dimensions | get_margins () const |
virtual Size | get_max_size () const |
Size | get_min_size () const |
virtual std::string | get_name () const |
WidgetAdapter | get_native_widget () const |
Container * | get_parent () const |
virtual Rect | get_rect () const |
int | get_type () const |
void | hide () |
bool | is_active () const |
virtual bool | on_left_down (const MouseEventData &data) |
Called when the user has pressed the left mouse button over this Component. | |
virtual bool | on_left_up (const MouseEventData &data) |
Called when the user has released the left mouse button over this Component. | |
virtual bool | on_menu_select (int id) |
Called when an item from a menu opened by this component is selected. | |
virtual bool | on_mouse_leave (const MouseEventData &data) |
Called when the user has moved the mouse out of this Component. | |
virtual bool | on_mouse_move (const MouseEventData &data) |
Called when the user has moved the mouse over this Component. | |
Panel (InterfaceManager &manager, const layout::Panel &data) | |
void | refresh (const Rect &rect) |
void | refresh () |
void | release_mouse () |
void | remove_color (int part) |
virtual void | render (DeviceContext &dc) |
Point | screen_to_client (const Point &screen) |
virtual void | set_active (bool active) |
void | set_color (int part, const Color &color) |
virtual void | set_focus () |
virtual void | set_min_size (const Size &size) |
void | set_name (const std::string &name) |
virtual void | set_parent (Container *parent) |
void | set_rect (const Rect &rect) |
void | show (bool show=true) |
void | show_menu (Menu *menu) |
Shows the given menu at the current mouse position. | |
virtual bool | shown () const |
virtual void | undock () |
void | update () |
~Panel () | |
Static Public Member Functions | |
static bool | child_of (Component *parent, Component *child) |
Protected Member Functions | |
void | connect_child_events () |
void | create_widget () |
WidgetPtr | find_child_widget () |
virtual void | set_child_widget (const WidgetPtr &child) |
Protected Attributes | |
bool | m_active |
Whether we or one of our children currently has focus. | |
BitmapPtr | m_bitmap |
std::string | m_bitmapName |
The name of the image to be displayed on tabs for this Panel. | |
Dimensions | m_borders |
The border widths. | |
const WidgetID | m_child_id |
The ID of the child widget. | |
WidgetAdapter | m_child_widget |
The child widget. | |
ColorMap | m_colors |
Our color database. | |
int | m_flags |
A set of flags controling appearance or behavior. | |
InterfaceManager & | m_manager |
The InterfaceManager managing this component. | |
Dimensions | m_margins |
The margin widths. | |
std::string | m_name |
The name of the component. | |
WidgetAdapter | m_native_widget |
The native widget representing this component in the GUI. | |
Container * | m_parent |
Out parent Container. | |
const component_type | m_type |
The type of component. Used by the layout save/load feature. |
ifm::Panel::Panel | ( | InterfaceManager & | manager, | |
const layout::Panel & | data | |||
) |
ifm::Panel::~Panel | ( | ) |
Converts the given rect from absolute coordinates to client coordinates. Decreases the rect by the size of the margins and borders.
asbolute | The asbolute coordinates to convert |
void ifm::Component::capture_mouse | ( | ) | [inherited] |
Captures the mouse so that all mouse inputs are sent to this Widget.
void ifm::Panel::child_created | ( | const WidgetPtr & | child | ) | [virtual] |
Called when our Child Widget is created.
child | A WidgetPtr to the Child Widget |
void ifm::Panel::child_destroyed | ( | ) | [virtual] |
Called when our Child Widget is destroyed.
Because it is useful to know if one Component is a child of another Container but you will most likely only have a Component pointer to the Container, this method is provided as an easy way to determine this information. If the parent Component is not actually a Container, then clearly the child Component is not actually a child of it. If it is a Container, its child hierarchy will be searched for the child Component.
Converts the given rect from client coordinates to absolute coordinates. Increases the rect by the size of the margins and borders.
client | The client coordinates to convert |
Converts the given client coordinates to screen coordinates.
screen | The client coordinates to convert |
bool ifm::Panel::closeable | ( | ) | const |
void ifm::Panel::connect_child_events | ( | ) | [protected] |
Connects any event handlers to the child window.
void ifm::Component::create_widget | ( | ) | [protected, inherited] |
Creates the native widget for the component.
bool ifm::Component::drag_drop_sensitive | ( | const Point & | position, | |
Component *& | dragged_component | |||
) | const [virtual, inherited] |
Determines if the given point is sensitive to drag and drop operations.
position | The position to test given in client coordinates. | |
dragged_component | If the position is sensitive to drag and drop operations, the component that would be dragged is returned through this parameter. |
Reimplemented in ifm::TabbedContainer.
WidgetPtr ifm::Panel::find_child_widget | ( | ) | [protected] |
Attempts to retrieve a WidgetPtr for our child_id. If no Widget exists with that ID, an empty pointer is returned.
Rect ifm::Component::get_background_rect | ( | ) | const [virtual, inherited] |
Dimensions ifm::Component::get_borders | ( | ) | const [virtual, inherited] |
const ComponentList & ifm::Component::get_children | ( | ) | const [virtual, inherited] |
Only Container derivatives actually have children, but it is useful to be able to access the children of a Container even if you only hold a Component pointer to that container.
Reimplemented in ifm::Container.
Rect ifm::Component::get_client_rect | ( | ) | const [virtual, inherited] |
Color ifm::Component::get_color | ( | int | part | ) | const [inherited] |
The components local color database will be searched first, and if no color is found InterfaceManager::get_color is used.
Size ifm::Component::get_desired_size | ( | ) | const [virtual, inherited] |
Component * ifm::Panel::get_dock_target | ( | ) | [virtual] |
Font ifm::Component::get_font | ( | int | id | ) | const [inherited] |
BitmapPtr ifm::Panel::get_image | ( | ) | const |
layout::Panel * ifm::Panel::get_layout | ( | ) | const [virtual] |
Returns the layout object representing the current state of this Panel.
Implements ifm::Component.
InterfaceManager & ifm::Component::get_manager | ( | ) | const [inherited] |
Dimensions ifm::Component::get_margins | ( | ) | const [virtual, inherited] |
Size ifm::Component::get_max_size | ( | ) | const [virtual, inherited] |
A value of 0 in a given direction means no maximum size.
Size ifm::Panel::get_min_size | ( | ) | const [virtual] |
Reimplemented from ifm::Component.
std::string ifm::Component::get_name | ( | ) | const [virtual, inherited] |
WidgetAdapter ifm::Component::get_native_widget | ( | ) | const [inherited] |
Rect ifm::Component::get_rect | ( | ) | const [virtual, inherited] |
int ifm::Component::get_type | ( | ) | const [inherited] |
void ifm::Component::hide | ( | ) | [inherited] |
bool ifm::Component::is_active | ( | ) | const [inherited] |
bool ifm::Component::on_left_down | ( | const MouseEventData & | data | ) | [virtual, inherited] |
Called when the user has pressed the left mouse button over this Component.
data | Data about this event |
Reimplemented in ifm::TabbedContainer.
bool ifm::Component::on_left_up | ( | const MouseEventData & | data | ) | [virtual, inherited] |
Called when the user has released the left mouse button over this Component.
data | Data about this event |
Reimplemented in ifm::TabbedContainer.
bool ifm::Component::on_menu_select | ( | int | id | ) | [virtual, inherited] |
Called when an item from a menu opened by this component is selected.
id | The identifier of the menu item that was selected. |
Reimplemented in ifm::TabbedContainer.
bool ifm::Component::on_mouse_leave | ( | const MouseEventData & | data | ) | [virtual, inherited] |
Called when the user has moved the mouse out of this Component.
data | Data about this event |
Reimplemented in ifm::TabbedContainer.
bool ifm::Component::on_mouse_move | ( | const MouseEventData & | data | ) | [virtual, inherited] |
Called when the user has moved the mouse over this Component.
data | Data about this event |
Reimplemented in ifm::TabbedContainer.
void ifm::Component::refresh | ( | const Rect & | rect | ) | [inherited] |
Refreshes an area of this component by rendering it.
void ifm::Component::refresh | ( | ) | [inherited] |
Refreshes the component by rerendering it. Does not refresh children.
void ifm::Component::release_mouse | ( | ) | [inherited] |
Releases the mouse capture.
void ifm::Component::remove_color | ( | int | part | ) | [inherited] |
Removes a color for the given part from this components local color database.
void ifm::Component::render | ( | DeviceContext & | dc | ) | [virtual, inherited] |
Render this component onto the given device context
Reimplemented in ifm::TabbedContainer.
Converts the given screen coordinates to client coordinates.
screen | The screen coordinates to convert |
void ifm::Component::set_active | ( | bool | active | ) | [virtual, inherited] |
Called when this component or one of its children gains or loses focus. This function will call set_active on the parent component.
void ifm::Panel::set_child_widget | ( | const WidgetPtr & | child | ) | [protected, virtual] |
void ifm::Component::set_color | ( | int | part, | |
const Color & | color | |||
) | [inherited] |
Sets a color for the given part in this components local color database.
void ifm::Panel::set_focus | ( | ) | [virtual] |
Sets focus to the child widget.
Reimplemented from ifm::Component.
void ifm::Component::set_min_size | ( | const Size & | size | ) | [virtual, inherited] |
Sets the minimum size.
void ifm::Component::set_name | ( | const std::string & | name | ) | [inherited] |
Sets the name of this component.
void ifm::Component::set_parent | ( | Container * | parent | ) | [virtual, inherited] |
void ifm::Component::set_rect | ( | const Rect & | rect | ) | [inherited] |
void ifm::Panel::show | ( | bool | show = true |
) | [virtual] |
Shows or hides our Child Wdget.
Reimplemented from ifm::Component.
void ifm::Component::show_menu | ( | Menu * | menu | ) | [inherited] |
Shows the given menu at the current mouse position.
bool ifm::Component::shown | ( | ) | const [virtual, inherited] |
void ifm::Component::undock | ( | ) | [virtual, inherited] |
Undock this component from its curent parent.
Reimplemented in ifm::Container.
void ifm::Panel::update | ( | ) | [virtual] |
Updates the position of our Child Widget.
Reimplemented from ifm::Component.
bool ifm::Component::m_active [protected, inherited] |
Whether we or one of our children currently has focus.
BitmapPtr ifm::Panel::m_bitmap [protected] |
std::string ifm::Panel::m_bitmapName [protected] |
The name of the image to be displayed on tabs for this Panel.
Dimensions ifm::Component::m_borders [protected, inherited] |
The border widths.
const WidgetID ifm::Panel::m_child_id [protected] |
The ID of the child widget.
WidgetAdapter ifm::Panel::m_child_widget [protected] |
The child widget.
ColorMap ifm::Component::m_colors [protected, inherited] |
Our color database.
int ifm::Panel::m_flags [protected] |
A set of flags controling appearance or behavior.
InterfaceManager& ifm::Component::m_manager [protected, inherited] |
The InterfaceManager managing this component.
Dimensions ifm::Component::m_margins [protected, inherited] |
The margin widths.
std::string ifm::Component::m_name [protected, inherited] |
The name of the component.
WidgetAdapter ifm::Component::m_native_widget [protected, inherited] |
The native widget representing this component in the GUI.
Container* ifm::Component::m_parent [protected, inherited] |
Out parent Container.
const component_type ifm::Component::m_type [protected, inherited] |
The type of component. Used by the layout save/load feature.