34#include <NDEVR/UUID.h>
35#include <NDEVR/Dictionary.h>
36#include <NDEVR/SoftwareService.h>
37#include <QItemDelegate>
38 class QPropertyAnimation;
82 void paint(QPainter* painter,
const QStyleOptionViewItem& option,
const QModelIndex& index)
const override;
83 void drawDecoration(QPainter* painter,
const QStyleOptionViewItem& option,
const QRect& rect,
const QPixmap& pixmap)
const override;
84 void updateEditorGeometry(QWidget* editor,
const QStyleOptionViewItem& option,
const QModelIndex& index)
const override;
85 void setEditorData(QWidget* editor,
const QModelIndex& index)
const override;
86 bool editorEvent(QEvent* event, QAbstractItemModel* model,
const QStyleOptionViewItem& option,
const QModelIndex& index)
override;
87 QSize sizeHint(
const QStyleOptionViewItem& option,
const QModelIndex& index)
const override;
The equivelent of std::vector but with a bit more control.
Sets up a button to be a combobox with the various snap locations of a camera.
A hash-based key-value store, useful for quick associative lookups.
Filters and sorts Models from a ModelManager for views such as in a table or in a tree view.
Displays translated text.
Button * m_context_menu
Button for opening the context menu.
fltp08 m_grow_size
The current animated grow size for the selection row.
QWidget * m_button_popup
The popup widget containing action buttons.
int selectionBoxHeight() const
Calculates the height of the selection box for the selected item.
static void AddWidgetCallback(CustomTreeWidgets *delegate)
Registers a custom tree widget callback.
QPropertyAnimation * m_grow_animation
Animation for expanding the selection row.
SceneTreeModelDelegate(ProxyModelViewFilter *manager, SceneTree *parent)
Constructs a scene tree model delegate.
UUID m_selected
UUID of the currently selected object.
fltp08 selectedSize() const
Retrieves the current animated selection size.
QCustomLabel * m_property_name
Label showing the property name.
UUID m_last_selected
UUID of the previously selected object.
QPropertyAnimation * m_shrink_animation
Animation for shrinking the previously selected row.
void selectAllBetween(QModelIndex a, QModelIndex b)
Selects all items between two model indices.
CameraLocationCombo * m_zoom_combo
Combo for camera zoom presets.
Button * m_save_button
Button for saving the selected object.
SceneTree * m_parent
The parent scene tree widget.
UUID m_last_model
UUID of the last painted model.
UUID m_current_model
UUID of the model being painted.
void setSelectedSize(fltp08 o)
Sets the animated selection size.
Buffer< QWidget * > m_last_widgets
Widgets from the last selection popup.
QModelIndex m_last_index
The last selected model index.
DesignObjectVisibleButton * m_visible
Button for toggling object visibility.
Buffer< QWidget * > defaultWidgets(UUID selected)
Creates the default set of action widgets for a selected object.
QWidget * setupPopup(UUID selected)
Creates and returns the popup widget displayed when an item is selected.
Button * m_properties
Button for opening the properties dialog.
ProxyModelViewFilter * m_view
The proxy filter model for the tree.
Button * m_zoom_to
Button for zooming to the selected object.
UUID selected() const
Retrieves the UUID of the currently selected object.
static Dictionary< UUID, CustomTreeWidgets * > s_custom_widget_callbacks
Registered custom widget providers.
void indexSelected(const QModelIndex &index)
Handles selection of an index in the tree.
static void RemoveWidgetCallback(const UUID &id)
Removes a custom tree widget callback.
Shows all objects in a QTModelManager in a tree hierarchy view that allows for user interaction.
Software Service Managers take a Software service to modify the behavior of the software.
Base interface for services that extend or modify software behavior through modules.
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
The primary namespace for the NDEVR SDK.
double fltp08
Defines an alias representing an 8 byte floating-point number.