Selecting outside treeview items



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 29/10/2005 at 03:15, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   9.1 
    Platform:      
    Language(s) :     C++  ;

    ---------
    Hi,

    This might be a bit complicated

    I have a TreeView gadget that is currently populated by 700 items.

    Each of these items is in fact a BaseObject that I create in memory that I dont insert into the document.

    I then use the BaseContainer of each of these virtual objects to store data regarding the treeview state.

    One important part of these BaseContainers is that I have set a link to point to an object thats already in the document.

    Then when the user clicks on a treeview item, I check the link in the basecontainer, make sure its valid, and use doc->SetActiveObject() to select the object.

    I do this inside the TreeViewFunctions::Select Method.

    now I have a problem, it works fine but if I click on a item OUTSIDE the treeview list (for example, if all the items are collapsed, and i click below the last item)

    My treeview goes on a frenzy and calls Select for every 700 items in the treeview, thus creating a massive slow down as the plugin is busy processing all the items

    I can't work out why the treeview executes the Select method so many times.
    Its fine when the user actually click a valid item in the treeview, Select is called around 3 times which is fine.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 29/10/2005 at 07:50, xxxxxxxx wrote:

    I think I have worked out what is happening.

    When you click an invalid item in the treeview, the treeview attempts to de-select everything, so it calls TreeViewFunction::Select() for every object while passing SELECTION_SUB as the mode parameter


Log in to reply