15 #include <QStyledItemDelegate>
40 class QStandardItemModel;
42 class QAbstractItemView;
136 QAbstractItemView* _view,
137 QObject* parent = 0);
143 virtual QSize
sizeHint(
const QStyleOptionViewItem& option,
144 const QModelIndex& index)
const;
146 const QStyleOptionViewItem& option,
147 const QModelIndex& index)
const;
151 const QStyleOptionViewItem& option,
152 const QModelIndex& index)
const;
153 virtual void setEditorData(QWidget* editor,
const QModelIndex& index)
const;
176 bool forceRedraw =
true)
const;
178 bool forceRedraw =
true)
const;
189 static const char* s_noneString;
190 static const char* s_rgbColor;
191 static const char* s_sfColor;
192 static const char* s_defaultPointSizeString;
193 static const char* s_defaultPolyWidthSizeString;
195 void updateItem(QStandardItem*);
196 void scalarFieldChanged(
int);
197 void textureFileChanged(
int);
198 void colorScaleChanged(
int);
199 void colorRampStepsChanged(
int);
200 void spawnColorRampEditor();
201 void spawnTextureFileEditor();
202 void octreeDisplayModeChanged(
int);
203 void octreeDisplayedLevelChanged(
int);
204 void primitivePrecisionChanged(
int);
205 void circleResolutionChanged(
int);
206 void sphereRadiusChanged(
double);
207 void circleRadiusChanged(
double);
208 void discRadiusChanged(
double);
209 void coneHeightChanged(
double);
210 void coneBottomRadiusChanged(
double);
211 void coneTopRadiusChanged(
double);
212 void imageAlphaChanged(
int);
213 void applyImageViewport();
214 void applySensorViewport();
215 void applyLabelViewport();
216 void updateLabelViewport();
217 void updateDisplay();
218 void objectDisplayChanged(
const QString&);
219 void colorSourceChanged(
const QString&);
220 void sensorScaleChanged(
double);
221 void coordinateSystemDisplayScaleChanged(
double);
222 void sensorUncertaintyChanged();
223 void sensorIndexChanged(
double);
224 void updateCurrentEntity(
bool redraw =
true);
225 void cloudPointSizeChanged(
int);
226 void polyineWidthChanged(
int);
227 void coordinateSystemAxisWidthChanged(
int);
228 void trihedronsScaleChanged(
double);
229 void opacityChanged(
int);
230 void lightIntensityChanged(
double);
232 void dataAxesGridEditRequested();
233 void cameraOrientationWidgetChanged(
bool);
234 void centerAxesVisibilityChanged(
bool);
239 QStandardItem* rightItem,
240 bool openPersistentEditor =
false);
241 void appendWideRow(QStandardItem* item,
bool openPersistentEditor =
true);
267 template <
class Type,
int N,
class ComponentType>
2D label (typically attached to points)
Shareable array that can be properly inserted in the DB tree.
Camera (projective) sensor.
Coordinate System (primitive)
Ground-based Laser sensor.
A 3D cloud interface with associated features (color, normals, octree, etc.)
Generic primitive interface.
Hierarchical CLOUDVIEWER Object.
Mesh (triangle) material.
Generic "CLOUDVIEWER Object" template.
Interface for a planar entity.
GUI properties list dialog element.
void fillSFWithPointCloud(ccGenericPointCloud *)
void fillWithCoordinateSystem(const ccCoordinateSystem *)
void fillWithViewProperties()
void fillWithShifted(ccShiftedObject *)
void ccObjectAppearanceChanged(ccHObject *hObject, bool forceRedraw=true) const
void fillModel(ccHObject *hObject)
Fill property view with QItems corresponding to object's type.
void fillWithMetaData(ccObject *)
void fillWithGBLSensor(ccGBLSensor *)
virtual void setEditorData(QWidget *editor, const QModelIndex &index) const
void fillWithViewportObject(cc2DViewportObject *)
bool isWideEditor(int itemData) const
Returns whether the editor is wide (i.e. spans on two columns) or not.
ccPropertiesTreeDelegate(QStandardItemModel *_model, QAbstractItemView *_view, QObject *parent=0)
Default constructor.
void addSeparator(QString title)
void setVisualizer(ecvGenericVisualizer3D *viewer)
Set visualizer for other property editors.
void fillWithPolyline(ccPolyline *)
void fillWithFacet(ccFacet *)
CC_PROPERTY_ROLE
Delegate items roles.
@ OBJECT_SELECTION_PRESELECTED_COLOR
@ OBJECT_CLOUD_POINT_SIZE
@ OBJECT_COORDINATE_SYSTEM_DISP_SCALE
@ OBJECT_SELECTION_BOUNDARY_OPACITY
@ OBJECT_VIEW_LIGHT_KIT_INTENSITY
@ OBJECT_SELECTION_MAX_ATTRIBUTES
@ OBJECT_VIEW_USE_LIGHT_KIT
@ OBJECT_MESH_TEXTUREFILE
@ OBJECT_COORDINATE_SYSTEM_AXES_WIDTH
@ OBJECT_SENSOR_DISPLAY_SCALE
@ OBJECT_SELECTION_BOUNDARY_COLOR
@ OBJECT_HISTORY_MATRIX_EDITOR
@ OBJECT_APPLY_SENSOR_VIEWPORT
@ OBJECT_COORDINATE_SYSTEM_DISP_AXES
@ OBJECT_SELECTION_HOVER_COLOR
@ OBJECT_SELECTION_HOVER_OPACITY
@ OBJECT_SENSOR_UNCERTAINTY
@ OBJECT_VIEW_DATA_AXES_GRID_EDIT
@ OBJECT_PRIMITIVE_PRECISION
@ OBJECT_CURRENT_SCALAR_FIELD
@ OBJECT_CIRCLE_RESOLUTION
@ OBJECT_VIEW_CENTER_AXES_VISIBILITY
@ OBJECT_CONE_BOTTOM_RADIUS
@ OBJECT_COLOR_RAMP_STEPS
@ OBJECT_SELECTION_SELECTED_OPACITY
@ OBJECT_SELECTION_SELECTED_COLOR
@ OBJECT_APPLY_LABEL_VIEWPORT
@ OBJECT_GLTRANS_MATRIX_EDITOR
@ OBJECT_CURRENT_COLOR_RAMP
@ OBJECT_SELECTION_SHOW_TOOLTIPS
@ OBJECT_SENSOR_MATRIX_EDITOR
@ OBJECT_SELECTION_PRESELECTED_OPACITY
@ OBJECT_APPLY_IMAGE_VIEWPORT
@ OBJECT_SHOW_TRANS_BUFFER_TRIHDERONS
@ OBJECT_UPDATE_LABEL_VIEWPORT
@ OBJECT_VIEW_CAMERA_ORIENTATION_WIDGET
@ OBJECT_COORDINATE_SYSTEM_DISP_PLANES
@ OBJECT_VIEW_DATA_AXES_GRID_VISIBLE
@ OBJECT_SENSOR_DRAW_FRUSTUM
@ OBJECT_TRANS_BUFFER_TRIHDERONS_SCALE
@ OBJECT_PLANE_NORMAL_VECTOR
@ OBJECT_SHOW_TRANS_BUFFER_PATH
@ OBJECT_SENSOR_DRAW_FRUSTUM_PLANES
@ OBJECT_LABEL_POINT_LEGEND
QMap< QString, QString > getCurrentMeshTexturePathMap() const
Get texture path map for current mesh object.
ccHObject * getCurrentObject()
Returns currently bound object.
void clearMeshTexturePathMap(ccHObject *mesh)
Clear texture path map for a specific mesh object.
void updateModel()
Updates the current model (assuming object is the same)
void fillWithTransBuffer(ccIndexedTransformationBuffer *)
void fillWithMesh(ccGenericMesh *)
void appendWideRow(QStandardItem *item, bool openPersistentEditor=true)
virtual QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
void fillWithShareable(CCShareable *)
void ccObjectPropertiesChanged(ccHObject *hObject) const
void clearModel()
Clear the model completely.
void fillWithImage(ccImage *)
QMap< ccHObject *, QMap< QString, QString > > m_meshTexturePathMaps
void fillWithPointCloud(ccGenericPointCloud *)
void fillWithPointKdTree(ccKdTree *)
ccHObject * m_currentObject
void fillWithLabel(cc2DLabel *)
void fillWithMaterialSet(ccMaterialSet *)
void requestClearSelection() const
Request to clear all selection data (prevents crashes from stale references)
void fillWithCCArray(ccArray< Type, N, ComponentType > *)
void fillWithSensor(ccSensor *)
void fillWithSelectionProperties()
ecvGenericVisualizer3D * m_viewer
Visualizer for other property editors.
void fillWithPointOctree(ccOctree *)
CC_PROPERTY_ROLE m_lastFocusItemRole
Last focused item role (used to force scroll focus after model update)
virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
QStandardItemModel * m_model
void fillWithPrimitive(ccGenericPrimitive *)
void appendRow(QStandardItem *leftItem, QStandardItem *rightItem, bool openPersistentEditor=false)
virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const
void ccObjectAndChildrenAppearanceChanged(ccHObject *hObject, bool forceRedraw=true) const
void fillWithCameraSensor(ccCameraSensor *)
void fillWithHObject(ccHObject *)
QAbstractItemView * m_view
virtual ~ccPropertiesTreeDelegate()
Default destructor.
void fillWithPlanarEntity(ccPlanarEntityInterface *)
Generic sensor interface.
Shifted entity interface.
Generic visualizer 3D interface.