MeshLib Documentation
Loading...
Searching...
No Matches
MR::RibbonMenu Class Reference

#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( float menuScaling, ViewportId viewportId, UiRenderParams::UiTaskList& tasks )>
 

Public Member Functions

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
 
RibbonFontManagergetFontManager ()
 get access to Ribbon font manager
 
RibbonButtonDrawergetRibbonButtonDrawer ()
 get access to Ribbon button drawer
 
ToolbargetToolbar ()
 get access to Ribbon Toolbar
 
RibbonNotifiergetRibbonNotifier ()
 get access to Ribbon notifier
 
void setActiveListPos (const ImVec2 &pos)
 
void showActiveList ()
 set active plugins list showed
 
virtual MRVIEWER_API void pushNotification (const RibbonNotification &notification)
 
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
 
RibbonLayoutMode getLayoutMode () const
 returns current layout mode of menu (find more in RibbonLayoutMode comments)
 
virtual MRVIEWER_API void setLayoutMode (RibbonLayoutMode mode)
 sets new layout mode for menu, will be applied in next frame (find more in RibbonLayoutMode comments)
 
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 ()
 
void draw_labels (const VisualObject &obj)
 
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
 
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 >
void make_width (std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs, const char *label, std::function< float(const ObjType *)> getter, std::function< void(ObjType *, const float &)> 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< ShortcutManagergetShortcutManager ()
 
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 UiRenderManagergetUiRenderManager ()
 
MRVIEWER_API const std::shared_ptr< SceneObjectsListDrawer > & getSceneObjectsList ()
 
MRVIEWER_API bool simulateNameTagClick (Object &object, NameTagSelectionMode mode)
 
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< RibbonMenuinstance ()
 
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)
 
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 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_ ()
 
- 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)
 
virtual MRVIEWER_API void draw_custom_selection_properties (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 Attributes

DialogItemPtr activeBlockingItem_
 
std::vector< DialogItemPtractiveNonBlockingItems_
 
std::vector< std::shared_ptr< const Object > > prevFrameSelectedObjectsCache_
 
RibbonLayoutMode layoutMode_ { RibbonLayoutMode::All }
 
RibbonMenuSearch searcher_
 
- Protected Attributes inherited from MR::ImGuiMenu
float hidpi_scaling_
 
float pixel_ratio_
 
ImGuiContext * context_ = nullptr
 
ImGuiWindow * prevFrameFocusPlugin_ = nullptr
 
bool pollEventsInPreDraw = false
 
bool showShortcuts_ { false }
 
bool showStatistics_ { false }
 
long long frameTimeMillisecThreshold_ { 25 }
 
bool showRenameModal_ { false }
 
std::string renameBuffer_
 
std::string popUpRenameBuffer_
 
bool needModalBgChange_ { false }
 
bool showInfoModal_ { false }
 
std::string storedModalMessage_
 
NotificationType modalMessageType_ { NotificationType::Error }
 
std::shared_ptr< ShortcutManagershortcutManager_
 
ImVec2 sceneWindowPos_
 
ImVec2 sceneWindowSize_
 
ImVec2 mainWindowPos_
 
ImVec2 mainWindowSize_
 
bool savedDialogPositionEnabled_ { false }
 
std::weak_ptr< ObjectlastRenameObj_
 
Box3f selectionBbox_
 
Box3f selectionWorldBox_
 
struct MR::ImGuiMenu::LabelParams oldLabelParams_
 
bool allowRemoval_ { true }
 
bool uniformScale_ { true }
 
bool xfHistUpdated_ { false }
 
bool invertedRotation_ { false }
 
std::optional< std::pair< std::string, Vector4f > > storedColor_
 
struct MR::ImGuiMenu::PluginsCache pluginsCache_
 
std::string searchPluginsString_
 
std::vector< std::shared_ptr< MR::MeshModifier > > modifiers_
 
enum MR::ImGuiMenu::ViewportConfigurations Single
 
bool selectionChangedToSingleObj_ { false }
 
ViewportId selectedViewport_ = {}
 
std::weak_ptr< ObjecteditedFeatureObject_
 
AffineXf3f editedFeatureObjectOldXf_
 
bool capturedMouse_ { false }
 
std::unique_ptr< UiRenderManagerImpluiRenderManager_
 
std::shared_ptr< SceneObjectsListDrawersceneObjectsList_
 
- Protected Attributes inherited from MR::ViewerPlugin
Viewerviewer = &getViewerInstance()
 

Member Typedef Documentation

◆ DrawTabConfig

using MR::RibbonMenu::DrawTabConfig = std::vector<DrawGroupConfig>
protected

◆ TabChangedSignal

using MR::RibbonMenu::TabChangedSignal = boost::signals2::signal<void( int prevTabId, int newTabId )>

Member Function Documentation

◆ addRibbonItemShortcut_()

virtual MRVIEWER_API void MR::RibbonMenu::addRibbonItemShortcut_ ( const std::string & itemName,
const ShortcutKey & key,
ShortcutCategory category )
protectedvirtual

◆ cloneSelectedPart()

static MRVIEWER_API void MR::RibbonMenu::cloneSelectedPart ( const std::shared_ptr< Object > & object)
static

clones selected part of given object as separate object (faces, points)

◆ cloneTree()

static MRVIEWER_API void MR::RibbonMenu::cloneTree ( const std::vector< std::shared_ptr< Object > > & selectedObjects)
static

clones given objects with sub-objects (except for ancillary and unrecognized children) and undo

◆ drawActiveBlockingDialog_()

virtual MRVIEWER_API void MR::RibbonMenu::drawActiveBlockingDialog_ ( )
protectedvirtual

◆ drawActiveList_()

MRVIEWER_API void MR::RibbonMenu::drawActiveList_ ( )
protected

◆ drawActiveNonBlockingDialogs_()

virtual MRVIEWER_API void MR::RibbonMenu::drawActiveNonBlockingDialogs_ ( )
protectedvirtual

◆ drawBigButtonItem_()

virtual MRVIEWER_API void MR::RibbonMenu::drawBigButtonItem_ ( const MenuItemInfo & item)
protectedvirtual

◆ drawCloneButton()

bool MR::RibbonMenu::drawCloneButton ( const std::vector< std::shared_ptr< Object > > & selected)

◆ drawCloneSelectionButton()

bool MR::RibbonMenu::drawCloneSelectionButton ( const std::vector< std::shared_ptr< Object > > & selected)

◆ drawCollapsingHeader_()

virtual MRVIEWER_API bool MR::RibbonMenu::drawCollapsingHeader_ ( const char * label,
ImGuiTreeNodeFlags flags = 0 )
overrideprotectedvirtual

Reimplemented from MR::ImGuiMenu.

◆ drawCollapsingHeaderTransform_()

virtual MRVIEWER_API bool MR::RibbonMenu::drawCollapsingHeaderTransform_ ( )
overrideprotectedvirtual

Reimplemented from MR::ImGuiMenu.

◆ drawCustomCheckBox()

bool MR::RibbonMenu::drawCustomCheckBox ( const std::vector< std::shared_ptr< Object > > & selected,
SelectedTypesMask selectedMask )

◆ drawGroupUngroupButton()

bool MR::RibbonMenu::drawGroupUngroupButton ( const std::vector< std::shared_ptr< Object > > & selected)

◆ drawItemDialog_()

virtual MRVIEWER_API void MR::RibbonMenu::drawItemDialog_ ( DialogItemPtr & itemPtr)
protectedvirtual

◆ drawItemsGroup_()

virtual MRVIEWER_API void MR::RibbonMenu::drawItemsGroup_ ( const std::string & tabName,
const std::string & groupName,
DrawGroupConfig config )
protectedvirtual

◆ drawMergeSubtreeButton()

bool MR::RibbonMenu::drawMergeSubtreeButton ( const std::vector< std::shared_ptr< Object > > & selected)

◆ drawRibbonSceneInformation_()

virtual MRVIEWER_API void MR::RibbonMenu::drawRibbonSceneInformation_ ( const std::vector< std::shared_ptr< Object > > & selected)
protectedvirtual

◆ drawRibbonSceneList_()

virtual MRVIEWER_API void MR::RibbonMenu::drawRibbonSceneList_ ( )
protectedvirtual

◆ drawRibbonSceneResizeLine_()

virtual MRVIEWER_API Vector2f MR::RibbonMenu::drawRibbonSceneResizeLine_ ( )
protectedvirtual

◆ drawRibbonViewportsLabels_()

virtual MRVIEWER_API void MR::RibbonMenu::drawRibbonViewportsLabels_ ( )
protectedvirtual

◆ drawSceneListButtons_()

virtual MRVIEWER_API void MR::RibbonMenu::drawSceneListButtons_ ( )
protectedvirtual

◆ drawSelectSubtreeButton()

bool MR::RibbonMenu::drawSelectSubtreeButton ( const std::vector< std::shared_ptr< Object > > & selected)

◆ drawShortcutsWindow_()

virtual MRVIEWER_API void MR::RibbonMenu::drawShortcutsWindow_ ( )
overrideprotectedvirtual

Reimplemented from MR::ImGuiMenu.

◆ drawSmallButtonsSet_()

virtual MRVIEWER_API void MR::RibbonMenu::drawSmallButtonsSet_ ( const std::vector< std::string > & group,
int setFrontIndex,
int setLength,
bool withText )
protectedvirtual

◆ drawTopPanel_()

virtual MRVIEWER_API void MR::RibbonMenu::drawTopPanel_ ( bool drawTabs = true,
bool centerItems = false )
protectedvirtual

◆ drawTransformContextMenu_()

virtual MRVIEWER_API bool MR::RibbonMenu::drawTransformContextMenu_ ( const std::shared_ptr< Object > & selected)
overrideprotectedvirtual

Reimplemented from MR::ImGuiMenu.

◆ fixViewportsSize_()

virtual MRVIEWER_API void MR::RibbonMenu::fixViewportsSize_ ( int w,
int h )
protectedvirtual

◆ getActiveTabIndex()

int MR::RibbonMenu::getActiveTabIndex ( ) const
inline

returns index of active tab in RibbonSchemaHolder::schema().tabsOrder

◆ getAutoCloseBlockingPlugins()

bool MR::RibbonMenu::getAutoCloseBlockingPlugins ( ) const
inline

returns flag defining if closing plugin on opening another one is enabled

◆ getFontManager()

RibbonFontManager & MR::RibbonMenu::getFontManager ( )
inline

get access to Ribbon font manager

◆ getLayoutMode()

RibbonLayoutMode MR::RibbonMenu::getLayoutMode ( ) const
inline

returns current layout mode of menu (find more in RibbonLayoutMode comments)

◆ getMenuFontPath()

virtual MRVIEWER_API std::filesystem::path MR::RibbonMenu::getMenuFontPath ( ) const
overridevirtual

Reimplemented from MR::ImGuiMenu.

◆ getRibbonButtonDrawer()

RibbonButtonDrawer & MR::RibbonMenu::getRibbonButtonDrawer ( )
inline

get access to Ribbon button drawer

◆ getRibbonNotifier()

RibbonNotifier & MR::RibbonMenu::getRibbonNotifier ( )
inline

get access to Ribbon notifier

◆ getSceneSize()

Vector2i MR::RibbonMenu::getSceneSize ( )
inline

get Scene List window size

◆ getToolbar()

Toolbar & MR::RibbonMenu::getToolbar ( )
inline

get access to Ribbon Toolbar

◆ getTopPanelCurrentHeight()

int MR::RibbonMenu::getTopPanelCurrentHeight ( ) const
inline

◆ getTopPanelHiddenHeight()

int MR::RibbonMenu::getTopPanelHiddenHeight ( ) const
inline

◆ getTopPanelOpenedHeight()

int MR::RibbonMenu::getTopPanelOpenedHeight ( ) const
inline

◆ hasActiveBlockingItem()

bool MR::RibbonMenu::hasActiveBlockingItem ( ) const
inline

returns true if any blocking plugin is now active

◆ hasAnyActiveItem()

bool MR::RibbonMenu::hasAnyActiveItem ( ) const
inline

returns true if any plugin is now active

◆ highlightBlocking_()

virtual MRVIEWER_API void MR::RibbonMenu::highlightBlocking_ ( )
protectedvirtual

◆ init()

virtual MRVIEWER_API void MR::RibbonMenu::init ( MR::Viewer * _viewer)
overridevirtual

Reimplemented from MR::ImGuiMenu.

◆ instance()

static MRVIEWER_API std::shared_ptr< RibbonMenu > MR::RibbonMenu::instance ( )
static

◆ isTopPannelPinned()

MRVIEWER_API bool MR::RibbonMenu::isTopPannelPinned ( ) const

◆ itemPressed_()

virtual MRVIEWER_API bool MR::RibbonMenu::itemPressed_ ( const std::shared_ptr< RibbonMenuItem > & item,
const std::string & requiremetnsHint = {} )
protectedvirtual

◆ load_font()

virtual MRVIEWER_API void MR::RibbonMenu::load_font ( int font_size = 13)
overridevirtual

Reimplemented from MR::ImGuiMenu.

◆ openToolbarCustomize()

MRVIEWER_API void MR::RibbonMenu::openToolbarCustomize ( )

open Toolbar Customize modal popup

◆ pinTopPanel()

virtual MRVIEWER_API void MR::RibbonMenu::pinTopPanel ( bool on)
virtual

◆ postRescale_()

virtual MRVIEWER_API void MR::RibbonMenu::postRescale_ ( float x,
float y )
overrideprotectedvirtual

Reimplemented from MR::ImGuiMenu.

◆ postResize_()

virtual MRVIEWER_API void MR::RibbonMenu::postResize_ ( int width,
int height )
overrideprotectedvirtual

Reimplemented from MR::ImGuiMenu.

◆ pushNotification()

virtual MRVIEWER_API void MR::RibbonMenu::pushNotification ( const RibbonNotification & notification)
virtual

adds new notification to notifier list draws it first

◆ readMenuItemsStructure_()

virtual MRVIEWER_API void MR::RibbonMenu::readMenuItemsStructure_ ( )
protectedvirtual

◆ readQuickAccessList()

virtual MRVIEWER_API void MR::RibbonMenu::readQuickAccessList ( const Json::Value & root)
virtual

read quick access menu items list from json

◆ resetQuickAccessList()

MRVIEWER_API void MR::RibbonMenu::resetQuickAccessList ( )

reset quick access menu items list to default

◆ setActiveListPos()

void MR::RibbonMenu::setActiveListPos ( const ImVec2 & pos)
inline

◆ setAutoCloseBlockingPlugins()

void MR::RibbonMenu::setAutoCloseBlockingPlugins ( bool value)
inline

sets flag defining if closing plugin on opening another one is enabled or not

◆ setCustomContextCheckbox()

MRVIEWER_API void MR::RibbonMenu::setCustomContextCheckbox ( const std::string & name,
CustomContextMenuCheckbox customContextMenuCheckbox )

◆ setLayoutMode()

virtual MRVIEWER_API void MR::RibbonMenu::setLayoutMode ( RibbonLayoutMode mode)
virtual

sets new layout mode for menu, will be applied in next frame (find more in RibbonLayoutMode comments)

◆ setQuickAccessListVersion()

virtual MRVIEWER_API void MR::RibbonMenu::setQuickAccessListVersion ( int version)
virtual

set quick access menu item list version

◆ setSceneSize()

MRVIEWER_API void MR::RibbonMenu::setSceneSize ( const Vector2i & size)

set Scene List window size

◆ setTopPanelMaxOpenedTimer()

void MR::RibbonMenu::setTopPanelMaxOpenedTimer ( float sec)
inline

◆ setupItemsGroup_()

virtual MRVIEWER_API void MR::RibbonMenu::setupItemsGroup_ ( const std::vector< std::string > & groupsInTab,
const std::string & tabName )
protectedvirtual

◆ setupItemsGroupConfig_()

virtual MRVIEWER_API DrawTabConfig MR::RibbonMenu::setupItemsGroupConfig_ ( const std::vector< std::string > & groupsInTab,
const std::string & tabName,
bool centerItems )
protectedvirtual

◆ setupShortcuts_()

virtual MRVIEWER_API void MR::RibbonMenu::setupShortcuts_ ( )
overrideprotectedvirtual

Reimplemented from MR::ImGuiMenu.

◆ showActiveList()

void MR::RibbonMenu::showActiveList ( )
inline

set active plugins list showed

◆ shutdown()

virtual MRVIEWER_API void MR::RibbonMenu::shutdown ( )
overridevirtual

Reimplemented from MR::ImGuiMenu.

◆ updateItemStatus()

MRVIEWER_API void MR::RibbonMenu::updateItemStatus ( const std::string & itemName)

updates status of item if it was changed outside of menu

Member Data Documentation

◆ activeBlockingItem_

DialogItemPtr MR::RibbonMenu::activeBlockingItem_
protected

◆ activeNonBlockingItems_

std::vector<DialogItemPtr> MR::RibbonMenu::activeNonBlockingItems_
protected

◆ layoutMode_

RibbonLayoutMode MR::RibbonMenu::layoutMode_ { RibbonLayoutMode::All }
protected

◆ prevFrameSelectedObjectsCache_

std::vector<std::shared_ptr<const Object> > MR::RibbonMenu::prevFrameSelectedObjectsCache_
protected

◆ searcher_

RibbonMenuSearch MR::RibbonMenu::searcher_
protected

◆ tabChangedSignal

TabChangedSignal MR::RibbonMenu::tabChangedSignal

this signal is called when active tab changes


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