mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-14 03:14:23 +00:00
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:
@@ -20,6 +20,7 @@
|
||||
#include "MainWindow.h"
|
||||
#include "AppSettings.h"
|
||||
#include "Federation.h"
|
||||
#include "FederationSettingsDialog.h"
|
||||
#include "SettingsWindow.h"
|
||||
#include "LodBuilder.h"
|
||||
#include "SidecarCache.h"
|
||||
@@ -189,6 +190,8 @@ void MainWindow::setupMenus() {
|
||||
file_menu->addAction("Save Federation &As...",
|
||||
this, &MainWindow::onFederationSaveAs,
|
||||
QKeySequence::SaveAs);
|
||||
file_menu->addAction("Federation Se&ttings...",
|
||||
this, &MainWindow::onFederationSettings);
|
||||
file_menu->addSeparator();
|
||||
file_menu->addAction("&Settings...", this, &MainWindow::onFileSettings);
|
||||
file_menu->addSeparator();
|
||||
@@ -228,6 +231,15 @@ void MainWindow::onFileSettings() {
|
||||
settings_->raise();
|
||||
}
|
||||
|
||||
void MainWindow::onFederationSettings() {
|
||||
if (federation_settings_ == nullptr) {
|
||||
federation_settings_ = new FederationSettingsDialog(federation_, this);
|
||||
}
|
||||
federation_settings_->open();
|
||||
federation_settings_->activateWindow();
|
||||
federation_settings_->raise();
|
||||
}
|
||||
|
||||
void MainWindow::addFiles(const QStringList& paths) {
|
||||
QStringList accepted_paths;
|
||||
QStringList accepted_fed_ids;
|
||||
|
||||
Reference in New Issue
Block a user