From 939bc92acb02662901e9dee4b5ba5d2fddead360 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Thu, 10 Oct 2013 19:25:33 -0300 Subject: [PATCH] Draft: Added Facebinder tool --- src/Mod/Arch/InitGui.py | 5 +- src/Mod/Draft/Draft.py | 69 ++- src/Mod/Draft/DraftTools.py | 36 +- src/Mod/Draft/Draft_rc.py | 287 ++++++++-- src/Mod/Draft/InitGui.py | 2 +- src/Mod/Draft/Resources/Draft.qrc | 1 + .../Resources/icons/Draft_Facebinder.svg | 515 ++++++++++++++++++ 7 files changed, 867 insertions(+), 48 deletions(-) create mode 100644 src/Mod/Draft/Resources/icons/Draft_Facebinder.svg diff --git a/src/Mod/Arch/InitGui.py b/src/Mod/Arch/InitGui.py index 0de772e67..863a88682 100644 --- a/src/Mod/Arch/InitGui.py +++ b/src/Mod/Arch/InitGui.py @@ -82,10 +82,11 @@ class ArchWorkbench(Workbench): # draft tools self.drafttools = ["Draft_Line","Draft_Wire","Draft_Circle","Draft_Arc","Draft_Ellipse", "Draft_Polygon","Draft_Rectangle", "Draft_Text", - "Draft_Dimension", "Draft_BSpline","Draft_Point"] + "Draft_Dimension", "Draft_BSpline","Draft_Point","Draft_ShapeString", + "Draft_Facebinder"] self.draftmodtools = ["Draft_Move","Draft_Rotate","Draft_Offset", "Draft_Trimex", "Draft_Upgrade", "Draft_Downgrade", "Draft_Scale", - "Draft_Drawing","Draft_Edit","Draft_Shape2DView","Draft_Draft2Sketch","Draft_Array", + "Draft_Drawing","Draft_Shape2DView","Draft_Draft2Sketch","Draft_Array", "Draft_Clone"] self.extramodtools = ["Draft_WireToBSpline","Draft_AddPoint","Draft_DelPoint"] self.draftcontexttools = ["Draft_ApplyStyle","Draft_ToggleDisplayMode","Draft_AddToGroup", diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index 8d310eacf..08a800392 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -1947,6 +1947,20 @@ def heal(objlist=None,delete=True,reparent=True): for n in dellist: FreeCAD.ActiveDocument.removeObject(n) +def makeFacebinder(selectionset,name="Facebinder"): + """makeFacebinder(selectionset,[name]): creates a Facebinder object from a selection set. + Only faces will be added.""" + if not isinstance(selectionset,list): + selectionset = [selectionset] + fb = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name) + _Facebinder(fb) + if gui: + _ViewProviderDraft(fb.ViewObject) + faces = [] + fb.Proxy.addSubobjects(fb,selectionset) + return fb + + def upgrade(objects,delete=False,force=None): """upgrade(objects,delete=False,force=None): Upgrades the given object(s) (can be an object or a list of objects). If delete is True, old objects are deleted. @@ -3833,9 +3847,6 @@ class _Point(_DraftObject): obj.setEditorMode('Placement',mode) def execute(self, fp): - self.createGeometry(fp) - - def createGeometry(self,fp): import Part shape = Part.Vertex(Vector(fp.X,fp.Y,fp.Z)) fp.Shape = shape @@ -4037,7 +4048,57 @@ class _ShapeString(_DraftObject): glyphfaces.extend(islands) ret = Part.Compound(glyphfaces) # should we fuse these instead of making compound? return ret - + + +class _Facebinder(_DraftObject): + "The Draft Facebinder object" + def __init__(self,obj): + _DraftObject.__init__(self,obj,"Facebinder") + obj.addProperty("App::PropertyLinkSubList","Faces","Draft","Linked faces") + + def execute(self,obj): + pl = obj.Placement + if not obj.Faces: + return + faces = [] + for f in obj.Faces: + if "Face" in f[1]: + try: + fnum = int(f[1][4:])-1 + faces.append(f[0].Shape.Faces[fnum]) + except: + print "Draft: wrong face index" + return + if not faces: + return + import Part + sh = faces.pop() + try: + for f in faces: + sh = sh.fuse(f) + sh = sh.removeSplitter() + except: + print "Draft: error building facebinder" + return + obj.Shape = sh + obj.Placement = pl + + def addSubobjects(self,obj,facelinks): + "adds facelinks to this facebinder" + objs = obj.Faces + for o in facelinks: + if isinstance(o,tuple) or isinstance(o,list): + if o[0].Name != obj.Name: + objs.append(tuple(o)) + else: + for el in o.SubElementNames: + if "Face" in el: + if o.Object.Name != obj.Name: + objs.append((o.Object,el)) + obj.Faces = objs + self.execute(obj) + + #----End of Python Features Definitions----# if gui: diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index 9b9ce3096..b3068b5f3 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -3740,7 +3740,40 @@ class Heal(): else: Draft.heal() FreeCAD.ActiveDocument.commitTransaction() - + + +class Draft_Facebinder(Creator): + "The Draft Facebinder command definition" + + def GetResources(self): + return {'Pixmap' : 'Draft_Facebinder', + 'Accel' : "F,F", + 'MenuText': QtCore.QT_TRANSLATE_NOOP("Draft_Facebinder", "Facebinder"), + 'ToolTip' : QtCore.QT_TRANSLATE_NOOP("Draft_Facebinder", "Creates a facebinder object from selected face(s)")} + + def Activated(self): + Creator.Activated(self) + if not Draft.getSelection(): + if self.ui: + self.ui.selectUi() + msg(translate("draft", "Select face(s) on existing object(s)\n")) + self.call = self.view.addEventCallback("SoEvent",selectObject) + else: + self.proceed() + + def proceed(self): + if self.call: + self.view.removeEventCallback("SoEvent",self.call) + if FreeCADGui.Selection.getSelection(): + FreeCAD.ActiveDocument.openTransaction("Facebinder") + FreeCADGui.doCommand("import Draft, FreeCADGui") + FreeCADGui.doCommand("s = FreeCADGui.Selection.getSelectionEx()") + FreeCADGui.doCommand("Draft.makeFacebinder(s)") + FreeCAD.ActiveDocument.commitTransaction() + FreeCAD.ActiveDocument.recompute() + self.finish() + + #--------------------------------------------------------------------------- # Snap tools #--------------------------------------------------------------------------- @@ -3916,6 +3949,7 @@ FreeCADGui.addCommand('Draft_BSpline',BSpline()) FreeCADGui.addCommand('Draft_Point',Point()) FreeCADGui.addCommand('Draft_Ellipse',Ellipse()) FreeCADGui.addCommand('Draft_ShapeString',ShapeString()) +FreeCADGui.addCommand('Draft_Facebinder',Draft_Facebinder()) # modification commands FreeCADGui.addCommand('Draft_Move',Move()) diff --git a/src/Mod/Draft/Draft_rc.py b/src/Mod/Draft/Draft_rc.py index 84ec55a40..6330f4b67 100644 --- a/src/Mod/Draft/Draft_rc.py +++ b/src/Mod/Draft/Draft_rc.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: Wed Oct 9 15:34:36 2013 +# Created: Thu Oct 10 19:14:40 2013 # by: The Resource Compiler for PyQt (Qt v4.8.5) # # WARNING! All changes made in this file will be lost! @@ -45545,6 +45545,207 @@ qt_resource_data = "\ \xb2\xcf\x72\xb5\x60\x27\x28\x3d\x73\xf5\x99\xab\x8f\x72\xe7\xcc\ \xd5\x9f\xe3\xea\x67\x2a\x9e\x4f\x70\xb5\xff\x3f\xe7\xea\xf6\xb1\ \x7e\x08\x5f\x57\xf4\x4f\xe7\xde\xbc\xfa\x2f\xd5\x27\x78\xbc\ +\x00\x00\x0c\x6e\ +\x00\ +\x00\x49\x74\x78\x9c\xed\x5b\x5b\x6f\xe3\xc6\x15\x7e\xf7\xaf\x60\ +\xb5\x2f\x59\x54\x1c\xcd\xfd\xa2\xb5\x37\x0f\x5d\xa4\x08\xd0\xa2\ +\x40\x93\xa0\x8f\x01\x2d\x52\x36\xbb\x12\x29\x50\x94\x2f\xfb\xeb\ +\xfb\x0d\x29\x51\xa4\x4d\xdb\x92\x2d\x5b\xee\x26\x0a\xb2\x26\xcf\ +\xdc\xce\x9c\xf3\x9d\x1b\x39\x3c\xfd\xf1\x66\x3e\x0b\xae\x92\x62\ +\x99\xe6\xd9\xd9\x80\x11\x3a\x08\x92\x6c\x92\xc7\x69\x76\x71\x36\ +\xf8\xed\xd7\x9f\x42\x3b\x08\x96\x65\x94\xc5\xd1\x2c\xcf\x92\xb3\ +\x41\x96\x0f\x7e\xfc\x7c\x72\xfa\x97\x30\x0c\xfe\x56\x24\x51\x99\ +\xc4\xc1\x75\x5a\x5e\x06\x3f\x67\x5f\x97\x93\x68\x91\x04\x3f\x5c\ +\x96\xe5\x62\x3c\x1a\x5d\x5f\x5f\x93\x74\x4d\x24\x79\x71\x31\xfa\ +\x18\x84\xe1\xe7\x93\x93\xd3\xe5\xd5\xc5\x49\x10\x04\x58\x37\x5b\ +\x8e\xe3\xc9\xd9\x60\x3d\x60\xb1\x2a\x66\x55\xc7\x78\x32\x4a\x66\ +\xc9\x3c\xc9\xca\xe5\x88\x11\x36\x1a\x6c\xbb\x4f\xb6\xdd\x27\x7e\ +\xf5\xf4\x2a\x99\xe4\xf3\x79\x9e\x2d\xab\x91\xd9\xf2\x43\xab\x73\ +\x11\x4f\x9b\xde\x9e\x9b\x6b\x51\x75\x62\xce\xb9\x11\xe5\x23\xce\ +\x43\xf4\x08\x97\xb7\x59\x19\xdd\x84\xdd\xa1\xe0\xb1\x6f\x28\xa7\ +\x94\x8e\xd0\xb6\xed\xb9\x5b\xaf\xf1\xcd\x0c\xa2\x78\x90\x99\xaa\ +\xb5\xbd\x3a\xc4\xbf\xc0\xff\xcd\x80\x0d\x81\x2c\xf3\x55\x31\x49\ +\xa6\x18\x99\x90\x2c\x29\x47\x5f\x7e\xfd\xd2\x34\x86\x94\xc4\x65\ +\xdc\x9a\x66\x23\xfd\xce\xba\x1d\x95\x64\xd1\x3c\x59\x2e\xa2\x49\ +\xb2\x1c\x6d\xe8\xd5\xf8\xeb\x34\x2e\x2f\xcf\x06\x5a\x2e\x6e\xaa\ +\xfb\xcb\x24\xbd\xb8\x2c\x5b\x84\x34\x3e\x1b\x60\x87\xdc\x68\x5d\ +\xdd\x6f\x78\x18\x37\x48\xa2\x44\xf0\xba\xeb\x7a\xe2\x76\x93\xb4\ +\x44\x06\x85\x73\xc2\x75\x47\xc7\xf9\xc4\xb3\x74\x36\xf8\x52\x44\ +\xd3\xf2\xf7\x9f\xc0\xd9\x79\x9a\xc5\x49\x41\x36\xe2\x6c\x66\xcb\ +\x57\xe5\x62\x55\xfe\x9e\xdc\x94\x49\x56\x4f\x8b\x0d\xb5\x76\x57\ +\x35\xfb\x61\xa4\xb3\xb3\x16\xd2\xd9\xe0\x33\x28\xa7\x71\x32\x5d\ +\xfa\x96\x7a\x53\xfe\x0e\xbb\xb2\x55\x1b\x5a\xa1\x99\x24\x2a\xfe\ +\x5e\x44\x71\x0a\x3c\xd6\xfd\xea\x9e\xdd\x16\x61\xac\x59\x8f\xc1\ +\xa8\x65\x99\x2f\x36\x7d\xd7\xc2\x02\x05\x7d\xea\xfd\xd6\xbf\x7c\ +\x3a\x5d\x26\x10\x2a\x6d\xd1\x96\xe5\xed\x2c\xa9\x7b\x87\x93\x7c\ +\x96\x17\xe3\x0f\x54\x33\x37\xa1\x9f\x2a\x52\x0e\x5d\xa5\xe5\xed\ +\x98\x7d\x1a\x04\xa3\x27\x57\x73\xac\x67\x35\xf6\xf8\x6a\x18\x35\ +\x99\x9e\x3f\xb8\xda\xe9\xa8\xbb\xed\x7d\xa5\x64\xb5\x7c\x52\x4a\ +\x76\x8d\xa9\xb7\x91\x92\x85\xae\xdf\x48\x4a\x0d\x76\x17\x00\xe1\ +\x22\x99\x78\xef\xb5\x59\xa6\x31\x81\xf2\xd6\x1b\x6c\xb7\xab\x88\ +\x1b\x76\xb6\xd6\xb4\xf8\xfd\x06\x52\x09\xc6\x81\xe0\xf8\x87\xf5\ +\xf6\xb8\xad\x7b\x30\x38\x24\xfc\xa1\xbd\x7d\xbe\x79\xb3\x7e\x64\ +\x9a\x35\x07\x61\x5e\xa4\x17\x29\x0c\xa7\xea\xc7\x19\x11\xd5\xaf\ +\x3b\x06\x42\x6d\xed\x8d\x1b\x23\xb7\x32\x79\x00\x23\x9b\x65\x20\ +\xd9\x19\x86\x9d\x0d\xa2\xd9\x75\x74\xbb\x6c\xe6\xac\x7c\xe3\xf8\ +\xb2\x48\xe0\xcb\x3f\xf4\xa0\xe9\x11\xb0\x31\xbb\x65\xed\x62\x4d\ +\xfc\x2d\x4b\x4b\x38\xed\xd5\x32\x29\x7e\xf1\x8e\xef\x5f\xd9\x6f\ +\xcb\x64\xbb\x18\x3b\x1b\x28\xcb\x08\xd7\x42\x6c\xc7\xde\x82\xca\ +\xb8\x26\xc6\x69\xae\xb6\x7d\x39\x04\x47\x1d\x51\xd2\xb1\xad\x59\ +\xdf\x82\x0a\x71\x13\x46\x0d\xb5\xf7\x56\xff\xb5\x88\xb2\x25\xbc\ +\xf7\xfc\x6c\x30\x8f\xca\x22\xbd\xf9\x01\x01\x57\x33\xe9\x04\x1b\ +\x52\xfc\xc7\x86\xa1\x92\x94\x38\xed\x24\x2e\x8d\x20\xc2\x68\xc9\ +\x3f\x1e\x57\x88\x72\x4f\x21\x3e\xbc\x59\x44\x28\xc3\x99\xa4\xca\ +\xb8\x21\x2e\x8d\xd5\xf0\x51\x6e\xe8\xc9\x42\x28\xed\x0c\xf7\xd7\ +\x20\x42\x24\x9c\x0d\x95\x54\x44\x28\xea\xa9\xc2\x3a\x22\xb5\x56\ +\xfa\x63\x47\x57\x9a\x2a\xe2\xa4\x56\xae\xa3\x2b\xc7\x89\x61\xcc\ +\x3a\xd7\xd5\x15\x34\x28\x98\xe0\xa2\xa3\xab\x6d\xdf\xa7\x64\xdc\ +\xeb\xcc\x42\xba\x8b\x3b\x0b\xdf\xd8\xa1\x85\xfc\xb8\x8e\xbf\x2b\ +\xd8\x27\x94\xd0\xaf\xb0\x5e\xe5\xee\x61\x46\x5a\x0a\xc2\xb9\x95\ +\x62\x18\x5a\x4e\xa4\x54\xc8\x54\x3e\xee\x09\xe4\x1e\x95\x73\x66\ +\x76\x35\xaa\xb0\xc7\xdd\xde\xb5\xcf\x57\xb6\xeb\x90\xb6\x90\xd0\ +\x6f\xdb\x61\x9b\xcf\x97\xda\x37\x72\x2a\xc7\x14\x75\x8d\x16\x8c\ +\xe1\x04\xda\xd6\x0a\x5a\x90\x44\x09\xae\xdc\xfb\xb3\x60\xc8\x68\ +\x27\x1b\x0e\xfb\x12\x85\x57\xb5\xe2\x50\x1c\xdf\x8e\x7d\x30\xe3\ +\xe6\x6e\xdc\x83\x5e\x8d\x60\xca\x74\xb4\xe6\xbb\x1a\x87\xd8\xd9\ +\xd5\xb0\x50\x44\x52\xa3\xd5\x4e\x00\x92\x54\x32\xcd\x85\x8f\x03\ +\x56\x32\x44\x05\x26\x3c\x98\x80\x11\x61\x29\xd3\xde\x9c\x8d\x25\ +\x94\x32\xc5\x86\xd2\x19\x02\x9b\xd7\xe6\xe5\x86\x2d\x29\xb3\xfb\ +\x58\x55\x4b\x33\x47\x34\x6e\xf7\xb4\x71\x1f\x2e\x78\xff\x9f\x1a\ +\xb7\xdb\xd1\xb8\xdf\xb2\x32\xab\x8d\x5b\xbe\x07\xe3\xe6\xc4\x5a\ +\xcd\xed\x1d\xeb\x76\x08\xa7\x8e\xde\x51\x1b\x23\xca\x19\xc5\xcd\ +\x1d\xeb\x96\x84\xd3\x76\x11\xf5\x18\x82\x14\xd5\xc8\xeb\x28\x51\ +\x8c\x0a\x24\xb6\x76\x6d\xda\xdc\x19\x33\x0c\x1d\x02\xb5\x33\xd2\ +\x22\x21\x94\x1c\x3e\x83\x5b\xce\x0e\x61\xd9\x4a\x3e\xcf\xa4\x8e\ +\x66\xd7\x8f\xee\xc6\x88\x03\x5a\xf4\xd3\xfa\x50\x5c\xe3\x12\x5e\ +\x19\x76\x68\xb9\xb8\x63\xdf\x1a\x15\x0a\x37\x4c\x75\xc3\x00\x83\ +\x37\xd0\x8a\x76\xed\xdb\xa0\x54\xa2\x12\xfc\x77\xec\x5b\x5a\xc2\ +\x98\xd1\x54\x3c\x25\xd5\x63\xa0\xb5\x49\x29\x51\xe3\x31\xce\x51\ +\x7e\xac\x73\x4b\x78\x25\xc5\xb9\xd4\x10\x8c\x82\x5b\xb4\x82\xaa\ +\xc3\x00\xb5\x55\x28\xec\x00\xd5\x50\xbd\x1c\xac\x0f\xba\x4d\x4c\ +\xbe\xa3\xe3\x0c\xe9\xdb\xbb\xce\xde\x35\xbf\x73\xe7\xf9\x20\x1c\ +\xad\xf1\xc9\x18\xb3\x80\x23\x83\xdf\x74\x5a\x1c\xc4\x6f\x3a\xfa\ +\xc6\x60\xfc\x63\x08\x75\x5f\x1b\x3f\x44\x1d\xf9\x88\x95\xef\xfa\ +\x04\xc3\xdb\x79\xef\x73\x85\x57\xb7\xf4\x16\xb2\xfe\x20\xb6\x8e\ +\xda\x87\x5a\x86\x54\xc8\xe3\x12\xb0\xa4\x35\x2c\x51\x5d\x69\x26\ +\x94\xf6\x55\x90\x62\x86\x08\x14\x40\x72\x18\x0a\x04\x67\x29\xb9\ +\xe6\x07\xc0\x27\xe3\x7b\x25\x4b\x07\x41\xe7\x11\xaa\x4c\x25\xac\ +\xd2\xb6\xae\x32\x51\xa4\x28\xe6\x74\x9d\xfa\x68\x25\x94\xb5\xd6\ +\x57\x99\x8e\xa0\xe2\x94\x62\xe8\x25\x0d\xe1\x4a\x77\x98\x2a\xb3\ +\x65\x43\xbb\xd4\x99\xfc\xf5\x8c\x9f\xef\xfe\xe0\xe3\x08\xd5\x91\ +\x38\xf6\x43\xcc\x03\xd4\xe7\xec\x51\x2c\x18\x11\xde\x77\x06\x2f\ +\xc8\xe5\xd7\x98\xa6\x55\x6e\x6a\x8c\x53\x77\x20\xed\x18\xcc\x09\ +\x10\x84\xc7\x70\xda\xe7\xe2\x4c\x1e\x2d\x9d\x7f\x10\x94\x6c\x47\ +\x48\x1e\x21\x12\x99\x3f\x5a\x18\xda\x15\x53\xe0\xc7\x67\x49\x70\ +\x93\x12\xbd\x0f\x54\x09\xed\xf3\x38\xce\xb5\x72\xaa\x57\xc8\x91\ +\xf4\xce\x19\x52\xdf\xf3\xda\xd7\xce\x8f\xde\x05\x2c\xdf\x36\x7a\ +\x57\x4f\x2d\xaa\x27\xc4\x54\x53\x4a\x45\xf7\xb1\x85\xd4\x44\x50\ +\xc7\xfc\xf3\x61\x45\xac\xb3\x5a\x1c\x2a\x72\xef\x17\xba\x0f\xf0\ +\x88\xf8\xe1\xd0\x2d\x76\x0e\xdd\xcf\xc0\xe4\x74\x6a\x39\x7d\x49\ +\xe8\x7e\xc6\xc1\x93\xe9\x79\x4c\x85\xf9\x5e\x31\x69\x18\xe1\x70\ +\x99\x48\x26\xab\xa3\x01\xe2\x10\xef\x22\x0d\xdd\xe3\x5d\xe4\x41\ +\xf0\xf8\xfe\xe4\xfa\x6a\xb6\xae\xf6\x12\xad\x79\x4d\x53\x7f\xfa\ +\x5c\xd9\xc6\xd4\xdf\xfe\x41\x9c\x78\x1f\xc5\xf9\x3b\x83\xa4\xe4\ +\x1c\x97\x52\x2b\x82\xfc\x4b\x1e\xe0\xf5\xa4\x30\x92\xbd\x35\x20\ +\x0f\x70\xf6\xa0\xcd\x46\xcf\x9e\x7a\x92\xd0\x97\xbe\xca\x78\x96\ +\x56\xfa\x21\xf0\x00\x5c\xfa\xa1\xd5\x46\xe1\x5b\x08\x56\x3c\x2a\ +\x58\xb3\xef\xb9\xb7\x97\xbd\x91\x77\xd4\x47\x37\x27\x7c\x78\x63\ +\xc4\x30\x69\xf9\xf7\x2c\xdc\x43\xbe\x80\xdb\xed\xb8\x03\x32\x06\ +\xe9\x91\x6b\x50\x9e\xb3\x7b\x55\xfb\x9b\x09\xf7\x5d\xfa\x5a\xac\ +\x6d\x14\xc2\x3f\xec\x5b\x4a\x7a\x90\xea\xd3\x87\xff\xfd\xe2\x7f\ +\xcf\xb1\xd9\xc3\xc5\xff\x5d\x1f\x89\xd8\xde\xb4\xfb\xd5\xe3\xff\ +\x91\xeb\xcf\xc3\x58\x7c\xeb\x71\x43\xbf\x43\x0d\xef\x9f\x42\x7c\ +\xb5\x58\xa5\xd0\xc3\x5a\xe6\xdd\x29\xf0\xad\x99\x38\x5e\xac\x7a\ +\xa4\x00\x0d\xed\xee\x25\xe8\x51\x90\xc9\x8e\x9d\x9b\x1e\x26\x85\ +\x6a\xbf\x58\xed\x0d\x47\xad\x2c\xeb\xd5\xa1\xe9\x4f\xc1\x1b\xc5\ +\xe0\x70\x81\x2b\x41\xb5\xb4\xef\x10\x9a\x66\xe7\xb3\x0b\xf6\x28\ +\xef\x34\xe1\x34\x9f\xf3\x84\xe4\xfb\x2e\x9b\x78\xe5\xea\xa4\x1b\ +\x2a\xca\x89\x54\x5c\xcb\x03\x94\x4d\x96\xee\x73\x86\x61\x8f\x38\ +\x7e\x3a\xf2\x1f\x8a\x55\x57\xcd\x97\x3b\xfe\xcb\xb5\xf8\x2a\x4d\ +\xae\x4f\x1a\x76\xce\xa3\x86\xbf\x45\x74\x91\x54\x8a\xc4\xea\xd3\ +\xea\xb7\x6e\x38\xcf\x8b\x38\x29\x36\x4d\xba\xfa\x75\x9a\xd6\xba\ +\xae\x3f\xce\x3c\xe9\x72\xe7\x67\x6d\xda\x69\x7f\xfb\xf2\x32\x8a\ +\xf3\xeb\xb3\x01\xbf\xdb\xf8\x2d\xcf\xa1\x20\x41\xac\x75\xd4\x36\ +\x69\xed\x76\xe7\x37\x18\x63\x88\xe3\x8e\xaa\x7b\x6d\x58\x8e\x5b\ +\x22\x01\x0c\x75\xbf\x71\x55\x14\x90\x6a\x38\x8b\x6e\x13\xec\xa9\ +\xfa\xb3\x91\xec\xf2\x32\xbf\xbe\x28\xbc\x6c\xca\x62\x95\xdc\x1d\ +\x19\xe7\x93\x95\xff\xee\x33\x5c\xd5\x9a\x5e\x7f\x6d\xd8\xea\xe1\ +\xc7\x86\xe7\xe7\xf9\x4d\xff\x04\xd7\x69\x86\xbd\x86\xeb\xef\x17\ +\x99\xe3\xf7\x24\xb2\xee\xb1\xf9\xa2\x91\x51\x75\x6f\xe3\xeb\x2e\ +\x37\x5b\x3f\x70\xb7\xe9\xf6\xe1\xa6\x79\x74\x93\xce\xd3\x6f\x49\ +\xbc\xb5\xe7\xa6\xcb\x32\x8b\x16\xe1\xc5\x2c\x3f\x8f\x66\xfd\xec\ +\x57\x1d\xb2\x3c\x4e\xb0\xf7\x69\x34\x03\x78\xd6\x70\x9b\x27\x65\ +\x14\x47\x65\xb4\x85\xd6\x86\xc2\x7d\xb5\xb7\xb6\xf5\x22\x9e\x8e\ +\xff\xfd\xe5\xa7\xc6\x0b\x4d\x26\xe3\xff\xe4\xc5\xd7\xad\x57\xf1\ +\x1d\xa2\xf3\x7c\x85\x8d\x37\x1e\xd2\x7f\x02\x39\x19\x7b\x63\x8d\ +\xca\xcf\xe9\x1c\x80\xf1\xdf\xae\xfe\xf5\x66\x3e\x03\xc8\x9b\x86\ +\x4e\x67\xff\x8d\xda\x76\xd2\x7a\xda\x22\xa9\xbf\x4d\xed\xfd\x9c\ +\x37\x9e\xcc\x53\x3f\x68\xf4\x4b\x99\xce\x66\x3f\xfb\x45\x5a\xde\ +\x72\x3d\x69\x5a\xce\x92\x96\x0b\x1d\xad\xb9\xdf\x78\xb7\xd6\xe6\ +\x4e\x47\x9b\xdd\x57\x77\x17\x5b\xa9\x74\xb0\xd6\x88\x75\x16\x9d\ +\x27\x90\xf8\x3f\x7c\x63\x70\xaf\xf5\xa2\xc8\x57\x8b\x39\x84\xbe\ +\x1e\xbe\x91\xe6\x22\x2a\x2f\x37\x1c\xae\xdd\xf1\xc6\xed\x52\x78\ +\x33\x29\xb9\x34\xea\xd3\x26\x24\x54\xbf\x4f\x53\x6c\xaf\x73\xd3\ +\xf2\xd4\xd5\x6d\xb1\x9a\x25\xe3\xe4\x2a\x81\x92\x63\xb8\xf2\x22\ +\xff\x9a\x34\xfd\xeb\xdb\x1a\xbc\x63\xe6\xcf\x1c\x31\xa1\x0c\xdb\ +\xd0\xbd\xcf\x02\xc3\x63\xb0\x9b\xc5\x6d\xe2\x7f\xf3\x34\xeb\x52\ +\x21\xed\xa4\x98\x01\x87\xe5\x58\x6e\x68\x5b\x46\xd6\x84\x38\x82\ +\x67\x28\x8a\xe8\x76\x9c\xe5\x59\xd2\xa6\xd6\x01\x69\x4c\x3f\xcd\ +\xa3\xe2\x6b\x52\xd4\xed\x57\xe9\x32\x3d\x4f\x67\x7e\x8a\xea\x72\ +\x96\x7c\x8a\xd3\xe5\x02\x22\x1b\xa7\x99\x67\xe3\x53\x7e\x95\x14\ +\xd3\x59\x7e\xdd\xb4\x27\x59\x84\x3f\xe1\x79\x34\xf9\x7a\x51\xf1\ +\x37\x8e\x26\x30\xf0\xd5\x2c\x2a\xb7\x6e\x1b\x5a\xfb\x67\x80\x48\ +\x42\x1d\x73\xc6\xbf\x6a\x74\xfe\xac\x95\x94\x36\xf8\x5b\xe0\x5f\ +\x56\x3a\xab\xa4\x18\x42\x1c\xc6\x22\x2e\x89\x40\x70\xa2\x95\x15\ +\x5a\x0f\x11\x27\x2c\xaa\x67\xe5\x49\x3e\xb8\x68\x05\x12\xca\x68\ +\x6d\x4c\x30\x09\x42\x34\x9b\x24\x94\x98\x91\x22\x10\x68\x19\x80\ +\x20\xd6\x04\xa5\xac\x66\x81\x0f\x40\xd4\x09\x2b\xb8\x5f\x8b\x11\ +\xed\x18\x75\x66\x28\x08\x2a\x6f\xca\xad\x09\xfc\x19\x10\xa7\xb5\ +\x54\x43\x64\xe2\x58\xd3\x48\x11\x30\x62\x15\x93\xc6\xb9\xa1\xff\ +\x08\xd2\x3a\x54\xed\x9e\x46\xad\x73\x06\x34\xef\x30\x35\x3c\x6a\ +\x4d\xd3\xa0\x22\x57\x02\x57\xa8\xec\x99\xa7\x71\x2e\xa4\x76\x43\ +\x4d\x89\xe4\x82\xcb\x60\x16\x30\x87\x7d\x38\xcb\x15\x1b\x52\xf0\ +\x2d\x89\xd4\x94\x2b\x3d\xc4\x06\x0c\xc2\x20\xb5\x81\xc5\x8e\xa9\ +\x10\x6e\x18\x2a\xc8\x83\x2b\x13\x30\x88\x49\x09\xc7\xf9\x30\x44\ +\xdc\x14\xd4\x38\x89\xc9\xab\xdd\x21\xc2\x52\xae\xb9\x0b\x42\xff\ +\x1d\xe3\x86\x22\x34\x58\xa7\xd5\x25\x24\xa6\x02\x84\x7e\xca\xb8\ +\xd3\x9e\xc2\x38\x62\x2e\x0f\xb0\x45\xee\x04\xe3\x18\xe0\xdf\x52\ +\x20\x06\x1b\x17\x70\x41\x38\xb3\x16\xeb\x30\x09\xb1\x58\x8d\x59\ +\x08\x65\xce\xf3\x27\xc0\x83\x51\x50\x14\xf5\x8c\x81\x1f\x48\x0c\ +\x97\xd8\x0e\xd4\x07\x1d\xcc\xfc\x1d\x03\x5b\x0a\x92\xc3\xce\x20\ +\x6e\x30\xa5\x50\xdc\x48\xc3\xc4\xd0\x11\xa5\x8c\xd0\x60\xb4\x59\ +\xa4\x59\xa3\x1e\x2a\x11\x9a\x10\xc2\x9d\xd7\x0e\xb4\x4e\x39\x74\ +\x3b\x64\x90\xa6\xc6\xc0\x40\x2a\x62\x18\xb4\x63\x31\x93\xf1\xe7\ +\x94\x99\x0d\x94\x22\x10\xbe\x95\x12\x4a\xc4\x44\x4c\x4b\x57\xcf\ +\x85\xe1\x90\x31\xac\x96\x63\x39\x98\xaf\xd3\xd6\x78\x79\x7f\xeb\ +\xa4\x0f\x05\x22\xbd\xe0\x94\x86\xb6\xff\xe0\x4d\x06\x0b\x2c\xf3\ +\x22\x44\x84\xbb\x8a\xca\x55\x91\xf8\x38\xd0\x24\x60\x3d\x0e\xa3\ +\xc7\x3b\xc0\x2d\xfe\xf0\xe1\xfe\x23\x87\x8f\x77\xdc\x05\xa1\xcf\ +\x75\x18\xd4\xad\x7f\xf4\xfb\xf7\x1c\xf3\x40\x18\x62\x60\x7b\xdc\ +\x0d\xe1\x2c\x0c\x8c\x8b\x0a\x40\xcd\x00\x2d\xd4\xc1\x6e\x43\x09\ +\x5d\x53\x18\x8d\x47\xb2\x00\xe0\x9d\xad\x80\xc5\x19\x85\x4d\xf6\ +\x13\x3d\x4e\xe9\x10\x30\xb3\x1c\xb5\x37\x2e\x3d\x86\x25\x37\x95\ +\x05\x09\x6f\x9e\x9a\x9a\xc6\x0c\x90\x03\x6b\x21\xa4\xef\x07\xe4\ +\x73\xf0\xa2\x02\x18\x25\x26\xa5\xc8\x66\x25\xa1\xd2\x2a\xcc\x12\ +\x6e\x97\xda\xac\x24\xfb\x89\x95\x99\x78\x1f\x65\x7d\xbe\xcc\xbc\ +\x1f\x51\xd6\x55\xd6\xcb\xfd\x11\x40\xa1\x31\xdd\x43\xb8\xdd\x19\ +\xb5\x0d\x50\x9b\xf4\x15\x11\xd0\xc7\x68\xa4\x1e\x93\xc9\xb7\xc9\ +\x64\x72\x00\x60\xfb\xf2\xf4\x4f\x60\x3f\x0f\xd8\x92\xc2\xb1\x23\ +\xf5\x36\x08\x6a\xda\x09\x67\xa8\xf2\x51\xcd\x17\x62\x42\x56\x27\ +\x96\xa5\x7f\x4b\x4f\x4d\x15\xe9\x84\xd0\xd4\xfa\x28\x09\xb0\x31\ +\x0a\x64\x09\x44\x01\x67\xa9\x03\x0d\x98\x16\x1a\xa1\xa6\x01\x95\ +\xf5\x8e\xdb\x48\xe9\x23\x20\xf3\xdf\x58\x1b\x86\xd0\x77\xf7\x86\ +\x06\x4c\x10\x85\x90\xa0\xfd\x79\x48\x82\x3f\x9c\x56\x66\xa4\xb9\ +\xd6\x08\x75\xde\x62\x14\x43\xb0\x63\xbc\xeb\x63\xc5\xd6\xc5\x3e\ +\xe6\x61\x5d\xef\xb7\x36\xaf\xe4\x62\xfd\x33\xbc\xbb\x48\xfc\x33\ +\x23\x7b\xdc\xaf\x5a\xa4\x2c\xc6\xc2\x85\x29\x0a\x17\xa4\xf4\x26\ +\x84\x73\xee\x9b\x34\xb2\x18\x00\xc4\xf9\x68\xeb\xc1\x25\xfc\x51\ +\x65\xa9\x19\x00\xcb\x2c\x51\x06\x15\xa5\xa8\x31\x87\x66\x2b\x87\ +\x9a\xc0\x0d\x1a\xcc\x52\x93\x8c\x45\x02\xa7\x51\xe9\x2b\xe7\x6c\ +\x45\xe3\x3e\x95\x1a\x0a\x87\x64\x05\x75\xa5\x6d\x67\x46\xa6\x3f\ +\x33\x72\xf7\x33\x23\xd6\xa4\x46\xa2\x95\x1a\xed\x98\xb2\xe8\x1a\ +\xc7\x92\x11\xa5\x0d\xe6\x92\x8f\x80\x77\x4f\xec\x9e\x8e\x2e\x3e\ +\x9f\x9c\xfa\xca\xea\xf3\xc9\xff\x00\x1f\xbe\xa3\x0d\ \x00\x00\x12\x92\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -53804,6 +54005,11 @@ qt_resource_name = "\ \x00\x7f\x01\x67\ \x00\x44\ \x00\x72\x00\x61\x00\x66\x00\x74\x00\x5f\x00\x57\x00\x69\x00\x72\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x14\ +\x04\x04\xe0\x87\ +\x00\x44\ +\x00\x72\x00\x61\x00\x66\x00\x74\x00\x5f\x00\x46\x00\x61\x00\x63\x00\x65\x00\x62\x00\x69\x00\x6e\x00\x64\x00\x65\x00\x72\x00\x2e\ +\x00\x73\x00\x76\x00\x67\ \x00\x10\ \x03\xff\x96\x67\ \x00\x44\ @@ -53973,8 +54179,8 @@ qt_resource_name = "\ qt_resource_struct = "\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\ -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x03\x00\x00\x00\x5a\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x39\x00\x00\x00\x21\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x03\x00\x00\x00\x5b\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x3a\x00\x00\x00\x21\ \x00\x00\x00\x38\x00\x02\x00\x00\x00\x05\x00\x00\x00\x1c\ \x00\x00\x00\x1a\x00\x02\x00\x00\x00\x17\x00\x00\x00\x05\ \x00\x00\x01\xb4\x00\x01\x00\x00\x00\x01\x00\x04\x13\x04\ @@ -54007,61 +54213,62 @@ qt_resource_struct = "\ \x00\x00\x00\x7c\x00\x01\x00\x00\x00\x01\x00\x00\x0f\x23\ \x00\x00\x06\xfa\x00\x01\x00\x00\x00\x01\x00\x0b\x0c\x2c\ \x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x0a\x69\x15\ -\x00\x00\x09\x60\x00\x01\x00\x00\x00\x01\x00\x0b\xe3\x22\ -\x00\x00\x0c\x1c\x00\x01\x00\x00\x00\x01\x00\x0c\xce\xd0\ +\x00\x00\x09\x8e\x00\x01\x00\x00\x00\x01\x00\x0b\xef\x94\ +\x00\x00\x0c\x4a\x00\x01\x00\x00\x00\x01\x00\x0c\xdb\x42\ \x00\x00\x05\xb2\x00\x01\x00\x00\x00\x01\x00\x0a\xa8\xc0\ -\x00\x00\x07\x42\x00\x00\x00\x00\x00\x01\x00\x0b\x29\x76\ -\x00\x00\x08\x56\x00\x01\x00\x00\x00\x01\x00\x0b\x92\x24\ -\x00\x00\x0b\x52\x00\x01\x00\x00\x00\x01\x00\x0c\x95\xea\ -\x00\x00\x07\xb6\x00\x00\x00\x00\x00\x01\x00\x0b\x53\x45\ -\x00\x00\x09\xfa\x00\x01\x00\x00\x00\x01\x00\x0c\x23\xc3\ -\x00\x00\x0c\x6c\x00\x01\x00\x00\x00\x01\x00\x0c\xea\xf4\ +\x00\x00\x07\x70\x00\x00\x00\x00\x00\x01\x00\x0b\x35\xe8\ +\x00\x00\x08\x84\x00\x01\x00\x00\x00\x01\x00\x0b\x9e\x96\ +\x00\x00\x0b\x80\x00\x01\x00\x00\x00\x01\x00\x0c\xa2\x5c\ +\x00\x00\x07\xe4\x00\x00\x00\x00\x00\x01\x00\x0b\x5f\xb7\ +\x00\x00\x0a\x28\x00\x01\x00\x00\x00\x01\x00\x0c\x30\x35\ +\x00\x00\x0c\x9a\x00\x01\x00\x00\x00\x01\x00\x0c\xf7\x66\ \x00\x00\x04\xee\x00\x01\x00\x00\x00\x01\x00\x0a\x82\x37\ -\x00\x00\x09\x08\x00\x00\x00\x00\x00\x01\x00\x0b\xc0\xc8\ -\x00\x00\x08\x7c\x00\x01\x00\x00\x00\x01\x00\x0b\x97\xe8\ -\x00\x00\x07\x1c\x00\x00\x00\x00\x00\x01\x00\x0b\x16\xe0\ +\x00\x00\x09\x36\x00\x00\x00\x00\x00\x01\x00\x0b\xcd\x3a\ +\x00\x00\x08\xaa\x00\x01\x00\x00\x00\x01\x00\x0b\xa4\x5a\ +\x00\x00\x07\x4a\x00\x00\x00\x00\x00\x01\x00\x0b\x23\x52\ +\x00\x00\x07\x1c\x00\x01\x00\x00\x00\x01\x00\x0b\x16\xe0\ \x00\x00\x05\x12\x00\x01\x00\x00\x00\x01\x00\x0a\x87\xb6\ -\x00\x00\x07\x8a\x00\x01\x00\x00\x00\x01\x00\x0b\x42\x3b\ +\x00\x00\x07\xb8\x00\x01\x00\x00\x00\x01\x00\x0b\x4e\xad\ \x00\x00\x04\xca\x00\x01\x00\x00\x00\x01\x00\x0a\x77\xcb\ -\x00\x00\x0b\x7a\x00\x00\x00\x00\x00\x01\x00\x0c\xa1\x59\ +\x00\x00\x0b\xa8\x00\x00\x00\x00\x00\x01\x00\x0c\xad\xcb\ \x00\x00\x04\x28\x00\x01\x00\x00\x00\x01\x00\x0a\x43\x83\ \x00\x00\x06\x02\x00\x01\x00\x00\x00\x01\x00\x0a\xc3\xdf\ -\x00\x00\x0b\x0a\x00\x01\x00\x00\x00\x01\x00\x0c\x7e\xbb\ -\x00\x00\x0b\x2c\x00\x01\x00\x00\x00\x01\x00\x0c\x8c\x56\ +\x00\x00\x0b\x38\x00\x01\x00\x00\x00\x01\x00\x0c\x8b\x2d\ +\x00\x00\x0b\x5a\x00\x01\x00\x00\x00\x01\x00\x0c\x98\xc8\ \x00\x00\x05\xe0\x00\x00\x00\x00\x00\x01\x00\x0a\xb1\xc6\ \x00\x00\x03\xf6\x00\x01\x00\x00\x00\x01\x00\x0a\x3b\xca\ -\x00\x00\x08\xe6\x00\x01\x00\x00\x00\x01\x00\x0b\xb9\x74\ -\x00\x00\x0a\x54\x00\x00\x00\x00\x00\x01\x00\x0c\x34\x0b\ +\x00\x00\x09\x14\x00\x01\x00\x00\x00\x01\x00\x0b\xc5\xe6\ +\x00\x00\x0a\x82\x00\x00\x00\x00\x00\x01\x00\x0c\x40\x7d\ \x00\x00\x06\x56\x00\x01\x00\x00\x00\x01\x00\x0a\xd5\x4f\ -\x00\x00\x0a\x78\x00\x00\x00\x00\x00\x01\x00\x0c\x4a\xbe\ -\x00\x00\x08\x10\x00\x00\x00\x00\x00\x01\x00\x0b\x6a\xf8\ +\x00\x00\x0a\xa6\x00\x00\x00\x00\x00\x01\x00\x0c\x57\x30\ +\x00\x00\x08\x3e\x00\x00\x00\x00\x00\x01\x00\x0b\x77\x6a\ \x00\x00\x05\x64\x00\x01\x00\x00\x00\x01\x00\x0a\x97\xb6\ -\x00\x00\x0c\x3c\x00\x00\x00\x00\x00\x01\x00\x0c\xd9\x7e\ +\x00\x00\x0c\x6a\x00\x00\x00\x00\x00\x01\x00\x0c\xe5\xf0\ \x00\x00\x06\xb0\x00\x00\x00\x00\x00\x01\x00\x0a\xec\x8e\ \x00\x00\x04\x54\x00\x00\x00\x00\x00\x01\x00\x0a\x4b\x8a\ -\x00\x00\x0c\x9c\x00\x00\x00\x00\x00\x01\x00\x0c\xf6\xcd\ -\x00\x00\x0a\xc0\x00\x00\x00\x00\x00\x01\x00\x0c\x68\x45\ +\x00\x00\x0c\xca\x00\x00\x00\x00\x00\x01\x00\x0d\x03\x3f\ +\x00\x00\x0a\xee\x00\x00\x00\x00\x00\x01\x00\x0c\x74\xb7\ \x00\x00\x04\x78\x00\x01\x00\x00\x00\x01\x00\x0a\x60\xaa\ -\x00\x00\x0a\xe8\x00\x01\x00\x00\x00\x01\x00\x0c\x77\x6c\ -\x00\x00\x09\x82\x00\x01\x00\x00\x00\x01\x00\x0b\xeb\xcb\ -\x00\x00\x0b\xa0\x00\x01\x00\x00\x00\x01\x00\x0c\xa9\xe6\ +\x00\x00\x0b\x16\x00\x01\x00\x00\x00\x01\x00\x0c\x83\xde\ +\x00\x00\x09\xb0\x00\x01\x00\x00\x00\x01\x00\x0b\xf8\x3d\ +\x00\x00\x0b\xce\x00\x01\x00\x00\x00\x01\x00\x0c\xb6\x58\ \x00\x00\x06\xd8\x00\x01\x00\x00\x00\x01\x00\x0a\xfe\xcd\ -\x00\x00\x07\xe8\x00\x01\x00\x00\x00\x01\x00\x0b\x61\x47\ -\x00\x00\x09\xd8\x00\x00\x00\x00\x00\x01\x00\x0c\x0f\x32\ +\x00\x00\x08\x16\x00\x01\x00\x00\x00\x01\x00\x0b\x6d\xb9\ +\x00\x00\x0a\x06\x00\x00\x00\x00\x00\x01\x00\x0c\x1b\xa4\ \x00\x00\x05\x88\x00\x01\x00\x00\x00\x01\x00\x0a\x9e\x7f\ -\x00\x00\x08\x36\x00\x00\x00\x00\x00\x01\x00\x0b\x7c\xb0\ +\x00\x00\x08\x64\x00\x00\x00\x00\x00\x01\x00\x0b\x89\x22\ \x00\x00\x06\x36\x00\x01\x00\x00\x00\x01\x00\x0a\xcf\xd0\ -\x00\x00\x0a\x24\x00\x01\x00\x00\x00\x01\x00\x0c\x2a\x38\ -\x00\x00\x08\xbe\x00\x01\x00\x00\x00\x01\x00\x0b\xae\x02\ -\x00\x00\x09\x38\x00\x01\x00\x00\x00\x01\x00\x0b\xd3\x4c\ -\x00\x00\x0b\xf2\x00\x01\x00\x00\x00\x01\x00\x0c\xc4\x4e\ -\x00\x00\x0a\x9c\x00\x01\x00\x00\x00\x01\x00\x0c\x5d\x95\ +\x00\x00\x0a\x52\x00\x01\x00\x00\x00\x01\x00\x0c\x36\xaa\ +\x00\x00\x08\xec\x00\x01\x00\x00\x00\x01\x00\x0b\xba\x74\ +\x00\x00\x09\x66\x00\x01\x00\x00\x00\x01\x00\x0b\xdf\xbe\ +\x00\x00\x0c\x20\x00\x01\x00\x00\x00\x01\x00\x0c\xd0\xc0\ +\x00\x00\x0a\xca\x00\x01\x00\x00\x00\x01\x00\x0c\x6a\x07\ \x00\x00\x05\x34\x00\x01\x00\x00\x00\x01\x00\x0a\x8f\x94\ -\x00\x00\x0b\xc6\x00\x01\x00\x00\x00\x01\x00\x0c\xb4\xab\ -\x00\x00\x08\x9e\x00\x00\x00\x00\x00\x01\x00\x0b\x9e\x30\ +\x00\x00\x0b\xf4\x00\x01\x00\x00\x00\x01\x00\x0c\xc1\x1d\ +\x00\x00\x08\xcc\x00\x00\x00\x00\x00\x01\x00\x0b\xaa\xa2\ \x00\x00\x06\x84\x00\x00\x00\x00\x00\x01\x00\x0a\xdd\x34\ -\x00\x00\x07\x6a\x00\x01\x00\x00\x00\x01\x00\x0b\x38\xc7\ -\x00\x00\x09\xa6\x00\x00\x00\x00\x00\x01\x00\x0b\xf3\x1c\ +\x00\x00\x07\x98\x00\x01\x00\x00\x00\x01\x00\x0b\x45\x39\ +\x00\x00\x09\xd4\x00\x00\x00\x00\x00\x01\x00\x0b\xff\x8e\ \x00\x00\x03\xa2\x00\x01\x00\x00\x00\x01\x00\x0a\x27\x0f\ \x00\x00\x03\xce\x00\x01\x00\x00\x00\x01\x00\x0a\x31\x8a\ \x00\x00\x03\x76\x00\x01\x00\x00\x00\x01\x00\x0a\x1c\x55\ diff --git a/src/Mod/Draft/InitGui.py b/src/Mod/Draft/InitGui.py index a7405a047..d19048f8b 100644 --- a/src/Mod/Draft/InitGui.py +++ b/src/Mod/Draft/InitGui.py @@ -107,7 +107,7 @@ class DraftWorkbench (Workbench): self.cmdList = ["Draft_Line","Draft_Wire","Draft_Circle","Draft_Arc","Draft_Ellipse", "Draft_Polygon","Draft_Rectangle", "Draft_Text", "Draft_Dimension", "Draft_BSpline","Draft_Point", - "Draft_ShapeString"] + "Draft_ShapeString","Draft_Facebinder"] self.modList = ["Draft_Move","Draft_Rotate","Draft_Offset", "Draft_Trimex", "Draft_Upgrade", "Draft_Downgrade", "Draft_Scale", "Draft_Drawing","Draft_Edit","Draft_WireToBSpline","Draft_AddPoint", diff --git a/src/Mod/Draft/Resources/Draft.qrc b/src/Mod/Draft/Resources/Draft.qrc index 4e4b5069b..a4115ac39 100644 --- a/src/Mod/Draft/Resources/Draft.qrc +++ b/src/Mod/Draft/Resources/Draft.qrc @@ -57,6 +57,7 @@ icons/Draft_Heal.svg icons/Draft_Ellipse.svg icons/Draft_ShapeString.svg + icons/Draft_Facebinder.svg patterns/concrete.svg patterns/cross.svg patterns/line.svg diff --git a/src/Mod/Draft/Resources/icons/Draft_Facebinder.svg b/src/Mod/Draft/Resources/icons/Draft_Facebinder.svg new file mode 100644 index 000000000..3105ff8ca --- /dev/null +++ b/src/Mod/Draft/Resources/icons/Draft_Facebinder.svg @@ -0,0 +1,515 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + +