xtd 0.2.0
Loading...
Searching...
No Matches
xtd::forms::link Class Reference
Inheritance diagram for xtd::forms::link:
xtd::object xtd::iequatable< link > xtd::interface xtd::equality_operators< type_t, equatable_t >

Definition

Represents a link within a xtd::forms::link_label control.

Header
#include <xtd/forms/link>
Namespace
xtd::forms
Library
xtd.forms
Remarks
The xtd::forms::link_label::link class defines the properties of a link within a xtd::forms::link_label control. You can use these properties to provide data to the xtd::forms::link_label::link_clicked event of the xtd::forms::link_label control to perform tasks when the link is clicked in the control. The xtd::forms::link_label::link_data property enables you to define information that the xtd::forms::link_label::link_clicked event can use to display a URL within your web browser or to open a file.
In addition to information related to the link, the properties of the xtd::forms::link_label::link class also help define the text of the xtd::forms::link_label::lLink and its display state. The xtd::forms::link_label::start and xtd::forms::link_label::length properties define the location and length of text from the text of the xtd::forms::link_label control to display as a link. The xtd::forms::link_label::enabled property allows you to display the link as a disabled link, and the xtd::forms::link_label::visited property can alert the user that they already visited the specified link in the current instance of the xtd::forms::link_label.
You can display multiple links in a single xtd::forms::link_label control. Each xtd::forms::link_label::link is added into the xtd::forms::link_label::link_collection associated with the xtd::forms::link_label control. To obtain the collection of links defined in a xtd::forms::link_label control, use the xtd::forms::link_label::links property.

Public Constructors

 link ()
 Initializes a new instance of the xtd::forms::link class.
 
 link (size_t start, size_t length)
 Initializes a new instance of the xtd::forms::link_label::link class with the specified starting location and number of characters after the starting location within the xtd::forms::link_label.
 
 link (size_t start, size_t length, std::any link_data)
 Initializes a new instance of the xtd::forms::link_label::link class with the specified starting location, number of characters after the starting location within the xtd::forms::link_label, and the data associated with the link.
 

Public Properties

const xtd::stringdescription () const noexcept
 Gets a text description of the link.
 
linkdescription (const xtd::string &value)
 Sets a text description of the link.
 
bool enabled () const noexcept
 Gets a value indicating whether the link is enabled.
 
linkenabled (bool value)
 Sets a value indicating whether the link is enabled.
 
size_t length () const noexcept
 Gets the number of characters in the link text.
 
linklength (size_t value)
 Sets the number of characters in the link text.
 
std::any link_data () const noexcept
 Gets the data associated with the link.
 
linklink_data (std::any value)
 Sets the data associated with the link.
 
const xtd::stringname () const noexcept
 Gets the name of the xtd::forms::link_label::link.
 
linkname (const xtd::string &value)
 Sets the name of the xtd::forms::link_label::link.
 
size_t start () const noexcept
 Gets the starting location of the link within the text of the xtd::forms::link_label::link.
 
linkstart (size_t value)
 Sets the starting location of the link within the text of the xtd::forms::link_label::link.
 
std::any tag () const noexcept
 Gets the object that contains data about the xtd::forms::link_label::link.
 
linktag (std::any value)
 Sets the object that contains data about the xtd::forms::link_label::link.
 
bool visited () const noexcept
 Gets a value indicating whether the user has visited the link.
 
linkvisited (bool value)
 Sets a value indicating whether the user has visited the link.
 

Public Methods

bool equals (const link &other) const noexcept override
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object.
 
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 

Additional Inherited Members

- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type.
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance.
 
template<typename object_t >
xtd::uptr< object_t > memberwise_clone () const
 Creates a shallow copy of the current object.
 
virtual xtd::string to_string () const noexcept
 Returns a xtd::string that represents the current object.
 
- Public Member Functions inherited from xtd::iequatable< link >
virtual bool equals (const link &) const noexcept=0
 Indicates whether the current object is equal to another object of the same type.
 
- Static Public Member Functions inherited from xtd::object
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
template<typename object_a_t , typename object_b_t >
static bool reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 

Constructor & Destructor Documentation

◆ link() [1/3]

xtd::forms::link::link ( )

Initializes a new instance of the xtd::forms::link class.

◆ link() [2/3]

xtd::forms::link::link ( size_t  start,
size_t  length 
)

Initializes a new instance of the xtd::forms::link_label::link class with the specified starting location and number of characters after the starting location within the xtd::forms::link_label.

Parameters
startThe zero-based starting location of the link area within the text of the xtd::forms::link_label.
lengthThe number of characters, after the starting character, to include in the link area.

◆ link() [3/3]

xtd::forms::link::link ( size_t  start,
size_t  length,
std::any  link_data 
)

Initializes a new instance of the xtd::forms::link_label::link class with the specified starting location, number of characters after the starting location within the xtd::forms::link_label, and the data associated with the link.

Parameters
startThe zero-based starting location of the link area within the text of the xtd::forms::link_label.
lengthThe number of characters, after the starting character, to include in the link area.
link_dataThe data associated with the link.

Member Function Documentation

◆ description() [1/2]

const xtd::string & xtd::forms::link::description ( ) const
noexcept

Gets a text description of the link.

Returns
A xtd::string representing a text description of the link.

◆ description() [2/2]

link & xtd::forms::link::description ( const xtd::string value)

Sets a text description of the link.

Parameters
valueA xtd::string representing a text description of the link.
Returns
The current instance of xtd::forms::link_label::link.

◆ enabled() [1/2]

bool xtd::forms::link::enabled ( ) const
noexcept

Gets a value indicating whether the link is enabled.

Returns
true if the link is enabled; otherwise, false.
Remarks
You can use this property to display a link in a disabled state within the xtd::forms::link_label control. When a link is disabled, clicking on the link does not cause the xtd::forms::link_label control to raise the xtd::forms::link_label::link_clicked event.

◆ enabled() [2/2]

link & xtd::forms::link::enabled ( bool  value)

Sets a value indicating whether the link is enabled.

Parameters
valuetrue if the link is enabled; otherwise, false.
Returns
The current instance of xtd::forms::link_label::link.
Remarks
You can use this property to display a link in a disabled state within the xtd::forms::link_label control. When a link is disabled, clicking on the link does not cause the xtd::forms::link_label control to raise the xtd::forms::link_label::link_clicked event.

◆ length() [1/2]

size_t xtd::forms::link::length ( ) const
noexcept

Gets the number of characters in the link text.

Returns
The number of characters, including spaces, in the link text.
Remarks
To specify text from the xtd::forms::link_label to display as a link, set the xtd::forms::link_label::start property to the location in the text to start creating the link. After the xtd::forms::link_label::start property is set, set the value of the xtd::forms::link_label::length property to the number of characters, including the character position specified in the xtd::forms::link_label::start property, that you want to make the link text. For example, if you want to make the first word of the text "The quick brown fox" a link, you set the xtd::forms::link_label::start property to zero (0) and the xtd::forms::link_label::length property to three (3).

◆ length() [2/2]

link & xtd::forms::link::length ( size_t  value)

Sets the number of characters in the link text.

Parameters
valueThe number of characters, including spaces, in the link text.
Returns
The current instance of xtd::forms::link_label::link.
Remarks
To specify text from the xtd::forms::link_label to display as a link, set the xtd::forms::link_label::start property to the location in the text to start creating the link. After the xtd::forms::link_label::start property is set, set the value of the xtd::forms::link_label::length property to the number of characters, including the character position specified in the xtd::forms::link_label::start property, that you want to make the link text. For example, if you want to make the first word of the text "The quick brown fox" a link, you set the xtd::forms::link_label::start property to zero (0) and the xtd::forms::link_label::length property to three (3).

◆ link_data() [1/2]

std::any xtd::forms::link::link_data ( ) const
noexcept

Gets the data associated with the link.

Returns
A std::any object representing the data associated with the link.
Remarks
You can use this property to supply information related to the link. The information provided by this property can be used within the xtd::forms::link_label::link_clicked event of the xtd::forms::link_label to provide information about the link that can be used to process the link being clicked. For example, you can specify the URL to display in your web browser when the link is clicked as the value of the xtd::forms::link_label::link_data property. You can also use the xtd::forms::link_label::link_data property to identify a dialog to display when the user clicks on the link.

◆ link_data() [2/2]

link & xtd::forms::link::link_data ( std::any  value)

Sets the data associated with the link.

Parameters
valueA std::any object representing the data associated with the link.
Returns
The current instance of xtd::forms::link_label::link.
Remarks
You can use this property to supply information related to the link. The information provided by this property can be used within the xtd::forms::link_label::link_clicked event of the xtd::forms::link_label to provide information about the link that can be used to process the link being clicked. For example, you can specify the URL to display in your web browser when the link is clicked as the value of the xtd::forms::link_label::link_data property. You can also use the xtd::forms::link_label::link_data property to identify a dialog to display when the user clicks on the link.

◆ name() [1/2]

const xtd::string & xtd::forms::link::name ( ) const
noexcept

Gets the name of the xtd::forms::link_label::link.

Returns
A xtd::string representing the name of the xtd::forms::link_label::link. The default value is the empty string ("").

◆ name() [2/2]

link & xtd::forms::link::name ( const xtd::string value)

Sets the name of the xtd::forms::link_label::link.

Parameters
valueA xtd::string representing the name of the xtd::forms::link_label::link. The default value is the empty string ("").
Returns
The current instance of xtd::forms::link_label::link.

◆ start() [1/2]

size_t xtd::forms::link::start ( ) const
noexcept

Gets the starting location of the link within the text of the xtd::forms::link_label::link.

Returns
The location within the text of the the xtd::forms::link_label control where the link starts.
Remarks
To specify text from the xtd::forms::link_label to display as a link, set the xtd::forms::link_label::start property to the location in the text to start creating the link. After the xtd::forms::link_label::start property is set, set the value of the xtd::forms::link_label::length property to the number of characters, including the character position specified in the xtd::forms::link_label::start property, that you want to make the link text. For example, if you want to make the first word of the text "The quick brown fox" a link, you set the xtd::forms::link_label::start property to zero (0) and the xtd::forms::link_label::length property to three (3).

◆ start() [2/2]

link & xtd::forms::link::start ( size_t  value)

Sets the starting location of the link within the text of the xtd::forms::link_label::link.

Parameters
valueThe location within the text of the the xtd::forms::link_label control where the link starts.
Returns
The current instance of xtd::forms::link_label::link.
Remarks
To specify text from the xtd::forms::link_label to display as a link, set the xtd::forms::link_label::start property to the location in the text to start creating the link. After the xtd::forms::link_label::start property is set, set the value of the xtd::forms::link_label::length property to the number of characters, including the character position specified in the xtd::forms::link_label::start property, that you want to make the link text. For example, if you want to make the first word of the text "The quick brown fox" a link, you set the xtd::forms::link_label::start property to zero (0) and the xtd::forms::link_label::length property to three (3).

◆ tag() [1/2]

std::any xtd::forms::link::tag ( ) const
noexcept

Gets the object that contains data about the xtd::forms::link_label::link.

Returns
An std::any object that contains data about the control. The default has no value.

◆ tag() [2/2]

link & xtd::forms::link::tag ( std::any  value)

Sets the object that contains data about the xtd::forms::link_label::link.

Parameters
valueAn std::any object that contains data about the control. The default has no value.
Returns
The current instance of xtd::forms::link_label::link.

◆ visited() [1/2]

bool xtd::forms::link::visited ( ) const
noexcept

Gets a value indicating whether the user has visited the link.

Returns
true if the link has been visited; otherwise, false.
Remarks
A xtd::forms::link_label control does not automatically denote that a link is a visited link. To display the link as a visited link, you can set the value of this property to true in an event handler for the xtd::forms::link_label::link_clicked event of a xtd::forms::link_label. A visited link is displayed using the color specified in the xtd::forms::link_label::visited_link_color property of the xtd::forms::link_label control. Once the form containing the xtd::forms::link_label control is closed, the all display state associated with the link is deleted. In order to retain the display state of the link, you need to store the display state of the link in a registry setting associated with your application.
Note
If you have only one link specified in a xtd::forms::link_label control, you can use the xtd::forms::link_label::link_visited property of the xtd::forms::link_label to specify the link as visited. You can also use the xtd::forms::link_label::link_visited property if you have multiple links defined, but the setting only applies to the first link defined in the control.

◆ visited() [2/2]

link & xtd::forms::link::visited ( bool  value)

Sets a value indicating whether the user has visited the link.

Parameters
valuetrue if the link has been visited; otherwise, false.
Returns
The current instance of xtd::forms::link_label::link.
Remarks
A xtd::forms::link_label control does not automatically denote that a link is a visited link. To display the link as a visited link, you can set the value of this property to true in an event handler for the xtd::forms::link_label::link_clicked event of a xtd::forms::link_label. A visited link is displayed using the color specified in the xtd::forms::link_label::visited_link_color property of the xtd::forms::link_label control. Once the form containing the xtd::forms::link_label control is closed, the all display state associated with the link is deleted. In order to retain the display state of the link, you need to store the display state of the link in a registry setting associated with your application.
Note
If you have only one link specified in a xtd::forms::link_label control, you can use the xtd::forms::link_label::link_visited property of the xtd::forms::link_label to specify the link as visited. You can also use the xtd::forms::link_label::link_visited property if you have multiple links defined, but the setting only applies to the first link defined in the control.

◆ equals() [1/2]

virtual bool xtd::object::equals ( const object obj) const
virtualnoexcept

Determines whether the specified object is equal to the current object.

Parameters
objThe object to compare with the current object.
Returns
true if the specified object is equal to the current object. otherwise, false.
Examples
The following code example compares the current instance with another object.
#include <xtd/console>
using namespace xtd;
auto main() -> int {
auto object1 = new_ptr<object>();
auto object2 = new_ptr<object>();
auto object3 = object2;
console::write_line(object1->equals(*object3));
console::write_line(*object1 == *object3);
object3 = object1;
console::write_line(object1->equals(*object3));
console::write_line(*object1 == *object3);
}
// This code produces the following output :
//
// false
// false
// true
// true
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10

Reimplemented from xtd::object.

◆ equals() [2/2]

template<typename object_a_t , typename object_b_t >
static bool xtd::object::equals ( const object_a_t &  object_a,
const object_b_t &  object_b 
)
inlinestaticnoexcept

Determines whether the specified object instances are considered equal.

Parameters
object_aThe first object to compare.
object_bThe second object to compare.
Returns
true if object_a is the same instance as object_b or if both are null references or if object_a(object_b) returns true. otherwise, false.
Examples
The following code example compares different objects.
#include <xtd/console>
using namespace xtd;
auto main() -> int {
string s1 = "Tom";
string s2 = "Carol";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "Tom";
s2 = "Tom";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "";
s2 = "Tom";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "Carol";
s2 = "";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "";
s2 = "";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
}
// This code produces the following output :
//
// object::equals("Tom", "Carol") => false
// object::equals("Tom", "Tom") => true
// object::equals("", "Tom") => false
// object::equals("Carol", "") => false
// object::equals("", "") => true
virtual bool equals(const object &obj) const noexcept
Determines whether the specified object is equal to the current object.

The documentation for this class was generated from the following file: