2#include "MRMesh/MRMeshFwd.h"
18 MRVIEWER_API
virtual void draw(
float height )
override;
31 MRVIEWER_API
virtual void drawSceneContextMenu_(
const std::vector<std::shared_ptr<Object>>& selected,
const std::string& uniqueStr )
override;
36 MRVIEWER_API
virtual bool drawObject_(
Object&
object,
const std::string& uniqueStr,
int depth )
override;
40 MRVIEWER_API
virtual const char* getSceneItemIconByTypeName_(
const std::string& typeName )
const;
42 bool drawTreeOpenedState_(
Object&
object,
bool leaf,
const std::string& uniqueStr,
int depth );
43 void drawObjectLine_(
Object&
object,
const std::string& uniqueStr,
bool opened );
44 void drawEyeButton_(
Object&
object,
const std::string& uniqueStr,
bool frameHovered );
46 void drawHierarhyLine_(
const Vector2f& startScreenPos,
int depth,
bool skipped );
50 float screenPosY{ 0.0f };
54 std::vector<LastDepthInfo> lastDrawnSibling_;
55 int currentElementId_{ 0 };
56 RibbonMenu* ribbonMenu_ =
nullptr;
57 bool closeContextOnChange_ =
true;
named object in the data model
Definition MRObject.h:62
class for drawing a list of scene objects in RibbonMenu style
Definition MRRibbonSceneObjectsListDrawer.h:16
class for drawing a list of scene objects (and handling interaction with it)
Definition MRSceneObjectsListDrawer.h:19
virtual MRVIEWER_API void drawSceneContextMenu_(const std::vector< std::shared_ptr< Object > > &selected, const std::string &uniqueStr) override
virtual MRVIEWER_API void drawCustomObjectPrefixInScene_(const Object &obj, bool opened) override
MRVIEWER_API void initRibbonMenu(RibbonMenu *ribbonMenu)
bool getCloseContextOnChange()
get flag closing scene context menu on any change
Definition MRRibbonSceneObjectsListDrawer.h:25
void setCloseContextOnChange(bool deselect)
set closing scene context menu on any change
Definition MRRibbonSceneObjectsListDrawer.h:23
virtual MRVIEWER_API bool drawSkippedObject_(Object &object, const std::string &uniqueStr, int depth) override
draw dummy container for skipped object
virtual MRVIEWER_API bool drawObject_(Object &object, const std::string &uniqueStr, int depth) override
override this to customize whole object line
Signal< void()> onDrawContextSignal
this signal is emitted each frame inside scene context window
Definition MRRibbonSceneObjectsListDrawer.h:28
virtual MRVIEWER_API std::string objectLineStrId_(const Object &object, const std::string &uniqueStr) override
virtual MRVIEWER_API bool collapsingHeader_(const std::string &uniqueName, ImGuiTreeNodeFlags flags) override
override this to customize CollapsingHeader draw
int ImGuiTreeNodeFlags
Definition MRSceneObjectsListDrawer.h:78
virtual MRVIEWER_API void draw(float height) override
only for bindings generation
Definition MRCameraOrientationPlugin.h:8