MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::RibbonSceneObjectsListDrawer Class Reference

class for drawing a list of scene objects in RibbonMenu style More...

#include <MRRibbonSceneObjectsListDrawer.h>

+ Inheritance diagram for MR::RibbonSceneObjectsListDrawer:

Public Member Functions

virtual MRVIEWER_API void draw (float height) override
 
MRVIEWER_API void initRibbonMenu (RibbonMenu *ribbonMenu)
 
void setCloseContextOnChange (bool deselect)
 set closing scene context menu on any change
 
bool getCloseContextOnChange ()
 get flag closing scene context menu on any change
 
- Public Member Functions inherited from MR::SceneObjectsListDrawer
virtual ~SceneObjectsListDrawer ()=default
 
void setShowNewSelectedObjects (bool show)
 set flag of the object visibility activation after selection
 
bool getShowNewSelectedObjects ()
 get flag of the object visibility activation after selection
 
void setDeselectNewHiddenObjects (bool deselect)
 set flag of deselect object after hidden
 
bool getDeselectNewHiddenObjects ()
 get flag of deselect object after hidden
 
MRVIEWER_API void changeSelection (bool isDown, bool isShift)
 
MRVIEWER_API void changeVisible (bool isDown)
 
MRVIEWER_API void selectAllObjects ()
 select all selectable objects
 
MRVIEWER_API void setLeavesVisibility (bool visible)
 set visible flag all selectable objects
 
MRVIEWER_API void setObjectTreeState (const Object *obj, bool open)
 set object collapse state (hiding children)
 
MRVIEWER_API void expandObjectTreeAndScroll (const Object *obj)
 expands all objs parents in tree and scroll scene tree window so selection becomes visible
 
MRVIEWER_API void allowSceneReorder (bool allow)
 set possibility change object order
 
MRVIEWER_API void setNextFrameFixScroll (int skipFrames=1)
 helper method for fix scroll position after change available height
 

Public Attributes

Signal< void()> onDrawContextSignal
 this signal is emitted each frame inside scene context window
 

Protected Member Functions

virtual MRVIEWER_API void drawCustomObjectPrefixInScene_ (const Object &obj, bool opened) override
 
virtual MRVIEWER_API void drawSceneContextMenu_ (const std::vector< std::shared_ptr< Object > > &selected, const std::string &uniqueStr) override
 
virtual MRVIEWER_API bool collapsingHeader_ (const std::string &uniqueName, ImGuiTreeNodeFlags flags) override
 override this to customize CollapsingHeader draw
 
virtual MRVIEWER_API std::string objectLineStrId_ (const Object &object, const std::string &uniqueStr) override
 
virtual MRVIEWER_API bool drawObject_ (Object &object, const std::string &uniqueStr, int depth) override
 override this to customize whole object line
 
virtual MRVIEWER_API bool drawSkippedObject_ (Object &object, const std::string &uniqueStr, int depth) override
 draw dummy container for skipped object
 
- Protected Member Functions inherited from MR::SceneObjectsListDrawer
virtual MRVIEWER_API float drawCustomTreeObjectProperties_ (Object &obj, bool onlyCalcHeight)
 
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)
 draw visibility checkbox and call ImGui::SameLine at the end
 

Additional Inherited Members

- Protected Types inherited from MR::SceneObjectsListDrawer
typedef int ImGuiTreeNodeFlags
 
- Protected Attributes inherited from MR::SceneObjectsListDrawer
bool showNewSelectedObjects_ = true
 
bool deselectNewHiddenObjects_ = false
 
std::unordered_map< const Object *, bool > sceneOpenCommands_
 

Detailed Description

class for drawing a list of scene objects in RibbonMenu style


The documentation for this class was generated from the following file: