Hot Door CORE  0.7.0
Adobe® Illustrator® Plug-in Library
Public Types | Public Member Functions | Friends | List of all members
hdi::core::TextField Class Reference

Text field widget, which allows the user to enter arbitrary text values. More...

#include <hdicoreTextField.h>

Inheritance diagram for hdi::core::TextField:
Inheritance graph
[legend]
Collaboration diagram for hdi::core::TextField:
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.
 
typedef std::auto_ptr< ImageIDsImageIDsAP
 

Public Member Functions

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

Friends

class Label
 

Additional Inherited Members

- Static Public Member Functions inherited from hdi::core::Widget
(static bool) + isCoreWidget
 Gets whether the given platform widget is a hdi_core widget. More...
 
(static std::auto_ptr< Widget >) + lastClickedWidget
 Gets the last widget that received a click event (either by the user or programmatically) More...
 
(static std::auto_ptr< Widget >) + lastValueChangingWidget
 Gets the last widget that received a value changing event (either by the user or programmatically) More...
 
(static std::auto_ptr< Widget >) + lastValueChangedWidget
 Gets the last widget that received a value changed event (either by the user or programmatically) More...
 
(static bool) + forceIdeographicFontSize
 Gets whether widgets should use an ideographically appropriate font size for widget text on Windows (whether or not the Illustrator locale dictates one should be used) More...
 
(static void) + setForceIdeographicFontSize
 Sets whether widgets should use an ideographically appropriate font size for widget text on Windows (whether or not the Illustrator locale dictates one should be used) More...
 
- Protected Member Functions inherited from hdi::core::Widget
(void *) - _impl
 Internal use only. More...
 
() - Widget
 Constructs an empty Widget object. More...
 
() - Widget
 Constructs a new Widget object from an existing Widget object (copy constructor) More...
 
() - Widget
 Internal use only. More...
 
(virtual Widget &) - operator=
 Internal use only. More...
 
- Protected Attributes inherited from hdi::core::Widget
void * _data
 Private implementation data.
 

Detailed Description

Text field widget, which allows the user to enter arbitrary text values.

Constructor & Destructor Documentation

hdi::core::TextField::TextField ( )

Constructs an empty TextField object.

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

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

Author
GW
Date
09/2013
Parameters
field_Existing TextField object
hdi::core::TextField::TextField ( const Point loc_,
const std::string &  text_,
const double  width_ 
)

Constructs an editable text field (single line only)

Author
GW
Date
09/2013
Parameters
loc_Position of the field
text_Default text in the field, as UTF-8
width_Width of the field
virtual hdi::core::TextField::~TextField ( )
virtual

TextField destructor.

Author
GW
Date
09/2013

Member Function Documentation

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

Gets the current alignment of the text field.

Author
GW
Date
09/2013
Returns
Current text alignment
virtual bool hdi::core::TextField::bold ( ) const
virtual

Gets whether the text is bold.

Author
GW
Date
09/2013
Returns
true if the text is bold, false otherwise
virtual TextField* hdi::core::TextField::clone ( ) const
virtual

Convenience method to clone a TextField object on the heap.

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

Implements hdi::core::Widget.

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

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

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

Implements hdi::core::Widget.

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

Gets whether the text is italicized.

Author
GW
Date
09/2013
Returns
true if the text is italicized, false otherwise
virtual std::auto_ptr<Label> hdi::core::TextField::label ( ) const
virtual

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

Author
GW
Date
04/2014
Returns
The label associated with the text field, or NULL for none
virtual std::string hdi::core::TextField::lastCharTyped ( ) const
virtual

Gets the last character typed into the field.

Author
GW
Date
09/2013
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 (and it's very useful to determine if the user pressed the enter or return key)
virtual TextField& hdi::core::TextField::operator= ( const TextField rhs_)
virtual

Allows one TextField object to be assigned from another.

Author
GW
Date
10/2013
Parameters
rhs_Righthand side of the = operator; the object to copy values from
Returns
The target TextField object, but with its value updated to match that of rhs_
virtual void hdi::core::TextField::removeLabel ( )
virtual

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

Author
GW
Date
04/2014
virtual bool hdi::core::TextField::selectionRange ( uint32_t &  pos__,
uint32_t &  len__ 
) const
virtual

Gets the selection range of the text in the field, if any.

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 field is focused and the selection range could be acquired, false otherwise
Note
If len__ is zero then no text is selected, but pos__ indicates the position of the insertion point (text caret).
virtual void hdi::core::TextField::setAlignment ( const Alignment  alignment_)
virtual

Sets the current alignment of the text field.

Author
GW
Date
09/2013
Parameters
alignment_New text alignment
virtual void hdi::core::TextField::setBold ( const bool  bold_)
virtual

Sets the font weight.

Author
GW
Date
09/2013
Parameters
bold_true for bold, false otherwise
virtual void hdi::core::TextField::setItalic ( const bool  italic_)
virtual

Sets the font style.

Author
GW
Date
09/2013
Parameters
italic_true for italics, false otherwise
virtual void hdi::core::TextField::setLabel ( Label label_)
virtual

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

Author
GW
Date
04/2014
Parameters
label_New label for focusing the target text field
Note
If the label was previously linked with a text view, this will remove said link.
virtual void hdi::core::TextField::setSelectionRange ( const uint32_t  pos_,
const uint32_t  len_ 
)
virtual

Sets the selection range of the text in the field (and focuses it)

Author
GW
Date
03/2014
Parameters
pos_The starting position of the selection range
len_The length of the selection range
Note
If len_ is zero then no text will be selected, but the insertion point (text caret) will be moved to the pos_ value.
virtual void hdi::core::TextField::setValueChangedCallback ( const Callback callback_)
virtual

Sets the value changed callback.

Author
GW
Date
09/2013
Parameters
callback_New callback for when the text field's value has changed
virtual void hdi::core::TextField::setValueChangingCallback ( const Callback callback_)
virtual

Sets the value changing callback.

Author
GW
Date
09/2013
Parameters
callback_New callback for when the text field's value is changing
virtual void hdi::core::TextField::valueChanged ( )
virtual

Simulates the text field having its value changed.

Author
GW
Date
09/2013
virtual Callback* const hdi::core::TextField::valueChangedCallback ( ) const
virtual

Gets the value changed callback for the text field.

Author
GW
Date
09/2013
Returns
A pointer to the currently registered value changed callback
virtual void hdi::core::TextField::valueChanging ( )
virtual

Simulates the value of the text field changing.

Author
GW
Date
09/2013
virtual Callback* const hdi::core::TextField::valueChangingCallback ( ) const
virtual

Gets the value changing callback for the text field.

Author
GW
Date
09/2013
Returns
A pointer to the currently registered value changing callback