Beispiel #1
0
void Layout::remove(Sizable& sizable) {
  if(dynamic_cast<Widget*>(&sizable)) {
    Widget& widget = (Widget&)sizable;
    if(sizable.window()) sizable.window()->remove(widget);
  }

  sizable.state.parent = nullptr;
  sizable.state.window = nullptr;
}
Beispiel #2
0
void Layout::append(Sizable& sizable) {
  sizable.state.parent = this;
  sizable.state.window = Sizable::state.window;

  if(dynamic_cast<Layout*>(&sizable)) {
    Layout& layout = (Layout&)sizable;
    layout.synchronizeLayout();
  }

  if(dynamic_cast<Widget*>(&sizable)) {
    Widget& widget = (Widget&)sizable;
    if(sizable.window()) sizable.window()->append(widget);
  }
}