From e76d1fbb5113eadc663a3d17e196ab29bf0249b0 Mon Sep 17 00:00:00 2001 From: Roy-043 Date: Fri, 19 Jan 2024 10:05:15 +0100 Subject: [PATCH] Arch: Revised preference ui files, remove WindowColor Follow-up PR of #11940. * The new ui layout follows that of the Draft preferences. * The ConversionFast checkbox enables/disables the 3 preferences listed below it. * The WindowColor preference was removed. It is not a per-object, or even a per-file setting. The fix in #11940 would change windows in existing projects when they are recomputed. It is therefore better to keep the V0.21 solution where the glass is colored according to the preferences and the rest of the window receives a color based on its ShapeColor. Users who want to apply specific colors can use a multi-material. --- src/Mod/Arch/ArchCommands.py | 2 +- src/Mod/Arch/ArchWindow.py | 4 +- src/Mod/Arch/Resources/ui/preferences-arch.ui | 1115 +++++++---------- .../Resources/ui/preferences-archdefaults.ui | 1030 ++++++--------- 4 files changed, 866 insertions(+), 1285 deletions(-) diff --git a/src/Mod/Arch/ArchCommands.py b/src/Mod/Arch/ArchCommands.py index 712d55ed5d..19a45f6a26 100644 --- a/src/Mod/Arch/ArchCommands.py +++ b/src/Mod/Arch/ArchCommands.py @@ -84,7 +84,7 @@ def getDefaultColor(objectType): c = params.get_param("constructioncolor") transparency = 0.80 else: - c = params.get_param_arch("WindowColor") + c = params.get_param_view("DefaultShapeColor") r, g, b, _ = Draft.get_rgba_tuple(c) return (r, g, b, transparency) diff --git a/src/Mod/Arch/ArchWindow.py b/src/Mod/Arch/ArchWindow.py index 1c331a6f8c..7a9d8b7212 100644 --- a/src/Mod/Arch/ArchWindow.py +++ b/src/Mod/Arch/ArchWindow.py @@ -1174,9 +1174,7 @@ class _ViewProviderWindow(ArchComponent.ViewProviderComponent): typeidx = (i*5)+1 if typeidx < len(obj.WindowParts): typ = obj.WindowParts[typeidx] - if typ == WindowPartTypes[0]: # "Frame" - ccol = ArchCommands.getDefaultColor("") - elif typ == WindowPartTypes[2]: # "Glass panel" + if typ == WindowPartTypes[2]: # "Glass panel" ccol = ArchCommands.getDefaultColor("WindowGlass") if not ccol: ccol = base diff --git a/src/Mod/Arch/Resources/ui/preferences-arch.ui b/src/Mod/Arch/Resources/ui/preferences-arch.ui index 84cc4bcb93..6c3e20bd21 100644 --- a/src/Mod/Arch/Resources/ui/preferences-arch.ui +++ b/src/Mod/Arch/Resources/ui/preferences-arch.ui @@ -13,21 +13,15 @@ General settings - - - 6 - - - 9 - + - + Object creation - - - + + + Auto-join walls @@ -42,13 +36,13 @@ - - + + If this is checked, when 2 similar walls are being connected, their underlying sketches will be joined into one, and the two walls will become one - Join walls base sketches when possible + Join base sketches of walls if possible joinWallSketches @@ -58,13 +52,13 @@ - - + + Two possible strategies to avoid circular dependencies: Create one more object (unchecked) or remove external geometry of base sketch (checked) - Remove external geometry of base sketches when needed + Remove external geometry of base sketches if needed archRemoveExternal @@ -74,151 +68,8 @@ - - - - If this is checked, when an object becomes Subtraction or Addition of an Arch object, it will receive the Draft Construction color. - - - Apply Draft construction style to subcomponents - - - applyconstructionStyle - - - Mod/Arch - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Do not compute areas for object with more than: - - - - - - - faces - - - 20 - - - MaxComputeAreas - - - Mod/Arch - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Interval between file checks for references - - - - - - - seconds - - - 1 - - - 9999 - - - 60 - - - ReferenceCheckInterval - - - Mod/Arch - - - - - - - - - By default, new objects will have their "Move with host" property set to False, which means they won't move when their host object is moved. - - - Set "Move with host" property to True by default - - - false - - - MoveWithHost - - - Mod/Arch - - - - - - - Set "Move base" property to True by default - - - false - - - MoveBase - - - Mod/Arch - - - - - + + If this is checked, when an Arch object has a material, the object will take the color of the material. This can be overridden for each object. @@ -236,68 +87,151 @@ - - + + + + If this is checked, when an object becomes Subtraction or Addition of an Arch object, it will receive the Draft Construction color. + + + Apply Draft construction style to subcomponents + + + applyconstructionStyle + + + Mod/Arch + + + + + + + By default, new objects will have their "Move with host" property set to False, which means they won't move when their host object is moved. + + + Set "Move with host" property to True by default + + + false + + + MoveWithHost + + + Mod/Arch + + + + + + + Set "Move base" property to True by default + + + false + + + MoveBase + + + Mod/Arch + + + + + + + Do not compute areas for objects with more than + + + + + + + + 140 + 0 + + + + faces + + + 20 + + + MaxComputeAreas + + + Mod/Arch + + + + + + + Qt::Horizontal + + + + + + + Interval between file checks for references + + + + + + + seconds + + + 1 + + + 9999 + + + 60 + + + ReferenceCheckInterval + + + Mod/Arch + + + + + + + IFC version + + + + + + + The IFC version will change which attributes and products are supported + + + IfcVersion + + + Mod/Arch + - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - + + IFC4 + - - - IFC version - - + + IFC2X3 + - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - The IFC version will change which attributes and products are supported - - - IfcVersion - - - Mod/Arch - - - - IFC4 - - - - - IFC2X3 - - - - - + @@ -307,101 +241,114 @@ Mesh to Shape Conversion - - - - - - - If this is checked, conversion is faster but the result might still contain triangulated faces - - - Fast conversion - - - true - - - ConversionFast - - - Mod/Arch - - - - - - - Tolerance: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Tolerance value to use when checking if 2 adjacent faces as planar - - - 4 - - - 0.001000000000000 - - - ConversionTolerance - - - Mod/Arch - - - - + + + + + If this is checked, conversion is faster but the result might still contain triangulated faces + + + Fast conversion + + + true + + + ConversionFast + + + Mod/Arch + + - - - - - - If this is checked, flat groups of faces will be force-flattened, resulting in possible gaps and non-solid results - - - Force flat faces - - - ConversionFlat - - - Mod/Arch - - - - + + + + false + + + If this is checked, flat groups of faces will be force-flattened, resulting in possible gaps and non-solid results + + + Force flat faces + + + ConversionFlat + + + Mod/Arch + + - - - - - - If this is checked, holes in faces will be performed by subtraction rather than using wires orientation - - - Cut method - - - true - - - ConversionCut - - - Mod/Arch - - - - + + + + false + + + If this is checked, holes in faces will be performed by subtraction rather than using wires orientation + + + Cut method + + + true + + + ConversionCut + + + Mod/Arch + + + + + + + false + + + Tolerance + + + + + + + false + + + + 140 + 0 + + + + Tolerance value to use when checking if 2 adjacent faces as planar + + + 4 + + + 0.0001 + + + 0.001 + + + ConversionTolerance + + + Mod/Arch + + + + + + + Qt::Horizontal + + @@ -411,363 +358,222 @@ 2D rendering - - - - - - - Show debug information during 2D rendering - - - Show renderer debug messages - - - ShowVRMDebug - - - Mod/Arch - - - - + + + + + Show debug information during 2D rendering + + + Show renderer debug messages + + + ShowVRMDebug + + + Mod/Arch + + - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 20 - 20 - - - - - - - - Cut areas line thickness ratio - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Specifies how many times the viewed line thickness must be applied to cut lines - - - 2.000000000000000 - - - CutLineThickness - - - Mod/Arch - - - - + + + + Cut areas line thickness ratio + + - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 20 - 20 - - - - - - - - Symbol line thickness ratio - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - 0.600000000000000 - - - SymbolLineThickness - - - Mod/Arch - - - - + + + + Specifies how many times the viewed line thickness must be applied to cut lines + + + 2.0 + + + CutLineThickness + + + Mod/Arch + + - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 20 - 20 - - - - - - - - Hidden geometry pattern - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - This is the SVG stroke-dasharray property to apply + + + + Qt::Horizontal + + + + + + + Symbol line thickness ratio + + + + + + + 0.6 + + + SymbolLineThickness + + + Mod/Arch + + + + + + + Hidden geometry pattern + + + + + + + + 140 + 16777215 + + + + This is the SVG stroke-dasharray property to apply to projections of hidden objects. - - - 30, 10 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - archHiddenPattern - - - Mod/Arch - - - - + + + 30, 10 + + + archHiddenPattern + + + Mod/Arch + + - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 20 - 20 - - - - - - - - Pattern scale - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Scaling factor for patterns used by object that have + + + + Pattern scale + + + + + + + Scaling factor for patterns used by object that have a Footprint display mode - - - 4 - - - 9999.989999999999782 - - - 0.010000000000000 - - - patternScale - - - Mod/Arch - - - - + + + 4 + + + 0.001 + + + 9999.989999999999782 + + + 0.01 + + + patternScale + + + Mod/Arch + + - + Bim server - - - - - - - Address - - - - - - - The URL of a bim server instance (www.bimserver.org) to connect to. - - - http://localhost:8082 - - - BimServerUrl - - - Mod/Arch - - - - + + + + + Address + + - - - - - - If this is selected, the "Open BimServer in browser" + + + + The URL of a bim server instance (www.bimserver.org) to connect to. + + + http://localhost:8082 + + + BimServerUrl + + + Mod/Arch + + + + + + + If this is selected, the "Open BimServer in browser" button will open the Bim Server interface in an external browser instead of the FreeCAD web workbench - - - Open in external browser - - - BimServerBrowser - - - Mod/Arch - - - - + + + Open in external browser + + + BimServerBrowser + + + Mod/Arch + + - + Survey - - - - - If this is checked, the text that gets placed in the clipboard will include the unit. Otherwise, it will be a simple number expressed in internal units (millimeters) - - - Include unit when sending measurements to clipboard - - - true - - - surveyUnits - - - Mod/Arch - - - - + + + If this is checked, the text that gets placed in the clipboard will include the unit. Otherwise, it will be a simple number expressed in internal units (millimeters) + + + Include unit when sending measurements to clipboard + + + true + + + surveyUnits + + + Mod/Arch + + - + Qt::Vertical - - - 20 - 40 - - @@ -776,13 +582,13 @@ instead of the FreeCAD web workbench qPixmapFromMimeSource - Gui::PrefSpinBox - QSpinBox + Gui::PrefCheckBox + QCheckBox
Gui/PrefWidgets.h
- Gui::PrefCheckBox - QCheckBox + Gui::PrefLineEdit + QLineEdit
Gui/PrefWidgets.h
@@ -791,8 +597,8 @@ instead of the FreeCAD web workbench
Gui/PrefWidgets.h
- Gui::PrefLineEdit - QLineEdit + Gui::PrefSpinBox + QSpinBox
Gui/PrefWidgets.h
@@ -802,5 +608,30 @@ instead of the FreeCAD web workbench
- + + + checkBox_ConversionFast + toggled(bool) + checkBox_ConversionFlat + setDisabled(bool) + + + checkBox_ConversionFast + toggled(bool) + checkBox_ConversionCut + setDisabled(bool) + + + checkBox_ConversionFast + toggled(bool) + label_ConversionTolerance + setDisabled(bool) + + + checkBox_ConversionFast + toggled(bool) + spinBox_ConversionTolerance + setDisabled(bool) + + diff --git a/src/Mod/Arch/Resources/ui/preferences-archdefaults.ui b/src/Mod/Arch/Resources/ui/preferences-archdefaults.ui index 7ce6a3b397..9f887b0185 100644 --- a/src/Mod/Arch/Resources/ui/preferences-archdefaults.ui +++ b/src/Mod/Arch/Resources/ui/preferences-archdefaults.ui @@ -13,60 +13,22 @@ Defaults - - - 6 - - - 9 - + - + - Walls + Visual - - - + + + - Use sketches - - - true - - - WallSketches - - - Mod/Arch + Wall color - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Color: - - - - - - - This is the default color for new Wall objects - + + 214 @@ -82,40 +44,22 @@ - - - - - - - Structures - - - - + + Qt::Horizontal - - - 40 - 20 - - - - + + - Color: + Structure color - - - - This is the default color for new Structure objects - + + 150 @@ -131,156 +75,51 @@ - - - - - - - Rebars - - - - - - - - Diameter - - - - - - - mm - - - 999.990000000000009 - - - 6.000000000000000 - - - RebarDiameter - - - Mod/Arch - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Offset - - - - - - - mm - - - 999.990000000000009 - - - 30.000000000000000 - - - RebarOffset - - - Mod/Arch - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Color: - - - - - - - - 185 - 117 - 90 - - - - RebarColor - - - Mod/Arch - - - - - - - - - - - - Windows - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + - Transparency: + Rebar color - - + + + + + 185 + 117 + 90 + + + + RebarColor + + + Mod/Arch + + + + + + + Window glass transparency + + + + + + + + 140 + 0 + + + + % + + + 100 + 85 @@ -292,39 +131,15 @@ - - + + - Frame color: + Window glass color - - - - - 33 - 45 - 66 - - - - WindowColor - - - Mod/Arch - - - - - - - Glass color: - - - - - + + 93 @@ -340,194 +155,15 @@ - - - - - - - Stairs - - - - - - - - Length: - - - - - - - mm - - - 9999.989999999999782 - - - 4500.000000000000000 - - - StairsLength - - - Mod/Arch - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Width: - - - - - - - mm - - - 9999.989999999999782 - - - 1000.000000000000000 - - - StairsWidth - - - Mod/Arch - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Height: - - - - - - - mm - - - 9999.989999999999782 - - - 3000.000000000000000 - - - StairsHeight - - - Mod/Arch - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Number of steps: - - - - - - - 99 - - - 17 - - - StairsSteps - - - Mod/Arch - - - - - - - - - - - - Panels - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + - Color: + Panel color - - + + 203 @@ -543,92 +179,15 @@ - - - - - - - Pipes - - - - - - - - Diameter: - - - - - - - mm - - - 2 - - - 999999.989999999990687 - - - 50.000000000000000 - - - PipeDiameter - - - Mod/Arch - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - Helpers (grids, axes, etc...) - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + - Color: + Helper color (grids, axes, etc.) - - + + 40 @@ -644,121 +203,309 @@ + + + + Space transparency + + + + + + + % + + + 100 + + + 85 + + + defaultSpaceTransparency + + + Mod/Arch + + + + + + + Space line style + + + + + + + 2 + + + defaultSpaceStyle + + + Mod/Arch + + + + Solid + + + + + Dashed + + + + + Dotted + + + + + Dashdot + + + + + + + + Space line color + + + + + + + + 255 + 29 + 0 + + + + defaultSpaceColor + + + Mod/Arch + + + - + - Spaces + Other - - - - - - - Transparency: - - - - - - - 100 - - - 1 - - - 85 - - - defaultSpaceTransparency - - - Mod/Arch - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Line style: - - - - - - - 2 - - - defaultSpaceStyle - - - Mod/Arch - - - - Solid - - - - - Dashed - - - - - Dotted - - - - - Dashdot - - - - - - - - Line color - - - - - - - - 255 - 29 - 0 - - - - defaultSpaceColor - - - Mod/Arch - - - - + + + + + Use sketches for walls + + + true + + + WallSketches + + + Mod/Arch + + + + + + + Pipe diameter + + + + + + + mm + + + 0.0 + + + 50.0 + + + PipeDiameter + + + Mod/Arch + + + + + + + Qt::Horizontal + + + + + + + Rebar diameter + + + + + + + + 140 + 0 + + + + mm + + + 0.0 + + + 6.0 + + + RebarDiameter + + + Mod/Arch + + + + + + + Rebar offset + + + + + + + mm + + + 0.0 + + + 30.0 + + + RebarOffset + + + Mod/Arch + + + + + + + Stair length + + + + + + + mm + + + 0.0 + + + 4500.0 + + + StairsLength + + + Mod/Arch + + + + + + + Stair width + + + + + + + mm + + + 0.0 + + + 1000.0 + + + StairsWidth + + + Mod/Arch + + + + + + + Stair height + + + + + + + mm + + + 0.0 + + + 3000.0 + + + StairsHeight + + + Mod/Arch + + + + + + + Number of stair steps + + + + + + + 17 + + + StairsSteps + + + Mod/Arch + + @@ -775,21 +522,6 @@ qPixmapFromMimeSource - - Gui::ColorButton - QPushButton -
Gui/Widgets.h
-
- - Gui::PrefSpinBox - QSpinBox -
Gui/PrefWidgets.h
-
- - Gui::PrefColorButton - Gui::ColorButton -
Gui/PrefWidgets.h
-
Gui::PrefCheckBox QCheckBox @@ -801,8 +533,28 @@
Gui/PrefWidgets.h
- Gui::PrefDoubleSpinBox - QDoubleSpinBox + Gui::PrefSpinBox + QSpinBox +
Gui/PrefWidgets.h
+
+ + Gui::QuantitySpinBox + QWidget +
Gui/QuantitySpinBox.h
+
+ + Gui::PrefUnitSpinBox + Gui::QuantitySpinBox +
Gui/PrefWidgets.h
+
+ + Gui::ColorButton + QPushButton +
Gui/Widgets.h
+
+ + Gui::PrefColorButton + Gui::ColorButton
Gui/PrefWidgets.h