MeshLib C++ Docs
Loading...
Searching...
No Matches

class for drawing a list of scene objects (and handling interaction with it) More...

#include <MRViewer/MRSceneObjectsListDrawer.h>

Inheritance diagram for MR::SceneObjectsListDrawer:

Public Member Functions

virtual ~SceneObjectsListDrawer ()=default
virtual void draw (float height)
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
void changeSelection (bool isDown, bool isShift)
void changeVisible (bool isDown)
void selectAllObjects ()
 select all selectable objects
void setLeavesVisibility (bool visible)
 set visible flag all selectable objects
void setObjectTreeState (const Object *obj, bool open)
 set object collapse state (hiding children)
void expandObjectTreeAndScroll (const Object *obj)
 expands all objs parents in tree and scroll scene tree window so selection becomes visible
void allowSceneReorder (bool allow)
 set possibility change object order
void setNextFrameFixScroll (int skipFrames=1)
 helper method for fix scroll position after change available height

Protected Types

typedef int ImGuiTreeNodeFlags

Protected Member Functions

virtual void drawCustomObjectPrefixInScene_ (const Object &, bool)
virtual void drawSceneContextMenu_ (const std::vector< std::shared_ptr< Object > > &, const std::string &)
virtual float drawCustomTreeObjectProperties_ (Object &obj, bool onlyCalcHeight)
virtual bool collapsingHeader_ (const std::string &uniqueName, ImGuiTreeNodeFlags flags)
 override this to customize CollapsingHeader draw
virtual std::string objectLineStrId_ (const Object &object, const std::string &uniqueStr)
virtual bool drawObject_ (Object &object, const std::string &uniqueStr, int depth)
 override this to customize whole object line
virtual bool drawSkippedObject_ (Object &object, const std::string &uniqueStr, int depth)
 draw dummy container for skipped object
bool drawObjectCollapsingHeader_ (Object &object, const std::string &uniqueStr, bool hasRealChildren)
 function that draws collapsing header and process click on it
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)
void makeDragDropSource_ (const std::vector< std::shared_ptr< Object > > &payload)
 payload object will be moved
bool needDragDropTarget_ ()
 checking the need to draw a target
void makeDragDropTarget_ (Object &target, bool before, bool betweenLine, const std::string &uniqueStr)
void drawObjectVisibilityCheckbox_ (Object &object, const std::string &uniqueStr)
 draw visibility checkbox and call ImGui::SameLine at the end

Protected Attributes

bool showNewSelectedObjects_ = true
bool deselectNewHiddenObjects_ = false
std::unordered_map< const Object *, bool > sceneOpenCommands_

Detailed Description

class for drawing a list of scene objects (and handling interaction with it)


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