TreeView Header Sorting
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 06/07/2006 at 07:07, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 9.102
Platform: Windows ; Mac ; Mac OSX ;
Language(s) : C++ ;---------
Any information on how this actually works? I see that there is a method TreeViewFunctions::GetHeaderSortArrow(), but there is no arrow on any of the column headers. So, one supposes that I supply the arrow and which column currently is used for sorting?Also, would TreeViewFunctions::HeaderClick() be used to possibly initiate sorting (change ascending/descending for instance)?
Thanks,
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 06/07/2006 at 10:00, xxxxxxxx wrote:
No clue, as I haven´t used this yet but I´d be interested in knowing it too.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 06/07/2006 at 10:04, xxxxxxxx wrote:
I think that I have this 'sorted' (bah-dum-bah).
GetHeaderSortArrow() wants a non-zero value to determine sort direction (though the docs don't specify what values are expected - eh hem). I'm using 0 for no sort, -1/1 for sorted directions.
HeaderClick() can be used to change sort direction or select a new sort column.
Here's my code for TreeViewFunctions:
LONG GetHeaderSortArrow(void* root, void* userdata, LONG lColID) { rroot = (ResultsRoot* )root; if (rroot->GetSortCol() == lColID) return rroot->GetSortDir(); return 0; } Bool HeaderClick(void* root, void* userdata, LONG lColID, LONG lChannel, Bool bDblClk) { // Ignore double-clicks and middle/right mouse buttons if (bDblClk) return FALSE; if (lChannel != BFM_INPUT_MOUSELEFT) return FALSE; rroot = (ResultsRoot* )root; if (rroot->GetSortCol() == lColID) rroot->InvertSortDir(); else rroot->SetSortCol(lColID); return TRUE; }
P.S.: Note that the actual sorting must be done in your own code when conditions warrant (change of column, change of sort direction).
3D Designer, now you know.