xtd 0.2.0
light_button.hpp
Go to the documentation of this file.
1
4#pragma once
6#include "appearance.hpp"
7#include "button_base.hpp"
8#include "check_state.hpp"
9#include <xtd/drawing/system_colors>
10
12namespace xtd {
14 namespace forms {
46 struct data;
47
48 public:
50
56
58
66 virtual bool auto_check() const noexcept;
71
78 virtual bool checked() const noexcept;
83
96 virtual forms::check_state check_state() const noexcept;
109
112 virtual drawing::color default_light_off_color() const noexcept;
113
116 virtual drawing::color default_light_on_color() const noexcept;
117
120 virtual content_alignment light_align() const noexcept;
124
127 virtual drawing::color light_off_color() const noexcept;
130 virtual light_button& light_off_color(const drawing::color& value);
132 virtual light_button& light_off_color(std::nullptr_t);
134
137 virtual drawing::color light_on_color() const noexcept;
140 virtual light_button& light_on_color(const drawing::color& value);
142 virtual light_button& light_on_color(std::nullptr_t);
144
151 virtual bool three_state() const noexcept;
157
159
167 static light_button create(const drawing::point& location);
172 static light_button create( const drawing::point& location, const drawing::size& size);
178 static light_button create(const drawing::point& location, const drawing::size& size, const xtd::string& name);
182 static light_button create(const xtd::string& text);
187 static light_button create(const xtd::string& tex, const drawing::point& location);
193 static light_button create(const xtd::string& text, const drawing::point& location, const drawing::size& size);
200 static light_button create(const xtd::string& text, const drawing::point& location, const drawing::size& size, const xtd::string& name);
211 static light_button create(const xtd::string& text, xtd::forms::check_state check_state, const drawing::point& location);
218 static light_button create(const xtd::string& text, xtd::forms::check_state check_state, const drawing::point& location, const drawing::size& size);
226 static light_button create(const xtd::string& text, xtd::forms::check_state check_state, const drawing::point& location, const drawing::size& size, const xtd::string& name);
239 static light_button create(const xtd::string& text, bool three_state, xtd::forms::check_state check_state, const drawing::point& location);
247 static light_button create(const xtd::string& text, bool three_state, xtd::forms::check_state check_state, const drawing::point& location, const drawing::size& size);
256 static light_button create(const xtd::string& text, bool three_state, xtd::forms::check_state check_state, const drawing::point& location, const drawing::size& size, const xtd::string& name);
265 static light_button create(const control& parent, const drawing::point& location);
271 static light_button create(const control& parent, const drawing::point& location, const drawing::size& size);
278 static light_button create(const control& parent, const drawing::point& location, const drawing::size& size, const xtd::string& name);
283 static light_button create(const control& parent, const xtd::string& text);
289 static light_button create(const control& parent, const xtd::string& text, const drawing::point& location);
296 static light_button create(const control& parent, const xtd::string& text, const drawing::point& location, const drawing::size& size);
304 static light_button create(const control& parent, const xtd::string& text, const drawing::point& location, const drawing::size& size, const xtd::string& name);
317 static light_button create(const control& parent, const xtd::string& text, xtd::forms::check_state check_state, const drawing::point& location);
325 static light_button create(const control& parent, const xtd::string& text, xtd::forms::check_state check_state, const drawing::point& location, const drawing::size& size);
334 static light_button create(const control& parent, const xtd::string& text, xtd::forms::check_state check_state, const drawing::point& location, const drawing::size& size, const xtd::string& name);
349 static light_button create(const control& parent, const xtd::string& text, bool three_state, xtd::forms::check_state check_state, const drawing::point& location);
358 static light_button create(const control& parent, const xtd::string& text, bool three_state, xtd::forms::check_state check_state, const drawing::point& location, const drawing::size& size);
368 static light_button create(const control& parent, const xtd::string& text, bool three_state, xtd::forms::check_state check_state, const drawing::point& location, const drawing::size& size, const xtd::string& name);
370
372
377
382
383 protected:
385
387 forms::create_params create_params() const noexcept override;
388
391 xtd::forms::visual_styles::check_box_state state() const noexcept;
393
395
401 xtd::uptr<xtd::object> clone() const override;
402
403 drawing::size measure_control() const noexcept override;
404
409 virtual void on_checked_changed(const event_args& e);
410
415 virtual void on_check_state_changed(const event_args& e);
416
417 void on_enabled_changed(const event_args& e) override;
418 void on_handle_created(const event_args& e) override;
419 void on_image_changed(const xtd::event_args& e) override;
420 void on_mouse_down(const mouse_event_args& e) override;
421 void on_mouse_enter(const event_args& e) override;
422 void on_mouse_leave(const event_args& e) override;
423 void on_mouse_up(const mouse_event_args& e) override;
424 void on_paint(paint_event_args& e) override;
425 void wnd_proc(message& message) override;
427
428 private:
429 void wm_mouse_double_click(message& message);
430 void wm_mouse_down(message& message);
431 void wm_mouse_up(message& message);
432
433 xtd::sptr<data> data_;
434 };
435 }
436}
Contains xtd::forms::appearance enum class.
Contains xtd::forms::button_base class.
Contains xtd::forms::visual_styles::check_box_state enum class.
Contains xtd::forms::check_state enum class.
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:21
Implements the basic functionality common to button controls.
Definition button_base.hpp:37
Defines the base class for controls, which are components with visual representation.
Definition control.hpp:81
virtual drawing::point location() const noexcept
Gets the coordinates of the upper-left corner of the control relative to the upper-left corner of its...
virtual const xtd::string & name() const noexcept
Gets the name of the control.
virtual const xtd::string & text() const noexcept
Gets the text associated with this control.
virtual drawing::size size() const noexcept
Gets the height and width of the control.
virtual std::optional< control_ref > parent() const noexcept
Gets the parent container of the control.
virtual drawing::color light_on_color() const noexcept
Gets the light on color for the light_button.
drawing::size measure_control() const noexcept override
Measure this control.
virtual bool auto_check() const noexcept
Gets a value indicating whether the checked or check_state values and the light_button's appearance a...
virtual void on_checked_changed(const event_args &e)
Raises the light_button::checked_changed event.
light_button()
Initializes a new instance of the light_button class.
event< light_button, event_handler > checked_changed
Occurs when the value of the checked property changes.
Definition light_button.hpp:376
void on_handle_created(const event_args &e) override
Raises the xtd::forms::control::handle_created event.
void on_image_changed(const xtd::event_args &e) override
Raises the button_base::image_changed event.
void wnd_proc(message &message) override
Processes Windows messages.
void on_enabled_changed(const event_args &e) override
Raises the xtd::forms::control::enabled_changed event.
virtual drawing::color light_off_color() const noexcept
Gets the light off color for the light_button.
void on_mouse_leave(const event_args &e) override
Raises the xtd::forms::control::mouse_leave event.
event< light_button, event_handler > check_state_changed
Occurs when the value of the check_state property changes.
Definition light_button.hpp:380
virtual bool three_state() const noexcept
Gets a value indicating whether the light_button will allow three check states rather than two.
static light_button create()
A factory to create an xtd::forms::light_button.
virtual drawing::color default_light_off_color() const noexcept
Gets the default light off color of the light_button.
virtual forms::check_state check_state() const noexcept
Gets the state of the light_button.
virtual void on_check_state_changed(const event_args &e)
Raises the light_button::check_state_changed event.
forms::create_params create_params() const noexcept override
Gets the required creation parameters when the control handle is created.
xtd::forms::visual_styles::check_box_state state() const noexcept
Gets state.
void on_mouse_enter(const event_args &e) override
Raises the xtd::forms::control::mouse_enter event.
virtual content_alignment light_align() const noexcept
Gets the horizontal and vertical alignment of the check mark on a light_button control.
void on_paint(paint_event_args &e) override
Raises the xtd::forms::control::paint event.
void on_mouse_up(const mouse_event_args &e) override
Raises the xtd::forms::control::mouse_up event.
virtual drawing::color default_light_on_color() const noexcept
Gets the default light on color of the light_button.
xtd::uptr< xtd::object > clone() const override
Creates a new object that is a copy of the current instance.
void on_mouse_down(const mouse_event_args &e) override
Raises the xtd::forms::control::mouse_down event.
virtual bool checked() const noexcept
Gets a value indicating whether the light_button is in the checked state.
Provides data for the xtd::forms::control::mouse_up, xtd::forms::control::mouse_down,...
Definition mouse_event_args.hpp:34
Provides data for the xtd::forms::control::paint event.
Definition paint_event_args.hpp:30
generic_event_handler< const xtd::event_args & > event_handler
Represents the method that will handle an event that has no event data.
Definition event_handler.hpp:24
#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
xtd::unique_ptr_object< type_t > uptr
The xtd::uptr object is a unique pointer.
Definition uptr.hpp:25
content_alignment
Specifies alignment of content on the drawing surface.
Definition content_alignment.hpp:21
@ e
The E key.
Definition keys.hpp:207
The xtd::drawing namespace provides access to GDI+ basic graphics functionality. More advanced functi...
Definition actions_system_images.hpp:10
The xtd::forms::visual_styles namespace contains classes for rendering controls and other windows use...
Definition check_box_state.hpp:12
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 const_pointer data() const noexcept
Gets direct access to the underlying contiguous storage.
Definition read_only_span.hpp:201
Implements a Windows message.
Definition message.hpp:33