#include <MRRibbonMenu.h>
Inheritance diagram for MR::RibbonMenu:Classes | |
| struct | DialogItemPtr |
| struct | DrawGroupConfig |
Public Types | |
| using | TabChangedSignal = boost::signals2::signal<void( int prevTabId, int newTabId )> |
Public Types inherited from MR::ImGuiMenu | |
| enum class | NameTagSelectionMode { selectOne , toggle } |
| using | NameTagClickSignal = boost::signals2::signal<bool( Object& object, NameTagSelectionMode mode ), StopOnTrueCombiner> |
| using | DrawSceneUiSignal = boost::signals2::signal<void( ViewportId viewportId, UiRenderParams::UiTaskList& tasks )> |
Public Member Functions | |
| MRVIEWER_API | RibbonMenu () |
| MRVIEWER_API | ~RibbonMenu () |
| MRVIEWER_API void | setCustomContextCheckbox (const std::string &name, CustomContextMenuCheckbox customContextMenuCheckbox) |
| virtual MRVIEWER_API void | init (MR::Viewer *_viewer) override |
| virtual MRVIEWER_API void | shutdown () override |
| MRVIEWER_API void | openToolbarCustomize () |
| open Toolbar Customize modal popup | |
| virtual MRVIEWER_API void | load_font (int font_size=13) override |
| virtual MRVIEWER_API std::filesystem::path | getMenuFontPath () const override |
| virtual MRVIEWER_API void | pinTopPanel (bool on) |
| MRVIEWER_API bool | isTopPannelPinned () const |
| int | getTopPanelOpenedHeight () const |
| int | getTopPanelHiddenHeight () const |
| int | getTopPanelCurrentHeight () const |
| void | setTopPanelMaxOpenedTimer (float sec) |
| virtual MRVIEWER_API void | setQuickAccessListVersion (int version) |
| set quick access menu item list version | |
| virtual MRVIEWER_API void | readQuickAccessList (const Json::Value &root) |
| read quick access menu items list from json | |
| MRVIEWER_API void | resetQuickAccessList () |
| reset quick access menu items list to default | |
| Vector2i | getSceneSize () |
| get Scene List window size | |
| MRVIEWER_API void | setSceneSize (const Vector2i &size) |
| set Scene List window size | |
| bool | hasActiveBlockingItem () const |
| returns true if any blocking plugin is now active | |
| bool | hasAnyActiveItem () const |
| returns true if any plugin is now active | |
| MRVIEWER_API void | updateItemStatus (const std::string &itemName) |
| updates status of item if it was changed outside of menu | |
| int | getActiveTabIndex () const |
| returns index of active tab in RibbonSchemaHolder::schema().tabsOrder | |
| RibbonFontManager & | getFontManager () |
| get access to Ribbon font manager | |
| RibbonButtonDrawer & | getRibbonButtonDrawer () |
| get access to Ribbon button drawer | |
| Toolbar & | getToolbar () |
| get access to Ribbon Toolbar | |
| RibbonNotifier & | getRibbonNotifier () |
| get access to Ribbon notifier | |
| void | setActiveListPos (const ImVec2 &pos) |
| void | showActiveList () |
| set active plugins list showed | |
| virtual MRVIEWER_API void | pushNotification (const RibbonNotification ¬ification) |
| bool | getAutoCloseBlockingPlugins () const |
| returns flag defining if closing plugin on opening another one is enabled | |
| void | setAutoCloseBlockingPlugins (bool value) |
| sets flag defining if closing plugin on opening another one is enabled or not | |
| const RibbonMenuUIConfig & | getMenuUIConfig () const |
| returns current menu ui configuration (find more in RibbonMenuUIConfig comments) | |
| virtual MRVIEWER_API void | setMenuUIConfig (const RibbonMenuUIConfig &newConfig) |
| bool | drawGroupUngroupButton (const std::vector< std::shared_ptr< Object > > &selected) |
| bool | drawSelectSubtreeButton (const std::vector< std::shared_ptr< Object > > &selected) |
| bool | drawCloneButton (const std::vector< std::shared_ptr< Object > > &selected) |
| bool | drawCustomCheckBox (const std::vector< std::shared_ptr< Object > > &selected, SelectedTypesMask selectedMask) |
| bool | drawCloneSelectionButton (const std::vector< std::shared_ptr< Object > > &selected) |
| bool | drawMergeSubtreeButton (const std::vector< std::shared_ptr< Object > > &selected) |
Public Member Functions inherited from MR::ImGuiMenu | |
| virtual MRVIEWER_API void | initBackend () |
| virtual MRVIEWER_API void | startFrame () |
| virtual MRVIEWER_API void | finishFrame () |
| virtual MRVIEWER_API void | reload_font (int font_size=13) |
| virtual MRVIEWER_API void | draw_menu () |
| MRVIEWER_API void | draw_helpers () |
| virtual MRVIEWER_API void | draw_viewer_window () |
| MRVIEWER_API void | draw_mr_menu () |
| virtual void | draw_custom_window () |
| void | draw_labels_window () |
| MRVIEWER_API void | draw_text (const Viewport &viewport, const Vector3f &pos, const Vector3f &normal, const std::string &text, const Color &color, bool clipByViewport) |
| MRVIEWER_API float | pixel_ratio () |
| MRVIEWER_API float | hidpi_scaling () |
| MRVIEWER_API float | menu_scaling () const |
| float | getUserScaling () const |
| MRVIEWER_API void | setUserScaling (float scaling) |
| MRVIEWER_API ImGuiContext * | getCurrentContext () const |
| ImGuiWindow * | getLastFocusedPlugin () const |
| virtual MRVIEWER_API void | showModalMessage (const std::string &msg, NotificationType msgType) |
| MRVIEWER_API void | setDrawTimeMillisecThreshold (long long maxGoodTimeMillisec) |
| MRVIEWER_API void | draw_scene_list () |
| MRVIEWER_API void | draw_scene_list_content (const std::vector< std::shared_ptr< Object > > &selected, const std::vector< std::shared_ptr< Object > > &all) |
| virtual MRVIEWER_API void | draw_selection_properties (const std::vector< std::shared_ptr< Object > > &selected) |
| virtual MRVIEWER_API void | draw_selection_properties_content (const std::vector< std::shared_ptr< Object > > &selected) |
| bool | make_visualize_checkbox (std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs, const char *label, AnyVisualizeMaskEnum type, MR::ViewportMask viewportid, bool invert=false) |
| template<typename ObjectT > | |
| void | make_color_selector (std::vector< std::shared_ptr< ObjectT > > selectedVisualObjs, const char *label, std::function< Vector4f(const ObjectT *)> getter, std::function< void(ObjectT *, const Vector4f &)> setter) |
| template<typename ObjType , typename ValueT > | |
| void | make_width (std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs, const char *label, std::function< ValueT(const ObjType *)> getter, std::function< void(ObjType *, const ValueT &)> setter) |
| void | make_light_strength (std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs, const char *label, std::function< float(const VisualObject *)> getter, std::function< void(VisualObject *, const float &)> setter) |
| template<typename T , typename ObjectType > | |
| void | make_slider (std::vector< std::shared_ptr< ObjectType > > selectedVisualObjs, const char *label, std::function< T(const ObjectType *)> getter, std::function< void(ObjectType *, T)> setter, T min, T max) |
| void | make_points_discretization (std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs, const char *label, std::function< int(const ObjectPointsHolder *)> getter, std::function< void(ObjectPointsHolder *, const int &)> setter) |
| MRVIEWER_API void | draw_custom_plugins () |
| std::shared_ptr< ShortcutManager > | getShortcutManager () |
| MRVIEWER_API void | add_modifier (std::shared_ptr< MR::MeshModifier > modifier) |
| MRVIEWER_API void | allowSceneReorder (bool allow) |
| bool | checkPossibilityObjectRemoval () |
| MRVIEWER_API void | allowObjectsRemoval (bool allow) |
| MRVIEWER_API void | tryRenameSelectedObject () |
| MRVIEWER_API void | setObjectTreeState (const Object *obj, bool open) |
| MRVIEWER_API void | setShowShortcuts (bool val) |
| MRVIEWER_API bool | getShowShortcuts () const |
| void | enableSavedDialogPositions (bool on) |
| bool | isSavedDialogPositionsEnabled () const |
| virtual MRVIEWER_API UiRenderManager & | getUiRenderManager () |
| MRVIEWER_API const std::shared_ptr< SceneObjectsListDrawer > & | getSceneObjectsList () |
| MRVIEWER_API bool | simulateNameTagClick (Object &object, NameTagSelectionMode mode) |
| MRVIEWER_API bool | simulateNameTagClickWithKeyboardModifiers (Object &object) |
| MRVIEWER_API bool | anyImGuiWindowIsHovered () const |
| MRVIEWER_API bool | anyUiObjectIsHovered () const |
| MRVIEWER_API SelectedTypesMask | calcSelectedTypesMask (const std::vector< std::shared_ptr< Object > > &selectedObjs) |
| MRVIEWER_API bool | drawGeneralOptions (const std::vector< std::shared_ptr< Object > > &selectedObjs) |
| MRVIEWER_API bool | drawAdvancedOptions (const std::vector< std::shared_ptr< VisualObject > > &selectedObjs, SelectedTypesMask selectedMask) |
| MRVIEWER_API bool | drawRemoveButton (const std::vector< std::shared_ptr< Object > > &selectedObjs) |
| MRVIEWER_API bool | drawDrawOptionsCheckboxes (const std::vector< std::shared_ptr< VisualObject > > &selectedObjs, SelectedTypesMask selectedMask) |
| MRVIEWER_API bool | drawDrawOptionsColors (const std::vector< std::shared_ptr< VisualObject > > &selectedObjs) |
Public Member Functions inherited from MR::ViewerPlugin | |
| virtual | ~ViewerPlugin () |
Public Member Functions inherited from MR::MultiListener< MouseDownListener, MouseMoveListener, MouseUpListener, MouseScrollListener, CursorEntranceListener, CharPressedListener, KeyDownListener, KeyUpListener, KeyRepeatListener, SpaceMouseMoveListener, SpaceMouseDownListener, TouchpadRotateGestureBeginListener, TouchpadRotateGestureUpdateListener, TouchpadRotateGestureEndListener, TouchpadSwipeGestureBeginListener, TouchpadSwipeGestureUpdateListener, TouchpadSwipeGestureEndListener, TouchpadZoomGestureBeginListener, TouchpadZoomGestureUpdateListener, TouchpadZoomGestureEndListener, PostResizeListener, PostRescaleListener > | |
| virtual | ~MultiListener ()=default |
| virtual void | connect (Viewer *viewer, int group=0, boost::signals2::connect_position pos=boost::signals2::connect_position::at_back) |
| virtual void | disconnect () |
Static Public Member Functions | |
| static MRVIEWER_API std::shared_ptr< RibbonMenu > | instance () |
| static MRVIEWER_API void | cloneTree (const std::vector< std::shared_ptr< Object > > &selectedObjects) |
| clones given objects with sub-objects (except for ancillary and unrecognized children) and undo | |
| static MRVIEWER_API void | cloneSelectedPart (const std::shared_ptr< Object > &object) |
| clones selected part of given object as separate object (faces, points) | |
Static Public Member Functions inherited from MR::ImGuiMenu | |
| static MRVIEWER_API const std::shared_ptr< ImGuiMenu > & | instance () |
Public Attributes | |
| TabChangedSignal | tabChangedSignal |
| this signal is called when active tab changes | |
Public Attributes inherited from MR::ImGuiMenu | |
| std::function< void(void)> | callback_draw_viewer_window |
| std::function< void(void)> | callback_draw_viewer_menu |
| std::function< void(void)> | callback_draw_custom_window |
| NameTagClickSignal | nameTagClickSignal |
| DrawSceneUiSignal | drawSceneUiSignal |
Protected Types | |
| using | DrawTabConfig = std::vector<DrawGroupConfig> |
Protected Types inherited from MR::ImGuiMenu | |
| enum | ViewportConfigurations { Single , Horizontal , Vertical , Quad } |
Protected Member Functions | |
| virtual MRVIEWER_API void | drawBigButtonItem_ (const MenuItemInfo &item) |
| virtual MRVIEWER_API void | drawSmallButtonsSet_ (const std::vector< std::string > &group, int setFrontIndex, int setLength, bool withText) |
| virtual MRVIEWER_API DrawTabConfig | setupItemsGroupConfig_ (const std::vector< std::string > &groupsInTab, const std::string &tabName, bool centerItems) |
| virtual MRVIEWER_API void | setupItemsGroup_ (const std::vector< std::string > &groupsInTab, const std::string &tabName, bool centerItems) |
| virtual MRVIEWER_API void | drawItemsGroup_ (const std::string &tabName, const std::string &groupName, DrawGroupConfig config) |
| virtual MRVIEWER_API bool | itemPressed_ (const std::shared_ptr< RibbonMenuItem > &item, const std::string &requiremetnsHint={}) |
| virtual MRVIEWER_API std::string | getRequirements_ (const std::shared_ptr< RibbonMenuItem > &item) const |
| returns requirements line for given tool, empty line means that tool is available | |
| virtual MRVIEWER_API void | drawActiveBlockingDialog_ () |
| virtual MRVIEWER_API void | drawActiveNonBlockingDialogs_ () |
| virtual MRVIEWER_API void | postResize_ (int width, int height) override |
| virtual MRVIEWER_API void | postRescale_ (float x, float y) override |
| virtual MRVIEWER_API void | drawItemDialog_ (DialogItemPtr &itemPtr) |
| virtual MRVIEWER_API void | drawTopPanel_ (bool drawTabs=true, bool centerItems=false) |
| virtual MRVIEWER_API void | drawRibbonSceneList_ () |
| virtual MRVIEWER_API Vector2f | drawRibbonSceneResizeLine_ () |
| virtual MRVIEWER_API void | drawRibbonViewportsLabels_ () |
| virtual MRVIEWER_API void | drawRibbonSceneInformation_ (const std::vector< std::shared_ptr< Object > > &selected) |
| virtual MRVIEWER_API bool | drawCollapsingHeaderTransform_ () override |
| virtual MRVIEWER_API bool | drawTransformContextMenu_ (const std::shared_ptr< Object > &selected) override |
| virtual MRVIEWER_API void | addRibbonItemShortcut_ (const std::string &itemName, const ShortcutKey &key, ShortcutCategory category) |
| virtual MRVIEWER_API void | setupShortcuts_ () override |
| virtual MRVIEWER_API void | drawShortcutsWindow_ () override |
| virtual MRVIEWER_API void | readMenuItemsStructure_ () |
| virtual MRVIEWER_API bool | drawCollapsingHeader_ (const char *label, ImGuiTreeNodeFlags flags=0) override |
| virtual MRVIEWER_API void | highlightBlocking_ () |
| virtual MRVIEWER_API void | drawSceneListButtons_ () |
| virtual MRVIEWER_API void | fixViewportsSize_ (int w, int h) |
| MRVIEWER_API void | drawActiveList_ () |
| virtual MRVIEWER_API void | drawNotifications_ () |
| virtual MRVIEWER_API void | updateTopPanelSize_ (bool drawTabs) |
| virtual MRVIEWER_API void | drawHeaderQuickAccess_ () |
| virtual MRVIEWER_API float | drawHeaderHelpers_ (float requiredTabSize) |
| virtual MRVIEWER_API void | drawActiveListButton_ (float btnSize) |
| virtual MRVIEWER_API void | drawSearchButton_ () |
| virtual MRVIEWER_API void | drawCollapseButton_ () |
| virtual MRVIEWER_API void | drawHelpButton_ (const std::string &url) |
Protected Member Functions inherited from MR::ImGuiMenu | |
| Vector4f | getStoredColor_ (const std::string &str, const Color &defaultColor) const |
| virtual MRVIEWER_API void | drawModalMessage_ () |
| virtual MRVIEWER_API bool | onMouseDown_ (MouseButton button, int modifier) override |
| virtual MRVIEWER_API bool | onMouseUp_ (MouseButton button, int modifier) override |
| virtual MRVIEWER_API bool | onMouseMove_ (int mouse_x, int mouse_y) override |
| virtual MRVIEWER_API bool | onMouseScroll_ (float delta_y) override |
| virtual MRVIEWER_API void | cursorEntrance_ (bool entered) override |
| virtual MRVIEWER_API bool | onCharPressed_ (unsigned key, int modifiers) override |
| virtual MRVIEWER_API bool | onKeyDown_ (int key, int modifiers) override |
| virtual MRVIEWER_API bool | onKeyUp_ (int key, int modifiers) override |
| virtual MRVIEWER_API bool | onKeyRepeat_ (int key, int modifiers) override |
| virtual MRVIEWER_API bool | spaceMouseMove_ (const Vector3f &translate, const Vector3f &rotate) override |
| virtual MRVIEWER_API bool | spaceMouseDown_ (int key) override |
| virtual MRVIEWER_API bool | touchpadRotateGestureBegin_ () override |
| virtual MRVIEWER_API bool | touchpadRotateGestureUpdate_ (float angle) override |
| virtual MRVIEWER_API bool | touchpadRotateGestureEnd_ () override |
| virtual MRVIEWER_API bool | touchpadSwipeGestureBegin_ () override |
| virtual MRVIEWER_API bool | touchpadSwipeGestureUpdate_ (float deltaX, float deltaY, bool kinetic) override |
| virtual MRVIEWER_API bool | touchpadSwipeGestureEnd_ () override |
| virtual MRVIEWER_API bool | touchpadZoomGestureBegin_ () override |
| virtual MRVIEWER_API bool | touchpadZoomGestureUpdate_ (float scale, bool kinetic) override |
| virtual MRVIEWER_API bool | touchpadZoomGestureEnd_ () override |
| virtual MRVIEWER_API void | rescaleStyle_ () |
| virtual MRVIEWER_API void | addMenuFontRanges_ (ImFontGlyphRangesBuilder &builder) const |
| MRVIEWER_API float | drawSelectionInformation_ () |
| MRVIEWER_API void | drawFeaturePropertiesEditor_ (const std::shared_ptr< Object > &object) |
| MRVIEWER_API void | drawComparablePropertiesEditor_ (ObjectComparableWithReference &object) |
| virtual MRVIEWER_API void | drawCustomSelectionInformation_ (const std::vector< std::shared_ptr< Object > > &selected, const SelectionInformationStyle &style) |
| draw additional selection information (e.g. for custom objects) | |
| virtual MRVIEWER_API void | draw_custom_selection_properties (const std::vector< std::shared_ptr< Object > > &selected) |
| MRVIEWER_API void | drawTagInformation_ (const std::vector< std::shared_ptr< Object > > &selected) |
| MRVIEWER_API float | drawTransform_ () |
| void | draw_history_block_ () |
| void | draw_open_recent_button_ () |
| MRVIEWER_API float | getSceneInfoItemWidth_ (int itemCount=1) |
|
protected |
| using MR::RibbonMenu::TabChangedSignal = boost::signals2::signal<void( int prevTabId, int newTabId )> |
| MRVIEWER_API MR::RibbonMenu::RibbonMenu | ( | ) |
| MRVIEWER_API MR::RibbonMenu::~RibbonMenu | ( | ) |
|
protectedvirtual |
|
static |
clones selected part of given object as separate object (faces, points)
|
static |
clones given objects with sub-objects (except for ancillary and unrecognized children) and undo
|
protectedvirtual |
|
protected |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
| bool MR::RibbonMenu::drawCloneButton | ( | const std::vector< std::shared_ptr< Object > > & | selected | ) |
| bool MR::RibbonMenu::drawCloneSelectionButton | ( | const std::vector< std::shared_ptr< Object > > & | selected | ) |
|
protectedvirtual |
|
overrideprotectedvirtual |
Reimplemented from MR::ImGuiMenu.
|
overrideprotectedvirtual |
Reimplemented from MR::ImGuiMenu.
| bool MR::RibbonMenu::drawCustomCheckBox | ( | const std::vector< std::shared_ptr< Object > > & | selected, |
| SelectedTypesMask | selectedMask ) |
| bool MR::RibbonMenu::drawGroupUngroupButton | ( | const std::vector< std::shared_ptr< Object > > & | selected | ) |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
| bool MR::RibbonMenu::drawMergeSubtreeButton | ( | const std::vector< std::shared_ptr< Object > > & | selected | ) |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
| bool MR::RibbonMenu::drawSelectSubtreeButton | ( | const std::vector< std::shared_ptr< Object > > & | selected | ) |
|
overrideprotectedvirtual |
Reimplemented from MR::ImGuiMenu.
|
protectedvirtual |
|
protectedvirtual |
|
overrideprotectedvirtual |
Reimplemented from MR::ImGuiMenu.
|
protectedvirtual |
|
inline |
returns index of active tab in RibbonSchemaHolder::schema().tabsOrder
|
inline |
returns flag defining if closing plugin on opening another one is enabled
|
inline |
get access to Ribbon font manager
|
overridevirtual |
Reimplemented from MR::ImGuiMenu.
|
inline |
returns current menu ui configuration (find more in RibbonMenuUIConfig comments)
|
protectedvirtual |
returns requirements line for given tool, empty line means that tool is available
|
inline |
get access to Ribbon button drawer
|
inline |
get access to Ribbon notifier
|
inline |
get Scene List window size
|
inline |
|
inline |
|
inline |
|
inline |
returns true if any blocking plugin is now active
|
inline |
returns true if any plugin is now active
|
protectedvirtual |
|
overridevirtual |
Reimplemented from MR::ImGuiMenu.
|
static |
| MRVIEWER_API bool MR::RibbonMenu::isTopPannelPinned | ( | ) | const |
|
protectedvirtual |
|
overridevirtual |
Reimplemented from MR::ImGuiMenu.
| MRVIEWER_API void MR::RibbonMenu::openToolbarCustomize | ( | ) |
open Toolbar Customize modal popup
|
virtual |
|
overrideprotectedvirtual |
Reimplemented from MR::ImGuiMenu.
|
overrideprotectedvirtual |
Reimplemented from MR::ImGuiMenu.
|
virtual |
adds new notification to notifier list draws it first
|
protectedvirtual |
|
virtual |
read quick access menu items list from json
| MRVIEWER_API void MR::RibbonMenu::resetQuickAccessList | ( | ) |
reset quick access menu items list to default
|
inline |
|
inline |
sets flag defining if closing plugin on opening another one is enabled or not
| MRVIEWER_API void MR::RibbonMenu::setCustomContextCheckbox | ( | const std::string & | name, |
| CustomContextMenuCheckbox | customContextMenuCheckbox ) |
|
virtual |
|
virtual |
set quick access menu item list version
| MRVIEWER_API void MR::RibbonMenu::setSceneSize | ( | const Vector2i & | size | ) |
set Scene List window size
|
inline |
|
protectedvirtual |
|
protectedvirtual |
|
overrideprotectedvirtual |
Reimplemented from MR::ImGuiMenu.
|
inline |
set active plugins list showed
|
overridevirtual |
Reimplemented from MR::ImGuiMenu.
| MRVIEWER_API void MR::RibbonMenu::updateItemStatus | ( | const std::string & | itemName | ) |
updates status of item if it was changed outside of menu
|
protectedvirtual |
|
protected |
|
protected |
|
protected |
|
protected |
| TabChangedSignal MR::RibbonMenu::tabChangedSignal |
this signal is called when active tab changes