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

Column view widget, much like a list view but allowing for entries with multiple columns. More...

#include <hdicoreColumnView.h>

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

Public Types

typedef std::vector< ColumnEntryEntryVector
 
typedef std::vector< std::string > ColumnNameVector
 
typedef std::vector< double > ColumnWidthVector
 
- 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

 ColumnView ()
 Constructs an empty ColumnView object. More...
 
 ColumnView (const ColumnView &colView_)
 Constructs a new ColumnView object from an existing ColumnView object (copy constructor) More...
 
 ColumnView (const Rect &frame_, const uint16_t numCols_)
 Constructs a column view with a frame only, no contents. More...
 
 ColumnView (const Rect &frame_, const ColumnNameVector &colNames_)
 Constructs a column view with a frame only, no contents. More...
 
 ColumnView (const Rect &frame_, const uint16_t numCols_, const EntryVector &entries_, const int32_t index_)
 Constructs a column view. More...
 
 ColumnView (const Rect &frame_, const ColumnNameVector &colNames_, const EntryVector &entries_, const int32_t index_)
 Constructs a column view. More...
 
 ColumnView (const Rect &frame_, const uint16_t numCols_, const EntryVector &entries_, const std::string &initialID_)
 Constructor for a column view with an initial ID selected. More...
 
 ColumnView (const Rect &frame_, const ColumnNameVector &colNames_, const EntryVector &entries_, const std::string &initialID_)
 Constructor for a column view with an initial ID selected. More...
 
virtual ColumnViewoperator= (const ColumnView &rhs_)
 Allows one ColumnView object to be assigned from another. More...
 
virtual ~ColumnView ()
 ColumnView destructor. More...
 
virtual ColumnViewclone () const
 Convenience method to clone a ColumnView object on the heap. More...
 
virtual ColumnViewduplicate () const
 Convenience method to duplicate a ColumnView object, creating a new and identical UI element to the target (but not belonging to the same containing window) More...
 
virtual void deselectAll ()
 Deselects all currently selected entries in the list. More...
 
virtual std::string text () const
 Gets the current text value of the list. More...
 
virtual void setText (const std::string &)
 Does nothing. 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::auto_ptr< ColumnEntrycurrentEntry () const
 Gets the current entry object. More...
 
virtual const std::vector< ColumnEntry *> *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 a column view to be changed out entirely. More...
 
virtual void clearEntries ()
 Clears all entries contained by the widget. More...
 
virtual bool hasHeader () const
 Gets whether the widget has a header component to show the names of the columns. More...
 
virtual uint16_t columnCount () const
 Gets the number of columns in the widget. More...
 
virtual ColumnNameVector columnNames () const
 Gets the column names vector. More...
 
virtual ColumnWidthVector columnWidths () const
 Gets the widths of each column in the view. More...
 
virtual void setColumnWidths (const ColumnWidthVector &widths_)
 Sets the widths of each column in the view. More...
 
virtual bool columnWidthsLocked () const
 Gets whether the column widths are locked (i.e. the user cannot change them) More...
 
virtual void setColumnWidthsLocked (const bool locked_)
 Sets whether the column widths are locked (i.e. the user cannot change them) More...
 
virtual void valueChanged ()
 Simulates the column view having its value changed. More...
 
virtual Callback *const valueChangedCallback () const
 Gets the value changed callback for the column view. More...
 
virtual void setValueChangedCallback (const Callback &callback_)
 Sets the value changed callback. More...
 
virtual void update ()
 Force the column view to update its entries. More...
 
virtual Callback *const imageClickCallback () const
 Gets the callback set for when an image entry is clicked. More...
 
virtual void setImageClickCallback (const Callback &callback_)
 Sets/updates the callback for when an image entry is clicked. More...
 
virtual std::auto_ptr< ColumnEntryclickedEntry () const
 Gets the image entry that was last clicked. More...
 
virtual int32_t clickedColumnIndex () const
 Gets the column index of the image in the entry that was last clicked. More...
 
- Public Member Functions inherited from hdi::core::Widget
virtual ~Widget ()
 Destructs a Widget. More...
 
virtual PlatformWidgetPtr platformWidget () const
 Gets the platform-specific widget, around which the target object is wrapped. More...
 
virtual bool isEmpty () const
 Gets whether the target Widget object is empty (constructed with the default ctor) More...
 
virtual bool operator== (const Widget &rhs_) const
 Tests whether a given Widget object is the same as another. More...
 
virtual bool operator!= (const Widget &rhs_) const
 Tests whether a given Widget object is not the same as another. More...
 
virtual Type type () const
 Gets the type of the widget. More...
 
virtual Window *const window () const
 Gets the parent window of the widget. More...
 
virtual Rect frame () const
 Gets the widget frame. More...
 
virtual void setFrame (const Rect &frame_)
 Sets the widget frame. More...
 
virtual void offset (const double x_, const double y_)
 Offsets the widget from its current location by the given amounts, in 1x resolution coordinates. More...
 
virtual bool enabled ()
 Gets whether the widget is enabled. More...
 
virtual void setEnabled (const bool enable_)
 Enables or disables the widget. More...
 
virtual bool visible ()
 Gets whether the widget is visible. More...
 
virtual void setVisible (const bool visible_)
 Shows or hides the widget. More...
 
virtual void setOrigin (const Point &p_)
 Convenience method to set just the origin of the target widget's frame. More...
 
virtual void setSize (const Size &s_)
 Convenience method to set just the size of the target widget's frame. More...
 
virtual void setWidth (const double w_)
 Convenience method to set just the width of the target widget's frame. More...
 
virtual void setHeight (const double h_)
 Convenience method to set just the height of the target widget's frame. More...
 
virtual bool hasFocus () const
 Gets whether the widget currently has focus. More...
 
virtual void focus () const
 Forces the widget to have focus, taking it from any other focused widget of the same window. More...
 
virtual void blur () const
 Removes focus from the widget. More...
 
virtual std::string tooltip () const
 Gets the tool tip string for the widget. More...
 
virtual void setTooltip (const std::string &tip_)
 Sets the tool tip string for the widget. More...
 

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. More...
 
static std::auto_ptr< WidgetlastClickedWidget ()
 Gets the last widget that received a click event (either by the user or programmatically) More...
 
static std::auto_ptr< WidgetlastValueChangingWidget ()
 Gets the last widget that received a value changing event (either by the user or programmatically) More...
 
static std::auto_ptr< WidgetlastValueChangedWidget ()
 Gets the last widget that received a value changed event (either by the user or programmatically) More...
 
static bool forceIdeographicFontSize (bool &larger__)
 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 (const bool force_, const bool larger_)
 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 () const
 Internal use only. More...
 
 Widget ()
 Constructs an empty Widget object. More...
 
 Widget (const Widget &w_)
 Constructs a new Widget object from an existing Widget object (copy constructor) More...
 
 Widget (plugin::Widget *&)
 Internal use only. More...
 
virtual Widgetoperator= (const Widget &)
 Internal use only. More...
 
- Protected Attributes inherited from hdi::core::Widget
void * _data
 Private implementation data.
 

Detailed Description

Column view widget, much like a list view but allowing for entries with multiple columns.

Constructor & Destructor Documentation

◆ ColumnView() [1/8]

hdi::core::ColumnView::ColumnView ( )

Constructs an empty ColumnView object.

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

◆ ColumnView() [2/8]

hdi::core::ColumnView::ColumnView ( const ColumnView colView_)

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

Author
GW
Date
01/2015
Parameters
colView_Existing ColumnView object

◆ ColumnView() [3/8]

hdi::core::ColumnView::ColumnView ( const Rect frame_,
const uint16_t  numCols_ 
)

Constructs a column view with a frame only, no contents.

Author
GW
Date
01/2015
Parameters
frame_Position and size of the list, in 1x resolution coordinates
numCols_The number of columns in the list

◆ ColumnView() [4/8]

hdi::core::ColumnView::ColumnView ( const Rect frame_,
const ColumnNameVector &  colNames_ 
)

Constructs a column view with a frame only, no contents.

Author
GW
Date
01/2015
Parameters
frame_Position and size of the list, in 1x resolution coordinates
colNames_Names of each of the columns - also controls the number of columns in the list

◆ ColumnView() [5/8]

hdi::core::ColumnView::ColumnView ( const Rect frame_,
const uint16_t  numCols_,
const EntryVector &  entries_,
const int32_t  index_ 
)

Constructs a column view.

Author
GW
Date
01/2015
Parameters
frame_Position and size of the list, in 1x resolution coordinates
numCols_The number of columns in the list
entries_Vector of entries
index_Initial index to select (must exist in entries_)

◆ ColumnView() [6/8]

hdi::core::ColumnView::ColumnView ( const Rect frame_,
const ColumnNameVector &  colNames_,
const EntryVector &  entries_,
const int32_t  index_ 
)

Constructs a column view.

Author
GW
Date
01/2015
Parameters
frame_Position and size of the list, in 1x resolution coordinates
colNames_Names of each of the columns - also controls the number of columns in the list
entries_Vector of entries
index_Initial index to select (must exist in entries_)

◆ ColumnView() [7/8]

hdi::core::ColumnView::ColumnView ( const Rect frame_,
const uint16_t  numCols_,
const EntryVector &  entries_,
const std::string &  initialID_ 
)

Constructor for a column view with an initial ID selected.

Author
GW
Date
01/2015
Parameters
frame_Position and size of the list, in 1x resolution coordinates
numCols_The number of columns in the list
entries_Vector of entries
initialID_Initial ID to select (must exist in entries_, and must not be a separator), as UTF-8

◆ ColumnView() [8/8]

hdi::core::ColumnView::ColumnView ( const Rect frame_,
const ColumnNameVector &  colNames_,
const EntryVector &  entries_,
const std::string &  initialID_ 
)

Constructor for a column view with an initial ID selected.

Author
GW
Date
01/2015
Parameters
frame_Position and size of the list, in 1x resolution coordinates
colNames_Names of each of the columns - also controls the number of columns in the list
entries_Vector of entries
initialID_Initial ID to select (must exist in entries_, and must not be a separator), as UTF-8

◆ ~ColumnView()

virtual hdi::core::ColumnView::~ColumnView ( )
virtual

ColumnView destructor.

Author
GW
Date
01/2015

Member Function Documentation

◆ clearEntries()

virtual void hdi::core::ColumnView::clearEntries ( )
virtual

Clears all entries contained by the widget.

Author
GW
Date
01/2015

◆ clickedColumnIndex()

virtual int32_t hdi::core::ColumnView::clickedColumnIndex ( ) const
virtual

Gets the column index of the image in the entry that was last clicked.

Author
GW
Date
01/2015
Returns
The column index of the clicked image, or -1 for none/error
Note
The return value of this method is only guaranteed to be valid during the execution of the "image click" callback.

◆ clickedEntry()

virtual std::auto_ptr<ColumnEntry> hdi::core::ColumnView::clickedEntry ( ) const
virtual

Gets the image entry that was last clicked.

Author
GW
Date
01/2015
Returns
The clicked entry object
Note
The return value of this method is only guaranteed to be valid during the execution of the "image click" callback.

◆ clone()

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

Convenience method to clone a ColumnView object on the heap.

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

Implements hdi::core::Widget.

◆ columnCount()

virtual uint16_t hdi::core::ColumnView::columnCount ( ) const
virtual

Gets the number of columns in the widget.

Author
GW
Date
02/2015
Returns
The column count for the target widget, as defined when the widget was created

◆ columnNames()

virtual ColumnNameVector hdi::core::ColumnView::columnNames ( ) const
virtual

Gets the column names vector.

Author
GW
Date
12/2014
Returns
The column names vector for the target widget, containing all column names as defined when the widget was created
Note
If the hasHeader() method returns false, this method will return an empty vector.

◆ columnWidths()

virtual ColumnWidthVector hdi::core::ColumnView::columnWidths ( ) const
virtual

Gets the widths of each column in the view.

Author
GW
Date
01/2015
Returns
A vector populated with the pixels widths of each column, at 1x resolution

◆ columnWidthsLocked()

virtual bool hdi::core::ColumnView::columnWidthsLocked ( ) const
virtual

Gets whether the column widths are locked (i.e. the user cannot change them)

Author
GW
Date
02/2015
Returns
true for locked widths, false otherwise

◆ currentEntry()

virtual std::auto_ptr<ColumnEntry> hdi::core::ColumnView::currentEntry ( ) const
virtual

Gets the current entry object.

Author
GW
Date
01/2015
Returns
The ColumnEntry object for the currently selected item

◆ currentID()

virtual std::string hdi::core::ColumnView::currentID ( ) const
virtual

Gets the ID of the currently selected entry.

Author
GW
Date
01/2015
Returns
UTF-8 ID string of the currently selected entry, or "" if no entry is currently selected

◆ currentIndex()

virtual int32_t hdi::core::ColumnView::currentIndex ( ) const
virtual

Gets the index of the currently selected entry.

Author
GW
Date
01/2015
Returns
The index number of the currently selected entry, or -1 if no entry is selected

◆ deselectAll()

virtual void hdi::core::ColumnView::deselectAll ( )
virtual

Deselects all currently selected entries in the list.

Author
GW
Date
01/2015

◆ duplicate()

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

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

Author
GW
Date
01/2015
Returns
A pointer to the new ColumnView object (and new UI element)
Note
The new column view 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 ColumnView object.

Implements hdi::core::Widget.

◆ entries()

virtual const std::vector< ColumnEntry* >* const hdi::core::ColumnView::entries ( ) const
virtual

Gets the entries vector.

Author
GW
Date
01/2015
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.

◆ hasEntry()

virtual bool hdi::core::ColumnView::hasEntry ( const std::string &  id_) const
virtual

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

Author
GW
Date
01/2015
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

◆ hasHeader()

virtual bool hdi::core::ColumnView::hasHeader ( ) const
virtual

Gets whether the widget has a header component to show the names of the columns.

Author
GW
Date
02/2015
Returns
true if the widget was constructed with a header, false otherwise

◆ imageClickCallback()

virtual Callback* const hdi::core::ColumnView::imageClickCallback ( ) const
virtual

Gets the callback set for when an image entry is clicked.

Author
GW
Date
02/2015
Returns
A pointer to the currently registered "image click" callback

◆ operator=()

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

Allows one ColumnView object to be assigned from another.

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

◆ setColumnWidths()

virtual void hdi::core::ColumnView::setColumnWidths ( const ColumnWidthVector &  widths_)
virtual

Sets the widths of each column in the view.

Author
GW
Date
01/2015
Parameters
widths_Vector of new column widths to set, at 1x resolution

◆ setColumnWidthsLocked()

virtual void hdi::core::ColumnView::setColumnWidthsLocked ( const bool  locked_)
virtual

Sets whether the column widths are locked (i.e. the user cannot change them)

Author
GW
Date
02/2015
Parameters
locked_true to lock widths, false otherwise

◆ setCurrentID()

virtual bool hdi::core::ColumnView::setCurrentID ( const std::string &  id_)
virtual

Sets the currently selected entry by ID.

Author
GW
Date
01/2015
Parameters
id_ID of new value to select in the list view, as UTF-8
Returns
true if the entry with the given ID was selected, or false if invalid

◆ setCurrentIndex()

virtual bool hdi::core::ColumnView::setCurrentIndex ( const int32_t  index_)
virtual

Sets the currently selected entry by index.

Author
GW
Date
01/2015
Parameters
index_New index to select
Returns
true if the selection occurred successfully, or false if e.g. out of range

◆ setEntries()

virtual void hdi::core::ColumnView::setEntries ( const EntryVector &  entries_)
virtual

Allows the entries in a column view to be changed out entirely.

Author
GW
Date
01/2015
Parameters
entries_New set of entries that the widget will contain

◆ setImageClickCallback()

virtual void hdi::core::ColumnView::setImageClickCallback ( const Callback callback_)
virtual

Sets/updates the callback for when an image entry is clicked.

Author
GW
Date
01/2015
Parameters
callback_New callback for a user clicking an image entry
Note
When your callback is executed, you can determine which entry was clicked by calling the clickedEntry() method and which column by calling the clickedColumnIndex() method.

◆ setText()

virtual void hdi::core::ColumnView::setText ( const std::string &  )
virtual

Does nothing.

Author
GW
Date
01/2015
Note
Since a ColumnView inherently stores multiple text values per row, setting the text value has potentially no meaning or an ambiguous meaning. Therefore, this method performs no action.

Reimplemented from hdi::core::Widget.

◆ setValueChangedCallback()

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

Sets the value changed callback.

Author
GW
Date
01/2015
Parameters
callback_New callback for when the column view's value has changed

◆ text()

virtual std::string hdi::core::ColumnView::text ( ) const
virtual

Gets the current text value of the list.

Author
GW
Date
01/2015
Returns
"", as a multi-column list has no specific text value

Reimplemented from hdi::core::Widget.

◆ update()

virtual void hdi::core::ColumnView::update ( )
virtual

Force the column view to update its entries.

Author
GW
Date
01/2015

Reimplemented from hdi::core::Widget.

◆ valueChanged()

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

Simulates the column view having its value changed.

Author
GW
Date
01/2015

◆ valueChangedCallback()

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

Gets the value changed callback for the column view.

Author
GW
Date
01/2015
Returns
A pointer to the currently registered value changed callback