Ejemplo n.º 1
0
void WNavigationBar::setResponsive(bool responsive)
{
  NavContainer *contents = resolve<NavContainer *>("contents");

  if (responsive) {
    WInteractWidget *collapseButton
      = resolve<WInteractWidget *>("collapse-button");
    WInteractWidget *expandButton
      = resolve<WInteractWidget *>("expand-button");

    if (!collapseButton) {
      bindWidget("collapse-button", collapseButton = createCollapseButton());
      collapseButton->clicked().connect(this,
					&WNavigationBar::collapseContents);

      collapseButton->hide();

      bindWidget("expand-button", expandButton = createExpandButton());
      expandButton->clicked().connect(this,
				      &WNavigationBar::expandContents);
    }

    wApp->theme()->apply(this, contents, NavCollapseRole);

    contents->hide();

    if (contents->isBootstrap2Responsive()) {
      /* Comply with bootstrap responsive CSS assumptions */
      contents->setJavaScriptMember
	("wtAnimatedHidden",
	 "function(hidden) {"
	 """if (hidden) "
	 ""  "this.style.height=''; this.style.display='';"
	 "}");
    }
  } else {
    bindEmpty("collapse-button");
  }
}
Ejemplo n.º 2
0
WInteractWidget *WNavigationBar::createCollapseButton()
{
  return createExpandButton();
}