MeshLib
 
Loading...
Searching...
No Matches
MR::SceneObjectsListDrawer Class Reference

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

#include <MRSceneObjectsListDrawer.h>

+ Inheritance diagram for MR::SceneObjectsListDrawer:

Public Member Functions

virtual ~SceneObjectsListDrawer ()=default
 
MRVIEWER_API void draw (float height, float scaling)
 
void setShowInfoInObjectTree (bool value)
 set flag show detailed information in the object tree
 
bool getShowInfoInObjectTree () const
 returns flag show detailed information in the object tree
 
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 ()
 
MRVIEWER_API void setLeavesVisibility (bool visible)
 
MRVIEWER_API void setObjectTreeState (const Object *obj, bool open)
 set object collapse state (hiding children)
 
MRVIEWER_API void allowSceneReorder (bool allow)
 set possibility change object order
 
MRVIEWER_API void setNextFrameFixScroll ()
 helper method for fix scroll position after change available height
 

Protected Types

typedef int ImGuiTreeNodeFlags
 

Protected Member Functions

virtual MRVIEWER_API void drawCustomObjectPrefixInScene_ (const Object &)
 
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
 

Detailed Description

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

Member Typedef Documentation

◆ ImGuiTreeNodeFlags

Constructor & Destructor Documentation

◆ ~SceneObjectsListDrawer()

virtual MR::SceneObjectsListDrawer::~SceneObjectsListDrawer ( )
virtualdefault

Member Function Documentation

◆ 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

override this to customize CollapsingHeader draw

Reimplemented in MR::RibbonSceneObjectsListDrawer.

◆ draw()

MRVIEWER_API void MR::SceneObjectsListDrawer::draw ( float height,
float scaling )

Main method for drawing all \detail Not creat window. Use in window block (between ImGui::Begin and ImGui::End)

◆ drawCustomObjectPrefixInScene_()

virtual MRVIEWER_API void MR::SceneObjectsListDrawer::drawCustomObjectPrefixInScene_ ( const Object & )
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

◆ drawSceneContextMenu_()

virtual MRVIEWER_API void MR::SceneObjectsListDrawer::drawSceneContextMenu_ ( const std::vector< std::shared_ptr< Object > > & ,
const std::string &  )
inlineprotectedvirtual

override this add custom context menu for selected objects uniqueStr need to identify who call context menu

Reimplemented in MR::RibbonSceneObjectsListDrawer.

◆ getDeselectNewHiddenObjects()

bool MR::SceneObjectsListDrawer::getDeselectNewHiddenObjects ( )
inline

get flag of deselect object after hidden

◆ getShowInfoInObjectTree()

bool MR::SceneObjectsListDrawer::getShowInfoInObjectTree ( ) const
inline

returns flag show detailed information in the object tree

◆ getShowNewSelectedObjects()

bool MR::SceneObjectsListDrawer::getShowNewSelectedObjects ( )
inline

get flag of the object visibility activation after selection

◆ 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)

◆ setShowInfoInObjectTree()

void MR::SceneObjectsListDrawer::setShowInfoInObjectTree ( bool value)
inline

set flag show detailed information in the object tree

◆ setShowNewSelectedObjects()

void MR::SceneObjectsListDrawer::setShowNewSelectedObjects ( bool show)
inline

set flag of the object visibility activation after selection


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