TreeViewFunctions Class Referenceabstract

#include <customgui_listview.h>

Detailed Description

Inherit this class to supply a data and view model for TreeViewCustomGui. See ActiveObject.cpp SDK example.

Destructor

virtual ~TreeViewFunctions ()
 

Navigation

virtual void * GetFirst (void *root, void *userdata)=0
 
virtual void * GetDown (void *root, void *userdata, void *obj)=0
 
virtual void * GetNext (void *root, void *userdata, void *obj)=0
 
virtual void * GetPred (void *root, void *userdata, void *obj)
 

Layout

virtual Int32 GetColumnWidth (void *root, void *userdata, void *obj, Int32 col, GeUserArea *area)
 
virtual Int32 GetHeaderColumnWidth (void *root, void *userdata, Int32 col, GeUserArea *area)
 
virtual Int32 GetMinHeaderHeight (void *root, void *userdata, GeUserArea *area)
 
virtual Int32 GetLineHeight (void *root, void *userdata, void *obj, Int32 col, GeUserArea *area)
 
virtual void GetColors (void *root, void *userdata, void *obj, GeData *pNormal, GeData *pSelected)
 
virtual void GetBackgroundColor (void *root, void *userdata, void *obj, Int32 line, GeData *col)
 

Draw

virtual void DrawCell (void *root, void *userdata, void *obj, Int32 col, DrawInfo *drawinfo, const GeData &bgColor)
 
virtual Bool DrawHeaderCell (void *root, void *userdata, Int32 col, DrawInfo *drawinfo)
 

Select

virtual Bool IsSelected (void *root, void *userdata, void *obj)=0
 
virtual void Select (void *root, void *userdata, void *obj, Int32 mode)
 

Open

virtual Bool IsOpened (void *root, void *userdata, void *obj)=0
 
virtual void Open (void *root, void *userdata, void *obj, Bool onoff)
 

Name and Bubble help

virtual String GetName (void *root, void *userdata, void *obj)=0
 
virtual void SetName (void *root, void *userdata, void *obj, const maxon::String &str)
 
virtual String GetBubbleHelp (void *root, void *userdata, void *obj, Int32 col, MouseInfo *info)
 

ID

virtual Int GetId (void *root, void *userdata, void *obj)=0
 

Check

virtual Int32 IsChecked (void *root, void *userdata, void *obj, Int32 lColumn)
 
virtual void SetCheck (void *root, void *userdata, void *obj, Int32 lColumn, Bool bCheck, const BaseContainer &bcMsg)
 

Tristate

virtual Bool IsTristate (void *root, void *userdata)
 

Drag

virtual Int32 GetDragType (void *root, void *userdata, void *obj)=0
 
virtual Int32 DragStart (void *root, void *userdata, void *obj)
 
virtual Int32 AcceptDragObject (void *root, void *userdata, void *obj, Int32 dragtype, void *dragobject, Bool &bAllowCopy)
 
virtual void SetDragObject (void *root, void *userdata, void *obj)
 
virtual void GenerateDragArray (void *root, void *userdata, void *obj, AtomArray *ar)
 
virtual void GenerateDragData (void *root, void *userdata, void *obj, void **dragdata)
 
virtual void FreeDragData (void *root, void *userdata, void *dragdata)
 

Insert Object

virtual void InsertObject (void *root, void *userdata, void *obj, Int32 dragtype, void *dragobject, Int32 insertmode, Bool bCopy)
 

Context Menu

virtual void CreateContextMenu (void *root, void *userdata, void *obj, Int32 lColumn, BaseContainer *bc)
 
virtual Bool ContextMenuCall (void *root, void *userdata, void *obj, Int32 lColumn, Int32 lCommand)
 

Header/Column

virtual Int32 GetHeaderSortArrow (void *root, void *userdata, Int32 lColID)
 
virtual Bool IsResizeColAllowed (void *root, void *userdata, Int32 lColID)
 
virtual Bool IsMoveColAllowed (void *root, void *userdata, Int32 lColID)
 

Input Events

virtual Bool InputEvent (void *root, void *userdata, GeUserArea *pArea, const BaseContainer &msg)
 
virtual Bool MouseDown (void *root, void *userdata, void *obj, Int32 col, MouseInfo *mouseinfo, Bool rightButton)
 
virtual Int32 DoubleClick (void *root, void *userdata, void *obj, Int32 col, MouseInfo *mouseinfo)
 
virtual void DeletePressed (void *root, void *userdata)
 
virtual Bool HeaderClick (void *root, void *userdata, Int32 lColID, Int32 lChannel, Bool bDblClk, Int32 mouseX, Int32 mouseY, GeUserArea *ua)
 

Notifications

virtual void Scrolled (void *root, void *userdata, Int32 h, Int32 v, Int32 x, Int32 y)
 
virtual void PaintFinished (void *root, void *userdata)
 
virtual Bool ColumnMoved (void *root, void *userdata, Int32 lColID, Int32 lInsertBeforeCol, Int32 *plIndexMap, const BaseContainer *pbcLayout)
 
virtual void SelectionChanged (void *root, void *userdata)
 

Private

virtual void InitCache (void *root, void *userdata)
 
virtual Bool PythonCleanup (void *root, void *userdata)
 
virtual void GetDropDownMenu (void *root, void *userdata, void *obj, Int32 lColumn, TreeViewDropDownMenuInfo *menuInfo)
 
virtual void SetDropDownMenu (void *root, void *userdata, void *obj, Int32 lColumn, Int32 entry)
 
virtual void GetFloatValue (void *root, void *userdata, void *obj, Int32 lColumn, TreeViewFloatSliderInfo *sliderInfo)
 
virtual void SetFloatValueEx (void *root, void *userdata, void *obj, Int32 lColumn, Float value)
 
virtual Bool AddRow (void *root, void *userdata)
 
virtual String EmptyText (void *root, void *userdata)
 
virtual Bool IsSelectable (void *root, void *userdata, void *obj)
 

Non-Overridable

Bool VisitChildren (void *root, void *obj, VisitChildrenCallback fn, void *userdata, void *data1, void *data2)
 
virtual void SetFloatValue (void *root, void *userdata, void *obj, Int32 lColumn, Float value, Bool finalValue)
 
virtual String GetNameForEdit (void *root, void *userdata, void *obj)
 
virtual maxon::Result< maxon::DataStartInput (void *root, void *userdata)
 
virtual void FinishInput (void *root, void *userdata, maxon::Data &data)
 

Constructor & Destructor Documentation

◆ ~TreeViewFunctions()

virtual ~TreeViewFunctions ( )
virtual

Destructor.

Member Function Documentation

◆ GetFirst()

virtual void* GetFirst ( void *  root,
void *  userdata 
)
pure virtual

Called to retrieve the first object of the tree.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
Returns
The first object.

◆ GetDown()

virtual void* GetDown ( void *  root,
void *  userdata,
void *  obj 
)
pure virtual

Called to retrieve the first child of obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
The first child of obj.

◆ GetNext()

virtual void* GetNext ( void *  root,
void *  userdata,
void *  obj 
)
pure virtual

Called to retrieve the object after obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
The object after obj.

◆ GetPred()

virtual void* GetPred ( void *  root,
void *  userdata,
void *  obj 
)
virtual

Called to retrieve the object before obj.

Note
This is only used for drag and drop checks.
Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
The object before obj.

◆ GetColumnWidth()

virtual Int32 GetColumnWidth ( void *  root,
void *  userdata,
void *  obj,
Int32  col,
GeUserArea area 
)
virtual

Called to retrieve the column width of object obj in column col.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]colThe column index.
[in]areaThe user area used to determine the text width with area->DrawGetTextWidth(). The caller owns the pointed user area.
Returns
The column width.

◆ GetHeaderColumnWidth()

virtual Int32 GetHeaderColumnWidth ( void *  root,
void *  userdata,
Int32  col,
GeUserArea area 
)
virtual

Called to retrieve the width of the header for column col.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]colThe column index.
[in]areaThe user area used to determine the text width with area->DrawGetTextWidth(). The caller owns the pointed user area.
Returns
The header column width, or a negative number for auto header width.

◆ GetMinHeaderHeight()

virtual Int32 GetMinHeaderHeight ( void *  root,
void *  userdata,
GeUserArea area 
)
virtual

Called to retrieve the minimum header height.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]areaThe user area used to determine the text width with area->DrawGetTextWidth(). The caller owns the pointed user area.
Returns
The minimum header height, or a negative value for auto header height.

◆ GetLineHeight()

virtual Int32 GetLineHeight ( void *  root,
void *  userdata,
void *  obj,
Int32  col,
GeUserArea area 
)
virtual

Called to retrieve the line height of object obj in column col. Always return a positive value.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]colThe column index.
[in]areaThe user area used to determine the text width with area->DrawGetTextWidth(). The caller owns the pointed user area.
Returns
The line height.

◆ GetColors()

virtual void GetColors ( void *  root,
void *  userdata,
void *  obj,
GeData pNormal,
GeData pSelected 
)
virtual

Called to specify the text colors of object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[out]pNormalSet this to the normal text color for obj. Can be a vector or a color ID. The caller owns the pointed data.
[out]pSelectedSet this to the selected text color for obj. Can be a vector or a color ID. The caller owns the pointed data.

◆ GetBackgroundColor()

virtual void GetBackgroundColor ( void *  root,
void *  userdata,
void *  obj,
Int32  line,
GeData col 
)
virtual

Called to specify the background color of line.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]lineThe line index.
[out]colSet this to the background color for line. Can be a vector or a color ID. The caller owns the pointed data.

◆ DrawCell()

virtual void DrawCell ( void *  root,
void *  userdata,
void *  obj,
Int32  col,
DrawInfo drawinfo,
const GeData bgColor 
)
virtual

Called to draw the cell for object obj in column col into the user area in drawinfo->frame.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]colThe column index.
[in]drawinfoThe draw information. The caller owns the pointed draw information.
[in]bgColorThe background color. Can be a vector or a color ID.

◆ DrawHeaderCell()

virtual Bool DrawHeaderCell ( void *  root,
void *  userdata,
Int32  col,
DrawInfo drawinfo 
)
virtual

Called to draw the header for column col into the user area in drawinfo->frame.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]colThe column index.
[in]drawinfoThe draw information. The caller owns the pointed draw information.
Returns
true if you have drawn the header or false if the header should be drawn by the tree view.

◆ IsSelected()

virtual Bool IsSelected ( void *  root,
void *  userdata,
void *  obj 
)
pure virtual

Called to retrieve the selection status of object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
true if the object is selected, otherwise false.

◆ Select()

virtual void Select ( void *  root,
void *  userdata,
void *  obj,
Int32  mode 
)
virtual

Called to select object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]modeThe selection mode: SELECTION

◆ IsOpened()

virtual Bool IsOpened ( void *  root,
void *  userdata,
void *  obj 
)
pure virtual

Called to retrieve the folding status of object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
true if the object is opened, otherwise false.

◆ Open()

virtual void Open ( void *  root,
void *  userdata,
void *  obj,
Bool  onoff 
)
virtual

Called to open or close object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]onofftrue if obj should be opened, otherwise false.

◆ GetName()

virtual String GetName ( void *  root,
void *  userdata,
void *  obj 
)
pure virtual

Called to retrieve the name of object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
The object name.

◆ SetName()

virtual void SetName ( void *  root,
void *  userdata,
void *  obj,
const maxon::String str 
)
virtual

Called to set the name of object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]strThe new object name.

◆ GetBubbleHelp()

virtual String GetBubbleHelp ( void *  root,
void *  userdata,
void *  obj,
Int32  col,
MouseInfo info 
)
virtual

Called to retrieve the bubble help of object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]colThe column index.
[in]infoThe cell information.
Returns
The bubble help of the object. Mouse cursor change is supported by adding this suffix: "&mXX&" where XX is a mouse cursor ID: MOUSE. Example:
return GeLoadString(IDS_MY_BUBBLE_HELP) + "&m"_s + String::IntToString(MOUSE_POINT_HAND) + "&"_s;
const String & GeLoadString(Int32 id)
static String IntToString(Int32 v)
Definition: c4d_string.h:497
static const Int32 MOUSE_POINT_HAND
Point hand cursor.
Definition: ge_prepass.h:2708

◆ GetId()

virtual Int GetId ( void *  root,
void *  userdata,
void *  obj 
)
pure virtual

Called to retrieve the ID of object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
The object ID.

◆ IsChecked()

virtual Int32 IsChecked ( void *  root,
void *  userdata,
void *  obj,
Int32  lColumn 
)
virtual

Called to retrieve the checkbox status of object obj for column lColumn.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]lColumnThe column index.
Returns
A combination of the following flags or NOTOK to show no checkbox: LV_CHECKBOX

◆ SetCheck()

virtual void SetCheck ( void *  root,
void *  userdata,
void *  obj,
Int32  lColumn,
Bool  bCheck,
const BaseContainer bcMsg 
)
virtual

Called to set the checkbox status of object obj.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]lColumnThe column index.
[in]bChecktrue if the checkbox should be checked, otherwise false.
[in]bcMsgThe container originally sent to the InputEvent() of the tree view's user area.

◆ IsTristate()

virtual Bool IsTristate ( void *  root,
void *  userdata 
)
virtual

Called to retrieve the tristate flag of the tree.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
Returns
true if the tristate flag is set, otherwise false.

◆ GetDragType()

virtual Int32 GetDragType ( void *  root,
void *  userdata,
void *  obj 
)
pure virtual

Called to retrieve the drag type of object obj, i.e. the type that the user would get if he started a drag in that cell.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
The object drag type, or NOTOK to disable drag-and-drop: DRAGTYPE

◆ DragStart()

virtual Int32 DragStart ( void *  root,
void *  userdata,
void *  obj 
)
virtual

Called to determine if object obj can be dragged or not and if dragged objects will be selected or not.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
A combination of the following flags: TREEVIEW_DRAGSTART

◆ AcceptDragObject()

virtual Int32 AcceptDragObject ( void *  root,
void *  userdata,
void *  obj,
Int32  dragtype,
void *  dragobject,
Bool bAllowCopy 
)
virtual

Called to check if object obj can accept the specified drag-and-drop action, and in that case what the result would be.

Note
if obj is nullptr dragobject should be inserted as a child of the root.
Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]dragtypeThe drag type: DRAGTYPE
[in]dragobjectThe drag object. The caller owns the pointed object.
[in]bAllowCopytrue if copying is allowed to this position., otherwise false.
Returns
The result: INSERT
The ACCEPT_DRAG_OBJECT_FORCE_COPY bit flag can be used together with the INSERT constants.

◆ SetDragObject()

virtual void SetDragObject ( void *  root,
void *  userdata,
void *  obj 
)
virtual

Called to set the drag object to obj.

Note
Useful to determine if dragging happens internally (rearrange items) or externally (dragged items from another tree for instance). To check this, store the drag object data and compare it with dragobject in InsertObject().
Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objThe drag object on drag start.

◆ GenerateDragArray()

virtual void GenerateDragArray ( void *  root,
void *  userdata,
void *  obj,
AtomArray ar 
)
virtual

Called to generate a drag array for object obj in ar.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objThe drag object.
[out]arFill this array with the drag objects for obj. The caller owns the pointed array.

◆ GenerateDragData()

virtual void GenerateDragData ( void *  root,
void *  userdata,
void *  obj,
void **  dragdata 
)
virtual

Called to generate drag data and return a pointer to it in dragdata, to be freed with FreeDragData().

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objThe drag object.
[out]dragdataPoints to a pointer that should be set to the generated drag data.

◆ FreeDragData()

virtual void FreeDragData ( void *  root,
void *  userdata,
void *  dragdata 
)
virtual

Called to free the drag data generated by GenerateDragData().

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in,out]dragdataThe drag data to free.

◆ InsertObject()

virtual void InsertObject ( void *  root,
void *  userdata,
void *  obj,
Int32  dragtype,
void *  dragobject,
Int32  insertmode,
Bool  bCopy 
)
virtual

Called to insert dragobject as specified.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]dragtypeThe drag type: DRAGTYPE
[in]dragobjectThe drag object on drag receive. The caller owns the pointed object.
[in]insertmodeThe insert mode: INSERT
[in]bCopytrue if the object should be copied, otherwise false.

◆ CreateContextMenu()

virtual void CreateContextMenu ( void *  root,
void *  userdata,
void *  obj,
Int32  lColumn,
BaseContainer bc 
)
virtual

Called to build a context menu for object obj and column lColumn. See ShowPopupMenu() for the format.

Note
bc container already contains 2 default items: ID_TREEVIEW_CONTEXT_REMOVE and ID_TREEVIEW_CONTEXT_RESET. These may be removed.
The added menu entry IDs must be larger than ID_TREEVIEW_FIRST_NEW_ID.
Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]lColumnThe column index.
[in,out]bcAdd context menu entries to this container. The caller owns the pointed container.

◆ ContextMenuCall()

virtual Bool ContextMenuCall ( void *  root,
void *  userdata,
void *  obj,
Int32  lColumn,
Int32  lCommand 
)
virtual

Called by a command in the context menu setup in CreateContextMenu().

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]lColumnThe column index.
[in]lCommandThe menu command ID.
Returns
true if the command has been processed and the data needs to be updated, otherwise false.

◆ GetHeaderSortArrow()

virtual Int32 GetHeaderSortArrow ( void *  root,
void *  userdata,
Int32  lColID 
)
virtual

Called to retrieve the sort mode of column lColID.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]lColIDThe column index.
Returns
The sort direction.

◆ IsResizeColAllowed()

virtual Bool IsResizeColAllowed ( void *  root,
void *  userdata,
Int32  lColID 
)
virtual

Called to check if column lColID can be resized or not.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]lColIDThe column index.
Returns
true if the column can be resized, otherwise false.

◆ IsMoveColAllowed()

virtual Bool IsMoveColAllowed ( void *  root,
void *  userdata,
Int32  lColID 
)
virtual

Called to check if column lColID can be moved or not.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]lColIDThe column index.
Returns
true if the column can be moved, otherwise false.

◆ InputEvent()

virtual Bool InputEvent ( void *  root,
void *  userdata,
GeUserArea pArea,
const BaseContainer msg 
)
virtual

Called when an input event is received. All information about the input event is stored in the msg container.
See Input Events for more information. See also MOUSEMOVE_DELTA.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]pAreaThe user area of the tree view. The caller owns the pointed user area.
[in]msgThe event container.
Returns
true if the event was handled, otherwise false.

◆ MouseDown()

virtual Bool MouseDown ( void *  root,
void *  userdata,
void *  obj,
Int32  col,
MouseInfo mouseinfo,
Bool  rightButton 
)
virtual

Called when a mouse down event is received.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]colThe column index.
[in]mouseinfoThe mouse information. The caller owns the pointed mouse information.
[in]rightButtontrue if the right mouse button was used, otherwise false.
Returns
true if the event was handled, otherwise false.

◆ DoubleClick()

virtual Int32 DoubleClick ( void *  root,
void *  userdata,
void *  obj,
Int32  col,
MouseInfo mouseinfo 
)
virtual

Called when a mouse double click event is received.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
[in]colThe column index.
[in]mouseinfoThe mouse information. The caller owns the pointed mouse information.
Returns
!=0 if the event was handled.

◆ DeletePressed()

virtual void DeletePressed ( void *  root,
void *  userdata 
)
virtual

Called when a delete event is received.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.

◆ HeaderClick()

virtual Bool HeaderClick ( void *  root,
void *  userdata,
Int32  lColID,
Int32  lChannel,
Bool  bDblClk,
Int32  mouseX,
Int32  mouseY,
GeUserArea ua 
)
virtual

Called when a header has been clicked.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]lColIDThe column index.
[in]lChannelThe mouse channel: BFM_INPUT_CHANNEL
[in]bDblClktrue for double-click event, otherwise false.
[in]mouseXThe mouse horizontal position local to the left hand edge of the column or NOTOK if dragging a column
[in]mouseYThe mouse vertical position local to the header top or NOTOK if dragging a column
[in]uaThe header's userarea or nullptr if TREEVIEW_MOVE_COLUMN is set to true.
Returns
true if the tree view needs to be updated, otherwise false.

◆ Scrolled()

virtual void Scrolled ( void *  root,
void *  userdata,
Int32  h,
Int32  v,
Int32  x,
Int32  y 
)
virtual

Called when the tree view has been scrolled.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]hThe horizontal scroll steps.
[in]vThe vertical scroll steps.
[in]xThe X offset.
[in]yThe Y offset.

◆ PaintFinished()

virtual void PaintFinished ( void *  root,
void *  userdata 
)
virtual

Called when a paint selection has been performed in the tree view.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.

◆ ColumnMoved()

virtual Bool ColumnMoved ( void *  root,
void *  userdata,
Int32  lColID,
Int32  lInsertBeforeCol,
Int32 plIndexMap,
const BaseContainer pbcLayout 
)
virtual

Called when a column has been moved.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]lColIDThe column index.
[in]lInsertBeforeColThe column to insert lColID before.
[in]plIndexMapThe column index map array. The caller owns the pointed array.
[in]pbcLayoutThe new layout container. Basically the same as the container passed in TreeViewCustomGui::SetLayout() but reflecting the changed column order.
Returns
true if the move is acceptable, otherwise false.
If false is returned the layout change is canceled.

◆ SelectionChanged()

virtual void SelectionChanged ( void *  root,
void *  userdata 
)
virtual

Called when selection has changed.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.

◆ InitCache()

virtual void InitCache ( void *  root,
void *  userdata 
)
virtual

Private.

◆ PythonCleanup()

virtual Bool PythonCleanup ( void *  root,
void *  userdata 
)
virtual

Private.

◆ GetDropDownMenu()

virtual void GetDropDownMenu ( void *  root,
void *  userdata,
void *  obj,
Int32  lColumn,
TreeViewDropDownMenuInfo menuInfo 
)
virtual

Gets a drop down menu and it's current selected entry.

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
[in]objAn object in the tree.
[in]lColumnThe column.
[out]menuInfoThe MenuInfo that the user must fill out.

◆ SetDropDownMenu()

virtual void SetDropDownMenu ( void *  root,
void *  userdata,
void *  obj,
Int32  lColumn,
Int32  entry 
)
virtual

Called to set the current menu entry by e.g. user interaction.

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
[in]objAn object in the tree.
[in]lColumnThe column.
[in]entryThe entry that the user has picked.

◆ GetFloatValue()

virtual void GetFloatValue ( void *  root,
void *  userdata,
void *  obj,
Int32  lColumn,
TreeViewFloatSliderInfo sliderInfo 
)
virtual

Gets the value and ranges for a float slider.

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
[in]objAn object in the tree.
[in]lColumnThe column.
[out]sliderInfoThe information that the user must fill out about the slider, it's range and values.

◆ SetFloatValueEx()

virtual void SetFloatValueEx ( void *  root,
void *  userdata,
void *  obj,
Int32  lColumn,
Float  value 
)
virtual

Sets the float value from the slider by e.g. user interaction.

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
[in]objAn object in the tree.
[in]lColumnThe column.
[in]valueThe value to set.

◆ AddRow()

virtual Bool AddRow ( void *  root,
void *  userdata 
)
virtual

Requests to add a row to the treeview

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
Returns
true if it succeeds, false if it fails.

◆ EmptyText()

virtual String EmptyText ( void *  root,
void *  userdata 
)
virtual

Requests the text to display when the treeview area is completely empty such as "Drag falloff object's here"

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
Returns
the text to display in the empty treeview area.

◆ IsSelectable()

virtual Bool IsSelectable ( void *  root,
void *  userdata,
void *  obj 
)
virtual

Checks if the object is selectable, used to determine if the object should be skipped (not selectable) or not (selectable) when changing selection with keyboard (Up/Down/Home/End keys).

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
[in]objAn object in the tree.
Returns
true if The object is selectable, otherwise false.

◆ VisitChildren()

Bool VisitChildren ( void *  root,
void *  obj,
VisitChildrenCallback  fn,
void *  userdata,
void *  data1,
void *  data2 
)

Visits object obj and all its children, calling fn(root, obj, userdata, data1, data2, result) for each object.

Parameters
[in]rootThe tree root.
[in]objAn object in the tree.
[in]fnCallback to evaluate for each child.
[in]userdataThe user data.
[in]data1The first data.
[in]data2The second data.
Returns
true if all evaluations were successful, otherwise false.

◆ SetFloatValue()

virtual void SetFloatValue ( void *  root,
void *  userdata,
void *  obj,
Int32  lColumn,
Float  value,
Bool  finalValue 
)
virtual

Sets the float value from the slider by e.g. user interaction.

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
[in]objAn object in the tree.
[in]lColumnThe column.
[in]valueThe value to set.
[in]finalValueTrue if this is the final value that will be set for this interaction.

◆ GetNameForEdit()

virtual String GetNameForEdit ( void *  root,
void *  userdata,
void *  obj 
)
virtual

Called to retrieve the name of object obj for display in the edit text box.

Parameters
[in]rootThe tree root.
[in]userdataThe user data.
[in]objAn object in the tree.
Returns
The object name.

◆ StartInput()

virtual maxon::Result<maxon::Data> StartInput ( void *  root,
void *  userdata 
)
virtual

StartInput is called before input loop starts. This functions allows to lock resources while input events are executed.

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
Returns
data which will be passed to FinishInput().

◆ FinishInput()

virtual void FinishInput ( void *  root,
void *  userdata,
maxon::Data data 
)
virtual

FinishInput is called at the end of the complete input handling.

Parameters
[in]rootThe tree root.
[in]userdataThe userdata.
[in]dataData generated in StartInput()