Wt examples  4.15.0
Loading...
Searching...
No Matches
JWtHome Class Reference

#include <JWtHome.h>

Inheritance diagram for JWtHome:
[legend]

Public Member Functions

 JWtHome (const WEnvironment &env, Dbo::SqlConnectionPool &blogDb)
Public Member Functions inherited from Home
 Home (const WEnvironment &env, Dbo::SqlConnectionPool &blogDb, const std::string &title, const std::string &resourceBundle, const std::string &cssPath)
virtual ~Home ()
void googleAnalyticsLogger ()
Public Member Functions inherited from Wt::WApplication
 WApplication (const WEnvironment &environment)
 ~WApplication ()
const WEnvironment & environment () const
WContainerWidget * root () const
WWidget * findWidget (const std::string &name)
WWidget * findById (const std::string &id) const
void setTitle (const WString &title)
const WString & title () const
const WString & closeMessage () const
std::shared_ptr< WLocalizedStrings > localizedStrings ()
void setLocalizedStrings (const std::shared_ptr< WLocalizedStrings > &stringResolver)
WMessageResourceBundle & messageResourceBundle ()
void setLocale (const WLocale &locale, bool doRefresh=true)
const WLocale & locale () const
virtual void refresh ()
void bindWidget (std::unique_ptr< WWidget > widget, const std::string &domId)
std::string docRoot () const
void setConnectionMonitor (const std::string &jsObject)
std::string sessionId () const
SessionConstantId sessionConstantId () const
void changeSessionId ()
void processEvents ()
virtual void waitForEvent ()
virtual void initialize ()
virtual void finalize ()
void setTwoPhaseRenderingThreshold (int size)
void setCookie (const Http::Cookie &cookie)
void setCookie (const std::string &name, const std::string &value, int maxAge, const std::string &domain="", const std::string &path="", bool secure=false)
void removeCookie (const Http::Cookie &cookie)
void removeCookie (const std::string &name, const std::string &domain="", const std::string &path="")
void addMetaLink (const std::string &href, const std::string &rel, const std::string &media, const std::string &hreflang, const std::string &type, const std::string &sizes, bool disabled)
void removeMetaLink (const std::string &href)
void addMetaHeader (const std::string &name, const WString &content, const std::string &lang="")
void addMetaHeader (MetaHeaderType type, const std::string &name, const WString &content, const std::string &lang="")
WString metaHeader (MetaHeaderType type, const std::string &name) const
void removeMetaHeader (MetaHeaderType type, const std::string &name="")
WLogEntry log (const std::string &type) const
void setLoadingIndicator (std::unique_ptr< WLoadingIndicator > indicator)
WLoadingIndicator * loadingIndicator () const
void setFavicon (std::unique_ptr< WFavicon > icon)
WFavicon * favicon () const
void quit ()
void quit (const WString &restartMessage)
bool hasQuit () const
::int64_t maximumRequestSize () const
Signal< ::int64_t > & requestTooLarge ()
VisibilityState visibilityState () const
Signal< VisibilityState > & visibilityChanged ()
std::string focus () const
WWidget * focusedWidget () const
void setTrackFocus (bool enable=true)
bool trackFocus () const
Signal & elementFocused ()
Signal & elementBlurred ()
void setConfirmCloseMessage (const WString &message)
void deferRendering ()
void resumeRendering ()
std::string encodeUntrustedUrl (const std::string &url) const
void pushExposedConstraint (WWidget *w)
void suspend (std::chrono::seconds duration)
Signal & unsuspended ()
ServerSideFontMetrics * serverSideFontMetrics ()
WCssStyleSheet & styleSheet ()
void useStyleSheet (const WLink &link, const std::string &media="all")
void useStyleSheet (const WLink &link, const std::string &condition, const std::string &media)
void useStyleSheet (const WLinkedCssStyleSheet &styleSheet, const std::string &condition="")
void removeStyleSheet (const WLink &link)
void setTheme (const std::shared_ptr< WTheme > &theme)
std::shared_ptr< WTheme > theme () const
void setCssTheme (const std::string &name)
Signal< std::string > & themeColorModeChanged ()
void setLayoutDirection (LayoutDirection direction)
LayoutDirection layoutDirection () const
void setBodyClass (const std::string &styleClass)
std::string bodyClass () const
void setHtmlClass (const std::string &styleClass)
std::string htmlClass () const
void setHtmlAttribute (const std::string &name, const std::string &value)
WString htmlAttribute (const std::string &name) const
void setBodyAttribute (const std::string &name, const std::string &value)
WString bodyAttribute (const std::string &name) const
std::string url (const std::string &internalPath=std::string()) const
virtual std::string makeAbsoluteUrl (const std::string &url) const
std::string resolveRelativeUrl (const std::string &url) const
std::string bookmarkUrl () const
std::string bookmarkUrl (const std::string &internalPath) const
void setInternalPath (const std::string &path, bool emitChange=false)
void setInternalPathDefaultValid (bool valid)
bool internalPathDefaultValid () const
void setInternalPathValid (bool valid)
bool internalPathValid () const
std::string internalPath () const
std::string internalPathNextPart (const std::string &path) const
bool internalPathMatches (const std::string &path) const
Signal< std::string > & internalPathChanged ()
Signal< std::string > & internalPathInvalid ()
void redirect (const std::string &url)
void enableUpdates (bool enabled=true)
bool updatesEnabled () const
void triggerUpdate ()
void attachThread (bool attach=true)
void doJavaScript (const std::string &javascript, bool afterLoaded=true)
void addAutoJavaScript (const std::string &javascript)
void declareJavaScriptFunction (const std::string &name, const std::string &function)
bool require (const std::string &url, const std::string &symbol=std::string())
bool requireJQuery (const std::string &url)
bool customJQuery () const
void setJavaScriptClass (const std::string &className)
std::string javaScriptClass ()
EventSignal< WKeyEvent > & globalKeyWentDown ()
EventSignal< WKeyEvent > & globalKeyPressed ()
EventSignal< WKeyEvent > & globalKeyWentUp ()
EventSignal & globalEnterPressed ()
EventSignal & globalEscapePressed ()
WCssStyleSheet & styleSheet ()
void useStyleSheet (const WLink &link, const std::string &media="all")
void useStyleSheet (const WLink &link, const std::string &condition, const std::string &media)
void useStyleSheet (const WLinkedCssStyleSheet &styleSheet, const std::string &condition="")
void removeStyleSheet (const WLink &link)
void setTheme (const std::shared_ptr< WTheme > &theme)
std::shared_ptr< WTheme > theme () const
void setCssTheme (const std::string &name)
Signal< std::string > & themeColorModeChanged ()
void setLayoutDirection (LayoutDirection direction)
LayoutDirection layoutDirection () const
void setBodyClass (const std::string &styleClass)
std::string bodyClass () const
void setHtmlClass (const std::string &styleClass)
std::string htmlClass () const
void setHtmlAttribute (const std::string &name, const std::string &value)
WString htmlAttribute (const std::string &name) const
void setBodyAttribute (const std::string &name, const std::string &value)
WString bodyAttribute (const std::string &name) const
std::string url (const std::string &internalPath=std::string()) const
virtual std::string makeAbsoluteUrl (const std::string &url) const
std::string resolveRelativeUrl (const std::string &url) const
std::string bookmarkUrl () const
std::string bookmarkUrl (const std::string &internalPath) const
void setInternalPath (const std::string &path, bool emitChange=false)
void setInternalPathDefaultValid (bool valid)
bool internalPathDefaultValid () const
void setInternalPathValid (bool valid)
bool internalPathValid () const
std::string internalPath () const
std::string internalPathNextPart (const std::string &path) const
bool internalPathMatches (const std::string &path) const
Signal< std::string > & internalPathChanged ()
Signal< std::string > & internalPathInvalid ()
void redirect (const std::string &url)
void enableUpdates (bool enabled=true)
bool updatesEnabled () const
void triggerUpdate ()
void attachThread (bool attach=true)
void doJavaScript (const std::string &javascript, bool afterLoaded=true)
void addAutoJavaScript (const std::string &javascript)
void declareJavaScriptFunction (const std::string &name, const std::string &function)
bool require (const std::string &url, const std::string &symbol=std::string())
bool requireJQuery (const std::string &url)
bool customJQuery () const
void setJavaScriptClass (const std::string &className)
std::string javaScriptClass ()
EventSignal< WKeyEvent > & globalKeyWentDown ()
EventSignal< WKeyEvent > & globalKeyPressed ()
EventSignal< WKeyEvent > & globalKeyWentUp ()
EventSignal & globalEnterPressed ()
EventSignal & globalEscapePressed ()
Public Member Functions inherited from Wt::WObject
void addChild (std::unique_ptr< WObject > child)
Child * addChild (std::unique_ptr< Child > child)
std::unique_ptr< WObject > removeChild (WObject *child)
std::unique_ptr< Child > removeChild (Child *child)
virtual const std::string id () const
virtual void setObjectName (const std::string &name)
virtual std::string objectName () const
void resetLearnedSlots ()
void resetLearnedSlot (void(T::*method)())
WStatelessSlot * implementStateless (void(T::*method)())
WStatelessSlot * implementStateless (void(T::*method)(), void(T::*undoMethod)())
void isNotStateless ()
WStatelessSlot * implementJavaScript (void(T::*method)(), const std::string &jsCode)
virtual bool resendFormData ()
Public Member Functions inherited from Wt::Core::observable
 observable () noexcept
virtual ~observable ()
auto bindSafe (void(C::*method)(Args...)) noexcept
auto bindSafe (void(C::*method)(Args...) const) const noexcept
auto bindSafe (const Function &function) noexcept

Protected Member Functions

virtual std::unique_ptr< WWidget > examples ()
virtual std::unique_ptr< WWidget > createQuoteForm ()
virtual std::unique_ptr< WWidget > sourceViewer (const std::string &deployPath)
virtual std::string filePrefix () const
std::unique_ptr< WWidget > wrapView (std::unique_ptr< WWidget >(JWtHome::*createFunction)())
Protected Member Functions inherited from Home
void init ()
void addLanguage (const Lang &l)
std::unique_ptr< WWidget > linkSourceBrowser (const std::string &examplePath)
WString tr (const char *key)
std::string href (const std::string &url, const std::string &description)
void readReleases (WTable *releaseTable)
Protected Member Functions inherited from Wt::WApplication
virtual void notify (const WEvent &e)
virtual bool isExposed (WWidget *w) const
virtual void enableAjax ()
virtual void unload ()
virtual void idleTimeout ()
virtual void handleJavaScriptError (const std::string &errorText)
Protected Member Functions inherited from Wt::WObject
virtual WStatelessSlot * getStateless (Method method)

Private Member Functions

std::unique_ptr< WWidget > example (const char *textKey, const std::string &sourceDir)
std::unique_ptr< WWidget > helloWorldExample ()
std::unique_ptr< WWidget > chartExample ()
std::unique_ptr< WWidget > composerExample ()
std::unique_ptr< WWidget > treeviewExample ()
std::unique_ptr< WWidget > chatExample ()
std::unique_ptr< WWidget > figtreeExample ()
std::unique_ptr< WWidget > widgetGalleryExample ()

Private Attributes

std::string jwtExamplePath_

Additional Inherited Members

Public Types inherited from Wt::WApplication
typedef Wt::ApplicationCreator ApplicationCreator
typedef std::function< std::unique_ptr< WApplication >(const WEnvironment &)> ApplicationCreator
Public Types inherited from Wt::WObject
typedef void(WObject::* Method) ()
Static Public Member Functions inherited from Wt::WApplication
static WApplication * instance ()
static std::string resourcesUrl ()
static std::string relativeResourcesUrl ()
static std::string appRoot ()
static bool readConfigurationProperty (const std::string &name, std::string &value)
Protected Attributes inherited from Home
WTabWidget * examplesMenu_
WTable * releases_

Detailed Description

Definition at line 16 of file JWtHome.h.

Constructor & Destructor Documentation

◆ JWtHome()

JWtHome::JWtHome ( const WEnvironment & env,
Dbo::SqlConnectionPool & blogDb )

Definition at line 27 of file JWtHome.C.

28 : Home(env, blogDb,
29 "JWt, Java Web Toolkit",
30 "jwt-home", "css/jwt")
31{
32 addLanguage(Lang("en", "/", "en", "English"));
33
34 char* jwtExamplePath = getenv("JWT_EXAMPLE_PATH");
35 if (jwtExamplePath)
36 jwtExamplePath_ = jwtExamplePath;
37 else
38 jwtExamplePath_ = "/home/pieter/projects/jwt/wt-port/java/examples/";
39
40 init();
41}
Home(const WEnvironment &env, Dbo::SqlConnectionPool &blogDb, const std::string &title, const std::string &resourceBundle, const std::string &cssPath)
Definition Home.C:40
void addLanguage(const Lang &l)
Definition Home.h:86
void init()
Definition Home.C:63
std::string jwtExamplePath_
Definition JWtHome.h:40

Member Function Documentation

◆ chartExample()

std::unique_ptr< WWidget > JWtHome::chartExample ( )
private

Definition at line 119 of file JWtHome.C.

120{
121 return std::move(example("home.examples.chart", "charts"));
122}
std::unique_ptr< WWidget > example(const char *textKey, const std::string &sourceDir)
Definition JWtHome.C:106

◆ chatExample()

std::unique_ptr< WWidget > JWtHome::chatExample ( )
private

Definition at line 134 of file JWtHome.C.

135{
136 return std::move(example("home.examples.chat", "simplechat"));
137}

◆ composerExample()

std::unique_ptr< WWidget > JWtHome::composerExample ( )
private

Definition at line 129 of file JWtHome.C.

130{
131 return std::move(example("home.examples.composer", "composer"));
132}

◆ createQuoteForm()

std::unique_ptr< WWidget > JWtHome::createQuoteForm ( )
protectedvirtual

Implements Home.

Definition at line 92 of file JWtHome.C.

93{
94#ifdef WT_EMWEB_BUILD
95 return std::make_unique<QuoteForm>(QuoteForm::JWt);
96#else
97 return nullptr;
98#endif
99}

◆ example()

std::unique_ptr< WWidget > JWtHome::example ( const char * textKey,
const std::string & sourceDir )
private

Definition at line 106 of file JWtHome.C.

107{
108 std::unique_ptr<WContainerWidget> result = std::make_unique<WContainerWidget>();
109 result->addWidget(std::make_unique<WText>(tr(textKey)));
110 result->addWidget(linkSourceBrowser(sourceDir));
111 return std::move(result);
112}
std::unique_ptr< WWidget > linkSourceBrowser(const std::string &examplePath)
Definition Home.C:202
WString tr(const char *key)
Definition Home.C:425

◆ examples()

std::unique_ptr< WWidget > JWtHome::examples ( )
protectedvirtual

Implements Home.

Definition at line 43 of file JWtHome.C.

44{
45 std::unique_ptr<WContainerWidget> result(std::make_unique<WContainerWidget>());
46
47 std::unique_ptr<WText> intro(std::make_unique<WText>(tr("home.examples")));
48 intro->setInternalPathEncoding(true);
49 result->addWidget(std::move(intro));
50
51 examplesMenu_ = result->addWidget(std::make_unique<WTabWidget>());
52 WAnimation animation(AnimationEffect::SlideInFromRight, TimingFunction::EaseIn);
53 examplesMenu_->contentsStack()->setTransitionAnimation(animation, true);
54
55 /*
56 * The following code is functionally equivalent to:
57 *
58 * examplesMenu_->addTab(helloWorldExample(), "Hello world");
59 *
60 * However, we optimize here for memory consumption (it is a homepage
61 * after all, and we hope to be slashdotted some day)
62 *
63 * Therefore, we wrap all the static content (including the tree
64 * widgets), into WViewWidgets with static models. In this way the
65 * widgets are not actually stored in memory on the server.
66 */
67
68 // The call ->setPathComponent() is to use "/examples/" instead of
69 // "/examples/hello_world" as internal path
71 tr("hello-world"))->setPathComponent("");
73 tr("widget-gallery"));
74 examplesMenu_->addTab(std::move(wrapView(&JWtHome::chartExample)),
75 tr("charts"));
77 tr("treeview"));
79 tr("mail-composer"));
80 examplesMenu_->addTab(std::move(wrapView(&JWtHome::chatExample)),
81 tr("chat"));
83 tr("figtree"));
84
85 // Enable internal paths for the example menu
86 examplesMenu_->setInternalPathEnabled("/examples");
87 examplesMenu_->currentChanged().connect(this, &Home::googleAnalyticsLogger);
88
89 return std::move(result);
90}
WTabWidget * examplesMenu_
Definition Home.h:89
void googleAnalyticsLogger()
Definition Home.C:430
std::unique_ptr< WWidget > helloWorldExample()
Definition JWtHome.C:114
std::unique_ptr< WWidget > figtreeExample()
Definition JWtHome.C:139
std::unique_ptr< WWidget > chartExample()
Definition JWtHome.C:119
std::unique_ptr< WWidget > chatExample()
Definition JWtHome.C:134
std::unique_ptr< WWidget > treeviewExample()
Definition JWtHome.C:124
std::unique_ptr< WWidget > widgetGalleryExample()
Definition JWtHome.C:147
std::unique_ptr< WWidget > wrapView(std::unique_ptr< WWidget >(JWtHome::*createFunction)())
Definition JWtHome.C:152
std::unique_ptr< WWidget > composerExample()
Definition JWtHome.C:129

◆ figtreeExample()

std::unique_ptr< WWidget > JWtHome::figtreeExample ( )
private

Definition at line 139 of file JWtHome.C.

140{
141 std::unique_ptr<WContainerWidget> result(std::make_unique<WContainerWidget>());
142 WText *text = result->addWidget(std::make_unique<WText>(tr("home.examples.figtree")));
143 text->setInternalPathEncoding(true);
144 return std::move(result);
145}
void setInternalPathEncoding(bool enabled)

◆ filePrefix()

virtual std::string JWtHome::filePrefix ( ) const
inlineprotectedvirtual

Implements Home.

Definition at line 25 of file JWtHome.h.

25{ return "jwt-"; }

◆ helloWorldExample()

std::unique_ptr< WWidget > JWtHome::helloWorldExample ( )
private

Definition at line 114 of file JWtHome.C.

115{
116 return std::move(example("home.examples.hello", "hello"));
117}

◆ sourceViewer()

std::unique_ptr< WWidget > JWtHome::sourceViewer ( const std::string & deployPath)
protectedvirtual

Implements Home.

Definition at line 101 of file JWtHome.C.

102{
103 return std::make_unique<ExampleSourceViewer>(deployPath, jwtExamplePath_ + "/", "JAVA");
104}

◆ treeviewExample()

std::unique_ptr< WWidget > JWtHome::treeviewExample ( )
private

Definition at line 124 of file JWtHome.C.

125{
126 return std::move(example("home.examples.treeview", "treeviewdragdrop"));
127}

◆ widgetGalleryExample()

std::unique_ptr< WWidget > JWtHome::widgetGalleryExample ( )
private

Definition at line 147 of file JWtHome.C.

148{
149 return std::move(example("home.examples.widgetgallery", "widgetgallery"));
150}

◆ wrapView()

std::unique_ptr< WWidget > JWtHome::wrapView ( std::unique_ptr< WWidget >(JWtHome::* createFunction )())
protected

Definition at line 152 of file JWtHome.C.

153{
154 return makeStaticModel(std::bind(createWidget, this));
155}
std::unique_ptr< Wt::WApplication > createWidget(const Wt::WEnvironment &env, SimpleChatServer &server)
Definition simpleChat.C:148

Member Data Documentation

◆ jwtExamplePath_

std::string JWtHome::jwtExamplePath_
private

Definition at line 40 of file JWtHome.h.


The documentation for this class was generated from the following files: