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

Label widget, for simply displaying text or images inside a window. More...

#include <hdicoreLabel.h>

Inheritance diagram for hdi::core::Label:
Inheritance graph
[legend]
Collaboration diagram for hdi::core::Label:
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

 Label ()
 Constructs an empty Label object. More...
 
 Label (const Label &label_)
 Constructs a new Label object from an existing Label object (copy constructor) More...
 
 Label (const Point &loc_, const std::string &title_, const WindowType containerType_)
 Constructs a static text label. More...
 
 Label (const Point &loc_, const std::string &title_, const double width_)
 Constructs a static text label. More...
 
 Label (const Rect &frame_, const ImageIDs &imageIDs_)
 Constructs a static image label. More...
 
virtual ~Label ()
 Label destructor. More...
 
virtual Labeloperator= (const Label &rhs_)
 Allows one Label object to be assigned from another. More...
 
virtual Labelclone () const
 Convenience method to clone a Label object on the heap. More...
 
virtual Labelduplicate () const
 Convenience method to duplicate a Label object, creating a new and identical UI element to the target (but not belonging to the same containing window) More...
 
virtual std::string text () const
 Gets the current text value of the label. More...
 
virtual void setText (const std::string &text_)
 Sets the current text value of the label. More...
 
virtual Alignment alignment () const
 Gets the current alignment of the label. More...
 
virtual void setAlignment (const Alignment alignment_)
 Sets the current alignment of the label. 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< TextFieldtextField () const
 Gets the text field that the target label has been associated with. More...
 
virtual void setTextField (TextField &field_)
 Sets the text field that should be focused when the label is clicked. More...
 
virtual void removeTextField ()
 Removes the text field that should be focused when the label is clicked. More...
 
virtual std::auto_ptr< TextViewtextView () const
 Gets the text view that the target label has been associated with. More...
 
virtual void setTextView (TextView &view_)
 Sets the text view that should be focused when the label is clicked. More...
 
virtual void removeTextView ()
 Removes the text view that should be focused when the label is clicked. More...
 
virtual std::auto_ptr< PanellinkedPanel () const
 Gets the panel that the target label has been associated with. More...
 
virtual void setLinkedPanel (const Panel &p_)
 Sets the panel that should be shown when the label is clicked. More...
 
virtual void removeLinkedPanel ()
 Removes the panel that should be shown when the label is clicked. More...
 
virtual void click ()
 Simulates a click on the label. More...
 
virtual Callback *const clickCallback () const
 Gets the current click callback for the label. More...
 
virtual void setClickCallback (const Callback &callback_)
 Sets the click callback for the label. More...
 
virtual void doubleClick ()
 Simulates a double-click on the label. More...
 
virtual Callback *const doubleClickCallback () const
 Gets the current double-click callback for the label. More...
 
virtual void setDoubleClickCallback (const Callback &callback_)
 Sets the double-click callback for the label. More...
 
virtual ImageIDs imageIDs () const
 Gets the PNGI resource IDs of the widget. More...
 
virtual void setImageIDs (const ImageIDs &ids_)
 Sets the PNGI resource IDs of the widget. More...
 
virtual bool backgroundRollover () const
 Gets whether the background of the label should change in appearance upon mouse-over. More...
 
virtual void setBackgroundRollover (const bool ro_)
 Sets whether the background of the label should change in appearance upon mouse-over. 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 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...
 

Static Public Member Functions

static double idealHeight (const std::string &text_, const double width_, const WindowType containerType_)
 Gets the ideal height for a label, given its value and a known width. More...
 
static double idealWidth (const std::string &text_, const double height_, const WindowType containerType_)
 Gets the ideal width for a label, given its value and a known height. More...
 
- 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...
 

Friends

class TextField
 
class TextView
 

Additional Inherited Members

- 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

Label widget, for simply displaying text or images inside a window.

Constructor & Destructor Documentation

hdi::core::Label::Label ( )

Constructs an empty Label object.

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

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

Author
GW
Date
09/2013
Parameters
label_Existing Label object
hdi::core::Label::Label ( const Point loc_,
const std::string &  title_,
const WindowType  containerType_ 
)

Constructs a static text label.

Author
GW
Date
09/2013
Parameters
loc_Top-left location of the label
title_Title of the label, as UTF-8
containerType_Type of window that will contain the widget
Note
The containerType_ argument is necessary for this constructor because it computes the ideal width for the new label from the initial label title string. However, Illustrator uses different font sizes for different types of windows, and we can't correctly compute the width without knowing what font size to use.
hdi::core::Label::Label ( const Point loc_,
const std::string &  title_,
const double  width_ 
)

Constructs a static text label.

Author
GW
Date
09/2013
Parameters
loc_Top-left location of the label
title_Title of the label, as UTF-8
width_Width of the label
hdi::core::Label::Label ( const Rect frame_,
const ImageIDs imageIDs_ 
)

Constructs a static image label.

Author
GW
Date
09/2013
Parameters
frame_Frame of the label
imageIDs_PNGI resource IDs
virtual hdi::core::Label::~Label ( )
virtual

Label destructor.

Author
GW
Date
09/2013

Member Function Documentation

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

Gets the current alignment of the label.

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

Gets whether the background of the label should change in appearance upon mouse-over.

Author
GW
Date
03/2015
Returns
true for showing a rollover effect, false otherwise
virtual bool hdi::core::Label::bold ( ) const
virtual

Gets whether the text is bold.

Author
GW
Date
09/2013
Returns
true if the text is bold, false otherwise
virtual void hdi::core::Label::click ( )
virtual

Simulates a click on the label.

Author
GW
Date
09/2013
virtual Callback* const hdi::core::Label::clickCallback ( ) const
virtual

Gets the current click callback for the label.

Author
GW
Date
09/2013
Returns
A pointer to the currently registered click callback
virtual Label* hdi::core::Label::clone ( ) const
virtual

Convenience method to clone a Label object on the heap.

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

Implements hdi::core::Widget.

virtual void hdi::core::Label::doubleClick ( )
virtual

Simulates a double-click on the label.

Author
GW
Date
03/2015
virtual Callback* const hdi::core::Label::doubleClickCallback ( ) const
virtual

Gets the current double-click callback for the label.

Author
GW
Date
03/2015
Returns
A pointer to the currently registered double-click callback
virtual Label* hdi::core::Label::duplicate ( ) const
virtual

Convenience method to duplicate a Label 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 Label object (and new UI element)
Warning
The caller must manage the memory for the returned Label object.

Implements hdi::core::Widget.

static double hdi::core::Label::idealHeight ( const std::string &  text_,
const double  width_,
const WindowType  containerType_ 
)
static

Gets the ideal height for a label, given its value and a known width.

Author
GW
Date
09/2013
Parameters
text_Value for the label, as UTF-8
width_Known width into which the label must fit
containerType_Type of window for the widget (because font sizes differ)
Returns
Ideal height for the given text to fit into the given width
static double hdi::core::Label::idealWidth ( const std::string &  text_,
const double  height_,
const WindowType  containerType_ 
)
static

Gets the ideal width for a label, given its value and a known height.

Author
GW
Date
09/2013
Parameters
text_Value for the label, as UTF-8
height_Known height into which the label must fit
containerType_Type of window for the widget (because font sizes differ)
Returns
Ideal width for the given text to fit into the given height
virtual ImageIDs hdi::core::Label::imageIDs ( ) const
virtual

Gets the PNGI resource IDs of the widget.

Author
GW
Date
03/2015
Returns
The IDs of the PNGI image resources
virtual bool hdi::core::Label::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<Panel> hdi::core::Label::linkedPanel ( ) const
virtual

Gets the panel that the target label has been associated with.

Author
GW
Date
12/2015
Returns
Panel that will be shown in a popdown borderless fashion when the label is clicked
virtual Label& hdi::core::Label::operator= ( const Label rhs_)
virtual

Allows one Label 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 Label object, but with its value updated to match that of rhs_
virtual void hdi::core::Label::removeLinkedPanel ( )
virtual

Removes the panel that should be shown when the label is clicked.

Author
GW
Date
12/2015
virtual void hdi::core::Label::removeTextField ( )
virtual

Removes the text field that should be focused when the label is clicked.

Author
GW
Date
04/2014
virtual void hdi::core::Label::removeTextView ( )
virtual

Removes the text view that should be focused when the label is clicked.

Author
GW
Date
04/2014
virtual void hdi::core::Label::setAlignment ( const Alignment  alignment_)
virtual

Sets the current alignment of the label.

Author
GW
Date
09/2013
Parameters
alignment_New text alignment
virtual void hdi::core::Label::setBackgroundRollover ( const bool  ro_)
virtual

Sets whether the background of the label should change in appearance upon mouse-over.

Author
GW
Date
03/2015
Parameters
ro_true to show a rollover effect, false otherwise
virtual void hdi::core::Label::setBold ( const bool  bold_)
virtual

Sets the font weight.

Author
GW
Date
09/2013
Parameters
bold_true for bold, false otherwise
Note
If the widget is an image label, the function will bail early
virtual void hdi::core::Label::setClickCallback ( const Callback callback_)
virtual

Sets the click callback for the label.

Author
GW
Date
09/2013
Parameters
callback_New callback for when the label is clicked
virtual void hdi::core::Label::setDoubleClickCallback ( const Callback callback_)
virtual

Sets the double-click callback for the label.

Author
GW
Date
03/2015
Parameters
callback_New callback for when the label is double-clicked
virtual void hdi::core::Label::setImageIDs ( const ImageIDs ids_)
virtual

Sets the PNGI resource IDs of the widget.

Author
GW
Date
03/2015
Parameters
ids_New PNGI image resource IDs
virtual void hdi::core::Label::setItalic ( const bool  italic_)
virtual

Sets the font style.

Author
GW
Date
09/2013
Parameters
italic_true for italics, false otherwise
Note
If the widget is an image label, the function will bail early
virtual void hdi::core::Label::setLinkedPanel ( const Panel p_)
virtual

Sets the panel that should be shown when the label is clicked.

Author
GW
Date
12/2015
Parameters
p_New panel to show in a popdown borderless fashion when the label is clicked
Note
Will remove any previously linked text field or text view.
virtual void hdi::core::Label::setText ( const std::string &  text_)
virtual

Sets the current text value of the label.

Author
GW
Date
09/2013
Parameters
text_New text value, as UTF-8
Note
If the widget is an image label, the function will bail early

Reimplemented from hdi::core::Widget.

virtual void hdi::core::Label::setTextField ( TextField field_)
virtual

Sets the text field that should be focused when the label is clicked.

Author
GW
Date
04/2014
Parameters
field_New field to focus when the label is clicked
Note
Will remove any previously linked text view or panel.
virtual void hdi::core::Label::setTextView ( TextView view_)
virtual

Sets the text view that should be focused when the label is clicked.

Author
GW
Date
04/2014
Parameters
view_New view to focus when the label is clicked
Note
Will remove any previously linked text field or panel.
virtual std::string hdi::core::Label::text ( ) const
virtual

Gets the current text value of the label.

Author
GW
Date
09/2013
Returns
The current text value, as UTF-8
Note
If the widget is an image label, this returns ""

Reimplemented from hdi::core::Widget.

virtual std::auto_ptr<TextField> hdi::core::Label::textField ( ) const
virtual

Gets the text field that the target label has been associated with.

Author
GW
Date
04/2014
Returns
Text field that will be focused when the label is clicked
virtual std::auto_ptr<TextView> hdi::core::Label::textView ( ) const
virtual

Gets the text view that the target label has been associated with.

Author
GW
Date
04/2014
Returns
Text view that will be focused when the label is clicked