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

Definition

Represents an area within a xtd::forms::link_label control that represents a hyperlink within the control.

Header
#include <xtd/forms/link_area>
Namespace
xtd::forms
Library
xtd.forms
Remarks
There are two ways to add a hyperlink to the text of a xtd::forms::link_label control. You can access the xtd::forms::link_label::link_collection::push_back method of the xtd::forms::link_label::link_collection class through the xtd::forms::link_label::links property of the xtd::forms::link_label to add multiple hyperlinks to the control's text. If you only need to add a single hyperlink to the text of the control, you can use the xtd::forms::link_label::link_area property of the xtd::forms::link_label. This property accepts a xtd::forms::link_area that defines the location of the hyperlink within the control's text. When a hyperlink is specified using the xtd::forms::link_label::link_area property, the link area is then added to the xtd::forms::link_label::link_collection in the same manner as adding the link using the xtd::forms::link_label::link_collection::push_back method of the xtd::forms::link_label::link_collection.
The xtd::forms::link_area::length property specifies the number of characters within the text of the xtd::forms::link_label to include in the link area. The xtd::forms::link_area::start property specifies the first character in the control text to include in the hyperlink. If you want to determine whether a specific xtd::forms::link_area is empty, you can use the xtd::forms::link_area::is_empty property instead of checking the values of the xtd::form::link_area::start and xtd::form::link_area::length properties.

Public Constructors

 link_area (size_t start, size_t length) noexcept
 Initializes a new instance of the xtd::forms::link_area class.
 

Public Properties

bool is_empty () const noexcept
 Gets a value indicating whether the LinkArea is empty.
 
size_t length () const noexcept
 Gets the number of characters in the link area.
 
link_arealength (size_t value) noexcept
 Sets the number of characters in the link area.
 
size_t start () const noexcept
 Gets the starting location of the link area within the text of the xtd::forms::link_label.
 
link_areastart (size_t value) noexcept
 Sets the starting location of the link area within the text of the xtd::forms::link_label.
 

Public Methods

bool equals (const link_area &) const noexcept override
 
xtd::string to_string () const noexcept override
 Returns a xtd::string that represents the current object.
 
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.
 
- Public Member Functions inherited from xtd::iequatable< link_area >
virtual bool equals (const link_area &) 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_area()

xtd::forms::link_area::link_area ( size_t  start,
size_t  length 
)
noexcept

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

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

Member Function Documentation

◆ is_empty()

bool xtd::forms::link_area::is_empty ( ) const
noexcept

Gets a value indicating whether the LinkArea is empty.

Returns
true if the specified start and length return an empty link area; otherwise, false.

◆ length() [1/2]

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

Gets the number of characters in the link area.

Returns
The number of characters, including spaces, in the link area.
Remarks
To specify text from the xtd::forms::link_label to display as a link, set the xtd::forms::link_area::start property to the location in the text to start creating the link. After the xtd::forms::link_area::start property is set, set the value of the xtd::forms::link_area::length property to the number of characters, including the character position specified in the xtd::forms::link_area::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_area::start property to zero (0) and the xtd::forms::link_area::length property to three (3).

◆ length() [2/2]

link_area & xtd::forms::link_area::length ( size_t  value)
noexcept

Sets the number of characters in the link area.

Parameters
valueThe number of characters, including spaces, in the link area.
Returns
This current instance.
Remarks
To specify text from the xtd::forms::link_label to display as a link, set the xtd::forms::link_area::start property to the location in the text to start creating the link. After the xtd::forms::link_area::start property is set, set the value of the xtd::forms::link_area::length property to the number of characters, including the character position specified in the xtd::forms::link_area::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_area::start property to zero (0) and the xtd::forms::link_area::length property to three (3).

◆ start() [1/2]

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

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

Returns
The location within the text of the xtd::fors::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_area::start property to the location in the text to start creating the link. After the xtd::forms::link_area::start property is set, set the value of the xtd::forms::link_area::length property to the number of characters, including the character position specified in the xtd::forms::link_area::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_area::start property to zero (0) and the xtd::forms::link_area::length property to three (3).

◆ start() [2/2]

link_area & xtd::forms::link_area::start ( size_t  value)
noexcept

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

Parameters
valueThe location within the text of the xtd::fors::link_label control where the link starts.
Returns
This current instance.
Remarks
To specify text from the xtd::forms::link_label to display as a link, set the xtd::forms::link_area::start property to the location in the text to start creating the link. After the xtd::forms::link_area::start property is set, set the value of the xtd::forms::link_area::length property to the number of characters, including the character position specified in the xtd::forms::link_area::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_area::start property to zero (0) and the xtd::forms::link_area::length property to three (3).

◆ to_string()

xtd::string xtd::forms::link_area::to_string ( ) const
overridevirtualnoexcept

Returns a xtd::string that represents the current object.

Returns
A string that represents the current object.
Examples
The following code example demonstrates what to_string returns.
#include <xtd/xtd>
using namespace xtd;
namespace examples {
namespace object_test {
class object1 : public object {
};
}
}
auto main() -> int {
ptr<object> obj1 = new_ptr<examples::object_test::object1>();
console::write_line(obj1->to_string());
ptr<object> obj2 = new_ptr<date_time>(1971, 1, 5, 23, 5, 0);
console::write_line(obj2->to_string());
ptr<object> obj3 = new_ptr<boolean_object>();
console::write_line(obj3->to_string());
}
// This code produces the following output :
//
// examples::object_test::object1
// Tue Jan 5 23:05:00 1971
// false
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:42
xtd::sptr< type_t > ptr
The xtd::ptr object is a shared pointer.
Definition ptr.h:27
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10

Reimplemented from xtd::object.

◆ 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

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 struct was generated from the following file: