Hot Door CORE 0.8.2
Adobe® Illustrator® Plug-in Library
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
hdi::core::TextView Class Reference

Text view widget, which allows the user to enter a large amount of arbitrary text (also useful for displaying large amounts of text in a read-only fashion) More...

#include <hdicoreTextView.h>

Inheritance diagram for hdi::core::TextView:
Inheritance graph
[legend]
Collaboration diagram for hdi::core::TextView:
Collaboration graph
[legend]

Public Types

enum  Alignment { UnknownAlignment = 0 , LeftAlignment = 10 , CenterAlignment = 20 , RightAlignment = 30 }
 Text alignment options.
 
- Public Types inherited from hdi::core::Widget
enum  Type {
  UnknownType = 0 , BoxType = 10 , ButtonType = 20 , CheckboxType = 30 ,
  ColumnViewType = 40 , ComboBoxType = 50 , ColorWellType = 60 , CustomType = 70 ,
  DividerType = 80 , HierarchicalColumnViewType = 85 , HierarchicalViewType = 90 , LabelType = 100 ,
  ListViewType = 110 , PopupMenuType = 120 , RadioButtonType = 130 , SliderType = 140 ,
  StepperType = 150 , TextFieldType = 160 , TextViewType = 170 , WebViewType = 180
}
 Supported widget types.
 

Public Member Functions

 TextView ()
 Constructs an empty TextView object.
 
 TextView (const TextView &view_)
 Constructs a new TextView object from an existing TextView object (copy constructor)
 
 TextView (const Rect &frame_, const std::string &text_, const bool edit_=true)
 Constructs a text view, which can be editable or read-only.
 
virtual ~TextView ()
 TextView destructor.
 
virtual TextViewoperator= (const TextView &rhs_)
 Allows one TextView object to be assigned from another.
 
virtual TextViewclone () const
 Convenience method to clone a TextView object on the heap.
 
virtual TextViewduplicate () const
 Convenience method to duplicate a TextView object, creating a new and identical UI element to the target (but not belonging to the same containing window)
 
virtual bool editable () const
 Gets whether the text view is read-only.
 
virtual Alignment alignment () const
 Gets the current alignment of the text view.
 
virtual void setAlignment (const Alignment alignment_)
 Sets the current alignment of the text view.
 
virtual bool bold () const
 Gets whether the text is bold.
 
virtual void setBold (const bool bold_)
 Sets the font weight.
 
virtual bool italic () const
 Gets whether the text is italicized.
 
virtual void setItalic (const bool italic_)
 Sets the font style.
 
virtual std::unique_ptr< Labellabel () const
 If the target text view has been associated with a label, this gets said label.
 
virtual void setLabel (Label &label_)
 Sets the label that, when clicked, will focus the target text view.
 
virtual void removeLabel ()
 Removes the label that, when clicked, would have focused the target text view.
 
virtual bool selectionRange (uint32_t &pos__, uint32_t &len__) const
 Gets the selection range of the text in the view, if any, in UTF-8.
 
virtual void setSelectionRange (const uint32_t pos_, const uint32_t len_)
 Sets the selection range of the text in the view, in UTF-8 (and focuses it)
 
virtual bool selectionRangeUTF32 (uint32_t &pos__, uint32_t &len__) const
 Gets the selection range of the text in the view, if any, in UTF-32.
 
virtual void setSelectionRangeUTF32 (const uint32_t pos_, const uint32_t len_)
 Sets the selection range of the text in the view, in UTF-32 (and focuses it)
 
virtual std::string lastCharTyped () const
 Gets the last character typed into the view.
 
virtual void valueChanging ()
 Simulates the value of the text view changing.
 
virtual Callback *const valueChangingCallback () const
 Gets the value changing callback for the text view.
 
virtual void setValueChangingCallback (const Callback &callback_)
 Sets the value changing callback.
 
virtual void valueChanged ()
 Simulates the text view having its value changed.
 
virtual Callback *const valueChangedCallback () const
 Gets the value changed callback for the text view.
 
virtual void setValueChangedCallback (const Callback &callback_)
 Sets the value changed callback.
 
- Public Member Functions inherited from hdi::core::Widget
virtual ~Widget ()
 Destructs a Widget.
 
virtual Widgetclone () const =0
 Convenience method to clone a Widget object in memory, taking its subclass type into account.
 
virtual Widgetduplicate () const =0
 Convenience method to duplicate a Widget object, creating a new and identical UI element to the target (but not belonging to the same containing window)
 
virtual PlatformWidgetPtr platformWidget () const
 Gets the platform-specific widget, around which the target object is wrapped.
 
virtual bool isEmpty () const
 Gets whether the target Widget object is empty (constructed with the default ctor)
 
virtual bool operator== (const Widget &rhs_) const
 Tests whether a given Widget object is the same as another.
 
virtual bool operator!= (const Widget &rhs_) const
 Tests whether a given Widget object is not the same as another.
 
virtual Type type () const
 Gets the type of the widget.
 
virtual Window *const window () const
 Gets the parent window of the widget.
 
virtual Rect frame () const
 Gets the widget frame.
 
virtual void setFrame (const Rect &frame_)
 Sets the widget frame.
 
virtual void offset (const double x_, const double y_)
 Offsets the widget from its current location by the given amounts, in 1x resolution coordinates.
 
virtual std::string text () const
 Gets the current text value of the widget.
 
virtual void setText (const std::string &text_)
 Sets the current text value of the widget.
 
virtual bool enabled ()
 Gets whether the widget is enabled.
 
virtual void setEnabled (const bool enable_)
 Enables or disables the widget.
 
virtual bool visible ()
 Gets whether the widget is visible.
 
virtual void setVisible (const bool visible_)
 Shows or hides the widget.
 
virtual void setOrigin (const Point &p_)
 Convenience method to set just the origin of the target widget's frame.
 
virtual void setSize (const Size &s_)
 Convenience method to set just the size of the target widget's frame.
 
virtual void setWidth (const double w_)
 Convenience method to set just the width of the target widget's frame.
 
virtual void setHeight (const double h_)
 Convenience method to set just the height of the target widget's frame.
 
virtual bool hasFocus () const
 Gets whether the widget currently has focus.
 
virtual void focus () const
 Forces the widget to have focus, taking it from any other focused widget of the same window.
 
virtual Callback *const focusCallback () const
 Gets the current focus callback for the widget.
 
virtual void setFocusCallback (const Callback &callback_)
 Sets the focus callback for the widget.
 
virtual void blur () const
 Removes focus from the widget.
 
virtual Callback *const blurCallback () const
 Gets the current blur callback for the widget.
 
virtual void setBlurCallback (const Callback &callback_)
 Sets the blur callback for the widget.
 
virtual std::string tooltip () const
 Gets the tool tip string for the widget.
 
virtual void setTooltip (const std::string &tip_)
 Sets the tool tip string for the widget.
 
virtual void update ()
 Force the widget to update (i.e. cause it to redraw)
 

Friends

class Label
 

Additional Inherited Members

- Static Public Member Functions inherited from hdi::core::Widget
static bool isCoreWidget (const PlatformWidgetPtr widget_)
 Gets whether the given platform widget is a hdi_core widget.
 
static std::unique_ptr< WidgetlastClickedWidget ()
 Gets the last widget that received a click event (either by the user or programmatically)
 
static std::unique_ptr< WidgetlastValueChangingWidget ()
 Gets the last widget that received a value changing event (either by the user or programmatically)
 
static std::unique_ptr< WidgetlastValueChangedWidget ()
 Gets the last widget that received a value changed event (either by the user or programmatically)
 
static std::unique_ptr< WidgetlastDropWidget ()
 Gets the last widget that received a drag-and-drop drop event (either by the user or programmatically)
 
static std::unique_ptr< WidgetlastPotentialReorderWidget ()
 Gets the last widget that received a potential-reorder event.
 
static std::unique_ptr< WidgetlastReorderWidget ()
 Gets the last widget that received a reorder event.
 
- Protected Member Functions inherited from hdi::core::Widget
void * _impl () const
 Internal use only.
 
 Widget ()
 Constructs an empty Widget object.
 
 Widget (const Widget &w_)
 Constructs a new Widget object from an existing Widget object (copy constructor)
 
 Widget (pui::Widget *&)
 Internal use only.
 
virtual Widgetoperator= (const Widget &)
 Internal use only.
 
- Protected Attributes inherited from hdi::core::Widget
void * _data
 Private implementation data.
 

Detailed Description

Text view widget, which allows the user to enter a large amount of arbitrary text (also useful for displaying large amounts of text in a read-only fashion)

Constructor & Destructor Documentation

◆ TextView() [1/3]

hdi::core::TextView::TextView ( )

Constructs an empty TextView object.

Author
GW
Date
07/2014
Note
To test if a TextView object is empty, call isEmpty() on it
Empty TextView objects do not relate to any actual UI widget; they are designed to be "receivers" of some other TextView object via the overloaded assignment operator. Empty TextView objects are useless until such time (though it is safe to call any of their methods).

◆ TextView() [2/3]

hdi::core::TextView::TextView ( const TextView view_)

Constructs a new TextView object from an existing TextView object (copy constructor)

Author
GW
Date
07/2014
Parameters
view_Existing TextView object

◆ TextView() [3/3]

hdi::core::TextView::TextView ( const Rect frame_,
const std::string &  text_,
const bool  edit_ = true 
)

Constructs a text view, which can be editable or read-only.

Author
GW
Date
07/2014
Parameters
frame_Frame for the text view, in 1x resolution coordinates
text_Default text in the view, as UTF-8
edit_Whether the text view is editable

◆ ~TextView()

virtual hdi::core::TextView::~TextView ( )
virtual

TextView destructor.

Author
GW
Date
07/2014

Member Function Documentation

◆ alignment()

virtual Alignment hdi::core::TextView::alignment ( ) const
virtual

Gets the current alignment of the text view.

Author
GW
Date
07/2014
Returns
Current text alignment

◆ bold()

virtual bool hdi::core::TextView::bold ( ) const
virtual

Gets whether the text is bold.

Author
GW
Date
07/2014
Returns
true if the text is bold, false otherwise

◆ clone()

virtual TextView * hdi::core::TextView::clone ( ) const
virtual

Convenience method to clone a TextView object on the heap.

Author
GW
Date
07/2014
Returns
A pointer to the new TextView object
Note
If you subclass TextView, you MUST overload this method yourself! If you don't and/or your clone() method does not return an instance of your TextView subclass, you will experience "object slicing" when adding the widget to a window.
Warning
The caller must manage the memory for the returned TextView object.

Implements hdi::core::Widget.

◆ duplicate()

virtual TextView * hdi::core::TextView::duplicate ( ) const
virtual

Convenience method to duplicate a TextView object, creating a new and identical UI element to the target (but not belonging to the same containing window)

Author
GW
Date
07/2014
Returns
A pointer to the new TextView object (and new UI element)
Warning
The caller must manage the memory for the returned TextView object.

Implements hdi::core::Widget.

◆ editable()

virtual bool hdi::core::TextView::editable ( ) const
virtual

Gets whether the text view is read-only.

Author
GW
Date
07/2014
Returns
true for editable or false for read-only

◆ italic()

virtual bool hdi::core::TextView::italic ( ) const
virtual

Gets whether the text is italicized.

Author
GW
Date
07/2014
Returns
true if the text is italicized, false otherwise

◆ label()

virtual std::unique_ptr< Label > hdi::core::TextView::label ( ) const
virtual

If the target text view has been associated with a label, this gets said label.

Author
GW
Date
07/2014
Returns
The label associated with the text view, or NULL for none

◆ lastCharTyped()

virtual std::string hdi::core::TextView::lastCharTyped ( ) const
virtual

Gets the last character typed into the view.

Author
GW
Date
07/2014
Returns
Last character typed, or "" if none
Note
The return value of this method is only valid when called from inside a value-changing or value-changed callback.

◆ operator=()

virtual TextView & hdi::core::TextView::operator= ( const TextView rhs_)
virtual

Allows one TextView object to be assigned from another.

Author
GW
Date
07/2014
Parameters
rhs_Righthand side of the = operator; the object to copy values from
Returns
The target TextView object, but with its value updated to match that of rhs_

◆ removeLabel()

virtual void hdi::core::TextView::removeLabel ( )
virtual

Removes the label that, when clicked, would have focused the target text view.

Author
GW
Date
07/2014

◆ selectionRange()

virtual bool hdi::core::TextView::selectionRange ( uint32_t &  pos__,
uint32_t &  len__ 
) const
virtual

Gets the selection range of the text in the view, if any, in UTF-8.

Author
GW
Date
03/2014
Parameters
pos__Return-by-reference for the starting position of the selection range
len__Return-by-reference for the length of the selection range
Returns
true if the view is focused and the selection range could be acquired, false otherwise
Warning
This method utilizes UTF-8 byte ranges, which can be useful in certain circumstances. If you require character ranges instead, use the UTF-32 version of this method.
Note
If len__ is zero then no text is selected, but pos__ indicates the position of the insertion point (text caret).

◆ selectionRangeUTF32()

virtual bool hdi::core::TextView::selectionRangeUTF32 ( uint32_t &  pos__,
uint32_t &  len__ 
) const
virtual

Gets the selection range of the text in the view, if any, in UTF-32.

Author
GW
Date
03/2014
Parameters
pos__Return-by-reference for the starting position of the selection range
len__Return-by-reference for the length of the selection range
Returns
true if the view is focused and the selection range could be acquired, false otherwise
Warning
This method utilizes UTF-32 character ranges, which can be useful in certain circumstances. If you require byte ranges instead, use the UTF-8 version of this method.
Note
If len__ is zero then no text is selected, but pos__ indicates the position of the insertion point (text caret).

◆ setAlignment()

virtual void hdi::core::TextView::setAlignment ( const Alignment  alignment_)
virtual

Sets the current alignment of the text view.

Author
GW
Date
07/2014
Parameters
alignment_New text alignment

◆ setBold()

virtual void hdi::core::TextView::setBold ( const bool  bold_)
virtual

Sets the font weight.

Author
GW
Date
07/2014
Parameters
bold_true for bold, false otherwise

◆ setItalic()

virtual void hdi::core::TextView::setItalic ( const bool  italic_)
virtual

Sets the font style.

Author
GW
Date
07/2014
Parameters
italic_true for italics, false otherwise

◆ setLabel()

virtual void hdi::core::TextView::setLabel ( Label label_)
virtual

Sets the label that, when clicked, will focus the target text view.

Author
GW
Date
07/2014
Parameters
label_New label for focusing the target text view
Note
If the label was previously linked with a text field, this will remove said link.

◆ setSelectionRange()

virtual void hdi::core::TextView::setSelectionRange ( const uint32_t  pos_,
const uint32_t  len_ 
)
virtual

Sets the selection range of the text in the view, in UTF-8 (and focuses it)

Author
GW
Date
03/2014
Parameters
pos_The starting position of the selection range
len_The length of the selection range
Warning
This method utilizes UTF-8 byte ranges, which can be useful in certain circumstances. If you require character ranges instead, use the UTF-32 version of this method.
Note
If len_ is zero then no text will be selected, but the insertion point (text caret) will be moved to the pos_ value.

◆ setSelectionRangeUTF32()

virtual void hdi::core::TextView::setSelectionRangeUTF32 ( const uint32_t  pos_,
const uint32_t  len_ 
)
virtual

Sets the selection range of the text in the view, in UTF-32 (and focuses it)

Author
GW
Date
03/2014
Parameters
pos_The starting position of the selection range
len_The length of the selection range
Warning
This method utilizes UTF-32 character ranges, which can be useful in certain circumstances. If you require byte ranges instead, use the UTF-8 version of this method.
Note
If len_ is zero then no text will be selected, but the insertion point (text caret) will be moved to the pos_ value.

◆ setValueChangedCallback()

virtual void hdi::core::TextView::setValueChangedCallback ( const Callback callback_)
virtual

Sets the value changed callback.

Author
GW
Date
07/2014
Parameters
callback_New callback for when the text view's value has changed

◆ setValueChangingCallback()

virtual void hdi::core::TextView::setValueChangingCallback ( const Callback callback_)
virtual

Sets the value changing callback.

Author
GW
Date
07/2014
Parameters
callback_New callback for when the text view's value is changing

◆ valueChanged()

virtual void hdi::core::TextView::valueChanged ( )
virtual

Simulates the text view having its value changed.

Author
GW
Date
07/2014

◆ valueChangedCallback()

virtual Callback *const hdi::core::TextView::valueChangedCallback ( ) const
virtual

Gets the value changed callback for the text view.

Author
GW
Date
07/2014
Returns
A pointer to the currently registered value changed callback

◆ valueChanging()

virtual void hdi::core::TextView::valueChanging ( )
virtual

Simulates the value of the text view changing.

Author
GW
Date
07/2014

◆ valueChangingCallback()

virtual Callback *const hdi::core::TextView::valueChangingCallback ( ) const
virtual

Gets the value changing callback for the text view.

Author
GW
Date
07/2014
Returns
A pointer to the currently registered value changing callback