ifcviewer-full: federation settings dialog (unit + false origin)

New FederationSettingsDialog edits the federation-wide unit and the
FederatedFalseOrigin (XYZ + Z-rotation in that unit).  On Ok it calls
Federation::setConfig + setFederatedFalseOrigin, which fire the
granular Federation signals MainWindow listens to → viewport
recomposes immediately.

Reachable from File > Federation Settings.  Unit picker is a fixed
combobox of common length units (metres / mm / cm / km / ft / in /
yd / mi); each item carries (prefix, name) in itemData so saving
round-trips correctly.  Per-model ModelTransformation editor still
to come — that's a per-model dialog reachable from the model entry,
not the federation-wide settings.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Dion Moult
2026-05-02 08:02:59 +10:00
parent 4a9af13626
commit 81b1efdfd6
4 changed files with 250 additions and 0 deletions
+3
View File
@@ -36,6 +36,7 @@
class Federation;
class SettingsWindow;
class FederationSettingsDialog;
class MainWindow : public QMainWindow {
Q_OBJECT
@@ -61,6 +62,7 @@ private slots:
void onSetHomeView();
void onGoHomeView();
void onFileSettings();
void onFederationSettings();
void onObjectPicked(uint32_t object_id);
void onTreeSelectionChanged();
@@ -119,6 +121,7 @@ private:
SceneLoader* loader_ = nullptr;
Federation* federation_ = nullptr;
SettingsWindow* settings_ = nullptr;
FederationSettingsDialog* federation_settings_ = nullptr;
QWidget* viewport_container_ = nullptr;
QTreeWidget* element_tree_ = nullptr;
QTableWidget* property_table_ = nullptr;