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, |
|
|
float | scaling ) |
|
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 |
◆ menuScaling_
float MR::SceneObjectsListDrawer::menuScaling_ = 1.f |
|
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: