xtd 0.2.0
link.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "../forms_export.hpp"
6#include <xtd/any_object>
7#include <xtd/iequatable>
8#include <xtd/object>
9#include <xtd/string>
10#include <tuple>
11
13namespace xtd {
15 namespace forms {
17 class link_label;
19
33 class forms_export_ link : public object, public xtd::iequatable<link> {
34 struct data;
35
36 public:
38
45 link(size_t start, size_t length);
50 link(size_t start, size_t length, const xtd::any_object& link_data);
52
54 link(const link&);
55 link(link&&) = default;
56 link& operator =(const link&);
58
60
64 const xtd::string& description() const noexcept;
68 link& description(const xtd::string& value);
69
73 bool enabled() const noexcept;
78 link& enabled(bool value);
79
83 size_t length() const noexcept;
88 link& length(size_t value);
89
93 const xtd::any_object& link_data() const noexcept;
98 link& link_data(const xtd::any_object& value);
99
102 const xtd::string& name() const noexcept;
106 link& name(const xtd::string& value);
107
111 size_t start() const noexcept;
116 link& start(size_t value);
117
120 const xtd::any_object& tag() const noexcept;
124 link& tag(const xtd::any_object& value);
125
130 bool visited() const noexcept;
136 link& visited(bool value);
138
140
145 bool equals(const xtd::object& obj) const noexcept override;
149 bool equals(const link& other) const noexcept override;
150
153 xtd::size get_hash_code() const noexcept override;
155
156 private:
157 friend link_label;
158 bool active_() const noexcept;
159 void active_(bool active) noexcept;
160
161 xtd::sptr<data> data_;
162 };
163 }
164}
165
Represent a polymorphic wrapper capable of holding any type.
Definition any_object.hpp:29
Represents text as a sequence of character units.
Definition basic_string.hpp:71
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:43
The xtd::shared_ptr_object is a shared pointer as std::shared_ptr.
Definition shared_ptr_object.hpp:30
#define forms_export_
Define shared library export.
Definition forms_export.hpp:13
xtd::forms::style_sheets::control link_label
The link label data allows you to specify the box of a link label control.
Definition link_label.hpp:25
size_t size
Represents a size of any object in bytes.
Definition size.hpp:23
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition xtd_about_box.hpp:12
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10