xtd 1.0.0
Loading...
Searching...
No Matches
split_container.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "orientation.hpp"
7#include "splitter.hpp"
8#include "splitter_panel.hpp"
9
11namespace xtd {
13 namespace forms {
28 struct data;
29
30 public:
32
37
39
43 [[nodiscard]] virtual xtd::forms::orientation orientation() const noexcept;
47 virtual auto orientation(xtd::forms::orientation value) -> split_container&;
48
51 [[nodiscard]] virtual const splitter_panel& panel1() const noexcept;
54 [[nodiscard]] virtual splitter_panel& panel1() noexcept;
55
58 [[nodiscard]] virtual const splitter_panel& panel2() const noexcept;
61 [[nodiscard]] virtual splitter_panel& panel2() noexcept;
62
65 [[nodiscard]] virtual xtd::int32 splitter_distance() const noexcept;
69 virtual auto splitter_distance(xtd::int32 value) -> split_container&;
70
73 [[nodiscard]] virtual xtd::forms::splitter_style splitter_style() const noexcept;
78
82 [[nodiscard]] virtual xtd::int32 splitter_width() const noexcept;
87 virtual auto splitter_width(xtd::int32 value) -> split_container&;
89
91
95 [[nodiscard]] static auto create() -> split_container;
99 [[nodiscard]] static auto create(const xtd::drawing::point& location) -> split_container;
104 [[nodiscard]] static auto create(const xtd::drawing::point& location, const xtd::drawing::size& size) -> split_container;
110 [[nodiscard]] static auto create(const xtd::drawing::point& location, const xtd::drawing::size& size, const xtd::string& name) -> split_container;
114 [[nodiscard]] static auto create(const xtd::forms::control& parent) -> split_container;
119 [[nodiscard]] static auto create(const xtd::forms::control& parent, const xtd::drawing::point& location) -> split_container;
125 [[nodiscard]] static auto create(const xtd::forms::control& parent, const xtd::drawing::point& location, const xtd::drawing::size& size) -> split_container;
132 [[nodiscard]] static auto create(const xtd::forms::control& parent, const xtd::drawing::point& location, const xtd::drawing::size& size, const xtd::string& name) -> split_container;
134
135 protected:
137
139 [[nodiscard]] auto default_size() const noexcept -> xtd::drawing::size override;
141
143
145 auto on_resize(const xtd::event_args& e) -> void override;
147
148 private:
149 auto arrange_children() -> void;
150
151 xtd::sptr<data> data_;
152 };
153 }
154}
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition event_args.hpp:18
Defines the base class for controls, which are components with visual representation.
Definition control.hpp:81
virtual auto size() const noexcept -> xtd::drawing::size
Gets the height and width of the control.
virtual auto parent() const noexcept -> std::optional< xtd::forms::control_ref >
Gets the parent container of the control.
virtual auto name() const noexcept -> const xtd::string &
Gets the name of the control.
virtual auto location() const noexcept -> xtd::drawing::point
Gets the coordinates of the upper-left corner of the control relative to the upper-left corner of its...
Defines a base class for controls that support auto-scrolling behavior.
Definition scrollable_control.hpp:22
split_container()
Initializes a new instance of the split_container class.
virtual const splitter_panel & panel1() const noexcept
Gets the left or top panel of the splitter_panel, depending on orientation.
virtual xtd::int32 splitter_width() const noexcept
Gets or sets the width of the splitter in pixels.
virtual const splitter_panel & panel2() const noexcept
Gets the right or bottom panel of the splitter_panel, depending on orientation.
auto default_size() const noexcept -> xtd::drawing::size override
Gets the default size of the control.
virtual xtd::forms::splitter_style splitter_style() const noexcept
Gets the style of the splitter.
virtual xtd::int32 splitter_distance() const noexcept
Gets the location of the splitter, in pixels, from the left or top edge of the split_container.
virtual xtd::forms::orientation orientation() const noexcept
Gets a value indicating the horizontal or vertical orientation of the split_container panels.
static auto create() -> split_container
A factory to create an xtd::forms::split_container.
auto on_resize(const xtd::event_args &e) -> void override
Raises the xtd::forms::control::region event.
Creates a panel that is associated with a split_container.
Definition splitter_panel.hpp:27
#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::int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:25
orientation
Specifies the orientation of controls or elements of controls.
Definition orientation.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::orientation enum class.
Contains xtd::forms::scrollable_control control.
Contains xtd::forms::splitter control.
Contains xtd::forms::splitter_panel container.