35#include <NDEVR/SoftwareService.h>
36#include <NDEVR/SnapsEditorWidget.h>
37#include <NDEVR/QTModelManager.h>
38#include <NDEVR/MouseController.h>
39#include <NDEVR/SelectionController.h>
40#include <NDEVR/ModelEditController.h>
48 class QTResourceListener;
50 class QCustomStackedWidget;
51 class ModelOffsetCommandWidget;
52 class VertexOffsetWidget;
57 class QtModelFunction :
public ModelFunction,
public SoftwareService
60 virtual QWidget* editWidget() = 0;
61 virtual bool shouldShowInterface()
const override {
return true; }
67 class NDEVR_API ModelCommandsWidget :
public QWidget,
public SoftwareServiceManager
71 ModelCommandsWidget(QTModelManager* manager, QWidget *parent =
nullptr);
72 virtual ~ModelCommandsWidget();
73 void setupCommandModeRibbon(RibbonGroup* group);
75 void setupGripModeRibbon(RibbonGroup* group);
77 void setControl(ModelEditController::ModelEditMode mode);
78 void setControl(UUID mode);
79 void setControlEnabled(
bool is_enabled);
80 void removeControl(
bool keep_existing);
81 void updateCheckedButtons();
83 void refreshUI(
bool force);
84 void updateSelectionMode(
bool force);
86 void refreshButtonEnabled();
87 void refreshMaskWidgets();
88 void setupForOffsetCommand();
89 void setupForVertexOffsetCommand();
91 void controlModeSet(ModelEditController::ModelEditMode mode);
92 void requestVisibleSignal(
bool visible);
94 void onSelectedSlot(Buffer<UUID> ids,
bool is_selected);
96 Buffer<DynamicPointer<MouseController>> m_mouse_controllers;
97 SnapsEditorWidget* m_snaps_widget;
98 QTModelManager* m_manager;
99 Buffer<uint04> m_key_draw_action_indices;
100 Ribbon* m_draw_type_ribbon;
101 ModelEditController::ModelEditMode m_last_command_mode;
102 SubSelectionMode m_last_selection_mode;
103 Buffer<RibbonSubGroup*> m_inverted_sections;
104 RibbonSubGroup* m_selection_sections =
nullptr;
105 RibbonSubGroup* m_mask_sections =
nullptr;
106 Buffer<Button*> m_mask_buttons;
107 QTResourceListener* m_enabled_listener;
108 Buffer<Buffer<Button*>> m_command_mode_buttons;
109 Buffer<Buffer<Button*>> m_grip_mode_buttons;
110 Buffer<Dictionary<UUID, Button*>> m_command_function_buttons;
111 Buffer<Button*> m_selection_mode_buttons;
112 UUID m_controller_id;
113 QTimer* m_mask_highlight_timer;
114 uint04 m_mask_highlight_request;
115 QCustomStackedWidget* m_stacked_widget;
116 ModelOffsetCommandWidget* m_offset_command_widget;
117 VertexOffsetWidget* m_vertex_offset_command_widget;
118 QCustomLabel* m_hint_label;
120 bool m_last_inverted;
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96