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 () |
| 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 | |
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) |
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_ |
class for drawing a list of scene objects in RibbonMenu style
|
overrideprotectedvirtual |
override this to customize CollapsingHeader draw
Reimplemented from MR::SceneObjectsListDrawer.
|
overridevirtual |
Main method for drawing all \detail Not creat window. Use in window block (between ImGui::Begin and ImGui::End)
Reimplemented from MR::SceneObjectsListDrawer.
|
overrideprotectedvirtual |
override this to customize prefix for objects in scene \detail height should be less or equal ImGui::GetFrameHeight() method should save ImGui::CursorPosY
Reimplemented from MR::SceneObjectsListDrawer.
|
overrideprotectedvirtual |
override this to customize whole object line
Reimplemented from MR::SceneObjectsListDrawer.
|
overrideprotectedvirtual |
override this add custom context menu for selected objects uniqueStr need to identify who call context menu
Reimplemented from MR::SceneObjectsListDrawer.
|
overrideprotectedvirtual |
draw dummy container for skipped object
Reimplemented from MR::SceneObjectsListDrawer.
|
inline |
get flag closing scene context menu on any change
| MRVIEWER_API void MR::RibbonSceneObjectsListDrawer::initRibbonMenu | ( | RibbonMenu * | ribbonMenu | ) |
|
overrideprotectedvirtual |
Reimplemented from MR::SceneObjectsListDrawer.
|
inline |
set closing scene context menu on any change
| Signal<void()> MR::RibbonSceneObjectsListDrawer::onDrawContextSignal |
this signal is emitted each frame inside scene context window