45 bool can_dock(
const i_dock& aDock)
const override;
49 void dock(i_dock& aDock)
override;
59 template <
typename W
idgetType>
64 template <
typename W
idgetType>
72 std::shared_ptr<i_widget> iDockedWidget;
76 template <
typename WidgetType,
typename... Args>
79 return dockable{ std::make_shared<WidgetType>(std::forward<Args>(aArgs)...), aTitle, aAcceptableDocks };
81 template <
typename WidgetType,
typename... Args>
82 static std::shared_ptr<i_dockable> make_shared_dockable(std::string
const& aTitle =
"",
dock_area aAcceptableDocks =
dock_area::Any, Args&&... aArgs)
84 return std::make_shared<dockable>(std::make_shared<WidgetType>(std::forward<Args>(aArgs)...), aTitle, aAcceptableDocks);
const i_dock & which_dock() const override
i_widget & docked_widget() override
i_dock & which_dock() override
bool is_docked() const override
color frame_color() const override
dockable(std::shared_ptr< i_widget > aDockableWidget, std::string const &aTitle="", dock_area aAcceptableDocks=dock_area::Any)
WidgetType & docked_widget()
bool can_dock(const i_dock &aDock) const override
const WidgetType & docked_widget() const
const i_widget & docked_widget() const override
const neolib::string & title() const override
void focus_gained(focus_reason aFocusReason) override
void dock(i_dock &aDock) override
dockable make_dockable(std::string const &aTitle="", dock_area aAcceptableDocks=dock_area::Any, Args &&... aArgs)
#define define_declared_event(name, declName,...)