34#include <NDEVR/QTDesignObject.h>
35#include <NDEVR/Pointer.h>
36#include <NDEVR/Buffer.h>
57 class NDEVR_API
Editor :
public QWidget
162 virtual bool isBusy()
const {
return false; }
The equivelent of std::vector but with a bit more control.
A popup dialog for showing options or information to the user for a particular DesignObject.
A low-level database object that can be used to access general stored properties within the NDEVR Mod...
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
virtual void setTarget(const DynamicPointer< QTDesignObject > &object)
Sets the design object target for this editor.
virtual Buffer< QWidget * > bottomOptions()
Returns widgets to be placed at the bottom of the editor layout.
Editor(QWidget *parent=nullptr)
Constructs an Editor with no design object target.
Editor(const DynamicPointer< QTDesignObject > &object, QWidget *parent=nullptr)
Constructs an Editor targeting the given design object.
InterfaceOrientationController * m_orientation_controller
The orientation controller for this editor.
virtual void setup(DesignObjectDialog *, const ShowPropertiesSettings &)
Sets up the editor with a parent dialog and property display settings.
DesignObject getObject() const
Returns the target design object.
virtual InterfaceOrientationController * orientationController() const
Returns the orientation controller associated with this editor.
void onDesignObjectUpdateSlot()
Slot called when the target design object is updated.
bool m_is_read_only
Whether the editor is in read-only mode.
virtual StringView customDialogIcon() const
Returns a custom icon name for the editor dialog, or an empty string if none.
virtual void setHorizontal(bool horizontal)
Sets whether the editor layout is horizontal.
Model getModel() const
Returns the target design object as a Model.
const DynamicPointer< QTDesignObject > & target() const
Returns the current design object target.
virtual EditorShowMode showMode() const
Returns the preferred display mode for this editor.
void objectUpdatedSignal()
Emitted when the target object has been updated.
virtual Buffer< QWidget * > printableWidgets()
Returns the widgets that can be printed from this editor.
void onDesignObjectDeletedSlot()
Slot called when the target design object is deleted.
virtual void updateValues()=0
Updates the displayed values to reflect the current state of the target object.
virtual void requestScrollEnabled(bool enabled)
Requests enabling or disabling scrolling within the editor.
virtual void moveTargetWithMouse()
Initiates interactive mouse-based movement of the target object in the viewport.
virtual void setReadOnly(bool read_only)
Sets whether the editor is in read-only mode.
virtual Buffer< QWidget * > printableWidgetOptions()
Returns option widgets to configure printing for this editor.
virtual bool disableExport() const
Returns whether exporting should be disabled for this editor.
virtual TranslatedString customDialogTitle() const
Returns a custom title for the editor dialog, or an empty string if none.
virtual bool isHorizontal() const
Returns whether the editor layout is horizontal.
virtual bool isBusy() const
Returns whether the editor is currently busy performing an operation.
DynamicPointer< QTDesignObject > m_design_object
The design object being edited.
void isBusyStatusChanged()
Emitted when the busy status of the editor changes.
This class is responsible for notifying and providing default layout logic when the orientation of th...
Serves as the primary program interface for processes to report issues and allows any number of LogSt...
A core class that represents a node on model hierarchy.
A wrapper around DesignObjectLookup that provides signal and slot functionality and adds rendering ca...
The core String View class for the NDEVR API.
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
The primary namespace for the NDEVR SDK.
EditorShowMode
Describes how an Editor should be displayed within the application UI.
@ e_side_panel
The editor is shown as a side panel.
@ e_popup
The editor is shown as a popup dialog.
@ e_fullscreen
The editor is shown in fullscreen mode.
@ e_flexible
The editor can be shown in any mode depending on context.
Stores settings for setting up and displaying a DesignObjectDialog such as whether the dialog is part...