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

Combo box widget, which consists of a text-field for custom input and a popup menu for preset values. More...

#include <hdicoreComboBox.h>

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

Public Types

enum  Alignment { UnknownAlignment = 0, LeftAlignment = 10, CenterAlignment = 20, RightAlignment = 30 }
 Text alignment options.
 
typedef std::vector< ListEntryEntryVector
 
- 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

 ComboBox ()
 Constructs an empty ComboBox object. More...
 
 ComboBox (const ComboBox &combobox_)
 Constructs a new ComboBox object from an existing ComboBox object (copy constructor) More...
 
 ComboBox (const Point &loc_, const double width_)
 Constructs a combo box. More...
 
 ComboBox (const Point &loc_, const double width_, const EntryVector &entries_, const int32_t initialIndex_)
 Constructs a combo box. More...
 
virtual ~ComboBox ()
 ComboBox destructor. More...
 
virtual ComboBoxoperator= (const ComboBox &rhs_)
 Allows one ComboBox object to be assigned from another. More...
 
virtual ComboBoxclone () const
 Convenience method to clone a ComboBox object on the heap. More...
 
virtual ComboBoxduplicate () const
 Convenience method to duplicate a ComboBox 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 int32_t currentIndex () const
 Gets the index of the currently selected entry. More...
 
virtual bool setCurrentIndex (const int32_t index_)
 Sets the currently selected entry by index. More...
 
virtual std::string currentID () const
 Gets the ID of the currently selected entry. More...
 
virtual bool setCurrentID (const std::string &id_)
 Sets the currently selected entry by ID. More...
 
virtual std::string currentValue () const
 Gets the string value of the currently selected entry (or the custom value, if the user has entered one) More...
 
virtual bool setCurrentValue (const std::string &value_)
 Sets the currently selected entry by string value. More...
 
virtual std::auto_ptr< ListEntrycurrentEntry () const
 Gets the current entry object. More...
 
virtual bool currentUserData (void *&data__) const
 Gets the user data for the current entry. More...
 
virtual const std::vector< ListEntry * > *const entries () const
 Gets the entries vector. More...
 
virtual bool hasEntry (const std::string &id_) const
 Gets whether the entries vector already contains an entry, based on its ID. More...
 
virtual void setEntries (const EntryVector &entries_)
 Allows the entries in an combo box to be changed out entirely. More...
 
virtual bool pushEntry (const ListEntry &entry_)
 Pushes an entry onto the list (i.e. at the end) More...
 
virtual bool popEntry (ListEntry &entry__)
 Pops an entry off the list (i.e. from the end) More...
 
virtual bool insertEntry (const std::string &id_, const ListEntry &entry_)
 Inserts an entry into the list of entries at a given position. More...
 
virtual bool removeEntry (const std::string &id_, ListEntry &entry__)
 Removes a specific entry from the list of entries. More...
 
virtual void clearEntries ()
 Clears all entries contained by the widget. More...
 
virtual void valueChanging ()
 Simulates the value of the combo box changing. More...
 
virtual Callback *const valueChangingCallback () const
 Gets the value changing callback for the combo box. More...
 
virtual void setValueChangingCallback (const Callback &callback_)
 Sets the value changing callback. More...
 
virtual void valueChanged ()
 Simulates the combo box having its value changed. More...
 
virtual Callback *const valueChangedCallback () const
 Gets the value changed callback for the combo box. More...
 
virtual void setValueChangedCallback (const Callback &callback_)
 Sets the value changed callback. More...
 
virtual void update ()
 Force the combo box to update its entries. 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...
 

Static Public Member Functions

static ComboBox ComboBoxWithID (const Point &loc_, const double width_, const EntryVector &entries_, const std::string &initialID_)
 Named constructor for a combo box with an initial ID selected. More...
 
static ComboBox ComboBoxWithValue (const Point &loc_, const double width_, const EntryVector &entries_, const std::string &value_)
 Named constructor for a combo box with an initial string value (whether it's in the entries_ argument or not) 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...
 

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

Combo box widget, which consists of a text-field for custom input and a popup menu for preset values.

Constructor & Destructor Documentation

hdi::core::ComboBox::ComboBox ( )

Constructs an empty ComboBox object.

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

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

Author
GW
Date
09/2013
Parameters
combobox_Existing ComboBox object
hdi::core::ComboBox::ComboBox ( const Point loc_,
const double  width_ 
)

Constructs a combo box.

Author
GW
Date
09/2013
Parameters
loc_Top-left location of the combo box
width_Width of the combo box
hdi::core::ComboBox::ComboBox ( const Point loc_,
const double  width_,
const EntryVector &  entries_,
const int32_t  initialIndex_ 
)

Constructs a combo box.

Author
GW
Date
09/2013
Parameters
loc_Top-left location of the combo box
width_Width of the combo box
entries_Vector of string entries
initialIndex_Initial index to select (must exist in entries_, and must not be a separator)
virtual hdi::core::ComboBox::~ComboBox ( )
virtual

ComboBox destructor.

Author
GW
Date
09/2013

Member Function Documentation

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

Gets the current alignment of the text field.

Author
GW
Date
09/2013
Returns
Current text alignment
virtual bool hdi::core::ComboBox::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::ComboBox::clearEntries ( )
virtual

Clears all entries contained by the widget.

Author
GW
Date
09/2013
virtual ComboBox* hdi::core::ComboBox::clone ( ) const
virtual

Convenience method to clone a ComboBox object on the heap.

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

Implements hdi::core::Widget.

static ComboBox hdi::core::ComboBox::ComboBoxWithID ( const Point loc_,
const double  width_,
const EntryVector &  entries_,
const std::string &  initialID_ 
)
static

Named constructor for a combo box with an initial ID selected.

Author
GW
Date
09/2013
Parameters
loc_Top-left location of the combo box
width_Width of the combo box
entries_Vector of string entries
initialID_Initial ID to select (must exist in entries_, and must not be a separator), as UTF-8
Returns
A ComboBox object with the specified entries and initially selected entry
static ComboBox hdi::core::ComboBox::ComboBoxWithValue ( const Point loc_,
const double  width_,
const EntryVector &  entries_,
const std::string &  value_ 
)
static

Named constructor for a combo box with an initial string value (whether it's in the entries_ argument or not)

Author
GW
Date
09/2013
Parameters
loc_Top-left location of the combo box
width_Width of the combo box
entries_Vector of string entries
value_Initial value of combo box, as UTF-8
Returns
A ComboBox object with the specified entries and initially selected entry
virtual std::auto_ptr<ListEntry> hdi::core::ComboBox::currentEntry ( ) const
virtual

Gets the current entry object.

Author
GW
Date
09/2013
Returns
The ListEntry object for the currently selected item, or NULL for none (or a custom value)
virtual std::string hdi::core::ComboBox::currentID ( ) const
virtual

Gets the ID of the currently selected entry.

Author
GW
Date
09/2013
Returns
UTF-8 ID string of the currently selected entry, or "" if no entry is currently selected
virtual int32_t hdi::core::ComboBox::currentIndex ( ) const
virtual

Gets the index of the currently selected entry.

Author
GW
Date
09/2013
Returns
The index number of the currently selected entry, or -1 if no entry is selected (the combo box has a custom value)
virtual bool hdi::core::ComboBox::currentUserData ( void *&  data__) const
virtual

Gets the user data for the current entry.

Author
GW
Date
09/2013
Parameters
data__Return-by-reference for the current user data; ignore if false is returned
Returns
true if the method succeeds in acquiring the contained entry data, false otherwise
virtual std::string hdi::core::ComboBox::currentValue ( ) const
virtual

Gets the string value of the currently selected entry (or the custom value, if the user has entered one)

Author
GW
Date
09/2013
Returns
Value string of the combo box, as UTF-8
virtual ComboBox* hdi::core::ComboBox::duplicate ( ) const
virtual

Convenience method to duplicate a ComboBox 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 ComboBox object (and new UI element)
Note
The new combo box will have copies of all entries present in the target, but be aware that copies of the user data in each entry cannot be made (because they are simply void* variables). As such, the user data in the copies will simply be set to NULL by this method.
Warning
The caller must manage the memory for the returned ComboBox object.

Implements hdi::core::Widget.

virtual const std::vector< ListEntry* >* const hdi::core::ComboBox::entries ( ) const
virtual

Gets the entries vector.

Author
GW
Date
09/2013
Returns
The entries vector for the target widget, containing all currently known entries
Note
Modifying any value in an entry will not cause the widget to update automatically; call update() to update the UI for changes made to entry data.
virtual bool hdi::core::ComboBox::hasEntry ( const std::string &  id_) const
virtual

Gets whether the entries vector already contains an entry, based on its ID.

Author
GW
Date
09/2013
Parameters
id_ID of the entry to search for, as UTF-8
Returns
true if the widget already contains an entry with the given ID, false otherwise
virtual bool hdi::core::ComboBox::insertEntry ( const std::string &  id_,
const ListEntry entry_ 
)
virtual

Inserts an entry into the list of entries at a given position.

Author
GW
Date
09/2013
Parameters
id_Existing entry immediately before the position at which the new entry will be inserted, as UTF-8
entry_New entry object to insert into the list of entries
Returns
true if the entry is inserted successfully, false otherwise
Note
If the entry for id_ doesn't exist in the list, the new entry will not be inserted.
If the passed entry is already present in the list (based on its ID), it will not be inserted.
virtual bool hdi::core::ComboBox::italic ( ) const
virtual

Gets whether the text is italicized.

Author
GW
Date
09/2013
Returns
true if the text is italicized, false otherwise
virtual ComboBox& hdi::core::ComboBox::operator= ( const ComboBox rhs_)
virtual

Allows one ComboBox 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 ComboBox object, but with its value updated to match that of rhs_
virtual bool hdi::core::ComboBox::popEntry ( ListEntry entry__)
virtual

Pops an entry off the list (i.e. from the end)

Author
GW
Date
09/2013
Parameters
entry__Return-by-reference for the popped entry, so the caller can inspect which one was removed
Returns
true if an entry was popped and acquired, false otherwise
virtual bool hdi::core::ComboBox::pushEntry ( const ListEntry entry_)
virtual

Pushes an entry onto the list (i.e. at the end)

Author
GW
Date
09/2013
Parameters
entry_New entry object to insert into the list of entries
Returns
true if the entry is pushed successfully, false otherwise
Note
If the entry is already present in the list (based on its ID), it will not be inserted.
virtual bool hdi::core::ComboBox::removeEntry ( const std::string &  id_,
ListEntry entry__ 
)
virtual

Removes a specific entry from the list of entries.

Author
GW
Date
09/2013
Parameters
id_ID of the entry to be removed, as UTF-8
entry__Return-by-reference for the removed entry, so the caller can inspect which one was removed
Returns
true if an entry was removed and acquired, false otherwise
virtual void hdi::core::ComboBox::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::ComboBox::setBold ( const bool  bold_)
virtual

Sets the font weight.

Author
GW
Date
09/2013
Parameters
bold_true for bold, false otherwise
virtual bool hdi::core::ComboBox::setCurrentID ( const std::string &  id_)
virtual

Sets the currently selected entry by ID.

Author
GW
Date
09/2013
Parameters
id_ID of new value to select in the combo box, as UTF-8
Returns
true if the entry with the given ID was selected, or false if invalid
virtual bool hdi::core::ComboBox::setCurrentIndex ( const int32_t  index_)
virtual

Sets the currently selected entry by index.

Author
GW
Date
09/2013
Parameters
index_New index to select
Returns
true if the selection occurred successfully, or false if e.g. out of range
virtual bool hdi::core::ComboBox::setCurrentValue ( const std::string &  value_)
virtual

Sets the currently selected entry by string value.

Author
GW
Date
09/2013
Parameters
value_New UTF-8 value to set for the combo box, and (if the same as a predefined value from the popup portion of the combo box) the entry to select
Returns
true if the value was set, false otherwise
virtual void hdi::core::ComboBox::setEntries ( const EntryVector &  entries_)
virtual

Allows the entries in an combo box to be changed out entirely.

Author
GW
Date
09/2013
Parameters
entries_New set of entries that the widget will contain
virtual void hdi::core::ComboBox::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::ComboBox::setValueChangedCallback ( const Callback callback_)
virtual

Sets the value changed callback.

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

Sets the value changing callback.

Author
GW
Date
09/2013
Parameters
callback_New callback for when the combo box's value is changing
virtual void hdi::core::ComboBox::update ( )
virtual

Force the combo box to update its entries.

Author
GW
Date
12/2013

Reimplemented from hdi::core::Widget.

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

Simulates the combo box having its value changed.

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

Gets the value changed callback for the combo box.

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

Simulates the value of the combo box changing.

Author
GW
Date
01/2017
virtual Callback* const hdi::core::ComboBox::valueChangingCallback ( ) const
virtual

Gets the value changing callback for the combo box.

Author
GW
Date
01/2017
Returns
A pointer to the currently registered value changing callback