Each component can only be placed into the layout once. Attempts to place the same component into the layout by add()ing it to multiple containers will cause undefnied results which will most likely be incorrect. It will also cause the same pointer to be deleted multiple times most likely resulting in a program crash.
Public Member Functions | |
virtual Component * | copy () const =0 |
std::string | get_name () const |
component_type | get_type () const |
void | set_name (const std::string &name) |
virtual | ~Component () |
Protected Member Functions | |
Component (ComponentData *data) | |
Protected Attributes | |
std::auto_ptr< ComponentData > | m_data |
Private Member Functions | |
Component & | operator= (const Component &) |
Classes | |
class | ComponentData |
ifm::layout::Component::~Component | ( | ) | [virtual] |
ifm::layout::Component::Component | ( | ComponentData * | data | ) | [protected] |
virtual Component* ifm::layout::Component::copy | ( | ) | const [pure virtual] |
Implemented in ifm::layout::Container, ifm::layout::TabbedContainer, and ifm::layout::Panel.
std::string ifm::layout::Component::get_name | ( | ) | const |
component_type ifm::layout::Component::get_type | ( | ) | const |
void ifm::layout::Component::set_name | ( | const std::string & | name | ) |
Sets the name of this component.
std::auto_ptr<ComponentData> ifm::layout::Component::m_data [protected] |
Reimplemented in ifm::layout::Container, ifm::layout::TabbedContainer, and ifm::layout::Panel.