Esempio n. 1
0
LoginWidget::LoginWidget(WContainerWidget *parent)
: WContainerWidget(parent)
{
  this->setId("login_widget");
  this->setStyleClass("login_widget_style");
  WText *intro = new WText("Hello! Please, login into Geo2tag "
    "or view marks from public channels",
    this);
  intro->setId("intro");
  //    WBreak *break1 = new WBreak(this);
  WLabel *usernameLabel = new WLabel("Username:"******"Password:"******"Login", this);
  //    WBreak *break2 = new WBreak(this);
  map = new WGoogleMap(this);
  map->setMinimumSize(WLength(300), WLength(400));
  map->setMaximumSize(WLength(500), WLength(400));
  map->setCenter(Wt::WGoogleMap::Coordinate(60, 30));
  map->enableScrollWheelZoom();
  //    WBreak *break3 = new WBreak(this);
  //    WOpenStreetMap *map2 = new WOpenStreetMap(this);
  //    map2->setMinimumSize(WLength(300), WLength(400));
  //    //map2->setMaximumSize(WLength(500), WLength(400));
  //
  //    WBreak *break4 = new WBreak(this);
  //    WYandexMap *map3 = new WYandexMap(this);
  //    map3->setMinimumSize(WLength(300), WLength(400));

  //  loginButton->clicked().connect(this, &LoginWidget::loginClicked);
  fillMap();
  initCons();
  //    m_con=new Connector<LoginWidget>(&m_loginQuery,LoginQueryConnected,&LoginWidget::userRecieved,this);

  this->setStyleClass("login_wigdet");
}
WWidget *Cms::Layout()
{
    Div *container = new Div("Cms", "cms-layout container-fluid");
    Div *noScript = new Div(container);
    noScript->addWidget(new WText(tr("no-script")));

    CgiRoot *cgiRoot = static_cast<CgiRoot *>(WApplication::instance());
    CgiEnv *cgiEnv = cgiRoot->GetCgiEnvInstance();

    string htmlData;
    string file;
    if (cgiEnv->GetCurrentLanguage() == CgiEnv::Language::Fa) {
        file = "../templates/cms-fa.wtml";
    } else {
        file = "../templates/cms.wtml";
    }

    if (CoreLib::FileSystem::Read(file, htmlData)) {
        WTemplate *tmpl = new WTemplate(container);
        tmpl->setTemplateText(WString::fromUTF8(htmlData), TextFormat::XHTMLUnsafeText);

        tmpl->bindWidget("brand-title", new WText(tr("cms-page-title")));

        WText *dashboard = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-dashboard fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard")), TextFormat::XHTMLUnsafeText);
        WText *newsletter = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-newspaper-o fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard-newsletter")), TextFormat::XHTMLUnsafeText);
        WText *subscribers = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-users fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard-subscribers")), TextFormat::XHTMLUnsafeText);
        WText *contacts = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-envelope-o fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard-contacts")), TextFormat::XHTMLUnsafeText);
        WText *settings = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-gears fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard-settings")), TextFormat::XHTMLUnsafeText);
        WText *changeEmail = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-envelope-o fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard-admin-change-email")), TextFormat::XHTMLUnsafeText);
        WText *changePassword = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-key fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard-admin-change-password")), TextFormat::XHTMLUnsafeText);
        WText *sysmon = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-line-chart fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard-system-monitor")), TextFormat::XHTMLUnsafeText);
        WText *switchLanguage = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-refresh fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard-switch-language")), TextFormat::XHTMLUnsafeText);
        WText *exit = new WText(
                    WString("<div><a href=\"javascript:;\"><i class=\"fa fa-sign-out fa-lg\"></i> {1}</a></div>")
                    .arg(tr("cms-dashboard-exit")), TextFormat::XHTMLUnsafeText);

        dashboard->setId("menu-item-dashboard");
        newsletter->setId("menu-item-newsletter");
        subscribers->setId("menu-item-subscribers");
        contacts->setId("menu-item-contacts");
        settings->setId("menu-item-settings");
        changeEmail->setId("menu-item-change-email");
        changePassword->setId("menu-item-change-password");
        sysmon->setId("menu-item-system-monitor");
        switchLanguage->setId("menu-item-switch-language");
        exit->setId("menu-item-exit");

        tmpl->bindWidget("dashboard", dashboard);
        tmpl->bindWidget("newsletter", newsletter);
        tmpl->bindWidget("subscribers", subscribers);
        tmpl->bindWidget("contacts", contacts);
        tmpl->bindWidget("settings", settings);
        tmpl->bindWidget("admin", new WText(tr("cms-dashboard-admin")));
        tmpl->bindWidget("change-email", changeEmail);
        tmpl->bindWidget("change-password", changePassword);
        tmpl->bindWidget("system-monitor", sysmon);
        tmpl->bindWidget("switch-language", switchLanguage);
        tmpl->bindWidget("exit", exit);

        m_pimpl->Contents = new Wt::WStackedWidget();
        m_pimpl->Contents->addWidget(new CmsDashboard());
        m_pimpl->Contents->addWidget(new CmsNewsletter());
        m_pimpl->Contents->addWidget(new CmsSubscribers());
        m_pimpl->Contents->addWidget(new CmsContacts());
        m_pimpl->Contents->addWidget(new CmsSettings());
        m_pimpl->Contents->addWidget(new CmsChangeEmail());
        m_pimpl->Contents->addWidget(new CmsChangePassword());
        m_pimpl->SystemMonitor = new SysMon();
        m_pimpl->Contents->addWidget(m_pimpl->SystemMonitor);
        tmpl->bindWidget("stcked-widget", m_pimpl->Contents);

        WSignalMapper<WText *, WStackedWidget *> *menuItemSignalMapper = new WSignalMapper<WText *, WStackedWidget *>(m_pimpl.get());
        menuItemSignalMapper->mapped().connect(m_pimpl.get(), &Cms::Impl::OnMenuItemPressed);
        menuItemSignalMapper->mapConnect(dashboard->clicked(), dashboard);
        menuItemSignalMapper->mapConnect(newsletter->clicked(), newsletter);
        menuItemSignalMapper->mapConnect(subscribers->clicked(), subscribers);
        menuItemSignalMapper->mapConnect(contacts->clicked(), contacts);
        menuItemSignalMapper->mapConnect(settings->clicked(), settings);
        menuItemSignalMapper->mapConnect(changeEmail->clicked(), changeEmail);
        menuItemSignalMapper->mapConnect(changePassword->clicked(), changePassword);
        menuItemSignalMapper->mapConnect(sysmon->clicked(), sysmon);
        menuItemSignalMapper->mapConnect(switchLanguage->clicked(), switchLanguage);
        menuItemSignalMapper->mapConnect(exit->clicked(), exit);
    }

    return container;
}