xtd 1.0.0
Loading...
Searching...
No Matches
status_bar.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "panel.hpp"
9#include <memory>
10#include <vector>
11
13namespace xtd {
15 namespace forms {
17 class form;
19
49 struct data;
50 class status_bar_panel_control;
51 class sizing_grip_control;
52
53 public:
55
60
62
74
76
86 [[nodiscard]] auto dock() const noexcept -> xtd::forms::dock_style override;
96 auto dock(xtd::forms::dock_style value) -> xtd::forms::control& override;
97
101 [[nodiscard]] auto panels() const noexcept -> const status_bar_panel_collection&;
105 [[nodiscard]] auto panels() -> status_bar_panel_collection&;
106
110 [[nodiscard]] virtual auto show_panels() const noexcept -> bool;
115 virtual auto show_panels(bool value) -> status_bar&;
116
120 [[nodiscard]] virtual auto show_tool_tips() const noexcept -> bool;
125 virtual auto show_tool_tips(bool value) -> status_bar&;
126
130 [[nodiscard]] virtual auto sizing_grip() const noexcept -> bool;
135 virtual auto sizing_grip(bool value) -> status_bar&;
137
139
145
151
153
157 [[nodiscard]] static auto create() -> status_bar;
161 [[nodiscard]] static auto create(const status_bar_panel_collection& panels) -> status_bar;
166 [[nodiscard]] static auto create(const status_bar_panel_collection& panels, const xtd::string& name) -> status_bar;
170 [[nodiscard]] static auto create(xtd::forms::dock_style style) -> status_bar;
175 [[nodiscard]] static auto create(xtd::forms::dock_style style, const status_bar_panel_collection& panels) -> status_bar;
181 [[nodiscard]] static auto create(xtd::forms::dock_style style, const status_bar_panel_collection& panels, const xtd::string& name) -> status_bar;
185 [[nodiscard]] static auto create(const xtd::string& text) -> status_bar;
190 [[nodiscard]] static auto create(const xtd::string& text, const xtd::string& name) -> status_bar;
195 [[nodiscard]] static auto create(xtd::forms::dock_style style, const xtd::string& text) -> status_bar;
201 [[nodiscard]] static auto create(xtd::forms::dock_style style, const xtd::string& text, const xtd::string& name) -> status_bar;
205 [[nodiscard]] static auto create(const xtd::forms::control& parent) -> status_bar;
210 [[nodiscard]] static auto create(const xtd::forms::control& parent, const status_bar_panel_collection& panels) -> status_bar;
216 [[nodiscard]] static auto create(const xtd::forms::control& parent, const status_bar_panel_collection& panels, const xtd::string& name) -> status_bar;
221 [[nodiscard]] static auto create(const xtd::forms::control& parent, xtd::forms::dock_style style) -> status_bar;
227 [[nodiscard]] static auto create(const xtd::forms::control& parent, xtd::forms::dock_style style, const status_bar_panel_collection& panels) -> status_bar;
234 [[nodiscard]] static auto create(const xtd::forms::control& parent, xtd::forms::dock_style style, const status_bar_panel_collection& panels, const xtd::string& name) -> status_bar;
239 [[nodiscard]] static auto create(const xtd::forms::control& parent, const xtd::string& text) -> status_bar;
245 [[nodiscard]] static auto create(const xtd::forms::control& parent, const xtd::string& text, const xtd::string& name) -> status_bar;
251 [[nodiscard]] static auto create(const xtd::forms::control& parent, xtd::forms::dock_style style, const xtd::string& text) -> status_bar;
258 [[nodiscard]] static auto create(const xtd::forms::control& parent, xtd::forms::dock_style style, const xtd::string& text, const xtd::string& name) -> status_bar;
260
261 protected:
262 friend status_bar_panel;
263 friend form;
264
266
268 [[nodiscard]] auto create_params() const noexcept -> xtd::forms::create_params override;
269 [[nodiscard]] auto default_font() const noexcept -> xtd::drawing::font override;
270 [[nodiscard]] auto default_size() const noexcept -> xtd::drawing::size override;
272
274
284
293
294 auto on_handle_created(const xtd::event_args& e) -> void override;
295 auto on_handle_destroyed(const xtd::event_args& e) -> void override;
296 auto on_paint(xtd::forms::paint_event_args& e) -> void override;
297 auto on_resize(const xtd::event_args& e) -> void override;
298 auto wnd_proc(xtd::forms::message& message) -> void override;
300
301 private:
302 auto fill() -> void;
303
304 [[nodiscard]] auto horizontal() const noexcept -> bool;
305 [[nodiscard]] auto system_status_bar() const noexcept -> bool;
306 auto system_status_bar(bool value) -> status_bar&;
307
308 auto on_control_appearance_changed(const xtd::event_args&) -> void override;
309
310 auto resize_spring_panels() -> void;
311 auto update_status_bar_panel_control(xtd::intptr handle, const xtd::string& text, const xtd::string& tool_tip_text, const xtd::drawing::image& image, xtd::forms::horizontal_alignment alignment, xtd::forms::status_bar_panel_auto_size auto_size, xtd::forms::status_bar_panel_border_style border_style, xtd::forms::status_bar_panel_style panel_style, xtd::int32 min_width, xtd::int32 width) -> void;
312
313 xtd::sptr<data> data_;
314 };
315 }
316}
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition event_args.hpp:18
Represents an event.
Definition event.hpp:23
Defines the base class for controls, which are components with visual representation.
Definition control.hpp:81
auto handle() const -> xtd::intptr override
Gets the window handle that the control is bound to.
virtual auto size() const noexcept -> xtd::drawing::size
Gets the height and width of the control.
virtual auto width() const noexcept -> xtd::int32
Gets the width of the control.
virtual auto font() const noexcept -> xtd::drawing::font
Gets the font of the text displayed by the control.
virtual auto parent() const noexcept -> std::optional< xtd::forms::control_ref >
Gets the parent container of the control.
virtual auto text() const noexcept -> const xtd::string &
Gets the text associated with this control.
virtual auto auto_size() const noexcept -> bool
Gets a value that indicates whether the control resizes based on its contents.
virtual auto name() const noexcept -> const xtd::string &
Gets the name of the control.
control()
Initializes a new instance of the xtd::forms::control class with default settings.
Represents a window or dialog box that makes up an application's user interface.
Definition form.hpp:54
Represents a collection of objects.
Definition arranged_element_collection.hpp:41
Provides data for the xtd::forms::status_bar::draw_item event.
Definition status_bar_draw_item_event_args.hpp:25
Provides data for the xtd::forms::tool_bar::button_click event.
Definition status_bar_panel_click_event_args.hpp:25
auto dock() const noexcept -> xtd::forms::dock_style override
Gets which control borders are docked to its parent control and determines how a control is resized w...
status_bar()
Initializes a new instance of the xtd::forms::status_bar class.
xtd::event< status_bar, xtd::forms::status_bar_draw_item_event_handler > draw_item
Occurs when a visual aspect of an owner-drawn status bar control changes.
Definition status_bar.hpp:144
auto on_paint(xtd::forms::paint_event_args &e) -> void override
Raises the xtd::forms::control::paint event.
auto create_params() const noexcept -> xtd::forms::create_params override
Gets the required creation parameters when the control handle is created.
static auto create() -> status_bar
A factory to create an xtd::forms::status_bar.
xtd::event< status_bar, xtd::forms::status_bar_panel_click_event_handler > panel_click
Occurs when a xtd::forms::status_bar_panel object on a xtd::forms::status_bar control is clicked.
Definition status_bar.hpp:149
auto panels() const noexcept -> const status_bar_panel_collection &
Gets the collection of xtd::forms::status_bar panels contained within the control.
virtual auto show_panels() const noexcept -> bool
Gets a value indicating whether any panels that have been added to the control are displayed.
auto default_font() const noexcept -> xtd::drawing::font override
Gets the default font of the control.
virtual auto on_panel_click(const xtd::forms::status_bar_panel_click_event_args &e) -> void
Raises the xtd::forms::status_bar::panel_click event.
auto on_handle_destroyed(const xtd::event_args &e) -> void override
Raises the xtd::forms::control::handle_destroyed event.
xtd::forms::layout::arranged_element_collection< xtd::forms::status_bar_panel_ref > status_bar_panel_collection
Represents the collection of panels in a xtd::forms::status_bar control.
Definition status_bar.hpp:58
auto wnd_proc(xtd::forms::message &message) -> void override
Processes Windows messages.
auto on_handle_created(const xtd::event_args &e) -> void override
Raises the xtd::forms::control::handle_created event.
auto on_resize(const xtd::event_args &e) -> void override
Raises the xtd::forms::control::region event.
auto default_size() const noexcept -> xtd::drawing::size override
Gets the default size of the control.
virtual auto on_draw_item(xtd::forms::status_bar_draw_item_event_args &e) -> void
Raises the xtd::forms::status_bar::daw_item event.
virtual auto show_tool_tips() const noexcept -> bool
Gets a value indicating whether the status bar displays a xtd::forms::tool_tip for each button.
virtual auto sizing_grip() const noexcept -> bool
Gets a value indicating whether a sizing grip is displayed in the lower-right corner of the control.
xtd::delegate< void(xtd::object &sender, const xtd::forms::status_bar_panel_click_event_args &e)> status_bar_panel_click_event_handler
Represents the method that will handle the xtd::forms::tool_bar::button_click event of a xtd::forms::...
Definition status_bar_panel_click_event_handler.hpp:29
xtd::delegate< void(xtd::object &sender, const xtd::forms::status_bar_draw_item_event_args &e)> status_bar_draw_item_event_handler
Represents the method that will handle the xtd::forms::status_bar::draw_item event of a xtd::forms::s...
Definition status_bar_draw_item_event_handler.hpp:29
#define forms_export_
Define shared library export.
Definition forms_export.hpp:13
xtd::shared_ptr_object< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
std::intmax_t intptr
Represent a pointer or a handle.
Definition intptr.hpp:23
std::int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:25
status_bar_panel_border_style
Specifies the appearance of the border for a xtd::forms::status_bar_panel on a xtd::forms::status_bar...
Definition status_bar_panel_border_style.hpp:22
status_bar_panel_style
Specifies whether a xtd::forms::status_bar_panel object on a xtd::forms::status_bar control is owner-...
Definition status_bar_panel_style.hpp:23
border_style
Specifies the border style for a control.
Definition border_style.hpp:22
dock_style
Specifies the position and manner in which a control is docked.
Definition dock_style.hpp:23
horizontal_alignment
Specifies how an object or text in a control is horizontally aligned relative to an element of the co...
Definition horizontal_alignment.hpp:22
status_bar_panel_auto_size
Specifies how a xtd::forms::status_bar_panel on a xtd::forms::status_bar content behaves when the con...
Definition status_bar_panel_auto_size.hpp:22
The xtd::drawing namespace provides access to GDI+ basic graphics functionality. More advanced functi...
Definition actions_system_images.hpp:10
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition texts.hpp:219
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
constexpr auto data() const noexcept -> const_pointer
Gets direct access to the underlying contiguous storage.
Definition read_only_span.hpp:197
Contains xtd::forms::panel container.
Contains xtd::forms::status_bar_draw_item_event_handler handler.
Contains xtd::forms::status_bar_panel container.
Contains xtd::forms::status_bar_panel_click_event_handler handler.
Implements a Windows message.
Definition message.hpp:33