xtd 0.2.0
split_container.h
Go to the documentation of this file.
1 #pragma once
5 #include "orientation.h"
6 #include "scrollable_control.h"
7 #include "splitter.h"
8 #include "splitter_panel.h"
9 
11 namespace xtd {
13  namespace forms {
25  class forms_export_ split_container : public xtd::forms::scrollable_control {
26  struct data;
27 
28  public:
30 
35 
37 
41  virtual xtd::forms::orientation orientation() const noexcept;
46 
49  virtual const splitter_panel& panel1() const noexcept;
52  virtual splitter_panel& panel1() noexcept;
53 
56  virtual const splitter_panel& panel2() const noexcept;
59  virtual splitter_panel& panel2() noexcept;
60 
63  virtual int32 splitter_distance() const noexcept;
67  virtual split_container& splitter_distance(int32 splitter_distance);
68 
71  virtual xtd::forms::splitter_style splitter_style() const noexcept;
76 
80  virtual int32 splitter_width() const noexcept;
85  virtual split_container& splitter_width(int32 splitter_width);
87 
89 
91  //using control::create;
97  static split_container create(const drawing::point& location = {-1, -1}, const drawing::size& size = {-1, -1}, const xtd::ustring& name = xtd::ustring::empty_string);
104  static split_container create(const control& parent, const drawing::point& location = {-1, -1}, const drawing::size& size = {-1, -1}, const xtd::ustring& name = xtd::ustring::empty_string);
106 
107  protected:
109 
111  drawing::size default_size() const noexcept override;
113 
115 
117  void on_resize(const event_args& e) override;
119 
120  private:
121  void arrange_children();
122 
123  std::shared_ptr<data> data_;
124  };
125  }
126 }
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition: event_args.h:18
Contains xtd::forms::orientation enum class.
Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional ...
Definition: point.h:54
Stores an ordered pair of integers, which specify a height and width.
Definition: size.h:31
Creates a panel that is associated with a split_container.
Definition: splitter_panel.h:25
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Contains xtd::forms::scrollable_control control.
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
orientation
Specifies the orientation of controls or elements of controls.
Definition: orientation.h:20
Represents a control consisting of a movable bar that divides a container&#39;s display area into two res...
Definition: split_container.h:25
Defines a base class for controls that support auto-scrolling behavior.
Definition: scrollable_control.h:20
Contains xtd::forms::splitter control.
Contains xtd::forms::splitter_panel container.
Defines the base class for controls, which are components with visual representation.
Definition: control.h:78
int_least32_t int32
Represents a 32-bit signed integer.
Definition: types.h:129
splitter_style
Represent splitter style used by splitter control.
Definition: splitter_style.h:19
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition: about_box.h:13
static const ustring empty_string
Represents the empty string.
Definition: ustring.h:53
Specifies that both the x and y coordinates of the control are defined.
size_t size
Represents a size of any object in bytes.
Definition: types.h:195