xtd 0.2.0
Loading...
Searching...
No Matches
status_bar.h
Go to the documentation of this file.
1
4#pragma once
5#include "panel.h"
6#include "status_bar_panel.h"
9#include <memory>
10#include <vector>
11
13namespace xtd {
15 namespace forms {
17 class form;
19
47 struct data;
48 class status_bar_panel_control;
49 class sizing_grip_control;
50
51 public:
53
58
60
72
75 status_bar(const status_bar&) = default;
76 status_bar& operator =(const status_bar&) = default;
78
80
82 dock_style dock() const noexcept override;
83 control& dock(dock_style dock) override;
84
88 const status_bar_panel_collection& panels() const noexcept;
93
97 virtual bool show_panels() const noexcept;
102 virtual status_bar& show_panels(bool value);
103
107 virtual bool show_tool_tips() const noexcept;
112 virtual status_bar& show_tool_tips(bool value);
113
117 virtual bool sizing_grip() const noexcept;
122 virtual status_bar& sizing_grip(bool value);
124
126
132
138
140
144 static status_bar create();
148 static status_bar create(const status_bar_panel_collection& panels);
153 static status_bar create(const status_bar_panel_collection& panels, const xtd::ustring& name);
157 static status_bar create(xtd::forms::dock_style style);
162 static status_bar create(xtd::forms::dock_style style, const status_bar_panel_collection& panels);
168 static status_bar create(xtd::forms::dock_style style, const status_bar_panel_collection& panels, const xtd::ustring& name);
172 static status_bar create(const xtd::ustring& text);
177 static status_bar create(const xtd::ustring& text, const xtd::ustring& name);
182 static status_bar create(xtd::forms::dock_style style, const xtd::ustring& text);
188 static status_bar create(xtd::forms::dock_style style, const xtd::ustring& text, const xtd::ustring& name);
192 static status_bar create(const control& parent);
197 static status_bar create(const control& parent, const status_bar_panel_collection& panels);
203 static status_bar create(const control& parent, const status_bar_panel_collection& panels, const xtd::ustring& name);
208 static status_bar create(const control& parent, xtd::forms::dock_style style);
214 static status_bar create(const control& parent, xtd::forms::dock_style style, const status_bar_panel_collection& panels);
221 static status_bar create(const control& parent, xtd::forms::dock_style style, const status_bar_panel_collection& panels, const xtd::ustring& name);
226 static status_bar create(const control& parent, const xtd::ustring& text);
232 static status_bar create(const control& parent, const xtd::ustring& text, const xtd::ustring& name);
238 static status_bar create(const control& parent, xtd::forms::dock_style style, const xtd::ustring& text);
245 static status_bar create(const control& parent, xtd::forms::dock_style style, const xtd::ustring& text, const xtd::ustring& name);
247
248 protected:
249 friend status_bar_panel;
250 friend form;
251
253
255 forms::create_params create_params() const noexcept override;
256 xtd::drawing::font default_font() const noexcept override;
257 drawing::size default_size() const noexcept override;
259
261
267 std::unique_ptr<xtd::object> clone() const override;
268
276 virtual void on_draw_item(xtd::forms::status_bar_draw_item_event_args& e);
277
285 virtual void on_panel_click(const xtd::forms::status_bar_panel_click_event_args& e);
286
287 void on_handle_created(const event_args& e) override;
288 void on_handle_destroyed(const event_args& e) override;
289
290 void on_main_panel_paint(object& sender, xtd::forms::paint_event_args& e);
291
292 void on_paint(xtd::forms::paint_event_args& e) override;
293 void on_resize(const event_args& e) override;
294 void wnd_proc(message& message) override;
296
297 private:
298 void fill();
299
300 bool is_horizontal() const noexcept;
301 bool is_system_status_bar() const noexcept;
302 status_bar& is_system_status_bar(bool value);
303
304 void on_control_appearance_changed(const xtd::event_args&) override;
305 void on_item_added(size_t pos, status_bar_panel_ref item);
306 void on_item_updated(size_t pos, status_bar_panel_ref item);
307 void on_item_removed(size_t pos, status_bar_panel_ref item);
308
309 void resize_spring_panels();
310 void update_status_bar_panel_control(intptr handle, const xtd::ustring& text, const xtd::ustring& 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, int32 min_width, int32 width);
311
312 std::shared_ptr<data> data_;
313 };
314 }
315}
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition event_args.h:18
Represents an event.
Definition event.h:21
Defines the base class for controls, which are components with visual representation.
Definition control.h:79
Encapsulates the information needed when creating a control.
Definition create_params.h:27
Represents a window or dialog box that makes up an application's user interface.
Definition form.h:52
Represents a collection of objects.
Definition arranged_element_collection.h:32
Implements a Windows message.
Definition message.h:26
Provides data for the xtd::forms::control::paint event.
Definition paint_event_args.h:28
Provides data for the xtd::forms::status_bar::draw_item event.
Definition status_bar_draw_item_event_args.h:23
Provides data for the xtd::forms::tool_bar::button_click event.
Definition status_bar_panel_click_event_args.h:23
Represents a xtd::forms::status_bar panel.
Definition status_bar_panel.h:44
Represents a Windows status bar control.
Definition status_bar.h:46
status_bar()
Initializes a new instance of the xtd::forms::status_bar class.
dock_style dock() const noexcept override
Gets which control borders are docked to its parent control and determines how a control is resized w...
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
delegate< void(object &sender, const 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.h:24
delegate< void(object &sender, const 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.h:24
#define forms_export_
Define shared library export.
Definition forms_export.h:13
xtd::forms::style_sheets::control form
The form data allows you to specify the box of a form control.
Definition form.h:21
int_least32_t int32
Represents a 32-bit signed integer.
Definition types.h:131
size_t size
Represents a size of any object in bytes.
Definition types.h:197
intmax_t intptr
Represent a pointer or a handle.
Definition types.h:153
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.h:20
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.h:21
border_style
Specifies the border style for a control.
Definition border_style.h:20
dock_style
Specifies the position and manner in which a control is docked.
Definition dock_style.h:21
horizontal_alignment
Specifies how an object or text in a control is horizontally aligned relative to an element of the co...
Definition horizontal_alignment.h:20
std::reference_wrapper< status_bar_panel > status_bar_panel_ref
Represents a xtd::forms::status_bar_item reference.
Definition status_bar_panel.h:282
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.h:20
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition xtd_about_box.h:12
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Contains xtd::forms::status_bar_draw_item_event_handler event handler.
Contains xtd::forms::status_bar_panel_click_event_handler event handler.
Contains xtd::forms::style_sheets::panel class.
Contains xtd::forms::style_sheets::status_bar_panel alias.