Hello! Try to set child sub-layouts instead of child sub-containers. When I used layouts in Wt, I found the following rule: do not call setLayout and addWidget of same instance of WContainerWidget.
Regards, Boris Nagaev On Thu, Nov 21, 2013 at 7:45 PM, Randy Yates <ya...@digitalsignallabs.com> wrote: > Hi, > > I am brand new to Wt so please excuse (and help correct) any ignorance > on my part. > > I am trying to put together a very basic framework using layouts. The > paradigm is the entire web page is a vboxlayout with each major page > component (login, header, content, footer, etc.) is handled by a custom > class with an hboxlayout. Each of these custom classes inherit from > WContainerWidget and have their own layout manager, like so: > > #ifndef GCFLOGIN_H > #define GCFLOGIN_H > #include <Wt/WContainerWidget> > #include <Wt/WHBoxLayout> > > class GCFLogin : public Wt::WContainerWidget > { > public: > /* functions */ > GCFLogin(); > > /* elements */ > Wt::WHBoxLayout* layout; > > private: > }; > > #endif > > and so the main app would be something like this: > > #include <iostream> > #include <Wt/WApplication> > #include <Wt/WContainerWidget> > #include <Wt/WVBoxLayout> > #include <Wt/WHBoxLayout> > #include <Wt/WText> > #include "gcf.h" > > GCFApplication::GCFApplication(const Wt::WEnvironment& env) > : Wt::WApplication(env) > { > std::cout << "GCFApplication starting" << std::endl; > appName = "Grace Christian Fellowship Church"; > setTitle(appName); > root()->resize(400, 600); > > layout = new Wt::WVBoxLayout(); > root()->setLayout(layout); > > gcfLogin = new GCFLogin(); > //layout->addItem(gcfLogin->layout); > // layout->addLayout(gcfLogin->layout); > root()->addWidget(gcfLogin); > > this->instance()->styleSheet().addRule("BODY", "background-color: > #FFFFFF;"); > this->instance()->styleSheet().addRule("#login", "background-color: > #0000FF; color: #000000; padding: 0.1em 0.5em;"); > > std::cout << "GCFApplication ending" << std::endl; > } > > Wt::WApplication *createApplication(const Wt::WEnvironment& env) > { > return new GCFApplication(env); > } > > int main(int argc, char **argv) > { > return Wt::WRun(argc, argv, &createApplication); > } > > The problem I'm having is that the widgets in my GCFLogin class are not > being rendered; all I see when I run this code is a blank page. > > I'm also not sure how the main container (WApplication->root()) and the > "sub"-containers, and the main layout GCF::layout and the sub-layouts > GCFLogin::layout are supposed to hang together. In my current code I'm > just doing an addWidget in the mai app, but I'm not sure if a > GCF::layout->addLayout(GCFLogin->layout) is required (in addition or > instead) or what. > > So I'm just guessing in the dark here - I don't see explicit > explanations in the doxygen class documentation that explains this. > Maybe I missed it. > > In any case, a little guidance would be much appreciated. I'm attaching > the project files. > -- > Randy Yates > Digital Signal Labs > http://www.digitalsignallabs.com > > ------------------------------------------------------------------------------ > Shape the Mobile Experience: Free Subscription > Software experts and developers: Be at the forefront of tech innovation. > Intel(R) Software Adrenaline delivers strategic insight and game-changing > conversations that shape the rapidly evolving mobile landscape. Sign up now. > http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk > _______________________________________________ > witty-interest mailing list > witty-interest@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/witty-interest > ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ witty-interest mailing list witty-interest@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/witty-interest