3#if NDEVR_MODEL_TILE_CONTAINER
4#include <NDEVR/Editor.h>
5#include <NDEVR/QTModelManager.h>
6#include <NDEVR/QTDesignObject.h>
7#include <NDEVR/ModelTileContainer.h>
9 class GeometryToSymbolUI;
19 TileOption(
const String&
id,
const String& icon,
const String& category,
const String& model_file)
23 , model_file(model_file)
25 TileOption(
const String&
id,
const String& icon,
const String& category,
const Polyline<3, fltp08> extrusion_polyline)
29 , extrusion_polyline(extrusion_polyline)
35 Polyline<3, fltp08> extrusion_polyline;
38 class NDEVR_API GeometryToSymbol :
public Editor
42 GeometryToSymbol(DynamicPointer<QTDesignObject>
object, QWidget* parent =
nullptr);
43 GeometryToSymbol(QWidget* parent =
nullptr);
44 void setTarget(
const DynamicPointer<QTDesignObject>&
object)
override;
45 void updateValues()
override;
46 static void CreateTileLibraryManager(QTModelManager* manager);
47 static void RegisterEditor();
49 void tileModel(
const Model& model_to_tile,
const ModelTileOptions& options);
50 void extrudeModel(
const Polyline<3, fltp08> polyline_extrusion);
52 void loadDefaultSettings(
const Model& model,
bool reset_if_no_exist);
53 void saveDefaultSettings(
const UUID&
id);
54 void setSettings(
const ModelTileOptions& options);
55 void setOptionsFromUI(ModelTileOptions& options)
const;
58 void updateFromUISlot();
59 void onModelChosen(
const Buffer<UUID>& selected);
61 Ui::GeometryToSymbolUI* ui;
63 Model m_model_to_tile;
64 Dictionary<String, TileOption> m_tile_options;
65 Dictionary<String, QBoxLayout*> m_layouts;
66 static LibraryManager* s_tile_library_manager;
67 QTimer* m_update_timer;
68 ModelTileOptions m_last_options;
69 bool m_has_edited =
false;
Definition FontEditor.h:6