#include <MRRibbonMenu.h>
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 | |
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 | |
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< 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 | 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) |
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 |
using MR::RibbonMenu::TabChangedSignal = boost::signals2::signal<void( int prevTabId, int newTabId )> |
|
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 |
bool MR::RibbonMenu::drawCloneButton | ( | const std::vector< std::shared_ptr< Object > > & | selected | ) |
bool MR::RibbonMenu::drawCloneSelectionButton | ( | const std::vector< std::shared_ptr< Object > > & | selected | ) |
|
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 |
bool MR::RibbonMenu::drawMergeSubtreeButton | ( | const std::vector< std::shared_ptr< Object > > & | selected | ) |
|
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
|
inline |
returns current layout mode of menu (find more in RibbonLayoutMode comments)
|
overridevirtual |
Reimplemented from MR::ImGuiMenu.
|
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 |
sets new layout mode for menu, will be applied in next frame (find more in RibbonLayoutMode comments)
|
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
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
TabChangedSignal MR::RibbonMenu::tabChangedSignal |
this signal is called when active tab changes