xtd 0.2.0
link.h
Go to the documentation of this file.
1 #pragma once
5 #include "../forms_export.h"
6 #include <xtd/any>
7 #include <xtd/iequatable>
8 #include <xtd/object>
9 #include <xtd/ustring>
10 #include <tuple>
11 
13 namespace xtd {
15  namespace forms {
17  class link_label;
19 
31  class forms_export_ link : public object, public xtd::iequatable<link> {
32  struct data;
33 
34  public:
36 
39  link();
43  link(size_t start, size_t length);
48  link(size_t start, size_t length, std::any link_data);
50 
52  link(const link&);
53  link(link&&) = default;
54  link& operator =(const link&);
56 
58 
62  const xtd::ustring& description() const noexcept;
66  link& description(const xtd::ustring& value);
67 
71  bool enabled() const noexcept;
76  link& enabled(bool value);
77 
81  size_t length() const noexcept;
86  link& length(size_t value);
87 
91  std::any link_data() const noexcept;
96  link& link_data(std::any value);
97 
100  const xtd::ustring& name() const noexcept;
104  link& name(const xtd::ustring& value);
105 
109  size_t start() const noexcept;
114  link& start(size_t value);
115 
118  std::any tag() const noexcept;
122  link& tag(std::any value);
123 
128  bool visited() const noexcept;
134  link& visited(bool value);
136 
138 
140  bool equals(const link& other) const noexcept override;
142 
143  private:
144  friend link_label;
145  bool active_() const noexcept;
146  void active_(bool active) noexcept;
147 
148  std::shared_ptr<data> data_;
149  };
150  }
151 }
152 
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
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.h:23
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition: iequatable.h:18
The operating system is other.
Indicates that all styles except allow_binary_specifier, allow_octal_specifier and allow_hex_specifie...
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes...
Definition: object.h:32
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition: about_box.h:13