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

Hierarchical column view widget, much like a list view but allowing for entries with multiple columns presented in a hierarchical fashion. More...

#include <hdicoreHierarchicalColumnView.h>

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

Public Types

typedef std::vector< TreeColumnEntryEntryVector
 
typedef std::vector< std::string > ColumnNameVector
 
typedef std::vector< double > ColumnWidthVector
 
typedef std::vector< int32_t > IndexVector
 
typedef std::vector< std::string > IDVector
 
typedef std::vector< std::string > ValueVector
 
- 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

 HierarchicalColumnView ()
 Constructs an empty HierarchicalColumnView object.
 
 HierarchicalColumnView (const HierarchicalColumnView &hcView_)
 Constructs a new HierarchicalColumnView object from an existing HierarchicalColumnView object (copy constructor)
 
 HierarchicalColumnView (const Rect &frame_, const uint16_t numCols_)
 Constructs a hierarchical column view with a frame only, no contents.
 
 HierarchicalColumnView (const Rect &frame_, const ColumnNameVector &colNames_)
 Constructs a hierarchical column view with a frame only, no contents.
 
 HierarchicalColumnView (const Rect &frame_, const uint16_t numCols_, const EntryVector &entries_, const IndexVector &indexPath_)
 Constructs a hierarchical column view.
 
 HierarchicalColumnView (const Rect &frame_, const ColumnNameVector &colNames_, const EntryVector &entries_, const IndexVector &indexPath_)
 Constructs a hierarchical column view.
 
 HierarchicalColumnView (const Rect &frame_, const uint16_t numCols_, const EntryVector &entries_, const IDVector &idPath_)
 Constructor for a hierarchical column view with an initial ID selected.
 
 HierarchicalColumnView (const Rect &frame_, const ColumnNameVector &colNames_, const EntryVector &entries_, const IDVector &idPath_)
 Constructor for a hierarchical column view with an initial ID selected.
 
virtual HierarchicalColumnViewoperator= (const HierarchicalColumnView &rhs_)
 Allows one HierarchicalColumnView object to be assigned from another.
 
virtual ~HierarchicalColumnView ()
 HierarchicalColumnView destructor.
 
virtual HierarchicalColumnViewclone () const
 Convenience method to clone a HierarchicalColumnView object on the heap.
 
virtual HierarchicalColumnViewduplicate () const
 Convenience method to duplicate a HierarchicalColumnView object, creating a new and identical UI element to the target (but not belonging to the same containing window)
 
virtual void deselectAll ()
 Deselects all currently selected entries in the list.
 
virtual std::string text () const
 Gets the current text value of the list.
 
virtual void setText (const std::string &)
 Does nothing.
 
virtual IndexVector currentIndexPath () const
 Gets the index path of the currently selected entry.
 
virtual bool setCurrentIndexPath (const IndexVector &indexPath_)
 Sets the currently selected entry by index path.
 
virtual IDVector currentIDPath () const
 Gets the ID path of the currently selected entry.
 
virtual bool setCurrentIDPath (const IDVector &idPath_)
 Sets the currently selected entry by ID path.
 
virtual std::unique_ptr< TreeColumnEntrycurrentEntry () const
 Gets the current entry object.
 
virtual const std::vector< std::shared_ptr< TreeColumnEntry > > *const entries () const
 Gets the entries vector.
 
virtual bool hasEntry (const IDVector &idPath_) const
 Gets whether the entries vector already contains an entry, based on its ID path.
 
virtual std::shared_ptr< TreeColumnEntryentryWithIDPath (const IDVector &idPath_) const
 Gets the entry with the given ID path, provided it exists within the widget.
 
virtual void setEntries (const EntryVector &entries_)
 Allows the entries in a hierarchical column view to be changed out entirely.
 
virtual bool insertEntry (const TreeColumnEntry &entry_, const IDVector &idPath_)
 Inserts an entry into the list of entries at a given position.
 
virtual std::shared_ptr< TreeColumnEntryremoveEntry (const IDVector &idPath_)
 Removes a specific entry from the list of entries.
 
virtual bool reorderEntry (const IDVector &targetID_, const IDVector &positionID_)
 Reorders a target entry (based on ID path) to be newly located just after another existing entry in the list.
 
virtual void clearEntries ()
 Clears all entries contained by the widget.
 
virtual bool hasHeader () const
 Gets whether the widget has a header component to show the names of the columns.
 
virtual uint16_t columnCount () const
 Gets the number of columns in the widget.
 
virtual ColumnNameVector columnNames () const
 Gets the column names vector.
 
virtual ColumnWidthVector columnWidths () const
 Gets the widths of each column in the view.
 
virtual void setColumnWidths (const ColumnWidthVector &widths_)
 Sets the widths of each column in the view.
 
virtual bool columnWidthsLocked () const
 Gets whether the column widths are locked (i.e. the user cannot change them)
 
virtual void setColumnWidthsLocked (const bool locked_)
 Sets whether the column widths are locked (i.e. the user cannot change them)
 
virtual uint16_t outlineColumnIndex () const
 Gets which column is the outline column (shows disclosure triangles)
 
virtual void setOutlineColumnIndex (const uint16_t oc_)
 Sets which column is the outline column (shows disclosure triangles)
 
virtual bool outlineColumnExpands () const
 Gets whether the outline column automatically expands in width when its children are shown.
 
virtual void setOutlineColumnExpands (const bool exp_)
 Sets whether the outline column automatically expands in width when its children are shown.
 
virtual void valueChanged ()
 Simulates the hierarchical column view having its value changed.
 
virtual Callback *const valueChangedCallback () const
 Gets the value changed callback for the hierarchical column view.
 
virtual void setValueChangedCallback (const Callback &callback_)
 Sets the value changed callback.
 
virtual void update ()
 Force the hierarchical column view to update its entries.
 
virtual Callback *const cellClickCallback () const
 Gets the callback set for when a cell is clicked.
 
virtual void setCellClickCallback (const Callback &callback_)
 Sets/updates the callback for when a cell is clicked.
 
virtual std::unique_ptr< TreeColumnEntryclickedEntry () const
 Gets the entry of the cell that was last clicked.
 
virtual int32_t clickedColumnIndex () const
 Gets the column index of the cell in the entry that was last clicked.
 
virtual Callback *const expansionCallback () const
 Gets the callback set for when an entry is expanded/collapsed.
 
virtual void setExpansionCallback (const Callback &callback_)
 Sets/updates the callback for when an entry is expanded/collapsed.
 
virtual std::unique_ptr< TreeColumnEntryexpansionEntry () const
 Gets the entry that was last expanded/collapsed.
 
virtual Callback *const cellChangedCallback () const
 Gets the callback for when a cell is modified via double-click inline editing.
 
virtual void setCellChangedCallback (const Callback &callback_)
 Sets the callback for when a cell is modified via double-click inline editing.
 
virtual std::unique_ptr< TreeColumnEntrychangedEntry () const
 Gets the entry that was last modified via double-click inline editing.
 
virtual int32_t changedColumnIndex () const
 Gets the column index of the cell in the entry that was last modified.
 
virtual bool reorderable () const
 Gets whether reordering support for the list is enabled.
 
virtual void setReorderable (const bool enable_)
 Sets whether reordering support for the list is enabled.
 
virtual Callback *const potentialReorderCallback () const
 Gets the current potential-reorder callback for the list.
 
virtual void setPotentialReorderCallback (const Callback &callback_)
 Sets the potential-reorder callback for the widget.
 
virtual std::vector< std::string > potentialReorderSource () const
 Gets the source item involved in the potential reorder, i.e. the entry being dragged.
 
virtual std::vector< std::string > potentialReorderPosition () const
 Gets the position for the reorder, i.e. the entry just before the proposed reposition.
 
virtual bool potentialReorderGood () const
 Gets whether the potential reorder is acceptable; if not, the drag cursor will indicate the proposed drop position is not allowed.
 
virtual void setPotentialReorderGood (const bool good_)
 Sets whether the potential reorder is acceptable; if not, the drag cursor will indicate the proposed drop position is not allowed.
 
virtual Callback *const reorderCallback () const
 Gets the current reorder callback for the widget.
 
virtual void setReorderCallback (const Callback &callback_)
 Sets the reorder callback for the widget.
 
virtual std::vector< std::string > reorderSource () const
 Gets the source item involved in the reorder, i.e. the entry being dropped.
 
virtual std::vector< std::string > reorderPosition () const
 Gets the position for the reorder, i.e. the entry just before the reposition.
 
- 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)
 

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

Hierarchical column view widget, much like a list view but allowing for entries with multiple columns presented in a hierarchical fashion.

Constructor & Destructor Documentation

◆ HierarchicalColumnView() [1/8]

hdi::core::HierarchicalColumnView::HierarchicalColumnView ( )

Constructs an empty HierarchicalColumnView object.

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

◆ HierarchicalColumnView() [2/8]

hdi::core::HierarchicalColumnView::HierarchicalColumnView ( const HierarchicalColumnView hcView_)

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

Author
GW
Date
01/2015
Parameters
hcView_Existing HierarchicalColumnView object

◆ HierarchicalColumnView() [3/8]

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

Constructs a hierarchical 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

◆ HierarchicalColumnView() [4/8]

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

Constructs a hierarchical 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

◆ HierarchicalColumnView() [5/8]

hdi::core::HierarchicalColumnView::HierarchicalColumnView ( const Rect frame_,
const uint16_t  numCols_,
const EntryVector &  entries_,
const IndexVector &  indexPath_ 
)

Constructs a hierarchical 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
indexPath_Initial index path to select (must exist in entries_, or be an empty vector)

◆ HierarchicalColumnView() [6/8]

hdi::core::HierarchicalColumnView::HierarchicalColumnView ( const Rect frame_,
const ColumnNameVector &  colNames_,
const EntryVector &  entries_,
const IndexVector &  indexPath_ 
)

Constructs a hierarchical 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
indexPath_Initial index path to select (must exist in entries_, or be an empty vector)

◆ HierarchicalColumnView() [7/8]

hdi::core::HierarchicalColumnView::HierarchicalColumnView ( const Rect frame_,
const uint16_t  numCols_,
const EntryVector &  entries_,
const IDVector &  idPath_ 
)

Constructor for a hierarchical 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
idPath_Initial ID path to select, as UTF-8 (must exist in entries_, or be an empty vector)

◆ HierarchicalColumnView() [8/8]

hdi::core::HierarchicalColumnView::HierarchicalColumnView ( const Rect frame_,
const ColumnNameVector &  colNames_,
const EntryVector &  entries_,
const IDVector &  idPath_ 
)

Constructor for a hierarchical 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
idPath_Initial ID path to select, as UTF-8 (must exist in entries_, or be an empty vector)

◆ ~HierarchicalColumnView()

virtual hdi::core::HierarchicalColumnView::~HierarchicalColumnView ( )
virtual

HierarchicalColumnView destructor.

Author
GW
Date
01/2015

Member Function Documentation

◆ cellChangedCallback()

virtual Callback *const hdi::core::HierarchicalColumnView::cellChangedCallback ( ) const
virtual

Gets the callback for when a cell is modified via double-click inline editing.

Author
GW
Date
07/2022
Returns
A pointer to the currently registered cell modification callback

◆ cellClickCallback()

virtual Callback *const hdi::core::HierarchicalColumnView::cellClickCallback ( ) const
virtual

Gets the callback set for when a cell is clicked.

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

◆ changedColumnIndex()

virtual int32_t hdi::core::HierarchicalColumnView::changedColumnIndex ( ) const
virtual

Gets the column index of the cell in the entry that was last modified.

Author
GW
Date
07/2022
Returns
The column index of the changed cell, or -1 for none/error
Note
The return value of this method is only guaranteed to be valid during the execution of the cell changed callback.

◆ changedEntry()

virtual std::unique_ptr< TreeColumnEntry > hdi::core::HierarchicalColumnView::changedEntry ( ) const
virtual

Gets the entry that was last modified via double-click inline editing.

Author
GW
Date
07/2022
Returns
The changed entry object
Note
The return value of this method is only guaranteed to be valid during the execution of the cell changed callback.

◆ clearEntries()

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

Clears all entries contained by the widget.

Author
GW
Date
01/2015

◆ clickedColumnIndex()

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

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

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

◆ clickedEntry()

virtual std::unique_ptr< TreeColumnEntry > hdi::core::HierarchicalColumnView::clickedEntry ( ) const
virtual

Gets the entry of the cell 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 cell click callback.

◆ clone()

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

Convenience method to clone a HierarchicalColumnView object on the heap.

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

Implements hdi::core::Widget.

◆ columnCount()

virtual uint16_t hdi::core::HierarchicalColumnView::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::HierarchicalColumnView::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::HierarchicalColumnView::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::HierarchicalColumnView::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::unique_ptr< TreeColumnEntry > hdi::core::HierarchicalColumnView::currentEntry ( ) const
virtual

Gets the current entry object.

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

◆ currentIDPath()

virtual IDVector hdi::core::HierarchicalColumnView::currentIDPath ( ) const
virtual

Gets the ID path of the currently selected entry.

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

◆ currentIndexPath()

virtual IndexVector hdi::core::HierarchicalColumnView::currentIndexPath ( ) const
virtual

Gets the index path of the currently selected entry.

Author
GW
Date
01/2015
Returns
The index path of the currently selected entry, or empty if no entry is selected

◆ deselectAll()

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

Deselects all currently selected entries in the list.

Author
GW
Date
01/2015

◆ duplicate()

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

Convenience method to duplicate a HierarchicalColumnView 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 HierarchicalColumnView object (and new UI element)
Note
The new hierarchical 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 HierarchicalColumnView object.

Implements hdi::core::Widget.

◆ entries()

virtual const std::vector< std::shared_ptr< TreeColumnEntry > > *const hdi::core::HierarchicalColumnView::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.

◆ entryWithIDPath()

virtual std::shared_ptr< TreeColumnEntry > hdi::core::HierarchicalColumnView::entryWithIDPath ( const IDVector &  idPath_) const
virtual

Gets the entry with the given ID path, provided it exists within the widget.

Author
GW
Date
12/2022
Parameters
idPath_ID path of the entry to search for
Returns
A pointer to the widget with the given ID path, or NULL if not found

◆ expansionCallback()

virtual Callback *const hdi::core::HierarchicalColumnView::expansionCallback ( ) const
virtual

Gets the callback set for when an entry is expanded/collapsed.

Author
GW
Date
11/2015
Returns
A pointer to the currently registered expansion callback

◆ expansionEntry()

virtual std::unique_ptr< TreeColumnEntry > hdi::core::HierarchicalColumnView::expansionEntry ( ) const
virtual

Gets the entry that was last expanded/collapsed.

Author
GW
Date
11/2015
Returns
The expanded entry object
Note
The return value of this method is only guaranteed to be valid during the execution of the expansion callback.

◆ hasEntry()

virtual bool hdi::core::HierarchicalColumnView::hasEntry ( const IDVector &  idPath_) const
virtual

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

Author
GW
Date
09/2014
Parameters
idPath_ID path of the entry to search for, as UTF-8
Returns
true if the widget already contains an entry with the given ID path, false otherwise

◆ hasHeader()

virtual bool hdi::core::HierarchicalColumnView::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

◆ insertEntry()

virtual bool hdi::core::HierarchicalColumnView::insertEntry ( const TreeColumnEntry entry_,
const IDVector &  idPath_ 
)
virtual

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

Author
GW
Date
12/2022
Parameters
entry_New entry object to insert into the list of entries
idPath_Existing entry immediately before the position at which the new entry will be inserted; if the passed value is an empty string, or the leaf is an empty string, the new entry object will be inserted first at the root level or first within the penultimate container ID, respectively
Returns
true if the entry is inserted successfully, false otherwise
Note
If the entry for idPath_ 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 path), it will not be inserted.

◆ operator=()

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

Allows one HierarchicalColumnView 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 HierarchicalColumnView object, but with its value updated to match that of rhs_

◆ outlineColumnExpands()

virtual bool hdi::core::HierarchicalColumnView::outlineColumnExpands ( ) const
virtual

Gets whether the outline column automatically expands in width when its children are shown.

Author
GW
Date
03/2015
Returns
true if the outline column expands in width, false otherwise
Note
This method is only useful on Mac (the outline column does not expand at all on Windows).

◆ outlineColumnIndex()

virtual uint16_t hdi::core::HierarchicalColumnView::outlineColumnIndex ( ) const
virtual

Gets which column is the outline column (shows disclosure triangles)

Author
GW
Date
03/2015
Returns
The index of the outline column
Note
This method is only useful on Mac (the outline column cannot be changed on Windows).

◆ potentialReorderCallback()

virtual Callback *const hdi::core::HierarchicalColumnView::potentialReorderCallback ( ) const
virtual

Gets the current potential-reorder callback for the list.

Author
GW
Date
12/2022
Returns
A pointer to the currently registered potential-reorder callback

◆ potentialReorderGood()

virtual bool hdi::core::HierarchicalColumnView::potentialReorderGood ( ) const
virtual

Gets whether the potential reorder is acceptable; if not, the drag cursor will indicate the proposed drop position is not allowed.

Author
GW
Date
12/2022
Returns
true if the specific reorder drop position is allowed, false otherwise
Note
The return value of this method is only guaranteed to be valid during the execution of the potential-reorder callback.

◆ potentialReorderPosition()

virtual std::vector< std::string > hdi::core::HierarchicalColumnView::potentialReorderPosition ( ) const
virtual

Gets the position for the reorder, i.e. the entry just before the proposed reposition.

Author
GW
Date
12/2022
Returns
The ID path of the entry just before the potential drop point for a reposition; if the returned vector contains only an empty string, or the leaf is an empty string, this refers to the proposed drop position being the first at the root level or the first within the penultimate container ID, respectively.
Note
The return value of this method is only guaranteed to be valid during the execution of the potential-reorder callback.

◆ potentialReorderSource()

virtual std::vector< std::string > hdi::core::HierarchicalColumnView::potentialReorderSource ( ) const
virtual

Gets the source item involved in the potential reorder, i.e. the entry being dragged.

Author
GW
Date
12/2022
Returns
The ID path of the entry that might be reordered
Note
The return value of this method is only guaranteed to be valid during the execution of the potential-reorder callback.

◆ removeEntry()

virtual std::shared_ptr< TreeColumnEntry > hdi::core::HierarchicalColumnView::removeEntry ( const IDVector &  idPath_)
virtual

Removes a specific entry from the list of entries.

Author
GW
Date
12/2022
Parameters
idPath_ID path of the entry to be removed
Returns
The removed entry, so the caller can inspect it (if no entries are left, NULL will be returned)
Note
If the entry for idPath_ doesn't exist in the list, nothing will happen and NULL will be returned.

◆ reorderable()

virtual bool hdi::core::HierarchicalColumnView::reorderable ( ) const
virtual

Gets whether reordering support for the list is enabled.

Author
GW
Date
12/2022
Returns
true if drag-and-drop reordering support is enabled, false otherwise

◆ reorderCallback()

virtual Callback *const hdi::core::HierarchicalColumnView::reorderCallback ( ) const
virtual

Gets the current reorder callback for the widget.

Author
GW
Date
12/2022
Returns
A pointer to the currently registered reorder callback

◆ reorderEntry()

virtual bool hdi::core::HierarchicalColumnView::reorderEntry ( const IDVector &  targetID_,
const IDVector &  positionID_ 
)
virtual

Reorders a target entry (based on ID path) to be newly located just after another existing entry in the list.

Author
GW
Date
12/2022
Parameters
targetID_ID path of an existing entry in the list to be relocated
positionID_ID path of an existing entry immediately before the position at which targetID_ should be moved; if the passed value is an empty string, or the leaf is an empty string, the target entry will be placed first at the root level or first within the penultimate container ID, respectively
Returns
true if the entry is repositioned successfully, false otherwise
Note
If the entry for targetID_ or for positionID_ doesn't exist in the list, this method will bail.

◆ reorderPosition()

virtual std::vector< std::string > hdi::core::HierarchicalColumnView::reorderPosition ( ) const
virtual

Gets the position for the reorder, i.e. the entry just before the reposition.

Author
GW
Date
12/2022
Returns
The ID path of the entry just before the drop point for a reposition; if the returned vector contains only an empty string, or the leaf is an empty string, this refers to the drop position being the first at the root level or the first within the penultimate container ID, respectively.
Note
The return value of this method is only guaranteed to be valid during the execution of the reorder callback.

◆ reorderSource()

virtual std::vector< std::string > hdi::core::HierarchicalColumnView::reorderSource ( ) const
virtual

Gets the source item involved in the reorder, i.e. the entry being dropped.

Author
GW
Date
12/2022
Returns
The ID path of the entry that was reordered
Note
The return value of this method is only guaranteed to be valid during the execution of the reorder callback.

◆ setCellChangedCallback()

virtual void hdi::core::HierarchicalColumnView::setCellChangedCallback ( const Callback callback_)
virtual

Sets the callback for when a cell is modified via double-click inline editing.

Author
GW
Date
07/2022
Parameters
callback_New callback for a user modifying a cell via inline editing
Note
When your callback is executed, you can determine which entry was clicked by calling the changedEntry() method.

◆ setCellClickCallback()

virtual void hdi::core::HierarchicalColumnView::setCellClickCallback ( const Callback callback_)
virtual

Sets/updates the callback for when a cell is clicked.

Author
GW
Date
01/2015
Parameters
callback_New callback for a user clicking a cell
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.

◆ setColumnWidths()

virtual void hdi::core::HierarchicalColumnView::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::HierarchicalColumnView::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

◆ setCurrentIDPath()

virtual bool hdi::core::HierarchicalColumnView::setCurrentIDPath ( const IDVector &  idPath_)
virtual

Sets the currently selected entry by ID path.

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

◆ setCurrentIndexPath()

virtual bool hdi::core::HierarchicalColumnView::setCurrentIndexPath ( const IndexVector &  indexPath_)
virtual

Sets the currently selected entry by index path.

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

◆ setEntries()

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

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

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

◆ setExpansionCallback()

virtual void hdi::core::HierarchicalColumnView::setExpansionCallback ( const Callback callback_)
virtual

Sets/updates the callback for when an entry is expanded/collapsed.

Author
GW
Date
11/2015
Parameters
callback_New callback for a user expanding/collapsing an entry
Note
When your callback is executed, you can determine which entry was expanded/collapsed by calling the expansionEntry() method.

◆ setOutlineColumnExpands()

virtual void hdi::core::HierarchicalColumnView::setOutlineColumnExpands ( const bool  exp_)
virtual

Sets whether the outline column automatically expands in width when its children are shown.

Author
GW
Date
03/2015
Parameters
exp_true if the outline column should expand in width, false otherwise
Note
This method is only useful on Mac (the outline column does not expand at all on Windows).

◆ setOutlineColumnIndex()

virtual void hdi::core::HierarchicalColumnView::setOutlineColumnIndex ( const uint16_t  oc_)
virtual

Sets which column is the outline column (shows disclosure triangles)

Author
GW
Date
03/2015
Parameters
oc_New outline column index
Note
This method is only useful on Mac (the outline column cannot be changed on Windows).

◆ setPotentialReorderCallback()

virtual void hdi::core::HierarchicalColumnView::setPotentialReorderCallback ( const Callback callback_)
virtual

Sets the potential-reorder callback for the widget.

Author
GW
Date
12/2022
Parameters
callback_New callback (target and action) for each time the potential reorder target changes
Note
When your callback is executed, you can determine which entry is being proposed for reorder and its proposed new position by calling the potentialReorderSource() and potentialReorderPosition() methods, respectively.

◆ setPotentialReorderGood()

virtual void hdi::core::HierarchicalColumnView::setPotentialReorderGood ( const bool  good_)
virtual

Sets whether the potential reorder is acceptable; if not, the drag cursor will indicate the proposed drop position is not allowed.

Author
GW
Date
12/2022
Parameters
good_Whether the potential reorder position is acceptable
Note
This method will have no effect if it is called any other time than from within a potential- reorder callback.
A potential reorder is always assumed to be good, so the true/false nature of a potential reorder will always be true unless you have called this method within your callback and passed false.
Calling this method and passing false will not stop a potential reorder from occurring altogether; rather, it merely indicates whether a specific reorder proposed drop position is acceptable. It is still up to you whether the entries, and any underlying associated data, is actually reordered once your reorder callback is executed.

◆ setReorderable()

virtual void hdi::core::HierarchicalColumnView::setReorderable ( const bool  enable_)
virtual

Sets whether reordering support for the list is enabled.

Author
GW
Date
12/2022
Parameters
enable_true to enable drag-and-drop reordering support, false otherwise

◆ setReorderCallback()

virtual void hdi::core::HierarchicalColumnView::setReorderCallback ( const Callback callback_)
virtual

Sets the reorder callback for the widget.

Author
GW
Date
12/2022
Parameters
callback_New callback (target and action) for when a reorder is finalized (via dropping)
Note
When your callback is executed, you can determine which entry is being reordered and its new position by calling the reorderSource() and reorderPosition() methods, respectively.

◆ setText()

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

Does nothing.

Author
GW
Date
01/2015
Note
Since a HierarchicalColumnView 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::HierarchicalColumnView::setValueChangedCallback ( const Callback callback_)
virtual

Sets the value changed callback.

Author
GW
Date
01/2015
Parameters
callback_New callback for when the hierarchical column view's value has changed
Note
In this context, "value" refers to the selected index/ID path changing.

◆ text()

virtual std::string hdi::core::HierarchicalColumnView::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::HierarchicalColumnView::update ( )
virtual

Force the hierarchical column view to update its entries.

Author
GW
Date
01/2015

Reimplemented from hdi::core::Widget.

◆ valueChanged()

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

Simulates the hierarchical column view having its value changed.

Author
GW
Date
01/2015

◆ valueChangedCallback()

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

Gets the value changed callback for the hierarchical column view.

Author
GW
Date
01/2015
Returns
A pointer to the currently registered value changed callback
Note
In this context, "value" refers to the selected index/ID path changing.