neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::dockable Class Reference

#include <dockable.hpp>

Inheritance diagram for neogfx::dockable:
neogfx::decorated< framed_widget<>, reference_counted< i_dockable > > neogfx::framed_widget< Base > neogfx::i_standard_layout_container neogfx::widget< Interface > neogfx::layout_item< Base > neogfx::anchorable< reference_counted< Base > > neolib::reference_counted< Base, DeallocateOnRelease >

Public Member Functions

 dockable (std::shared_ptr< i_widget > aDockableWidget, std::string const &aTitle="", dock_area aAcceptableDocks=dock_area::Any)
 
const neolib::stringtitle () const override
 
bool can_dock (const i_dock &aDock) const override
 
bool is_docked () const override
 
const i_dock & which_dock () const override
 
i_dock & which_dock () override
 
void dock (i_dock &aDock) override
 
void undock () override
 
const i_widgetdocked_widget () const override
 
i_widgetdocked_widget () override
 
template<typename WidgetType >
const WidgetType & docked_widget () const
 
template<typename WidgetType >
WidgetType & docked_widget ()
 
- Public Member Functions inherited from neogfx::decorated< framed_widget<>, reference_counted< i_dockable > >
 decorated (neogfx::decoration_style aStyle, Args &&... aArgs)
 
neogfx::autoscale autoscale () const
 
neogfx::decoration_style decoration_style () const
 
void set_decoration_style (neogfx::decoration_style aStyle)
 
neogfx::decoration decoration () const
 
bool has_client_widget () const override
 
const i_widgetclient_widget () const override
 
i_widgetclient_widget () override
 
void set_client (i_widget &aClient) override
 
void set_client (i_ref_ptr< i_widget > const &aClient) override
 
const i_title_bartitle_bar () const override
 
i_title_bartitle_bar () override
 
void set_title_bar (i_title_bar &aTitleBar) override
 
void set_title_bar (i_ref_ptr< i_title_bar > const &aTitleBar)
 
const i_status_barstatus_bar () const override
 
i_status_barstatus_bar () override
 
void set_status_bar (i_status_bar &aStatusBar) override
 
void set_status_bar (i_ref_ptr< i_status_bar > const &aStatusBar)
 
ref_ptr< i_title_barcreate_title_bar (Args &&... aArgs)
 
ref_ptr< i_title_barcreate_title_bar (Args &&... aArgs)
 
ref_ptr< i_status_barcreate_status_bar (Args &&... aArgs)
 
bool is_widget () const override
 
const i_widgetas_widget () const override
 
i_widgetas_widget () override
 
bool part_active (widget_part aPart) const override
 
widget_part part (const point &aPosition) const override
 
bool has_layout (standard_layout aStandardLayout) const override
 
const i_layoutlayout (standard_layout aStandardLayout, layout_position aPosition=layout_position::None) const override
 
i_layoutlayout (standard_layout aStandardLayout, layout_position aPosition=layout_position::None) override
 
void fix_weightings (bool aRecalculate=true) override
 
- Public Member Functions inherited from neogfx::framed_widget< Base >
template<typename... Args>
 framed_widget (Args &&... aArgs)
 
template<typename... Args>
 framed_widget (i_widget &aParent, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (i_layout &aLayout, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (dimension aLineWidth, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (i_widget &aParent, dimension aLineWidth, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (i_layout &aLayout, dimension aLineWidth, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (frame_style aStyle, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (i_widget &aParent, frame_style aStyle, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (i_layout &aLayout, frame_style aStyle, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (frame_style aStyle, dimension aLineWidth, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (i_widget &aParent, frame_style aStyle, dimension aLineWidth, Args &&... aArgs)
 
template<typename... Args>
 framed_widget (i_layout &aLayout, frame_style aStyle, dimension aLineWidth, Args &&... aArgs)
 
neogfx::border border () const override
 
void paint_non_client (i_graphics_context &aGc) const override
 
void set_frame_style (frame_style aStyle)
 
virtual bool has_frame_color () const
 
virtual void set_frame_color (const optional_color &aFrameColor=optional_color{})
 
virtual color inner_frame_color () const
 
virtual bool has_frame_radius () const
 
virtual vec4 frame_radius () const
 
virtual void set_frame_radius (const optional_vec4 &aFrameRadius=optional_vec4{})
 
dimension line_width () const
 
dimension effective_frame_width () const
 
- Public Member Functions inherited from neogfx::widget< Interface >
 define_declared_event (DeviceMetricsUpdated, device_metrics_updated, const i_widget &) define_declared_event(ChildAdded
 
i_widgetdefine_declared_event (ChildRemoved, child_removed, i_widget &) define_declared_event(VisibilityChanged
 
i_widget visibility_changed define_declared_event (PositionChanged, position_changed) define_declared_event(ParentPositionChanged
 
i_widget visibility_changed parent_position_changed define_declared_event (SizeChanged, size_changed) define_declared_event(LayoutCompleted
 
i_widget visibility_changed parent_position_changed layout_completed define_declared_event (Painting, painting, i_graphics_context &) define_declared_event(PaintingChildren
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_contextdefine_declared_event (Painted, painted, i_graphics_context &) define_declared_event(Mouse
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context const neogfx::mouse_eventdefine_declared_event (NonClientMouse, non_client_mouse_event, const neogfx::non_client_mouse_event &) define_declared_event(QueryMouseCursor
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context const neogfx::mouse_event neogfx::mouse_cursordefine_declared_event (Keyboard, keyboard_event, const neogfx::keyboard_event &) define_declared_event(Focus
 
 widget ()
 
 widget (const widget &)=delete
 
 widget (i_widget &aParent)
 
 widget (i_layout &aLayout)
 
 ~widget ()
 
void property_changed (i_property &aProperty) override
 
bool is_singular () const final
 
void set_singular (bool aSingular) final
 
bool is_root () const final
 
bool has_root () const final
 
const i_windowroot () const final
 
i_windowroot () final
 
void set_root (i_window &aRoot) final
 
bool is_surface () const override
 
bool has_surface () const override
 
const i_surfacesurface () const override
 
i_surfacesurface () override
 
const i_surfacereal_surface () const override
 
i_surfacereal_surface () override
 
bool has_parent () const final
 
const i_widgetparent () const final
 
i_widgetparent () final
 
void set_parent (i_widget &aParent) override
 
void parent_changed () final
 
bool adding_child () const override
 
i_widgetadd (i_widget &aChild) override
 
i_widgetadd (const i_ref_ptr< i_widget > &aChild) override
 
void remove (i_widget &aChild, bool aSingular, i_ref_ptr< i_widget > &aChildRef) override
 
void remove_all () override
 
bool has_children () const override
 
const widget_listchildren () const override
 
widget_list::const_iterator last () const override
 
widget_list::iterator last () override
 
widget_list::const_iterator find (const i_widget &aChild, bool aThrowIfNotFound=true) const override
 
widget_list::iterator find (const i_widget &aChild, bool aThrowIfNotFound=true) override
 
void bring_child_to_front (const i_widget &aChild) override
 
void send_child_to_back (const i_widget &aChild) override
 
layer_t layer () const override
 
void set_layer (layer_t aLayer) override
 
const i_widgetbefore () const override
 
i_widgetbefore () override
 
const i_widgetafter () const override
 
i_widgetafter () override
 
void link_before (i_widget *aPreviousWidget) override
 
void link_after (i_widget *aNextWidget) override
 
void unlink () override
 
bool has_layout () const override
 
void set_layout (i_layout &aLayout, bool aMoveExistingItems=true) override
 
void set_layout (const i_ref_ptr< i_layout > &aLayout, bool aMoveExistingItems=true) override
 
const i_layoutlayout () const override
 
i_layoutlayout () override
 
bool can_defer_layout () const override
 
bool is_managing_layout () const override
 
optional< neogfx::layout_reason > & layout_reason () override
 
void layout_items (bool aDefer=false) override
 
void layout_items_started () override
 
bool layout_items_in_progress () const override
 
void layout_items_completed () override
 
bool device_metrics_available () const override
 
const i_device_metricsdevice_metrics () const override
 
neogfx::size_policy size_policy () const override
 
size minimum_size (optional_size const &aAvailableSpace={}) const override
 
size maximum_size (optional_size const &aAvailableSpace={}) const override
 
neogfx::padding padding () const override
 
rect element_rect (skin_element aElement) const override
 
bool has_logical_coordinate_system () const override
 
neogfx::logical_coordinate_system logical_coordinate_system () const override
 
void set_logical_coordinate_system (const optional_logical_coordinate_system &aLogicalCoordinateSystem) override
 
rect non_client_rect () const override
 
rect client_rect (bool aExtendIntoPadding=true) const override
 
void move (const point &aPosition) override
 
void moved () override
 
void parent_moved () override
 
bool resizing () const override
 
void resize (const size &aSize) override
 
void resized () override
 
const i_widgetget_widget_at (const point &aPosition) const override
 
i_widgetget_widget_at (const point &aPosition) override
 
neogfx::widget_type widget_type () const override
 
bool part_active (widget_part aPart) const override
 
widget_part part (const point &aPosition) const override
 
widget_part hit_test (const point &aPosition) const override
 
bool has_parent_layout () const final
 
const i_layoutparent_layout () const final
 
i_layoutparent_layout () final
 
void set_parent_layout (i_layout *aParentLayout) final
 
bool has_parent_widget () const final
 
const i_widgetparent_widget () const final
 
i_widgetparent_widget () final
 
void set_parent_widget (i_widget *aParentWidget) final
 
void layout_as (const point &aPosition, const size &aSize) override
 
neogfx::view const & view () const override
 
neogfx::viewview () override
 
layer_t render_layer () const override
 
void set_render_layer (const std::optional< layer_t > &aLayer) override
 
bool can_update () const override
 
bool update (bool aIncludeNonClient=false) override
 
bool update (const rect &aUpdateRect) override
 
bool requires_update () const override
 
rect update_rect () const override
 
rect default_clip_rect (bool aIncludeNonClient=false) const override
 
bool ready_to_render () const override
 
void render (i_graphics_context &aGc) const override
 
void paint_non_client (i_graphics_context &aGc) const override
 
void paint (i_graphics_context &aGc) const override
 
void paint_non_client_after (i_graphics_context &aGc) const override
 
double opacity () const override
 
void set_opacity (double aOpacity) override
 
bool has_background_opacity () const override
 
double background_opacity () const override
 
void set_background_opacity (double aOpacity) override
 
bool has_palette () const override
 
const i_palettepalette () const override
 
void set_palette (const i_palette &aPalette) override
 
bool has_palette_color (color_role aColorRole) const override
 
color palette_color (color_role aColorRole) const override
 
void set_palette_color (color_role aColorRole, const optional_color &aColor) override
 
color container_background_color () const override
 
bool has_font_role () const override
 
neogfx::font_role font_role () const override
 
void set_font_role (const optional_font_role &aFontRole) override
 
bool has_font () const override
 
const neogfx::font & font () const override
 
void set_font (optional_font const &aFont) override
 
bool visible () const override
 
bool effectively_visible () const override
 
bool hidden () const override
 
bool effectively_hidden () const override
 
bool show (bool aVisible) override
 
bool enabled () const override
 
bool effectively_enabled () const override
 
bool disabled () const override
 
bool effectively_disabled () const override
 
bool enable (bool aEnable) override
 
bool entered (bool aChildEntered=false) const override
 
bool can_capture () const override
 
bool capturing () const override
 
const optional_pointcapture_position () const override
 
void set_capture (capture_reason aReason=capture_reason::Other, const optional_point &aPosition={}) override
 
void release_capture (capture_reason aReason=capture_reason::Other) override
 
void non_client_set_capture () override
 
void non_client_release_capture () override
 
void captured () override
 
void capture_released () override
 
bool has_focus_policy () const override
 
neogfx::focus_policy focus_policy () const override
 
void set_focus_policy (const optional_focus_policy &aFocusPolicy) override
 
bool can_set_focus (focus_reason aFocusReason) const override
 
bool has_focus () const override
 
bool child_has_focus () const override
 
bool set_focus (focus_reason aFocusReason=focus_reason::Other) override
 
bool release_focus () override
 
void focus_gained (focus_reason aFocusReason) override
 
void focus_lost (focus_reason aFocusReason) override
 
bool consider_ancestors_for_mouse_events () const override
 
void set_consider_ancestors_for_mouse_events (bool aConsiderAncestors=true) override
 
bool ignore_mouse_events (bool aConsiderAncestors=true) const override
 
void set_ignore_mouse_events (bool aIgnoreMouseEvents) override
 
bool ignore_non_client_mouse_events (bool aConsiderAncestors=true) const override
 
void set_ignore_non_client_mouse_events (bool aIgnoreNonClientMouseEvents) override
 
neogfx::mouse_event_location mouse_event_location () const override
 
bool mouse_wheel_scrolled (mouse_wheel aWheel, const point &aPosition, delta aDelta, key_modifiers_e aKeyModifiers) override
 
void mouse_button_pressed (mouse_button aButton, const point &aPosition, key_modifiers_e aKeyModifiers) override
 
void mouse_button_double_clicked (mouse_button aButton, const point &aPosition, key_modifiers_e aKeyModifiers) override
 
void mouse_button_released (mouse_button aButton, const point &aPosition) override
 
void mouse_moved (const point &aPosition, key_modifiers_e aKeyModifiers) override
 
void mouse_entered (const point &aPosition) override
 
void mouse_left () override
 
point mouse_position () const override
 
neogfx::mouse_cursor mouse_cursor () const override
 
bool key_pressed (scan_code_e aScanCode, key_code_e aKeyCode, key_modifiers_e aKeyModifiers) override
 
bool key_released (scan_code_e aScanCode, key_code_e aKeyCode, key_modifiers_e aKeyModifiers) override
 
bool text_input (i_string const &aText) override
 
bool sys_text_input (i_string const &aText) override
 
const i_widgetwidget_for_mouse_event (const point &aPosition, bool aForHitTest=false) const override
 
i_widgetwidget_for_mouse_event (const point &aPosition, bool aForHitTest=false) override
 
- Public Member Functions inherited from neogfx::layout_item< Base >
 layout_item ()
 
 ~layout_item ()
 
const i_stringid () const final
 
void set_id (const i_string &aId) final
 
bool is_cache () const final
 
bool is_layout () const final
 
const i_layoutas_layout () const final
 
i_layoutas_layout () final
 
bool is_spacer () const final
 
const i_spacer & as_spacer () const final
 
i_spacer & as_spacer () final
 
bool is_widget () const override
 
const i_widgetas_widget () const override
 
i_widgetas_widget () override
 
bool has_parent_layout_item () const final
 
const i_layout_itemparent_layout_item () const final
 
i_layout_itemparent_layout_item () final
 
bool has_layout_manager () const final
 
const i_widgetlayout_manager () const final
 
i_widgetlayout_manager () final
 
void update_layout (bool aDeferLayout=true, bool aAncestors=false) final
 
point origin () const final
 
void reset_origin () const final
 
point position () const final
 
size extents () const final
 
bool has_size_policy () const noexcept override
 
neogfx::size_policy size_policy () const override
 
void set_size_policy (const optional_size_policy &aSizePolicy, bool aUpdateLayout=true) override
 
bool has_weight () const noexcept override
 
size weight () const override
 
void set_weight (optional_size const &aWeight, bool aUpdateLayout=true) override
 
bool has_ideal_size () const noexcept override
 
bool is_ideal_size_constrained () const noexcept override
 
size ideal_size (optional_size const &aAvailableSpace={}) const override
 
void set_ideal_size (optional_size const &aIdealSize, bool aUpdateLayout=true) override
 
bool has_minimum_size () const noexcept override
 
bool is_minimum_size_constrained () const noexcept override
 
size minimum_size (optional_size const &aAvailableSpace={}) const override
 
void set_minimum_size (optional_size const &aMinimumSize, bool aUpdateLayout=true) override
 
bool has_maximum_size () const noexcept override
 
bool is_maximum_size_constrained () const noexcept override
 
size maximum_size (optional_size const &aAvailableSpace={}) const override
 
void set_maximum_size (optional_size const &aMaximumSize, bool aUpdateLayout=true) override
 
bool has_fixed_size () const noexcept override
 
size fixed_size (optional_size const &aAvailableSpace={}) const override
 
void set_fixed_size (optional_size const &aFixedSize, bool aUpdateLayout=true)
 
bool has_transformation () const noexcept override
 
mat33 const & transformation (bool aCombineAncestorTransformations=false) const override
 
void set_transformation (optional_mat33 const &aTransformation, bool aUpdateLayout=true) override
 
bool has_margin () const noexcept override
 
neogfx::margin margin () const override
 
void set_margin (optional_margin const &aMargin, bool aUpdateLayout=true) override
 
bool has_border () const noexcept override
 
neogfx::border border () const override
 
void set_border (optional_border const &aBorder, bool aUpdateLayout=true) override
 
bool has_padding () const noexcept override
 
neogfx::padding padding () const override
 
void set_padding (optional_padding const &aPadding, bool aUpdateLayout=true) override
 
void invalidate_combined_transformation () override
 
void fix_weightings (bool aRecalculate=true) override
 
i_anchor & anchor_to (i_anchorable &aRhs, i_string const &aLhsAnchor, anchor_constraint_function aLhsFunction, i_string const &aRhsAnchor, anchor_constraint_function aRhsFunction) override
 
- Public Member Functions inherited from neogfx::anchorable< reference_counted< Base > >
 ~anchorable ()
 
i_anchor & anchor_to (i_anchorable &aRhs, const i_string &aLhsAnchor, anchor_constraint_function aLhsFunction, const i_string &aRhsAnchor, anchor_constraint_function aRhsFunction) override
 
const anchor_map_typeanchors () const override
 
anchor_map_typeanchors () override
 
- Public Member Functions inherited from neolib::reference_counted< Base, DeallocateOnRelease >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_type * release_and_take_ownership () const override
 
base_type * release_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 
- Public Member Functions inherited from neogfx::i_standard_layout_container
virtual ~i_standard_layout_container ()=default
 
const i_layoutnon_client_layout () const
 
i_layoutnon_client_layout ()
 
const i_layouttitle_bar_layout () const
 
i_layouttitle_bar_layout ()
 
const i_layoutmenu_layout () const
 
i_layoutmenu_layout ()
 
const i_layouttoolbar_layout (layout_position aPosition=layout_position::Top) const
 
i_layouttoolbar_layout (layout_position aPosition=layout_position::Top)
 
const i_layoutdock_layout (layout_position aPosition=layout_position::Left) const
 
i_layoutdock_layout (layout_position aPosition=layout_position::Left)
 
const i_layoutdock_layout (dock_area aDockArea=dock_area::Left) const
 
i_layoutdock_layout (dock_area aDockArea=dock_area::Left)
 
const i_layoutclient_layout () const
 
i_layoutclient_layout ()
 
const i_layoutbutton_box_layout () const
 
i_layoutbutton_box_layout ()
 
const i_layoutstatus_bar_layout () const
 
i_layoutstatus_bar_layout ()
 

Protected Member Functions

void focus_gained (focus_reason aFocusReason) override
 
color frame_color () const override
 
- Protected Member Functions inherited from neogfx::decorated< framed_widget<>, reference_counted< i_dockable > >
neogfx::size_policy size_policy () const override
 
size weight () const override
 
void capture_released () override
 
void mouse_button_pressed (mouse_button aButton, const point &aPosition, key_modifiers_e aKeyModifiers) override
 
void mouse_moved (const point &aPosition, key_modifiers_e aKeyModifiers) override
 
rect default_clip_rect (bool aIncludeNonClient=false) const override
 
void init ()
 
i_layout_item const & resizing_context () const
 
i_layout_itemresizing_context ()
 
void update_tracking (const point &aPosition)
 
- Protected Member Functions inherited from neogfx::layout_item< Base >
void set_position (const point &aPosition) override
 
void set_extents (const size &aExtents) override
 
point unconstrained_origin () const override
 
point unconstrained_position () const override
 
void layout_item_enabled (i_layout_item &aItem) override
 
void layout_item_disabled (i_layout_item &aItem) override
 

Additional Inherited Members

- Public Types inherited from neogfx::decorated< framed_widget<>, reference_counted< i_dockable > >
typedef framed_widget<> widget_type
 
- Public Types inherited from neogfx::widget< Interface >
typedef i_widget abstract_type
 
typedef neolib::vector< ref_ptr< i_widget > > widget_list
 
- Public Types inherited from neogfx::anchorable< reference_counted< Base > >
typedef neolib::map< string, i_anchor * > anchor_map_type
 
- Static Public Member Functions inherited from neogfx::i_standard_layout_container
static layout_position to_position (dock_area aDockArea)
 
- Public Attributes inherited from neogfx::widget< Interface >
 child_added
 
i_widget visibility_changed parent_position_changed layout_completed painting_children
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context mouse_event
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context const neogfx::mouse_event query_mouse_cursor
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context const neogfx::mouse_event neogfx::mouse_cursor focus_event
 
- Public Attributes inherited from neogfx::layout_item< Base >
define_property(property_category::soft_geometry, point, Position, position) define_property(property_category cache< pointiOrigin
 
cache< mat33iCombinedTransformation
 

Detailed Description

Definition at line 32 of file dockable.hpp.

Constructor & Destructor Documentation

◆ dockable()

neogfx::dockable::dockable ( std::shared_ptr< i_widget aDockableWidget,
std::string const &  aTitle = "",
dock_area  aAcceptableDocks = dock_area::Any 
)

Member Function Documentation

◆ can_dock()

bool neogfx::dockable::can_dock ( const i_dock &  aDock) const
override

◆ dock()

void neogfx::dockable::dock ( i_dock &  aDock)
override

◆ docked_widget() [1/4]

template<typename WidgetType >
WidgetType & neogfx::dockable::docked_widget ( )
inline

Definition at line 65 of file dockable.hpp.

◆ docked_widget() [2/4]

template<typename WidgetType >
const WidgetType & neogfx::dockable::docked_widget ( ) const
inline

Definition at line 60 of file dockable.hpp.

◆ docked_widget() [3/4]

const i_widget & neogfx::dockable::docked_widget ( ) const
override

◆ docked_widget() [4/4]

i_widget & neogfx::dockable::docked_widget ( )
override

◆ focus_gained()

void neogfx::dockable::focus_gained ( focus_reason  aFocusReason)
overrideprotected

◆ frame_color()

color neogfx::dockable::frame_color ( ) const
overrideprotectedvirtual

Reimplemented from neogfx::framed_widget< Base >.

◆ is_docked()

bool neogfx::dockable::is_docked ( ) const
override

◆ title()

const neolib::string & neogfx::dockable::title ( ) const
override

◆ undock()

void neogfx::dockable::undock ( )
override

◆ which_dock() [1/2]

const i_dock & neogfx::dockable::which_dock ( ) const
override

◆ which_dock() [2/2]

i_dock & neogfx::dockable::which_dock ( )
override

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