28 inline view_stack::view_stack(i_layout& aLayout, i_view_container& aParent) :
37 if (base_type::has_focus_policy())
38 return base_type::focus_policy();
42 template <
typename Base>
44 base_type{ aParent }, iStyle(aStyle), iLayout0{ *this }, iLayout1{ iLayout0 }, iViewStack{ base_type::page_layout(), *this }
50 template <
typename Base>
52 base_type{ aLayout }, iStyle(aStyle), iLayout0{ *this }, iLayout1{ iLayout0 }, iViewStack{ base_type::page_layout(), *this }
58 template <
typename Base>
64 template <
typename Base>
70 template <
typename Base>
76 template <
typename Base>
82 template <
typename Base>
88 template <
typename Base>
94 template <
typename Base>
100 template <
typename Base>
106 template <
typename Base>
112 template <
typename Base>
115 if (iStyle != aNewStyle)
122 template <
typename Base>
125 iControllers.push_back(std::shared_ptr<i_controller>(std::shared_ptr<i_controller>(), &aController));
126 aController.view_added([
this](
i_view& aView) { ViewAdded.trigger(aView); });
127 aController.view_removed([
this](
i_view& aView) { ViewRemoved.trigger(aView); });
130 template <
typename Base>
133 iControllers.push_back(aController);
134 aController->view_added([
this](
i_view& aView) { ViewAdded.trigger(aView); });
135 aController->view_removed([
this](
i_view& aView) { ViewRemoved.trigger(aView); });
138 template <
typename Base>
141 for (
auto c = iControllers.begin(); c != iControllers.end(); ++c)
143 if (&**c == &aController)
145 iControllers.erase(c);
152 template <
typename Base>
void set_padding(optional_padding const &aPadding, bool aUpdateLayout=true) override
const i_tab_container & tab_container() const override
bool is_widget() const override
void change_style(view_container_style aNewStyle) override
view_container_style style() const override
void remove_controller(i_controller &aController) override
const i_widget & as_widget() const override
bool is_managing_layout() const override
const mvc::view_stack & view_stack() const override
void add_controller(i_controller &aController) override
i_layout & page_layout() override
scrollable_widget< framed_widget< widget<> > > framed_scrollable_widget