diff --git a/src/Mod/Arch/Arch.py b/src/Mod/Arch/Arch.py index 0a32f924b..c5f9c1639 100644 --- a/src/Mod/Arch/Arch.py +++ b/src/Mod/Arch/Arch.py @@ -40,3 +40,4 @@ from ArchWindow import * from ArchAxis import * from ArchRoof import * from ArchSpace import * +from ArchStairs import * diff --git a/src/Mod/Arch/ArchStairs.py b/src/Mod/Arch/ArchStairs.py new file mode 100644 index 000000000..a6fcae72e --- /dev/null +++ b/src/Mod/Arch/ArchStairs.py @@ -0,0 +1,172 @@ +#*************************************************************************** +#* * +#* Copyright (c) 2013 * +#* Yorik van Havre * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * +#* License along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +#* USA * +#* * +#*************************************************************************** + +import FreeCAD,FreeCADGui,ArchComponent,ArchCommands,Draft,DraftVecUtils +from FreeCAD import Vector +from DraftTools import translate +from PyQt4 import QtCore + +def makeStairs(base=None,length=None,width=None,height=None): + obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython","Stairs") + _Stairs(obj) + _ViewProviderStairs(obj.ViewObject) + +class _CommandStairs: + "the Arch Stairs command definition" + def GetResources(self): + return {'Pixmap' : 'Arch_Stairs', + 'MenuText': QtCore.QT_TRANSLATE_NOOP("Arch_Stairs","Stairs"), + 'Accel': "S, R", + 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Arch_Space","Creates a stairs objects")} + + def Activated(self): + FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Space"))) + FreeCADGui.doCommand("import Arch") + FreeCADGui.doCommand("Arch.makeStairs()") + FreeCAD.ActiveDocument.commitTransaction() + FreeCAD.ActiveDocument.recompute() + +class _Stairs(ArchComponent.Component): + "A stairs object" + def __init__(self,obj): + ArchComponent.Component.__init__(self,obj) + + # http://en.wikipedia.org/wiki/Stairs + + # base properties + obj.addProperty("App::PropertyLength","Length","Base", + str(translate("Arch","The length of these stairs, if no baseline is defined"))) + obj.addProperty("App::PropertyLength","Width","Base", + str(translate("Arch","The width of these stairs"))) + obj.addProperty("App::PropertyLength","Height","Base", + str(translate("Arch","The total height of these stairs"))) + obj.addProperty("App::PropertyEnumeration","Align","Base", + str(translate("Arch","The alignment of these stairs on their baseline, if applicable"))) + + # steps properties + obj.addProperty("App::PropertyInteger","NumberOfSteps","Steps", + str(translate("Arch","The number of risers in these stairs"))) + obj.addProperty("App::PropertyLength","TreadDepth","Steps", + str(translate("Arch","The depth of the treads of these stairs"))) + obj.addProperty("App::PropertyLength","RiserHeight","Steps", + str(translate("Arch","The height of the risers of these stairs"))) + obj.addProperty("App::PropertyLength","Nosing","Steps", + str(translate("Arch","The size of the nosing"))) + obj.addProperty("App::PropertyLength","TreadThickness","Steps", + str(translate("Arch","The thickness of the treads"))) + + # structural properties + obj.addProperty("App::PropertyEnumeration","Landings","Structure", + str(translate("Arch","The type of landings of these stairs"))) + obj.addProperty("App::PropertyEnumeration","Winders","Structure", + str(translate("Arch","The type of winders in these stairs"))) + obj.addProperty("App::PropertyEnumeration","Structure","Structure", + str(translate("Arch","The type of structure of these stairs"))) + obj.addProperty("App::PropertyLength","StructureThickness","Structure", + str(translate("Arch","The thickness of the massive structure or of the stingers"))) + + obj.Align = ['Left','Right','Center'] + obj.Landings = ["None","At each corner","On central segment"] + obj.Winders = ["None","All","Corners strict","Corners relaxed"] + obj.Structure = ["None","Massive","One stinger","Two stingers"] + obj.setEditorMode("TreadDepth",1) + obj.setEditorMode("RiserHeight",1) + self.Type = "Stairs" + + def execute(self,obj): + self.getShape(obj) + + def onChanged(self,obj,prop): + if prop in ["Base"]: + self.getShape(obj) + + def makeTread(self,basepoint,depthvec,widthvec,nosing=0,thickness=0,widthvec2=None): + "returns a base face of a tread and a tread object" + import Part + if thickness: + basepoint = basepoint.add(Vector(0,0,-abs(thickness))) + p1 = basepoint + p2 = p1.add(depthvec) + p3 = p2.add(widthvec) + p4 = p3.add(DraftVecUtils.neg(depthvec)) + baseface = Part.Face(Part.makePolygon([p1,p2,p3,p4,p1])) + if nosing: + nosevec = DraftVecUtils.scaleTo(DraftVecUtils.neg(depthvec),nosing) + else: + nosevec = Vector(0,0,0) + p1 = basepoint.add(nosevec) + p2 = p1.add(DraftVecUtils.neg(nosevec)).add(depthvec) + p3 = p2.add(widthvec) + p4 = p3.add(DraftVecUtils.neg(depthvec)).add(nosevec) + step = Part.Face(Part.makePolygon([p1,p2,p3,p4,p1])) + if thickness: + step = step.extrude(Vector(0,0,abs(thickness))) + return baseface,step + + def getShape(self,obj): + "constructs the shape of the stairs" + steps = [] + structure = [] + pl = obj.Placement + if not obj.Width: + return + if not obj.Height: + return + if obj.NumberOfSteps < 2: + return + if obj.Base: + pass + else: + if not obj.Length: + return + stepfaces = [] + lstep = float(obj.Length)/(obj.NumberOfSteps-1) + lheight = float(obj.Height)/(obj.NumberOfSteps) + for i in range(obj.NumberOfSteps-1): + basepoint = Vector(i*lstep,0,(i+1)*lheight) + if obj.Align == "Center": + basepoint = basepoint.add(Vector(0,obj.Width/2,0)) + elif obj.Align == "Right": + basepoint = basepoint.add(Vector(0,obj.Width,0)) + depthvec = Vector(lstep,0,0) + widthvec = Vector(0,-obj.Width,0) + f,s = self.makeTread(basepoint,depthvec,widthvec,obj.Nosing,obj.TreadThickness) + stepfaces.append(f) + steps.append(s) + import Part + shape = Part.makeCompound(structure + steps) + obj.Shape = shape + obj.Placement = pl + + +class _ViewProviderStairs(ArchComponent.ViewProviderComponent): + "A View Provider for Stairs" + def __init__(self,vobj): + ArchComponent.ViewProviderComponent.__init__(self,vobj) + + def getIcon(self): + import Arch_rc + return ":/icons/Arch_Stairs_Tree.svg" + + +FreeCADGui.addCommand('Arch_Stairs',_CommandStairs()) diff --git a/src/Mod/Arch/Arch_rc.py b/src/Mod/Arch/Arch_rc.py index 28b593b4c..8919006d0 100644 --- a/src/Mod/Arch/Arch_rc.py +++ b/src/Mod/Arch/Arch_rc.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: Fri Aug 16 18:34:56 2013 +# Created: Fri Aug 30 13:09:36 2013 # by: The Resource Compiler for PyQt (Qt v4.8.5) # # WARNING! All changes made in this file will be lost! @@ -29485,6 +29485,146 @@ qt_resource_data = "\ \xff\xb3\xb0\xd8\xf4\x02\x1b\x47\x81\x3b\x2a\x2c\x32\x3d\xd7\x43\ \x20\x6c\xae\x48\x6b\xbb\x9a\x2d\xd4\xd5\xb5\x9a\xfd\x07\x45\x43\ \xe9\x58\ +\x00\x00\x08\x9f\ +\x00\ +\x00\x37\xa2\x78\x9c\xed\x5a\x6b\x6f\xa3\x48\x16\xfd\x9e\x5f\xc1\ +\xba\xbf\x74\xb4\x50\xae\xf7\xc3\x89\x33\x5a\x6d\x6b\x46\x23\xed\ +\x68\xa5\xed\x6e\xed\xc7\x16\x86\xb2\xc3\x34\x06\x0b\x70\xec\xf4\ +\xaf\xdf\x5b\xd8\x60\x9c\x90\xc4\xce\xe6\xd1\xd1\xc4\x52\x62\x5c\ +\xf7\xd6\xeb\xd4\xb9\xe7\x16\x50\xe7\xbf\xac\xe7\xa9\x77\x65\x8b\ +\x32\xc9\xb3\xf1\x80\x20\x3c\xf0\x6c\x16\xe5\x71\x92\xcd\xc6\x83\ +\xaf\x5f\x7e\x0d\xf4\xc0\x2b\xab\x30\x8b\xc3\x34\xcf\xec\x78\x90\ +\xe5\x83\x5f\x2e\x4e\xce\xff\x16\x04\xde\x3f\x0b\x1b\x56\x36\xf6\ +\x56\x49\x75\xe9\xfd\x9e\x7d\x2f\xa3\x70\x61\xbd\x8f\x97\x55\xb5\ +\x18\x0d\x87\xab\xd5\x0a\x25\xdb\x42\x94\x17\xb3\xe1\xa9\x17\x04\ +\x17\x27\x27\xe7\xe5\xd5\xec\xc4\xf3\x3c\xe8\x37\x2b\x47\x71\x34\ +\x1e\x6c\x2b\x2c\x96\x45\x5a\x3b\xc6\xd1\xd0\xa6\x76\x6e\xb3\xaa\ +\x1c\x12\x44\x86\x83\x9d\x7b\xb4\x73\x8f\x5c\xef\xc9\x95\x8d\xf2\ +\xf9\x3c\xcf\xca\xba\x66\x56\x7e\xe8\x38\x17\xf1\xb4\xf5\x76\xa3\ +\x59\xb1\xda\x89\x18\x63\x86\x98\x0e\x29\x0d\xc0\x23\x28\xaf\xb3\ +\x2a\x5c\x07\xfb\x55\x61\x8c\x7d\x55\x29\xc6\x78\x08\xb6\x9d\xe7\ +\x61\x5e\xa3\x75\x0a\x50\xdc\x39\x98\xda\xda\xed\x1d\xe0\x5f\xc0\ +\x5f\x5b\xa1\x29\x40\x65\xbe\x2c\x22\x3b\x85\x9a\x16\x65\xb6\x1a\ +\x7e\xfa\xf2\xa9\x35\x06\x18\xc5\x55\xdc\x69\xa6\x41\x7f\xaf\xdf\ +\xbd\x25\xc9\xc2\xb9\x2d\x17\x61\x64\xcb\x61\x53\x5e\xd7\x5f\x25\ +\x71\x75\x39\x1e\x48\xbe\x58\xd7\xbf\x2f\x6d\x32\xbb\xac\x3a\x05\ +\x49\x3c\x1e\xc0\x0c\xa9\x96\xb8\xfe\xdd\x8c\x61\xd4\x32\x09\x23\ +\x46\x37\xae\xdb\x86\xbb\x26\xae\x11\xf7\x0a\x63\x98\xd9\xaf\x1d\ +\xe7\x91\x1b\xd2\x78\xf0\x8f\x22\xba\xfc\xf6\xb9\x2a\xc2\xa4\x28\ +\x51\x03\x65\xdb\x52\xbe\xac\x16\xcb\xea\x9b\x5d\x57\x36\xdb\x34\ +\x09\x93\xe9\xcc\xac\x36\xbb\x6a\x68\x6f\x56\x1d\x96\x93\xc1\x05\ +\x94\x9c\xc7\x76\x5a\x3a\xcb\x66\x42\xee\x17\xcc\x88\xd6\x36\xb0\ +\x16\x61\x9c\x84\xe9\x6f\xee\x0b\xb8\xb8\xf1\xeb\x8c\x22\xca\xd3\ +\xd4\x46\x80\x4a\x98\xae\xc2\xeb\x72\xd0\x38\xd4\xab\x39\xba\x2c\ +\x2c\xb0\xef\x03\x5c\xdb\xb0\x68\xda\x60\x4c\xa9\xd6\xcf\x75\xb9\ +\xdf\x05\x93\x86\xb6\xe6\x68\x3d\x1e\x70\x81\xb4\x66\x8c\xee\x2a\ +\x45\xd7\xe3\x01\xd5\x48\x4b\x23\xa4\x6e\x4b\xa7\xbd\xbe\xd3\x5e\ +\xdf\x02\xe6\x6f\x10\x97\x8a\x33\xd9\x16\xce\xb6\x23\xf8\x9a\x25\ +\x15\x70\x7a\x59\xda\xe2\xb3\xe3\xc5\xbf\xb3\xaf\xa5\x1d\x78\xc3\ +\x57\x43\x44\x61\x76\xe0\x20\xbb\xb8\x11\x26\x10\x03\x30\xd8\x1e\ +\x6e\x46\x21\x76\x1b\xb7\xdb\xbe\xd3\x5e\xdf\x7b\x71\xfb\x52\x84\ +\x59\x09\x61\x39\x1f\x0f\xe6\x61\x55\x24\xeb\x8f\x18\x19\xf0\x14\ +\x3e\x46\x94\x0a\xcc\x94\xf1\x21\x3e\xb9\xa4\x8c\x60\xe1\x53\x84\ +\x31\x91\x8a\x6a\xdf\x45\x82\x56\x42\x70\x3f\x20\x54\x21\x63\x60\ +\x0d\x4f\x77\x80\xef\x83\xd5\xc5\xa9\x07\xc6\x8b\xad\xfd\xbc\xac\ +\xf2\x45\xe3\xbb\x8d\x55\x28\x01\x1f\x33\xd8\x15\xe7\xd3\x69\x69\ +\x61\xad\x70\xa7\xac\xac\xae\x53\xbb\xf1\x0e\x60\x31\xf3\x62\xf4\ +\x61\x1a\x4e\xa7\x74\x72\x56\x17\xe5\x80\x76\x52\x5d\x8f\xc8\x59\ +\x3b\xc2\x7b\x7a\xd3\xa4\xa7\x37\xf2\x40\x6f\xd3\x30\xc4\xf8\xce\ +\xde\xce\x87\xfb\xd3\x7e\x45\x5a\x8a\xc7\xd0\x12\x56\x5b\xdf\xa2\ +\xa5\x26\x7d\xe1\x7c\xdb\x77\xda\xeb\x7b\x24\x2d\x09\x70\x5d\x50\ +\xa1\xb5\xa3\x23\x16\x84\x49\xa5\x19\x90\x14\xbb\x29\x49\x6a\xe0\ +\x12\x32\x12\x23\x8c\xfa\x81\x04\x0d\x37\x94\x63\xe6\x2b\xa4\x30\ +\xc7\x9c\xe9\x0e\x35\x5b\x78\x17\x20\xab\x0b\xc0\x17\x72\x71\xd3\ +\x7f\x2b\xe8\xd5\xb5\x4b\x3f\xfb\xae\x2c\x1e\xdc\x5a\xa2\xab\xc5\ +\x37\x98\x33\xf6\x46\x1e\xa3\xf0\x8f\xf4\x7a\x5c\x6f\x3c\x08\xa4\ +\x57\xf8\xc2\xbd\x3e\x3f\x5c\x92\xba\xa7\x99\xed\x08\x82\xbc\x48\ +\x66\x09\xa4\x82\xda\x8f\x02\x2a\xf5\x67\xbf\x0e\x2c\x7b\x67\x6e\ +\x90\x19\xf4\x6b\x2a\x21\xa6\xf4\x11\x94\x7b\xf1\x0c\xd2\xa1\x5c\ +\xe5\x2e\x53\xd8\x22\x7e\x04\x6d\x33\x48\x09\x22\x80\x54\x1a\x49\ +\x4d\xa8\xa4\xa7\xaf\x0b\xe6\xb1\xf1\xfb\x7f\x2b\x7d\x00\xb1\x8b\ +\x05\x36\x2e\xb2\x88\xd1\x08\x2b\x50\xc8\xd3\x97\x4d\x5b\xaf\x8a\ +\xb8\x7e\x32\xc4\x8f\x11\x31\x82\x09\x10\x4e\x1a\x48\xb0\xca\x20\ +\x26\x8c\x52\xea\x06\xea\xcf\xad\xca\xcf\x8c\x7a\x20\x1f\x60\x7a\ +\xc0\x5f\x83\xeb\x4a\x69\x0a\x85\xc0\x75\x8a\x38\x53\x5c\xbc\x16\ +\xd7\x8f\xd9\x43\x01\x96\x07\xec\xa2\x3a\x80\xbe\xc8\x3e\x2a\x10\ +\x3d\xfd\xbd\xe0\x4e\xaa\x57\xf0\xfb\x97\xa0\x7f\xb9\xfa\x97\xb6\ +\x9f\x06\x4f\x40\x3e\x8c\x34\x51\x4a\x42\xf4\x53\x0c\x5b\x17\x89\ +\x0d\x3d\x3d\x32\x04\xfa\x22\x89\xcb\xc7\x84\xe4\x5d\xd1\xfd\x80\ +\x2a\xbc\x31\xcc\xa5\x01\x95\xc5\x82\x81\x9d\xc2\x76\x0a\xfe\x88\ +\x7c\x1a\xcc\x03\x76\x38\xea\x81\x3e\x02\xf7\xe3\x74\x01\x9a\x3e\ +\x48\x19\x82\xbe\xbb\x9e\x67\xd5\x86\xa0\xef\xae\xee\x0d\xdd\x67\ +\x75\xd4\xf4\x8e\xfc\x75\xe8\x73\x8a\xf7\xfc\x05\x58\x1e\xc2\x52\ +\xfa\xc2\x1c\x7d\x65\x86\xbe\x3d\x2d\x35\x04\xb6\xb2\x4e\x4b\x09\ +\x41\x82\x71\x2c\x9e\x42\x4b\xb5\x78\x4c\x48\xfe\x35\xf2\x97\x30\ +\x88\xc2\xcd\x83\x96\x2e\x7f\x19\x84\xb9\x78\x1a\xcc\x21\x7f\xf1\ +\x83\x51\x97\x41\xcf\x13\x8b\xa7\xca\x5f\xe4\xc0\xfc\x85\x5f\x58\ +\x1b\x44\xaf\x1a\xbd\xa5\xfc\xf5\xd0\x93\x86\x0e\xa4\xef\xf9\xeb\ +\x01\x9e\x1e\xf4\x14\xbb\xb3\x21\x78\x19\x8e\xf6\xc5\xc4\x7b\xfe\ +\xba\x53\x4b\x35\x90\x4f\x72\xcd\x9c\x96\x72\x64\x0c\x67\x4f\x93\ +\xbe\x3a\x91\x76\x44\x4c\xfe\x35\x12\x18\xd7\x88\x40\x8b\xd2\x81\ +\xce\x29\x82\xf4\x45\xf5\x13\x25\xb0\xc3\x51\x87\x2c\xf3\x9c\x19\ +\xec\xd0\x14\xf6\xd2\xf2\x20\x7a\x1f\x08\xbd\xa5\x14\x46\xef\xe5\ +\x00\xa4\xb0\x57\x79\x5c\xfe\x36\x53\x18\x3d\x88\xa5\x2f\xbd\xcd\ +\x7a\xe5\x4d\xd6\xdb\x53\x53\x26\xa5\x60\x4e\x4d\x19\x45\x9a\x68\ +\xa2\x9e\x28\x87\x1d\xfe\x10\x91\x1e\x21\xa5\xcf\xf5\x6a\x21\x20\ +\xf7\xcd\x87\x98\xa7\x7b\xa9\x73\xc4\xee\x42\x70\xc6\x48\xbd\x34\ +\xdc\xbd\x4c\xe4\xaf\xf3\x1a\xed\x7c\xe8\x0e\x0c\xd5\x57\xed\xfb\ +\x6e\x77\x7a\x29\xbe\x4a\xec\xea\xa4\x85\x6c\x12\xb6\xd3\x5f\x84\ +\x33\x5b\xc7\x16\x80\x3d\xad\x3f\x5b\xc3\x24\x2f\x62\x5b\x34\x26\ +\x59\x7f\xf6\x4c\xdb\xf0\xdb\x1c\xd0\x3b\xd9\x5f\x5b\xd7\x6a\x6b\ +\xc7\xfd\xf6\xf2\x32\x8c\xf3\xd5\x78\x40\x6f\x1a\x7f\xe4\x39\x2c\ +\x41\x9b\xb5\x77\x84\x71\xef\x83\x29\x52\x58\x11\x23\x6e\x19\x37\ +\xaf\x85\x19\x91\xc6\xa8\x5b\xc6\x65\x51\xc0\x02\x07\x69\x78\x6d\ +\x61\x36\xf5\x57\xd3\x7c\x79\x99\xaf\x66\x85\x43\xa5\x2a\x96\xf6\ +\x66\xcd\x38\x8f\x96\xee\xd4\x5f\xb0\xdc\x50\x68\x7b\xd6\xac\xe3\ +\xe1\xea\x06\x93\x49\xbe\xee\x6f\x60\x95\x64\x30\xcb\x60\x7b\x7a\ +\x0d\xb2\xc6\x2d\x2c\xb6\x1e\xcd\x79\x36\xa0\x16\xbb\xc3\x65\xbd\ +\x93\xe3\x9b\xa6\xeb\xbb\x4d\xf3\x70\x9d\xcc\x93\x1f\x36\xde\x89\ +\xeb\xee\xd4\xda\xe4\x4f\x08\xc1\x60\x11\x56\x97\x65\xff\xf8\xb7\ +\x1e\x59\x1e\xdb\xc6\x63\x4b\xb5\xb9\xad\xc2\x38\xac\xc2\x1d\xad\ +\x9a\x12\xaa\xa5\x68\x0f\xac\xc5\xd3\xd1\x7f\x3e\xfd\xda\xa6\x83\ +\x28\x1a\xfd\x37\x2f\xbe\xef\x44\xde\x39\x84\x93\x7c\x09\x53\x6f\ +\x93\x94\x3b\x06\x17\x8d\x5c\x28\x86\xd5\x45\x32\x07\xb2\xb8\xb3\ +\x8b\x7f\x5f\xcf\x53\x20\x78\x6b\xd8\x73\x76\xa7\x3a\x76\x8d\x6e\ +\x9a\x2d\xec\xe6\x6c\x62\xef\x71\xce\x38\x9a\x27\xae\xd2\xf0\x73\ +\x95\xa4\xe9\xef\xae\x93\x4e\xda\xda\x36\x9a\x54\xa9\xbd\xa8\xfb\ +\xdc\x5c\x36\xb3\x18\x6e\xa7\xd1\x64\x9d\xce\x2c\xcf\x87\x0d\x0c\ +\xf5\xaf\xd9\x0e\x9e\x3d\xda\xb5\x00\xa7\xe1\xc4\xa6\xe3\xc1\xbf\ +\x9c\xd1\xbb\x65\x9d\x15\xf9\x72\x31\x07\xf0\xb7\xd5\x1b\x58\xdd\ +\x8a\xf5\x28\x6a\x96\xc1\x62\xe5\x45\x00\x84\xbf\x0a\xab\x65\x61\ +\xbb\x09\x7c\xa7\x08\xd0\x9e\x9b\x3a\x2c\x68\xe4\x3e\xfb\x72\x0a\ +\x2d\x30\x41\x77\xd5\xdc\xc2\x7a\x0c\x49\xa2\x04\x17\x3e\x87\x68\ +\x26\x9c\x72\xe2\x31\x50\x47\x29\x8c\x22\x3e\xdc\x4f\x31\x23\xb4\ +\xf1\xdc\xab\x6f\x25\x18\xf1\x0d\xa4\x27\xca\xb0\xf0\x02\x46\x10\ +\x5c\x69\x48\x33\x20\x93\x08\x4b\xae\xb4\xf7\x63\x37\xa4\x4d\x86\ +\x9f\xc2\x0a\x8c\x60\x6d\x3e\x7e\xb8\xbd\xcd\x3b\x3d\x73\xd6\x4e\ +\xb2\xaf\x7f\x16\xcb\xd4\x8e\xec\x95\x85\xa9\xc4\xb0\x1b\x28\xf2\ +\xef\x76\xf4\x41\x4d\x84\xac\x37\x07\xee\xe7\x26\xe4\x46\x14\xb9\ +\xa3\xaf\xf0\x11\x4d\xb9\x4b\x29\x00\xd7\x68\xb2\xac\xaa\x6e\xd9\ +\x9f\x79\x92\x8d\x00\xee\xac\x69\x30\x00\x82\xd8\x22\x85\xe0\xa9\ +\x46\xbc\x29\xdb\x8d\x63\x5b\x10\x87\x20\x64\x45\x11\x5e\x03\xac\ +\x99\xed\x96\x6e\xb6\x34\x23\x7c\x36\x0f\x8b\xef\xb6\xd8\xd8\xaf\ +\x92\x32\x99\x24\xa9\x6b\xa2\xbe\x4c\xed\x59\x9c\x94\x0b\x58\xdc\ +\x51\x92\xb9\x61\x9c\xe5\x57\xb6\x98\xa6\xf9\xaa\xb5\xdb\x2c\x84\ +\xaf\x60\x12\x46\xdf\x67\xf5\xf8\x46\x61\x04\xaa\xb4\x74\xc7\x58\ +\x76\xd9\xf6\xf9\x19\xd1\x79\xeb\x05\xa5\x7f\x78\x84\x23\x41\x89\ +\x30\xc6\x67\x12\x01\x23\xe0\xe3\x71\x51\x9f\x1d\x54\x3e\x87\x75\ +\xd7\x58\x79\x90\x0e\x15\x27\x4c\x49\x1f\x4c\x58\x19\x4c\x49\x1f\ +\x99\x8e\xa0\x04\x97\xef\x94\xf8\x69\x28\x41\xf7\x65\x02\x28\x01\ +\x0b\xab\xa4\xf1\xa9\x44\x42\x30\xc8\xc5\x47\xea\x04\x79\x94\x4c\ +\xe8\x77\x99\xf8\x79\x38\xc1\xf6\x59\xf1\x87\x47\x05\x92\x42\x6b\ +\xca\x7c\x0a\xdb\x37\x8d\xb5\x54\x9e\x90\x48\x52\xae\x0c\xf7\xa9\ +\x42\x8a\x62\x2e\xa4\x13\x0f\xad\xb4\xf4\x81\x0b\x92\x68\xa5\x54\ +\x2f\x9f\x8e\x92\x8a\x80\xbd\x13\xe3\xa7\x21\x06\xd9\x17\x0b\xa0\ +\x85\x36\xc4\x18\xe6\x13\x86\xb0\x61\xa0\x08\xad\x58\xd0\x83\xc4\ +\x82\x3e\x52\x2c\x02\xf5\xce\x8a\xe3\x59\xf1\x10\xb0\x70\xe7\xfd\ +\x0e\xeb\xbd\xb0\xee\x6f\xa9\x25\x68\xa1\x51\x8a\x01\xb1\x19\x03\ +\x3a\x4b\xee\x05\x04\xf8\x8f\x25\x15\x3e\x83\x6d\x93\x81\x8f\xf4\ +\x6a\xb2\x0b\xdf\x11\x9d\x0a\x8f\x6f\x22\xc5\x0f\x08\xdc\xf9\xc3\ +\x4e\xcb\xc3\x7e\xc0\xb6\x97\x01\xe5\x70\x03\x0c\xbe\x50\xa2\xeb\ +\xea\xb2\x13\x17\x37\x34\x7a\x77\xfe\xe1\xa1\x68\x6f\x1e\x2d\xcc\ +\x2e\x4e\xce\xdd\x7d\xd8\xc5\xc9\xff\x00\x37\xde\x7d\x7f\ \x00\x00\x07\xe4\ \x00\ \x00\x2b\x1c\x78\x9c\xed\x5a\x5d\x6f\xe2\x48\x16\x7d\xcf\xaf\xf0\ @@ -31238,6 +31378,135 @@ qt_resource_data = "\ \x80\x2a\x8f\xfa\x11\xad\x09\x3c\x64\x39\x4d\x69\x60\x6e\x3b\xcd\ \x93\xf0\x56\xcc\x60\xbe\xfc\x73\x11\x3b\x07\x6d\x16\xae\x17\x0f\ \x33\xf7\x20\xbf\x78\xf8\x03\x8f\x66\x4e\x59\ +\x00\x00\x07\xe4\ +\x00\ +\x00\x2e\x46\x78\x9c\xed\x5a\x6b\x6f\xdb\xc8\x15\xfd\xee\x5f\xc1\ +\x32\x5f\x12\x94\x1c\xcd\x83\xf3\x92\x2d\x2f\x8a\x06\x5b\x2c\xd0\ +\x45\x81\x26\x41\x3f\x06\x14\x39\x92\xb8\xa6\x48\x81\xa4\x2c\x29\ +\xbf\xbe\x77\x28\x92\xa2\x6c\xda\x96\x53\x3f\xd6\xa8\x15\x24\x22\ +\xe7\xde\x79\x9d\x7b\xee\xb9\xa4\x26\x17\xbf\x6c\x97\xa9\x73\x6d\ +\x8a\x32\xc9\xb3\x89\x4b\x10\x76\x1d\x93\x45\x79\x9c\x64\xf3\x89\ +\xfb\xed\xeb\xaf\xbe\x72\x9d\xb2\x0a\xb3\x38\x4c\xf3\xcc\x4c\xdc\ +\x2c\x77\x7f\xb9\x3c\xbb\xf8\x8b\xef\x3b\x7f\x2f\x4c\x58\x99\xd8\ +\xd9\x24\xd5\xc2\xf9\x2d\xbb\x2a\xa3\x70\x65\x9c\x8f\x8b\xaa\x5a\ +\x8d\x47\xa3\xcd\x66\x83\x92\xa6\x11\xe5\xc5\x7c\xf4\xc9\xf1\xfd\ +\xcb\xb3\xb3\x8b\xf2\x7a\x7e\xe6\x38\x0e\xcc\x9b\x95\xe3\x38\x9a\ +\xb8\x4d\x87\xd5\xba\x48\x6b\xc7\x38\x1a\x99\xd4\x2c\x4d\x56\x95\ +\x23\x82\xc8\xc8\x3d\xb8\x47\x07\xf7\xc8\xce\x9e\x5c\x9b\x28\x5f\ +\x2e\xf3\xac\xac\x7b\x66\xe5\x87\x9e\x73\x11\xcf\x3a\x6f\xbb\x9a\ +\x0d\xab\x9d\x88\xd6\x7a\x84\xe9\x88\x52\x1f\x3c\xfc\x72\x97\x55\ +\xe1\xd6\x3f\xee\x0a\x6b\x1c\xea\x4a\x31\xc6\x23\xb0\x1d\x3c\x4f\ +\xf3\x1a\x6f\x53\x80\xe2\xce\xc5\xd4\xd6\xfe\xec\x00\xff\x0a\xfe\ +\x76\x1d\xda\x06\x54\xe6\xeb\x22\x32\x33\xe8\x69\x50\x66\xaa\xd1\ +\xe7\xaf\x9f\x3b\xa3\x8f\x51\x5c\xc5\xbd\x61\x5a\xf4\x8f\xe6\x3d\ +\x0a\x49\x16\x2e\x4d\xb9\x0a\x23\x53\x8e\xda\xf6\xba\xff\x26\x89\ +\xab\xc5\xc4\x15\xc1\x6a\x5b\xdf\x2f\x4c\x32\x5f\x54\xbd\x86\x24\ +\x9e\xb8\xb0\x43\xaa\x04\xae\xef\xdb\x35\x8c\x3b\x26\x61\xc4\xe8\ +\xde\xb5\x19\xb8\x6f\x0a\x14\x0a\x9c\x42\x6b\xa6\x8f\x7b\xc7\x79\ +\x64\x97\x34\x71\xff\x56\x44\x8b\xef\x5f\xaa\x22\x4c\x8a\x12\xb5\ +\x50\x76\x23\xe5\xeb\x6a\xb5\xae\xbe\x9b\x6d\x65\xb2\xfd\x90\xb0\ +\x99\xde\xce\x6a\xb3\xed\x86\x8e\x76\xd5\x63\x39\x71\x2f\xa1\xe5\ +\x22\x36\xb3\xd2\x5a\xf6\x1b\xb2\x77\xb0\x23\x5a\xdb\xc0\x5a\x84\ +\x71\x12\xa6\xff\xb0\x5f\xc0\xc5\xbd\x5f\x6f\x15\x51\x9e\xa6\x26\ +\x02\x54\xc2\x74\x13\xee\x4a\xb7\x75\xa8\xa3\x39\x5e\x14\x06\xd8\ +\xf7\x01\xae\x4d\x58\xb4\x63\x30\x26\x65\xe7\x67\xa7\x3c\x9e\x82\ +\x09\x4d\x3b\x73\xb4\x9d\xb8\x01\x47\x4a\x31\x46\x0f\x9d\xa2\xdd\ +\xc4\xa5\x0a\x29\xa1\xb9\x50\x5d\xeb\x6c\xd0\x77\x36\xe8\x5b\xc0\ +\xfe\x35\x0a\x84\x0c\x98\xe8\x1a\xe7\xcd\x0a\xbe\x65\x49\x05\x9c\ +\x5e\x97\xa6\xf8\x62\x79\xf1\xaf\xec\x5b\x69\x5c\x67\xf4\x6a\x88\ +\x48\xcc\x4e\x5c\x64\x1f\x37\xc2\x38\x62\x00\x06\x3b\xc2\x4d\x4b\ +\xc4\x6e\xe3\x76\xdb\x77\x36\xe8\x7b\x2f\x6e\x5f\x8b\x30\x2b\x21\ +\x2d\x97\x13\x77\x19\x56\x45\xb2\xfd\x88\x91\x06\x4f\xee\x61\x44\ +\x29\xc7\x4c\x6a\x0f\xf2\x33\x10\x94\x11\xcc\x3d\x8a\x30\x26\x42\ +\x52\xe5\xd9\x4c\x50\x92\xf3\xc0\xf3\x09\x95\x48\x6b\x88\xe1\xa7\ +\x03\xe0\xc7\x60\xf5\x71\x1a\x80\xf1\xb2\xb1\x5f\x94\x55\xbe\x6a\ +\x7d\x9b\x5c\x85\x16\xf0\xd1\xee\xa1\x39\x9f\xcd\x4a\x03\xb1\xc2\ +\xbd\xb6\xb2\xda\xa5\x66\xef\xed\x43\x30\xf3\x62\xfc\x61\x16\xce\ +\x66\x74\x7a\x5e\x37\xe5\x80\x76\x52\xed\xc6\xe4\xbc\x5b\xe1\x3d\ +\xb3\x29\x32\x30\x1b\x79\x60\xb6\x59\x18\x62\x7c\xe7\x6c\x17\xa3\ +\xe3\x6d\xbf\x22\x2d\xf9\xcf\xd0\x12\xa2\xad\x6e\xd1\x52\x91\xa1\ +\x74\xbe\xed\x3b\x1b\xf4\x7d\x24\x2d\x09\x70\x9d\x53\xae\x94\xa5\ +\x23\xe6\x84\x09\xa9\x18\x90\x14\xdb\x2d\x09\xaa\xe1\x12\x2a\x12\ +\x23\x8c\x7a\xbe\x00\x0d\xd7\x34\xc0\xcc\x93\x48\xe2\x00\x07\x4c\ +\xf5\xa8\xd9\xc1\xbb\x02\x59\x5d\x01\xbe\x50\x8b\xdb\xf9\x3b\x41\ +\xaf\x76\xb6\xfc\x1c\xbb\xb2\xd8\xbd\x15\xa2\xeb\xd5\x77\xd8\x33\ +\x76\xc6\x0e\xa3\xf0\x0f\x19\xf4\xd8\xed\x3d\x08\x94\x57\xf8\xc2\ +\x83\x3e\x3f\x6c\x91\xba\x67\x98\x66\x05\x7e\x5e\x24\xf3\x04\x4a\ +\x41\xed\x47\x01\x95\xfa\x73\xdc\x07\xc2\xde\xdb\x1b\x54\x06\xf5\ +\x9a\x4a\x88\x29\xfd\x09\xca\xbd\x78\x05\xe9\x51\xae\xb2\x97\x29\ +\x3c\x22\x7e\x04\x6d\xd3\x48\x72\xc2\x81\x54\x0a\x09\x45\xa8\xa0\ +\x9f\x5e\x17\x4c\xf5\x48\x30\x9f\x26\xa5\x08\x26\xb0\x7d\xa1\x41\ +\xee\xa5\x46\x8c\x6b\x29\xe5\xa7\x97\xd5\x88\x67\x46\xdd\x17\xf7\ +\xe3\xce\xfd\xe0\xc9\x90\x3f\xb1\xc6\xfa\x80\x88\x94\x8a\x42\xa3\ +\x4f\x34\x45\x01\x93\x01\xbf\x81\xfa\x73\x3f\x30\xfc\x54\x45\x07\ +\x2c\x4f\xa8\xe9\x3d\x40\x5f\xa4\xaa\xfb\x7c\x60\xbe\x67\xa9\xeb\ +\x8f\xc3\x0a\xde\x54\x4f\x42\xcb\x1f\x7a\x2e\x79\x56\xbc\xfc\xa1\ +\xe7\xae\x37\xf4\x24\xd4\x63\xd8\x1d\x39\x7d\xea\x9b\xc4\x7b\x4e\ +\x03\x96\xa7\xb0\x94\xbe\x30\x47\x5f\x99\xa1\x83\x8f\x14\xc3\x21\ +\x18\x0e\xd7\x70\x68\x87\x69\xf0\xbf\x93\x8f\x6b\x44\xa1\xb8\x2b\ +\xe1\xf9\x14\x9e\x6c\x70\xc0\x71\x8f\x7c\xa7\xa5\xc0\x50\x26\x05\ +\xa2\x97\x6a\x0f\x16\x5a\x7f\xe0\xf9\xf6\x66\x86\xff\x64\xdd\xf1\ +\xc9\x89\x5a\x8a\x5f\x5c\x4b\x87\x32\xe3\x2d\x69\xe9\x03\xcf\xa5\ +\xbc\x07\xe9\xbb\x96\x3e\xc0\xd3\x93\x7e\xf3\xe8\x15\xa7\x97\xe1\ +\xe8\x50\x4e\xbc\x6b\xe9\x5d\xe4\x83\x77\x18\x02\x23\x0a\x06\x5a\ +\x1a\x50\x04\x4a\x4a\xd5\x13\x69\xa9\x7c\x8c\x96\x3e\xa7\x98\x9e\ +\xaa\xa6\x2f\xcd\x54\x3e\xf8\xee\xf0\x96\xd4\x94\x3e\xa4\xa6\x8f\ +\xfd\x9d\xee\xff\x58\x4d\xe9\x49\x2c\x7d\xe9\x8a\xff\xca\xf5\xfe\ +\xed\xa9\x29\x13\x82\x33\xab\xa6\x8c\x22\x45\x14\x91\x4f\xa1\xa6\ +\xaa\xff\x8e\xf7\x88\xa4\xbc\x5f\x4a\x2f\x46\xf6\xcc\xad\xbe\xea\ +\x7e\x32\xb6\x07\x80\xf1\x75\x62\x36\x67\xdd\x62\xa6\x61\xb7\xba\ +\x55\x38\x37\x75\x94\x61\xe6\x59\xfd\x69\x0c\xd3\xbc\x88\x4d\xd1\ +\x9a\x44\xfd\x39\x32\x35\x44\xd8\x9f\x71\x9f\x1d\xaf\xce\x8e\xda\ +\xd9\xf1\xb0\xbd\x5c\x84\x71\xbe\x99\xb8\xf4\xa6\xf1\x47\x9e\x43\ +\x9c\x38\xe2\x37\x0d\x75\x8c\x15\xbc\x1d\x30\x4a\x6e\xf5\xb2\xb4\ +\x08\x02\xc4\xa8\xa4\x5c\xdd\x32\xae\x8b\x02\xc0\xf4\xd3\x70\x67\ +\x60\x3b\xf5\x57\xcb\xf9\x72\x91\x6f\xe6\x85\x85\xa5\x2a\xd6\xe6\ +\x66\xcf\x38\x8f\xd6\xf6\xe4\xdc\x5f\xef\x43\xdc\x9c\xd7\xf6\x3c\ +\x6c\x5f\x7f\x3a\xcd\xb7\xc3\x03\x6c\x92\x0c\xb6\xe9\x37\x27\xc0\ +\x20\x60\xb7\xc0\x68\x3c\xda\x33\x61\x20\x20\xbb\xc3\x65\x7b\x50\ +\x86\x9b\xa6\xdd\xdd\xa6\x65\xb8\x4d\x96\xc9\x0f\x13\x1f\xf2\xfc\ +\x70\xf2\x3b\xfd\x03\x58\xe4\xaf\xc2\x6a\x51\x0e\xaf\xbf\xf1\xc8\ +\xf2\xd8\xb4\x1e\x0d\xd7\x96\xa6\x0a\xe3\xb0\x0a\x0f\xbc\x6a\x5b\ +\xa8\x12\xbc\x3b\xf4\x8d\x67\xe3\x7f\x7f\xfe\xb5\x53\xa6\x28\x1a\ +\xff\x27\x2f\xae\x0e\x7a\x63\x1d\xc2\x69\xbe\x86\xad\x77\x7a\x69\ +\x8f\x92\xa3\xb1\x4d\xd8\xb0\xba\x4c\x96\xc0\x16\x7b\xfe\xff\xd7\ +\xed\x32\x05\x86\x77\x86\x23\x67\x7b\x32\x72\x18\x74\x3f\x6c\x61\ +\xf6\xe7\xfb\x83\xff\x25\x22\x8e\x96\x89\xed\x34\xfa\x52\x25\x69\ +\xfa\x9b\x9d\xa4\xa7\xa0\xcd\xa0\x49\x95\x9a\xcb\x7a\xce\xfd\x65\ +\xbb\x8b\x51\xb3\x8d\x56\x00\x7b\xbb\xbc\x18\xb5\x30\xd4\x77\xf3\ +\x03\x3c\x47\xb4\xeb\x00\x4e\xc3\xa9\x49\x27\xee\x3f\xad\xd1\xb9\ +\x65\x9d\x17\xf9\x7a\xb5\x04\xf0\x9b\xee\x2d\xac\x36\x62\x03\xa2\ +\x90\x65\x10\xac\xbc\xf0\x81\xf0\xd7\x61\xb5\x2e\x4c\xbf\x96\x1c\ +\x24\x01\xc6\xb3\x5b\x87\x80\x46\xf6\x73\xac\x54\x30\x02\xe3\xf4\ +\xd0\xcd\x06\xd6\x61\x48\x10\xc9\x03\xee\x05\x90\xce\x24\xa0\x01\ +\x71\x18\x68\xa8\xe0\x5a\x12\x2f\x40\x9a\x69\xae\xb4\x63\x7f\xb0\ +\x97\x9c\x11\x4f\x83\x52\x52\x86\xb9\xe3\x33\x82\xe0\x4a\x81\xe2\ +\xc1\x6b\x3e\xc2\x22\x90\xca\xf9\x71\x58\xd2\xbe\xd8\xcc\x20\x02\ +\xe3\x46\x7f\xce\xed\x4d\xaf\xcc\xd4\xb7\xc5\x3a\x35\x63\x73\x6d\ +\x60\xe5\x31\xd4\xa1\x22\xbf\x32\xe3\x0f\x5c\xd8\x3f\xcd\xed\x3e\ +\xc3\xc6\x41\x7b\x6b\x65\x14\x40\x19\x4f\xd7\x55\xd5\x6f\xfb\x23\ +\x4f\xb2\x31\x80\x9a\xb5\xe3\xf8\x40\x03\x53\xa4\x90\x22\xd5\xa1\ +\xf7\x61\xfa\xa6\x21\x0e\x41\xaf\x8a\x22\xdc\x01\x78\x99\xe9\xb7\ +\xee\x6b\xe8\x18\x9f\x2f\xc3\xe2\xca\x14\x7b\xfb\x75\x52\x26\xd3\ +\x24\xb5\x43\xd4\x97\xa9\x39\x8f\x93\x72\x05\x21\x1c\x27\x99\x5d\ +\xc6\x79\x7e\x6d\x8a\x59\x9a\x6f\x3a\xbb\xc9\x42\xf8\xf2\xa7\x61\ +\x74\x35\xaf\xd7\x37\x0e\x23\xd0\x9e\xb5\x3d\xf0\x39\x94\xda\xe7\ +\x8f\xbb\xcf\xfa\x91\xff\xdd\x21\x01\xe2\x94\x70\xad\x3d\x26\x10\ +\xc4\x1d\x3e\x4e\xc0\xeb\x53\x76\xe9\x05\x10\x5d\x85\xa5\xc3\x02\ +\x24\x03\xc2\xa4\xf0\xc0\x84\xa5\xc6\x94\x0c\x51\xe6\x3d\xf0\x7f\ +\xe6\xc0\xd3\xe3\x94\x87\xc0\x43\xf8\xa4\xd0\x1e\x15\x88\x73\xa6\ +\xb5\x7c\x64\xce\x93\xf7\x94\x7f\x1b\x91\x67\xc7\xb1\xff\xdd\xa1\ +\x1c\x09\xae\x14\x65\x1e\xa5\x48\x2a\xac\x84\x74\xb8\x40\x82\x06\ +\x52\x07\x1e\x95\x48\x52\x1c\x70\x61\x85\x40\x49\x25\x3c\x88\xb8\ +\x20\x4a\x4a\x39\xc8\x9a\xf7\xe0\xff\x99\x83\x4f\x8e\xd3\x1e\x42\ +\xaf\x34\xd1\x9a\x79\x84\x21\xac\x19\xe4\x76\x97\xf6\xf4\xa4\xb4\ +\xa7\xef\x69\xff\xc4\x91\x7f\x07\xef\x34\xf0\x8e\x1f\x59\x05\x28\ +\x97\x96\x92\x01\x45\x19\x03\x62\x8a\xc0\xf1\x09\x30\x19\x0b\xca\ +\x3d\x06\x0f\x2c\x1a\x3e\xc2\xa9\x69\xcb\x3d\x4b\x59\xca\x9d\x60\ +\xcf\x79\xcf\x27\x28\x10\xf0\x8c\xe3\x60\xcf\x67\xcd\xa5\x4f\xe1\ +\x05\xd3\xfa\x42\x8b\xaa\xbb\x8b\x1e\xc3\x6f\x28\xea\xe1\x04\xf0\ +\xa1\xbc\x6d\xdf\xdd\xe7\x97\x67\x17\xf6\x3d\xe7\xf2\xec\xbf\xc9\ +\x99\x1a\x2f\ \x00\x00\x08\x61\ \x00\ \x00\x3a\xf2\x78\x9c\xed\x5b\xdb\x8e\xdb\xc8\x11\x7d\x9f\xaf\x60\ @@ -33620,6 +33889,10 @@ qt_resource_name = "\ \x05\x10\x60\x67\ \x00\x41\ \x00\x72\x00\x63\x00\x68\x00\x5f\x00\x52\x00\x65\x00\x6d\x00\x6f\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0f\ +\x03\x5e\x2d\xe7\ +\x00\x41\ +\x00\x72\x00\x63\x00\x68\x00\x5f\x00\x53\x00\x74\x00\x61\x00\x69\x00\x72\x00\x73\x00\x2e\x00\x73\x00\x76\x00\x67\ \x00\x12\ \x0b\xd9\x56\xa7\ \x00\x41\ @@ -33664,6 +33937,11 @@ qt_resource_name = "\ \x00\x41\ \x00\x72\x00\x63\x00\x68\x00\x5f\x00\x4d\x00\x65\x00\x73\x00\x68\x00\x54\x00\x6f\x00\x53\x00\x68\x00\x61\x00\x70\x00\x65\x00\x2e\ \x00\x73\x00\x76\x00\x67\ +\x00\x14\ +\x0a\xde\x7d\x47\ +\x00\x41\ +\x00\x72\x00\x63\x00\x68\x00\x5f\x00\x53\x00\x74\x00\x61\x00\x69\x00\x72\x00\x73\x00\x5f\x00\x54\x00\x72\x00\x65\x00\x65\x00\x2e\ +\x00\x73\x00\x76\x00\x67\ \x00\x11\ \x0a\x60\x78\x07\ \x00\x41\ @@ -33731,8 +34009,8 @@ qt_resource_name = "\ qt_resource_struct = "\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x01\ -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x01\x00\x00\x00\x3d\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x1b\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x01\x00\x00\x00\x3f\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x24\x00\x00\x00\x1b\ \x00\x00\x00\x1a\x00\x02\x00\x00\x00\x17\x00\x00\x00\x04\ \x00\x00\x01\x2e\x00\x00\x00\x00\x00\x01\x00\x02\x9d\x23\ \x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x06\x6c\x9e\ @@ -33757,39 +34035,41 @@ qt_resource_struct = "\ \x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x02\x52\xbc\ \x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x01\xbc\xaa\ \x00\x00\x02\x3e\x00\x00\x00\x00\x00\x01\x00\x05\x84\xf1\ -\x00\x00\x05\x56\x00\x01\x00\x00\x00\x01\x00\x07\x5c\x57\ -\x00\x00\x07\x0a\x00\x01\x00\x00\x00\x01\x00\x07\xc3\x7b\ -\x00\x00\x05\x9c\x00\x00\x00\x00\x00\x01\x00\x07\x6a\xce\ +\x00\x00\x05\x7a\x00\x01\x00\x00\x00\x01\x00\x07\x64\xfa\ +\x00\x00\x07\x5c\x00\x01\x00\x00\x00\x01\x00\x07\xd4\x06\ +\x00\x00\x05\xc0\x00\x00\x00\x00\x00\x01\x00\x07\x73\x71\ \x00\x00\x04\x12\x00\x00\x00\x00\x00\x01\x00\x07\x06\x23\ -\x00\x00\x08\x3a\x00\x01\x00\x00\x00\x01\x00\x08\x1b\x50\ -\x00\x00\x06\xdc\x00\x01\x00\x00\x00\x01\x00\x07\xbc\xa6\ +\x00\x00\x08\x8c\x00\x01\x00\x00\x00\x01\x00\x08\x2b\xdb\ +\x00\x00\x07\x2e\x00\x01\x00\x00\x00\x01\x00\x07\xcd\x31\ +\x00\x00\x04\xc2\x00\x01\x00\x00\x00\x01\x00\x07\x2d\x30\ \x00\x00\x04\x4c\x00\x01\x00\x00\x00\x01\x00\x07\x14\x92\ \x00\x00\x04\x9e\x00\x01\x00\x00\x00\x01\x00\x07\x28\x19\ \x00\x00\x03\xb6\x00\x01\x00\x00\x00\x01\x00\x06\xeb\x81\ -\x00\x00\x07\xd4\x00\x00\x00\x00\x00\x01\x00\x07\xf8\x0c\ -\x00\x00\x06\x62\x00\x01\x00\x00\x00\x01\x00\x07\xa1\xcb\ -\x00\x00\x06\xba\x00\x01\x00\x00\x00\x01\x00\x07\xb3\xb8\ -\x00\x00\x05\xdc\x00\x00\x00\x00\x00\x01\x00\x07\x84\xa8\ -\x00\x00\x05\x7c\x00\x01\x00\x00\x00\x01\x00\x07\x63\x06\ +\x00\x00\x08\x26\x00\x00\x00\x00\x00\x01\x00\x08\x08\x97\ +\x00\x00\x06\xb4\x00\x01\x00\x00\x00\x01\x00\x07\xb2\x56\ +\x00\x00\x07\x0c\x00\x01\x00\x00\x00\x01\x00\x07\xc4\x43\ +\x00\x00\x06\x00\x00\x00\x00\x00\x00\x01\x00\x07\x8d\x4b\ +\x00\x00\x05\xa0\x00\x01\x00\x00\x00\x01\x00\x07\x6b\xa9\ \x00\x00\x03\x94\x00\x01\x00\x00\x00\x01\x00\x06\xe2\x88\ -\x00\x00\x06\x8e\x00\x01\x00\x00\x00\x01\x00\x07\xa8\x8e\ +\x00\x00\x06\xe0\x00\x01\x00\x00\x00\x01\x00\x07\xb9\x19\ \x00\x00\x03\x38\x00\x01\x00\x00\x00\x01\x00\x06\xd0\x67\ -\x00\x00\x07\xaa\x00\x01\x00\x00\x00\x01\x00\x07\xf0\x77\ +\x00\x00\x07\xfc\x00\x01\x00\x00\x00\x01\x00\x08\x01\x02\ \x00\x00\x04\x7a\x00\x01\x00\x00\x00\x01\x00\x07\x1d\xea\ \x00\x00\x03\x0e\x00\x01\x00\x00\x00\x01\x00\x06\xc6\xbf\ \x00\x00\x03\x74\x00\x01\x00\x00\x00\x01\x00\x06\xda\x1a\ -\x00\x00\x06\x0c\x00\x01\x00\x00\x00\x01\x00\x07\x94\x16\ -\x00\x00\x05\x0a\x00\x00\x00\x00\x00\x01\x00\x07\x44\x14\ -\x00\x00\x06\x3a\x00\x01\x00\x00\x00\x01\x00\x07\x99\x66\ -\x00\x00\x05\x34\x00\x01\x00\x00\x00\x01\x00\x07\x54\x95\ -\x00\x00\x07\x34\x00\x00\x00\x00\x00\x01\x00\x07\xcb\xc0\ -\x00\x00\x04\xc2\x00\x01\x00\x00\x00\x01\x00\x07\x2d\x30\ -\x00\x00\x07\x7e\x00\x01\x00\x00\x00\x01\x00\x07\xe7\xfd\ -\x00\x00\x07\x5e\x00\x01\x00\x00\x00\x01\x00\x07\xdd\xc3\ -\x00\x00\x05\xbc\x00\x01\x00\x00\x00\x01\x00\x07\x7e\x90\ -\x00\x00\x08\x00\x00\x00\x00\x00\x00\x01\x00\x08\x09\xdb\ +\x00\x00\x06\x30\x00\x01\x00\x00\x00\x01\x00\x07\x9c\xb9\ +\x00\x00\x05\x2e\x00\x00\x00\x00\x00\x01\x00\x07\x4c\xb7\ +\x00\x00\x06\x8c\x00\x01\x00\x00\x00\x01\x00\x07\xa9\xf1\ +\x00\x00\x05\x58\x00\x01\x00\x00\x00\x01\x00\x07\x5d\x38\ +\x00\x00\x06\x5e\x00\x01\x00\x00\x00\x01\x00\x07\xa2\x09\ +\x00\x00\x07\x86\x00\x00\x00\x00\x00\x01\x00\x07\xdc\x4b\ +\x00\x00\x04\xe6\x00\x01\x00\x00\x00\x01\x00\x07\x35\xd3\ +\x00\x00\x07\xd0\x00\x01\x00\x00\x00\x01\x00\x07\xf8\x88\ +\x00\x00\x07\xb0\x00\x01\x00\x00\x00\x01\x00\x07\xee\x4e\ +\x00\x00\x05\xe0\x00\x01\x00\x00\x00\x01\x00\x07\x87\x33\ +\x00\x00\x08\x52\x00\x00\x00\x00\x00\x01\x00\x08\x1a\x66\ \x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x06\xf3\xc3\ -\x00\x00\x04\xec\x00\x00\x00\x00\x00\x01\x00\x07\x35\x18\ +\x00\x00\x05\x10\x00\x00\x00\x00\x00\x01\x00\x07\x3d\xbb\ \x00\x00\x02\xda\x00\x01\x00\x00\x00\x01\x00\x06\xbf\x6f\ \x00\x00\x02\xb2\x00\x01\x00\x00\x00\x01\x00\x06\xb6\xfd\ " diff --git a/src/Mod/Arch/InitGui.py b/src/Mod/Arch/InitGui.py index ccd46e51d..4286b5af3 100644 --- a/src/Mod/Arch/InitGui.py +++ b/src/Mod/Arch/InitGui.py @@ -72,8 +72,8 @@ class ArchWorkbench(Workbench): self.archtools = ["Arch_Wall","Arch_Structure", "Arch_Floor","Arch_Building","Arch_Site", "Arch_Window","Arch_Roof","Arch_Axis", - "Arch_SectionPlane","Arch_Space","Arch_Add", - "Arch_Remove","Arch_Fixture"] + "Arch_SectionPlane","Arch_Space","Arch_Stairs", + "Arch_Add","Arch_Remove","Arch_Fixture"] self.meshtools = ["Arch_SplitMesh","Arch_MeshToShape", "Arch_SelectNonSolidMeshes","Arch_RemoveShape", "Arch_CloseHoles","Arch_MergeWalls"] diff --git a/src/Mod/Arch/Resources/Arch.qrc b/src/Mod/Arch/Resources/Arch.qrc index 304c659ae..2bdd23a6d 100644 --- a/src/Mod/Arch/Resources/Arch.qrc +++ b/src/Mod/Arch/Resources/Arch.qrc @@ -34,6 +34,8 @@ icons/Arch_Fixture.svg icons/Arch_Space.svg icons/Arch_Space_Tree.svg + icons/Arch_Stairs.svg + icons/Arch_Stairs_Tree.svg ui/archprefs-base.ui translations/Arch_af.qm translations/Arch_de.qm diff --git a/src/Mod/Arch/Resources/icons/Arch_Stairs.svg b/src/Mod/Arch/Resources/icons/Arch_Stairs.svg new file mode 100644 index 000000000..ef02ab7a3 --- /dev/null +++ b/src/Mod/Arch/Resources/icons/Arch_Stairs.svg @@ -0,0 +1,389 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/src/Mod/Arch/Resources/icons/Arch_Stairs_Tree.svg b/src/Mod/Arch/Resources/icons/Arch_Stairs_Tree.svg new file mode 100644 index 000000000..11b5eaf12 --- /dev/null +++ b/src/Mod/Arch/Resources/icons/Arch_Stairs_Tree.svg @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + +