xtd 0.2.0
Loading...
Searching...
No Matches
switch_object.hpp
Go to the documentation of this file.
1
4#pragma once
5#include <cstdint>
7#include "../array.hpp"
8#include "../iequatable.hpp"
9#include "../object.hpp"
10#include "../string.hpp"
11#include "source_levels.hpp"
12
14namespace xtd {
16 namespace diagnostics {
36 class core_export_ switch_object : public xtd::object, public xtd::iequatable<switch_object> {
37 public:
39 switch_object(const switch_object& value) = default;
40 switch_object& operator =(const switch_object& value) = default;
42
44
48
51
55 const attribute_collection& attributes() const noexcept;
62
66 const xtd::string& description() const noexcept;
67
71 const xtd::string& display_name() const noexcept;
72
78 const xtd::string& value() const noexcept;
84 void value(const xtd::string& value);
86
88
93 bool equals(const xtd::object& obj) const noexcept override;
97 bool equals(const switch_object& other) const noexcept override;
99
100 protected:
102
110 switch_object(const xtd::string& display_name, const xtd::string& description);
112
114
118 int32 switch_setting() const noexcept;
123
125
132 virtual xtd::array<xtd::string> get_supported_attributes() const noexcept;
133
136
141 virtual void on_value_changed();
143
144 private:
145 xtd::string display_name_;
146 xtd::string description_;
147 attribute_collection attributes_;
148 int32 switch_setting_ = 0;
149 xtd::string value_ = "0";
150 inline static xtd::collections::specialized::string_dictionary switches_;
151 };
152 }
153}
Contains xtd::array class.
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:63
virtual void on_switch_setting_changed()
Invoked when the switch_setting property is changed.
const xtd::string & display_name() const noexcept
Gets a name used to identify the switch.
bool equals(const xtd::object &obj) const noexcept override
Determines whether the specified object is equal to the current object.
int32 switch_setting() const noexcept
Gets the current setting for this switch.
virtual xtd::array< xtd::string > get_supported_attributes() const noexcept
Gets the custom attributes supported by the switch.
const attribute_collection & attributes() const noexcept
Gets the custom switch attributes.
virtual void on_value_changed()
Invoked when the value property is changed.
switch_object(const xtd::string &display_name, const xtd::string &description)
Initializes a new instance of the switch_object class.
const xtd::string & value() const noexcept
Gets the value of the switch.
const xtd::string & description() const noexcept
Gets a description of the switch.
xtd::collections::specialized::string_dictionary attribute_collection
Represents the attributes collection.
Definition switch_object.hpp:47
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:44
#define core_export_
Define shared library export.
Definition core_export.hpp:13
xtd::collections::generic::dictionary< xtd::string, xtd::string > string_dictionary
Represents a xtd::collections::generic::dictionary with the key and the value strongly typed to be st...
Definition string_dictionary.hpp:28
std::int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:23
@ other
The operating system is other.
Definition platform_id.hpp:58
Contains xtd::iequatable interface.
The xtd::collections namespace contains interfaces and classes that define various collections of obj...
Definition any_pair.hpp:10
The xtd::diagnostics namespace provides classes that allow you to interact with system processes,...
Definition assert_dialog_result.hpp:10
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
Contains xtd::object class.
Contains xtd::diagnostics::source_levels enum class.
Contains xtd::string alias.
Contains xtd::collections::specialized::string_dictionary typedef.