コード例 #1
0
ファイル: WNavigationBar.C プロジェクト: GuLinux/wt
void WNavigationBar::setResponsive(bool responsive)
{
  WContainerWidget *contents = resolve<WContainerWidget *>("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();

    /* Comply with bootstrap responsive CSS assumptions */
    contents->setJavaScriptMember
      ("wtAnimatedHidden",
       "function(hidden) {"
       """if (hidden) "
       ""  "this.style.height=''; this.style.display='';"
       "}");
  } else {
    bindEmpty("collapse-button");
  }
}