Exemple #1
0
void WBootstrapTheme::apply(WWidget *widget, WWidget *child, int widgetRole)
  const
{
  switch (widgetRole) {
  case MenuItemIconRole:
    child->addStyleClass("Wt-icon");
    break;
  case MenuItemCheckBoxRole:
    child->addStyleClass("Wt-chkbox");
    break;
  case DialogCoverRole:
    child->addStyleClass("modal-backdrop");
    break;
  case DialogTitleBarRole:
    child->addStyleClass("modal-header");
    break;
  case DialogBodyRole:
    child->addStyleClass("modal-body");
    break;
  case DialogFooterRole:
    child->addStyleClass("modal-footer");
    break;
  case DialogCloseIconRole:
    {
      child->addStyleClass("close");
      WText *t = dynamic_cast<WText *>(child);
      t->setText("&times;");
      break;
    }

  case TableViewRowContainerRole:
    {
      WAbstractItemView *view = dynamic_cast<WAbstractItemView *>(widget);
      child->toggleStyleClass("Wt-striped", view->alternatingRowColors());
      break;
    }

  case DatePickerPopupRole:
    child->addStyleClass("Wt-datepicker");
    break;

  case PanelTitleBarRole:
    child->addStyleClass("accordion-heading");
    break;

  case PanelCollapseButtonRole:
  case PanelTitleRole:
    child->addStyleClass("accordion-toggle");
    break;

  case PanelBodyRole:
    child->addStyleClass("accordion-inner");
    break;
  case AuthWidgets:
    WApplication *app = WApplication::instance();
    app->builtinLocalizedStrings().useBuiltin
      (skeletons::AuthBootstrapTheme_xml1);
    break;
  }
}
Exemple #2
0
void WCssTheme::apply(WWidget *widget, WWidget *child, int widgetRole) const
{
  switch (widgetRole) {
  case MenuItemIconRole:
    child->addStyleClass("Wt-icon");
    break;
  case MenuItemCheckBoxRole:
    child->addStyleClass("Wt-chkbox");
    break;
  case MenuItemCloseRole:
    widget->addStyleClass("Wt-closable");
    child->addStyleClass("closeicon");
    break;

  case DialogCoverRole:
    child->setStyleClass("Wt-dialogcover");
    break;
  case DialogTitleBarRole:
    child->addStyleClass("titlebar");
    break;
  case DialogBodyRole:
    child->addStyleClass("body");
    break;
  case DialogFooterRole:
    child->addStyleClass("footer");
    break;
  case DialogCloseIconRole:
    child->addStyleClass("closeicon");
    break;

  case TableViewRowContainerRole:
    {
      WAbstractItemView *view = dynamic_cast<WAbstractItemView *>(widget);

      std::string backgroundImage;

      if (view->alternatingRowColors())
	backgroundImage = "stripes/stripe-";
      else
	backgroundImage = "no-stripes/no-stripe-";

      backgroundImage = resourcesUrl() + backgroundImage
	+ boost::lexical_cast<std::string>
	  (static_cast<int>(view->rowHeight().toPixels()))
	+ "px.gif";

      child->decorationStyle().setBackgroundImage(WLink(backgroundImage));

      break;
    }

  case DatePickerPopupRole:
    child->addStyleClass("Wt-datepicker");
    break;
  case PanelTitleBarRole:
    child->addStyleClass("titlebar");
    break;
  case PanelBodyRole:
    child->addStyleClass("body");
    break;

  case AuthWidgets:
    WApplication *app = WApplication::instance();
    app->useStyleSheet(WApplication::relativeResourcesUrl() + "form.css");
    app->builtinLocalizedStrings().useBuiltin(skeletons::AuthCssTheme_xml1);
    break;
  }
}
Exemple #3
0
void WBootstrapTheme::apply(WWidget *widget, WWidget *child, int widgetRole)
  const
{
  if (!widget->isThemeStyleEnabled())
    return;

  switch (widgetRole) {
  case MenuItemIcon:
    child->addStyleClass("Wt-icon");
    break;
  case MenuItemCheckBox:
    child->setStyleClass("Wt-chkbox");
    ((WFormWidget *)child)->label()->addStyleClass("checkbox-inline");
    break;
  case MenuItemClose:
    {
      child->addStyleClass("close");
      WText *t = dynamic_cast<WText *>(child);
      t->setText("&times;");
      break;
    }
  case DialogContent:
    if (version_ == BootstrapVersion::v3)
      child->addStyleClass("modal-content");
    break;
  case DialogCoverWidget:
    if (version_ == BootstrapVersion::v3)
      child->addStyleClass("modal-backdrop in");
    else
      child->addStyleClass("modal-backdrop Wt-bootstrap2");
    break;
  case DialogTitleBar:
       child->addStyleClass("modal-header");
    break;
  case DialogBody:
      child->addStyleClass("modal-body");
    break;
  case DialogFooter:
    child->addStyleClass("modal-footer");
    break;
  case DialogCloseIcon:
    {
      child->addStyleClass("close");
      WText *t = dynamic_cast<WText *>(child);
      t->setText("&times;");
      break;
    }

  case TableViewRowContainer:
    {
      WAbstractItemView *view = dynamic_cast<WAbstractItemView *>(widget);
      child->toggleStyleClass("Wt-striped", view->alternatingRowColors());
      break;
    }

  case DatePickerPopup:
    child->addStyleClass("Wt-datepicker");
    break;

  case TimePickerPopup:
    child->addStyleClass("Wt-timepicker");
    break;

  case PanelTitleBar:
    child->addStyleClass(classAccordionHeading());
    break;

  case PanelCollapseButton:
  case PanelTitle:
    child->addStyleClass("accordion-toggle");
    break;

  case PanelBody:
    child->addStyleClass(classAccordionInner());
    break;
  case InPlaceEditing:
    if (version_ == BootstrapVersion::v2)
      child->addStyleClass("input-append");
    else
      child->addStyleClass("input-group");
    break;
  case NavCollapse:
    child->addStyleClass(classNavCollapse());
    break;
  case NavBrand:
    child->addStyleClass(classBrand());
    break;
  case NavbarSearch:
    child->addStyleClass(classNavbarSearch());
    break;
  case NavbarAlignLeft:
    child->addStyleClass(classNavbarLeft());
    break;
  case NavbarAlignRight:
    child->addStyleClass(classNavbarRight());
    break;
  case NavbarMenu:
    child->addStyleClass(classNavbarMenu());
    break;
  case NavbarBtn:
    child->addStyleClass(classNavbarBtn());
    break;
  }
}