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;
22 TileOption(
const String&
id,
const String& icon,
const String& category,
const String& model_file)
26 , model_file(model_file)
28 TileOption(
const String&
id,
const String& icon,
const String& category,
const Polyline<3, fltp08> extrusion_polyline)
32 , extrusion_polyline(extrusion_polyline)
38 Polyline<3, fltp08> extrusion_polyline;
45 class NDEVR_API GeometryToSymbol :
public Editor
49 GeometryToSymbol(DynamicPointer<QTDesignObject>
object, QWidget* parent =
nullptr);
50 GeometryToSymbol(QWidget* parent =
nullptr);
51 void setTarget(
const DynamicPointer<QTDesignObject>&
object)
override;
52 void updateValues()
override;
53 static void CreateTileLibraryManager(QTModelManager* manager);
54 static void RegisterEditor();
56 void tileModel(
const Model& model_to_tile,
const ModelTileOptions& options);
57 void extrudeModel(
const Polyline<3, fltp08> polyline_extrusion);
59 void loadDefaultSettings(
const Model& model,
bool reset_if_no_exist);
60 void saveDefaultSettings(
const UUID&
id);
61 void setSettings(
const ModelTileOptions& options);
62 void setOptionsFromUI(ModelTileOptions& options)
const;
65 void updateFromUISlot();
66 void onModelChosen(
const Buffer<UUID>& selected);
68 Ui::GeometryToSymbolUI* ui;
70 Model m_model_to_tile;
71 Dictionary<String, TileOption> m_tile_options;
72 Dictionary<String, QBoxLayout*> m_layouts;
73 static LibraryManager* s_tile_library_manager;
74 QTimer* m_update_timer;
75 ModelTileOptions m_last_options;
76 bool m_has_edited =
false;
Definition FontEditor.h:6