35#include <NDEVR/SnapsEditorWidget.h>
36#include <NDEVR/QTModelManager.h>
37#include <NDEVR/MouseController.h>
38#include <NDEVR/SelectionController.h>
39#include <NDEVR/ModelEditController.h>
47 class QTResourceListener;
49 class QCustomStackedWidget;
50 class ModelOffsetCommandWidget;
51 class VertexOffsetWidget;
52 class QtModelFunction :
public ModelFunction
55 virtual QWidget* editWidget() = 0;
56 virtual bool shouldShowInterface()
const override {
return true; }
58 class NDEVR_API ModelCommandsWidget :
public QWidget
62 ModelCommandsWidget(QTModelManager* manager, QWidget *parent =
nullptr);
63 virtual ~ModelCommandsWidget();
64 void setupCommandModeRibbon(RibbonGroup* group);
66 void setupGripModeRibbon(RibbonGroup* group);
68 void setControl(ModelEditController::ModelEditMode mode);
69 void setControl(UUID mode);
70 void setControlEnabled(
bool is_enabled);
71 void removeControl(
bool keep_existing);
72 void updateCheckedButtons();
74 void refreshUI(
bool force);
75 void updateSelectionMode(
bool force);
77 void refreshButtonEnabled();
78 void refreshMaskWidgets();
79 void setupForOffsetCommand();
80 void setupForVertexOffsetCommand();
82 void controlModeSet(ModelEditController::ModelEditMode mode);
83 void requestVisibleSignal(
bool visible);
85 void onSelectedSlot(Buffer<UUID> ids,
bool is_selected);
87 Buffer<DynamicPointer<MouseController>> m_mouse_controllers;
88 SnapsEditorWidget* m_snaps_widget;
89 QTModelManager* m_manager;
90 Buffer<uint04> m_key_draw_action_indices;
91 Ribbon* m_draw_type_ribbon;
92 ModelEditController::ModelEditMode m_last_command_mode;
93 SubSelectionMode m_last_selection_mode;
94 Buffer<RibbonSubGroup*> m_inverted_sections;
95 RibbonSubGroup* m_selection_sections =
nullptr;
96 RibbonSubGroup* m_mask_sections =
nullptr;
97 Buffer<Button*> m_mask_buttons;
98 QTResourceListener* m_enabled_listener;
99 Buffer<Buffer<Button*>> m_command_mode_buttons;
100 Buffer<Buffer<Button*>> m_grip_mode_buttons;
101 Buffer<Dictionary<UUID, Button*>> m_command_function_buttons;
102 Buffer<Button*> m_selection_mode_buttons;
103 UUID m_controller_id;
104 QTimer* m_mask_highlight_timer;
105 uint04 m_mask_highlight_request;
106 QCustomStackedWidget* m_stacked_widget;
107 ModelOffsetCommandWidget* m_offset_command_widget;
108 VertexOffsetWidget* m_vertex_offset_command_widget;
109 QCustomLabel* m_hint_label;
111 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:115