class for drawing a list of scene objects (and handling interaction with it)  
 More...
#include <MRSceneObjectsListDrawer.h>
 | 
| virtual MRVIEWER_API void  | drawCustomObjectPrefixInScene_ (const Object &, bool) | 
|   | 
| virtual MRVIEWER_API void  | drawSceneContextMenu_ (const std::vector< std::shared_ptr< Object > > &, const std::string &) | 
|   | 
| virtual MRVIEWER_API float  | drawCustomTreeObjectProperties_ (Object &obj, bool onlyCalcHeight) | 
|   | 
| virtual MRVIEWER_API bool  | collapsingHeader_ (const std::string &uniqueName, ImGuiTreeNodeFlags flags) | 
|   | override this to customize CollapsingHeader draw  
  | 
|   | 
| virtual MRVIEWER_API std::string  | objectLineStrId_ (const Object &object, const std::string &uniqueStr) | 
|   | 
| virtual MRVIEWER_API bool  | drawObject_ (Object &object, const std::string &uniqueStr, int depth) | 
|   | override this to customize whole object line  
  | 
|   | 
| virtual MRVIEWER_API bool  | drawSkippedObject_ (Object &object, const std::string &uniqueStr, int depth) | 
|   | draw dummy container for skipped object  
  | 
|   | 
| MRVIEWER_API bool  | drawObjectCollapsingHeader_ (Object &object, const std::string &uniqueStr, bool hasRealChildren) | 
|   | function that draws collapsing header and process click on it  
  | 
|   | 
| MRVIEWER_API void  | processItemClick_ (Object &object, const std::vector< std::shared_ptr< Object > > &selected) | 
|   | function that do click logic on object line (select/deselect/rename/open context)  
  | 
|   | 
| MRVIEWER_API void  | makeDragDropSource_ (const std::vector< std::shared_ptr< Object > > &payload) | 
|   | payload object will be moved  
  | 
|   | 
| MRVIEWER_API bool  | needDragDropTarget_ () | 
|   | checking the need to draw a target  
  | 
|   | 
| MRVIEWER_API void  | makeDragDropTarget_ (Object &target, bool before, bool betweenLine, const std::string &uniqueStr) | 
|   | 
| MRVIEWER_API void  | drawObjectVisibilityCheckbox_ (Object &object, const std::string &uniqueStr) | 
|   | 
class for drawing a list of scene objects (and handling interaction with it) 
 
◆ ImGuiTreeNodeFlags
◆ ~SceneObjectsListDrawer()
  
  
      
        
          | virtual MR::SceneObjectsListDrawer::~SceneObjectsListDrawer  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
virtualdefault   | 
  
 
 
◆ allowSceneReorder()
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::allowSceneReorder  | 
          ( | 
          bool |           allow | ) | 
           | 
        
      
 
set possibility change object order 
 
 
◆ changeSelection()
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::changeSelection  | 
          ( | 
          bool |           isDown,  | 
        
        
           | 
           | 
          bool |           isShift ) | 
        
      
 
change selection after pressed arrow up / down isDown - true if pressed arrow down, false - arrow up isShift - shift button holded 
 
 
◆ changeVisible()
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::changeVisible  | 
          ( | 
          bool |           isDown | ) | 
           | 
        
      
 
change visible (and selection) after pressed arrow up / down isDown - true if pressed F4, false - F3 
 
 
◆ collapsingHeader_()
  
  
      
        
          | virtual MRVIEWER_API bool MR::SceneObjectsListDrawer::collapsingHeader_  | 
          ( | 
          const std::string & |           uniqueName,  | 
         
        
           | 
           | 
          ImGuiTreeNodeFlags |           flags ) | 
         
       
   | 
  
protectedvirtual   | 
  
 
 
◆ draw()
  
  
      
        
          | virtual MRVIEWER_API void MR::SceneObjectsListDrawer::draw  | 
          ( | 
          float |           height | ) | 
           | 
         
       
   | 
  
virtual   | 
  
 
Main method for drawing all \detail Not creat window. Use in window block (between ImGui::Begin and ImGui::End) 
Reimplemented in MR::RibbonSceneObjectsListDrawer.
 
 
◆ drawCustomObjectPrefixInScene_()
  
  
      
        
          | virtual MRVIEWER_API void MR::SceneObjectsListDrawer::drawCustomObjectPrefixInScene_  | 
          ( | 
          const Object & |           ,  | 
         
        
           | 
           | 
          bool |            ) | 
         
       
   | 
  
inlineprotectedvirtual   | 
  
 
override this to customize prefix for objects in scene \detail height should be less or equal ImGui::GetFrameHeight() method should save ImGui::CursorPosY 
Reimplemented in MR::RibbonSceneObjectsListDrawer.
 
 
◆ drawCustomTreeObjectProperties_()
  
  
      
        
          | virtual MRVIEWER_API float MR::SceneObjectsListDrawer::drawCustomTreeObjectProperties_  | 
          ( | 
          Object & |           obj,  | 
         
        
           | 
           | 
          bool |           onlyCalcHeight ) | 
         
       
   | 
  
protectedvirtual   | 
  
 
override this to have custom UI in "Scene" window (under opened(expanded) object line) \detail if onlyHeight is true, should return drawing height without rendering return 0.f if nothing drawing 
 
 
◆ drawObject_()
  
  
      
        
          | virtual MRVIEWER_API bool MR::SceneObjectsListDrawer::drawObject_  | 
          ( | 
          Object & |           object,  | 
         
        
           | 
           | 
          const std::string & |           uniqueStr,  | 
         
        
           | 
           | 
          int |           depth ) | 
         
       
   | 
  
protectedvirtual   | 
  
 
 
◆ drawObjectCollapsingHeader_()
  
  
      
        
          | MRVIEWER_API bool MR::SceneObjectsListDrawer::drawObjectCollapsingHeader_  | 
          ( | 
          Object & |           object,  | 
         
        
           | 
           | 
          const std::string & |           uniqueStr,  | 
         
        
           | 
           | 
          bool |           hasRealChildren ) | 
         
       
   | 
  
protected   | 
  
 
function that draws collapsing header and process click on it 
 
 
◆ drawObjectVisibilityCheckbox_()
  
  
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::drawObjectVisibilityCheckbox_  | 
          ( | 
          Object & |           object,  | 
         
        
           | 
           | 
          const std::string & |           uniqueStr ) | 
         
       
   | 
  
protected   | 
  
 
 
◆ drawSceneContextMenu_()
  
  
      
        
          | virtual MRVIEWER_API void MR::SceneObjectsListDrawer::drawSceneContextMenu_  | 
          ( | 
          const std::vector< std::shared_ptr< Object > > & |           ,  | 
         
        
           | 
           | 
          const std::string & |            ) | 
         
       
   | 
  
inlineprotectedvirtual   | 
  
 
 
◆ drawSkippedObject_()
  
  
      
        
          | virtual MRVIEWER_API bool MR::SceneObjectsListDrawer::drawSkippedObject_  | 
          ( | 
          Object & |           object,  | 
         
        
           | 
           | 
          const std::string & |           uniqueStr,  | 
         
        
           | 
           | 
          int |           depth ) | 
         
       
   | 
  
protectedvirtual   | 
  
 
 
◆ getDeselectNewHiddenObjects()
  
  
      
        
          | bool MR::SceneObjectsListDrawer::getDeselectNewHiddenObjects  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
get flag of deselect object after hidden 
 
 
◆ getShowNewSelectedObjects()
  
  
      
        
          | bool MR::SceneObjectsListDrawer::getShowNewSelectedObjects  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
get flag of the object visibility activation after selection 
 
 
◆ makeDragDropSource_()
  
  
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::makeDragDropSource_  | 
          ( | 
          const std::vector< std::shared_ptr< Object > > & |           payload | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
payload object will be moved 
 
 
◆ makeDragDropTarget_()
  
  
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::makeDragDropTarget_  | 
          ( | 
          Object & |           target,  | 
         
        
           | 
           | 
          bool |           before,  | 
         
        
           | 
           | 
          bool |           betweenLine,  | 
         
        
           | 
           | 
          const std::string & |           uniqueStr ) | 
         
       
   | 
  
protected   | 
  
 
"target" and "before" are "to" and "before" of SceneReorder struct betweenLine - if true requires to draw line (between two objects in tree, for ImGui to have target) counter - unique number of object in tree (needed for ImGui to differ new lines) 
 
 
◆ needDragDropTarget_()
  
  
      
        
          | MRVIEWER_API bool MR::SceneObjectsListDrawer::needDragDropTarget_  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
checking the need to draw a target 
 
 
◆ objectLineStrId_()
  
  
      
        
          | virtual MRVIEWER_API std::string MR::SceneObjectsListDrawer::objectLineStrId_  | 
          ( | 
          const Object & |           object,  | 
         
        
           | 
           | 
          const std::string & |           uniqueStr ) | 
         
       
   | 
  
protectedvirtual   | 
  
 
 
◆ processItemClick_()
  
  
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::processItemClick_  | 
          ( | 
          Object & |           object,  | 
         
        
           | 
           | 
          const std::vector< std::shared_ptr< Object > > & |           selected ) | 
         
       
   | 
  
protected   | 
  
 
function that do click logic on object line (select/deselect/rename/open context) 
 
 
◆ selectAllObjects()
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::selectAllObjects  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ setDeselectNewHiddenObjects()
  
  
      
        
          | void MR::SceneObjectsListDrawer::setDeselectNewHiddenObjects  | 
          ( | 
          bool |           deselect | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
set flag of deselect object after hidden 
 
 
◆ setLeavesVisibility()
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::setLeavesVisibility  | 
          ( | 
          bool |           visible | ) | 
           | 
        
      
 
 
◆ setNextFrameFixScroll()
  
  
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::setNextFrameFixScroll  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
helper method for fix scroll position after change available height 
 
 
◆ setObjectTreeState()
      
        
          | MRVIEWER_API void MR::SceneObjectsListDrawer::setObjectTreeState  | 
          ( | 
          const Object * |           obj,  | 
        
        
           | 
           | 
          bool |           open ) | 
        
      
 
set object collapse state (hiding children) 
 
 
◆ setShowNewSelectedObjects()
  
  
      
        
          | void MR::SceneObjectsListDrawer::setShowNewSelectedObjects  | 
          ( | 
          bool |           show | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
set flag of the object visibility activation after selection 
 
 
◆ deselectNewHiddenObjects_
  
  
      
        
          | bool MR::SceneObjectsListDrawer::deselectNewHiddenObjects_ = false | 
         
       
   | 
  
protected   | 
  
 
 
◆ sceneOpenCommands_
  
  
      
        
          | std::unordered_map<const Object*, bool> MR::SceneObjectsListDrawer::sceneOpenCommands_ | 
         
       
   | 
  
protected   | 
  
 
 
◆ showNewSelectedObjects_
  
  
      
        
          | bool MR::SceneObjectsListDrawer::showNewSelectedObjects_ = true | 
         
       
   | 
  
protected   | 
  
 
 
The documentation for this class was generated from the following file: