TabbedContainers have a caption which is used to display the name of the TabbedContainer (if one exists) as well as the name of the selected child. The format of the display is: [TabbedContainer::name - ]Child::name.
Public Member Functions | |
virtual Size | absolute_to_client (const Size &absolute) const |
virtual Rect | absolute_to_client (const Rect &absolute) const |
int | calc_tab_height () const |
int | calc_tab_width (int tabIdx, int tabHeight) const |
void | capture_mouse () |
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) |
virtual void | dock (Pointer< Component > child, Component *relative=0, ALIGNMENT alignment=NONE) |
bool | drag_drop_sensitive (const Point &position, Component *&dragged_component) const |
ALIGNMENT | get_alignment () const |
virtual Rect | get_background_rect () const |
virtual Dimensions | get_borders () const |
virtual Rect | get_caption_rect () const |
virtual Rect | get_caption_text_rect () const |
Component * | get_child (size_t i) const |
CHILD_ALIGNMENT | get_child_alignment () const |
const ComponentList & | get_children () const |
size_t | get_children_count () const |
virtual Rect | get_client_rect () const |
Rect | get_close_button_rect () const |
Color | get_color (int part) const |
Size | get_desired_size () const |
virtual Component * | get_dock_target () |
Font | get_font (int id) const |
int | get_id () const |
BitmapPtr | get_image (size_t i) const |
virtual layout::TabbedContainer * | get_layout () const |
InterfaceManager & | get_manager () const |
virtual Dimensions | get_margins () const |
virtual Size | get_max_size () const |
Size | get_min_size () const |
std::string | get_name () const |
WidgetAdapter | get_native_widget () const |
std::string | get_page_name (size_t i) const |
Container * | get_parent () const |
virtual Rect | get_rect () const |
Component * | get_selected_child () const |
int | get_selection_index () const |
Rect | get_tab_area_rect () const |
bool | get_tab_from_pos (Tab &tab, const Point &position) const |
int | get_type () const |
bool | has_image (size_t i) const |
void | hide () |
void | init (const layout::Container &data) |
void | init (const layout::TabbedContainer &data) |
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. | |
void | refresh (const Rect &rect) |
void | refresh () |
void | release_mouse () |
void | remove_color (int part) |
void | render (DeviceContext &dc) |
Point | screen_to_client (const Point &screen) |
void | select_child (int i) |
virtual void | select_child (Component *child) |
virtual void | set_active (bool active) |
virtual void | set_alignment (ALIGNMENT alignment) |
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) |
virtual void | show (bool show=true) |
virtual bool | show_caption () const |
bool | show_close_button () const |
void | show_menu (Menu *menu) |
Shows the given menu at the current mouse position. | |
bool | show_tab_select_button () const |
void | show_tab_select_menu () |
virtual bool | show_tabs () const |
virtual bool | shown () const |
TabbedContainer (InterfaceManager &manager, const layout::TabbedContainer &data) | |
virtual void | undock () |
virtual void | undock (Component *child) |
void | update () |
bool | update_tabs () |
~TabbedContainer () | |
Static Public Member Functions | |
static bool | child_of (Component *parent, Component *child) |
Protected Member Functions | |
virtual void | add_children_to_layout (layout::Container &layout) const |
void | create_widget () |
void | dock (Pointer< Component > child, ComponentList::iterator where) |
Protected Attributes | |
bool | m_active |
Whether we or one of our children currently has focus. | |
ALIGNMENT | m_alignment |
Alignment within the interface. | |
Dimensions | m_borders |
The border widths. | |
ComponentList | m_children |
Child components. | |
ColorMap | m_colors |
Our color database. | |
const int | m_id |
ID. | |
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. | |
Private Attributes | |
bool | m_allTabsCanFit |
CaptionButton | m_closeButton |
bool | m_mouseCaptured |
CaptionButton * | m_pressedButton |
Component * | m_selected_child |
int | m_tab_flags |
std::vector< Tab > | m_tabs |
CaptionButton | m_tabSelectButton |
MenuPtr | m_tabSelectMenu |
ifm::TabbedContainer::TabbedContainer | ( | InterfaceManager & | manager, | |
const layout::TabbedContainer & | data | |||
) |
ifm::TabbedContainer::~TabbedContainer | ( | ) |
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::Container::add_children_to_layout | ( | layout::Container & | layout | ) | const [protected, virtual, inherited] |
Adds this Container's children to the given layout object.
int ifm::TabbedContainer::calc_tab_height | ( | ) | const |
int ifm::TabbedContainer::calc_tab_width | ( | int | tabIdx, | |
int | tabHeight | |||
) | const |
void ifm::Component::capture_mouse | ( | ) | [inherited] |
Captures the mouse so that all mouse inputs are sent to this Widget.
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 |
void ifm::Component::create_widget | ( | ) | [protected, inherited] |
Creates the native widget for the component.
void ifm::Container::dock | ( | Pointer< Component > | child, | |
ComponentList::iterator | where | |||
) | [protected, inherited] |
Docks the child at the specified position.
void ifm::TabbedContainer::dock | ( | Pointer< Component > | child, | |
Component * | relative = 0 , |
|||
ALIGNMENT | alignment = NONE | |||
) | [virtual] |
Docks a chlid as a tab.
child | The component to dock | |
relative | Ignored | |
alignment | Ignored |
Reimplemented from ifm::Container.
bool ifm::TabbedContainer::drag_drop_sensitive | ( | const Point & | position, | |
Component *& | dragged_component | |||
) | const [virtual] |
The captions of TabbedContainers are drag and drop enabled.
Reimplemented from ifm::Component.
ALIGNMENT ifm::Container::get_alignment | ( | ) | const [inherited] |
Rect ifm::Component::get_background_rect | ( | ) | const [virtual, inherited] |
Dimensions ifm::Component::get_borders | ( | ) | const [virtual, inherited] |
Rect ifm::TabbedContainer::get_caption_rect | ( | ) | const [virtual] |
Returns the rect containing the caption.
Rect ifm::TabbedContainer::get_caption_text_rect | ( | ) | const [virtual] |
Returns the rect available to render the caption text.
Component * ifm::TabbedContainer::get_child | ( | size_t | i | ) | const |
CHILD_ALIGNMENT ifm::TabbedContainer::get_child_alignment | ( | ) | const [virtual] |
The child alignment depends on the container alignment.
Reimplemented from ifm::Container.
const ComponentList & ifm::Container::get_children | ( | ) | const [virtual, inherited] |
size_t ifm::TabbedContainer::get_children_count | ( | ) | const |
Rect ifm::Component::get_client_rect | ( | ) | const [virtual, inherited] |
Rect ifm::TabbedContainer::get_close_button_rect | ( | ) | const |
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::TabbedContainer::get_desired_size | ( | ) | const [virtual] |
Component * ifm::Component::get_dock_target | ( | ) | [virtual, inherited] |
When the user moves the mouse during a drag operation and hovers over a Component, this function is used to determine what component to display the DockTargets for. Docking will be performed relative to that component.
Reimplemented in ifm::Panel.
Font ifm::Component::get_font | ( | int | id | ) | const [inherited] |
int ifm::Container::get_id | ( | ) | const [inherited] |
BitmapPtr ifm::TabbedContainer::get_image | ( | size_t | i | ) | const |
layout::TabbedContainer * ifm::TabbedContainer::get_layout | ( | ) | const [virtual] |
Returns the layout object representing the current state of this TabbedContainer.
Reimplemented from ifm::Container.
InterfaceManager & ifm::Component::get_manager | ( | ) | const [inherited] |
Dimensions ifm::TabbedContainer::get_margins | ( | ) | const [virtual] |
Size ifm::Component::get_max_size | ( | ) | const [virtual, inherited] |
A value of 0 in a given direction means no maximum size.
Size ifm::TabbedContainer::get_min_size | ( | ) | const [virtual] |
Returns the largest minimum size of our children accounting for any borders and margins we have.
Reimplemented from ifm::Container.
std::string ifm::TabbedContainer::get_name | ( | ) | const [virtual] |
Returns the name to display in the caption.
Reimplemented from ifm::Component.
WidgetAdapter ifm::Component::get_native_widget | ( | ) | const [inherited] |
std::string ifm::TabbedContainer::get_page_name | ( | size_t | i | ) | const |
Rect ifm::Component::get_rect | ( | ) | const [virtual, inherited] |
Component * ifm::TabbedContainer::get_selected_child | ( | ) | const |
int ifm::TabbedContainer::get_selection_index | ( | ) | const |
Rect ifm::TabbedContainer::get_tab_area_rect | ( | ) | const |
int ifm::Component::get_type | ( | ) | const [inherited] |
bool ifm::TabbedContainer::has_image | ( | size_t | i | ) | const |
void ifm::Component::hide | ( | ) | [inherited] |
void ifm::Container::init | ( | const layout::Container & | data | ) | [inherited] |
Performs post-creation initialization, such as creating children.
void ifm::TabbedContainer::init | ( | const layout::TabbedContainer & | data | ) |
Performs post-creation initialization, such as creating children.
bool ifm::Component::is_active | ( | ) | const [inherited] |
bool ifm::TabbedContainer::on_left_down | ( | const MouseEventData & | data | ) | [virtual] |
Called when the user has pressed the left mouse button over this Component.
data | Data about this event |
Reimplemented from ifm::Component.
bool ifm::TabbedContainer::on_left_up | ( | const MouseEventData & | data | ) | [virtual] |
Called when the user has released the left mouse button over this Component.
data | Data about this event |
Reimplemented from ifm::Component.
bool ifm::TabbedContainer::on_menu_select | ( | int | id | ) | [virtual] |
Called when an item from a menu opened by this component is selected.
id | The identifier of the menu item that was selected. |
Reimplemented from ifm::Component.
bool ifm::TabbedContainer::on_mouse_leave | ( | const MouseEventData & | data | ) | [virtual] |
Called when the user has moved the mouse out of this Component.
data | Data about this event |
Reimplemented from ifm::Component.
bool ifm::TabbedContainer::on_mouse_move | ( | const MouseEventData & | data | ) | [virtual] |
Called when the user has moved the mouse over this Component.
data | Data about this event |
Reimplemented from ifm::Component.
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::TabbedContainer::render | ( | DeviceContext & | dc | ) | [virtual] |
Renders this component
Reimplemented from ifm::Component.
Converts the given screen coordinates to client coordinates.
screen | The screen coordinates to convert |
void ifm::TabbedContainer::select_child | ( | int | i | ) |
void ifm::TabbedContainer::select_child | ( | Component * | child | ) | [virtual] |
Selects the given child making it the active tab.
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::Container::set_alignment | ( | ALIGNMENT | alignment | ) | [virtual, inherited] |
Specify the alignment of this container.
If the container is a top level container: LEFT, RIGHT, TOP and BOTTOM are used to specify what side of the application the container is docked against.
FLOATING is used to specify that this container is the root container of a floating window.
DOCKED is used to signify that this container is docked into another container.
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::TabbedContainer::set_focus | ( | ) | [virtual] |
Sets focus to the selected child Component.
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::Component::show | ( | bool | show = true |
) | [virtual, inherited] |
Shows or Hides this component. When showing a component, all parents will also be shown to ensure that the component is visible.
Reimplemented in ifm::Panel.
bool ifm::TabbedContainer::show_caption | ( | ) | const [virtual] |
bool ifm::TabbedContainer::show_close_button | ( | ) | const |
void ifm::Component::show_menu | ( | Menu * | menu | ) | [inherited] |
Shows the given menu at the current mouse position.
bool ifm::TabbedContainer::show_tab_select_button | ( | ) | const |
void ifm::TabbedContainer::show_tab_select_menu | ( | ) |
Displays a menu listing all tabs so the user can pick one. Used when some tabs are not visible.
bool ifm::TabbedContainer::show_tabs | ( | ) | const [virtual] |
bool ifm::Component::shown | ( | ) | const [virtual, inherited] |
void ifm::Container::undock | ( | ) | [virtual, inherited] |
If this Container is a top level Container, removes this Container from the list of top level Containers. Otherwise, undocks from the parent Container.
Reimplemented from ifm::Component.
void ifm::TabbedContainer::undock | ( | Component * | child | ) | [virtual] |
Undock a child of this Container.
Reimplemented from ifm::Container.
void ifm::TabbedContainer::update | ( | ) | [virtual] |
Update the position of our children.
Reimplemented from ifm::Container.
bool ifm::TabbedContainer::update_tabs | ( | ) |
bool ifm::Component::m_active [protected, inherited] |
Whether we or one of our children currently has focus.
ALIGNMENT ifm::Container::m_alignment [protected, inherited] |
Alignment within the interface.
bool ifm::TabbedContainer::m_allTabsCanFit [private] |
Dimensions ifm::Component::m_borders [protected, inherited] |
The border widths.
ComponentList ifm::Container::m_children [protected, inherited] |
Child components.
ColorMap ifm::Component::m_colors [protected, inherited] |
Our color database.
const int ifm::Container::m_id [protected, inherited] |
ID.
InterfaceManager& ifm::Component::m_manager [protected, inherited] |
The InterfaceManager managing this component.
Dimensions ifm::Component::m_margins [protected, inherited] |
The margin widths.
bool ifm::TabbedContainer::m_mouseCaptured [private] |
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.
Component* ifm::TabbedContainer::m_selected_child [private] |
int ifm::TabbedContainer::m_tab_flags [private] |
std::vector<Tab> ifm::TabbedContainer::m_tabs [private] |
MenuPtr ifm::TabbedContainer::m_tabSelectMenu [private] |
const component_type ifm::Component::m_type [protected, inherited] |
The type of component. Used by the layout save/load feature.