Switch to PySide (+ Arch, Draft & Start)
This commit is contained in:
parent
e9711ec7c9
commit
1d709ade42
|
@ -23,9 +23,9 @@
|
|||
|
||||
#include "PreCompiled.h"
|
||||
|
||||
// Remove this block when activating PySide support!
|
||||
#undef HAVE_SHIBOKEN
|
||||
#undef HAVE_PYSIDE
|
||||
// Uncomment this block to remove PySide support and switch back to PyQt
|
||||
// #undef HAVE_SHIBOKEN
|
||||
// #undef HAVE_PYSIDE
|
||||
|
||||
#ifdef FC_OS_WIN32
|
||||
#undef max
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
import FreeCAD,FreeCADGui,Draft,math,DraftVecUtils,ArchCommands
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtCore, QtGui
|
||||
from PySide import QtCore, QtGui
|
||||
from pivy import coin
|
||||
from DraftTools import translate
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#***************************************************************************
|
||||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchCommands,ArchFloor
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Building"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchComponent,DraftVecUtils
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Arch Commands"
|
||||
|
|
|
@ -27,7 +27,7 @@ __url__ = "http://www.freecadweb.org"
|
|||
|
||||
import FreeCAD,FreeCADGui,Draft
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtGui,QtCore
|
||||
from PySide import QtGui,QtCore
|
||||
from DraftTools import translate
|
||||
|
||||
def addToComponent(compobject,addobject,mod=None):
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#***************************************************************************
|
||||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchCommands
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Arch Floor"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchComponent,DraftVecUtils,ArchCommands
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Arch Frame"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchComponent,DraftVecUtils,ArchCommands
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Rebar"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchComponent, DraftVecUtils
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Roof"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
import FreeCAD,FreeCADGui,ArchComponent,WorkingPlane,math,Draft,ArchCommands,DraftVecUtils
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
from pivy import coin
|
||||
from DraftTools import translate
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#***************************************************************************
|
||||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchCommands,ArchFloor
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Site"
|
||||
|
|
|
@ -27,7 +27,7 @@ __url__ = "http://www.freecadweb.org"
|
|||
|
||||
import FreeCAD,FreeCADGui,ArchComponent,ArchCommands,math,Draft
|
||||
from DraftTools import translate
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
|
||||
def makeSpace(objects=None,name="Space"):
|
||||
"""makeSpace([objects]): Creates a space object from the given objects. Objects can be one
|
||||
|
|
|
@ -28,7 +28,7 @@ __url__ = "http://www.freecadweb.org"
|
|||
import FreeCAD,FreeCADGui,ArchComponent,ArchCommands,Draft,DraftVecUtils,math
|
||||
from FreeCAD import Vector
|
||||
from DraftTools import translate
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
|
||||
|
||||
def makeStairs(base=None,length=4.5,width=1,height=3,steps=17):
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchComponent,DraftVecUtils,ArchCommands
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore, QtGui
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Structure"
|
||||
|
@ -339,11 +339,7 @@ class _CommandStructure:
|
|||
'Accel': "S, T",
|
||||
'ToolTip': QtCore.QT_TRANSLATE_NOOP("Arch_Structure","Creates a structure object from scratch or from a selected object (sketch, wire, face or solid)")}
|
||||
|
||||
def Activated(self):
|
||||
|
||||
global QtGui, QtCore
|
||||
from PyQt4 import QtGui, QtCore
|
||||
|
||||
def Activated(self):
|
||||
p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch")
|
||||
self.Length = p.GetFloat("StructureLength",100)
|
||||
self.Width = p.GetFloat("StructureWidth",100)
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchComponent,DraftVecUtils,ArchCommands,math
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore, QtGui
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Wall"
|
||||
|
@ -141,10 +141,6 @@ class _CommandWall:
|
|||
'ToolTip': QtCore.QT_TRANSLATE_NOOP("Arch_Wall","Creates a wall object from scratch or from a selected object (wire, face or solid)")}
|
||||
|
||||
def Activated(self):
|
||||
|
||||
global QtGui, QtCore
|
||||
from PyQt4 import QtGui, QtCore
|
||||
|
||||
self.Align = "Center"
|
||||
self.Length = None
|
||||
self.continueCmd = False
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
import FreeCAD,FreeCADGui,Draft,ArchComponent,DraftVecUtils,ArchCommands
|
||||
from FreeCAD import Vector
|
||||
from PyQt4 import QtCore,QtGui,QtSvg
|
||||
from PySide import QtCore,QtGui,QtSvg
|
||||
from DraftTools import translate
|
||||
|
||||
__title__="FreeCAD Window"
|
||||
|
|
35992
src/Mod/Arch/Arch_rc.py
35992
src/Mod/Arch/Arch_rc.py
File diff suppressed because one or more lines are too long
|
@ -35,7 +35,7 @@ General description:
|
|||
The Draft module is a FreeCAD module for drawing/editing 2D entities.
|
||||
The aim is to give FreeCAD basic 2D-CAD capabilities (similar
|
||||
to Autocad and other similar software). This modules is made to be run
|
||||
inside FreeCAD and needs the PyQt4 and pivy modules available.
|
||||
inside FreeCAD and needs the PySide and pivy modules available.
|
||||
|
||||
User manual:
|
||||
|
||||
|
@ -459,7 +459,7 @@ def select(objs=None):
|
|||
def loadSvgPatterns():
|
||||
"loads the default Draft SVG patterns and custom patters if available"
|
||||
import importSVG
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
FreeCAD.svgpatterns = {}
|
||||
# getting default patterns
|
||||
patfiles = QtCore.QDir(":/patterns").entryList()
|
||||
|
@ -499,7 +499,7 @@ def loadTexture(filename,size=None):
|
|||
it will be scaled to match the given size."""
|
||||
if gui:
|
||||
from pivy import coin
|
||||
from PyQt4 import QtGui,QtSvg
|
||||
from PySide import QtGui,QtSvg
|
||||
try:
|
||||
p = QtGui.QImage(filename)
|
||||
# buggy - TODO: allow to use resolutions
|
||||
|
@ -2728,7 +2728,7 @@ class _ViewProviderDraft:
|
|||
if hasattr(self.Object,"Shape"):
|
||||
if self.Object.Shape.Faces:
|
||||
from pivy import coin
|
||||
from PyQt4 import QtCore
|
||||
from PySide import QtCore
|
||||
path = None
|
||||
if hasattr(vobj,"TextureImage"):
|
||||
if vobj.TextureImage:
|
||||
|
|
|
@ -33,21 +33,10 @@ Report to Draft.py for info
|
|||
import FreeCAD, FreeCADGui, os, Draft, sys
|
||||
|
||||
try:
|
||||
from PyQt4 import QtCore,QtGui,QtSvg
|
||||
from PySide import QtCore,QtGui,QtSvg
|
||||
except:
|
||||
FreeCAD.Console.PrintMessage("Error: Python-qt4 package must be installed on your system to use the Draft module.")
|
||||
|
||||
def getMainWindow():
|
||||
"returns the main window"
|
||||
# using QtGui.qApp.activeWindow() isn't very reliable because if another
|
||||
# widget than the mainwindow is active (e.g. a dialog) the wrong widget is
|
||||
# returned
|
||||
toplevel = QtGui.qApp.topLevelWidgets()
|
||||
for i in toplevel:
|
||||
if i.metaObject().className() == "Gui::MainWindow":
|
||||
return i
|
||||
raise Exception("No main window found")
|
||||
|
||||
class todo:
|
||||
''' static todo class, delays execution of functions. Use todo.delay
|
||||
to schedule geometry manipulation that would crash coin if done in the
|
||||
|
@ -114,7 +103,7 @@ def translate(context,text):
|
|||
# Customized widgets
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class DraftDockWidget(QtGui.QWidget):
|
||||
class DraftDockWidget(QtGui.QDockWidget):
|
||||
"custom Widget that emits a resized() signal when resized"
|
||||
def __init__(self,parent = None):
|
||||
QtGui.QDockWidget.__init__(self,parent)
|
||||
|
@ -201,7 +190,7 @@ class DraftToolBar:
|
|||
self.draftWidget.setObjectName("draftToolbar")
|
||||
self.draftWidget.setTitleBarWidget(self.baseWidget)
|
||||
self.draftWidget.setWindowTitle(translate("draft", "draft Command Bar"))
|
||||
self.mw = getMainWindow()
|
||||
self.mw = FreeCADGui.getMainWindow()
|
||||
self.mw.addDockWidget(QtCore.Qt.TopDockWidgetArea,self.draftWidget)
|
||||
self.draftWidget.setVisible(False)
|
||||
self.draftWidget.toggleViewAction().setVisible(False)
|
||||
|
@ -1015,7 +1004,7 @@ class DraftToolBar:
|
|||
if (self.labelSString.isVisible()):
|
||||
if self.SStringValue.text():
|
||||
# print "debug: D_G DraftToolBar.validateSString type(SStringValue.text): " str(type(self.SStringValue.text))
|
||||
self.sourceCmd.validSString(str(self.SStringValue.text().toUtf8())) # QString to QByteArray to PyString
|
||||
self.sourceCmd.validSString(str(self.SStringValue.text())) # QString to QByteArray to PyString
|
||||
else:
|
||||
FreeCAD.Console.PrintMessage(translate("draft", "Please enter a text string."))
|
||||
|
||||
|
@ -1314,7 +1303,7 @@ class DraftToolBar:
|
|||
self.groupmenu = QtGui.QMenu()
|
||||
for i in mlist:
|
||||
self.groupmenu.addAction(i)
|
||||
pos = getMainWindow().cursor().pos()
|
||||
pos = FreeCADGui.getMainWindow().cursor().pos()
|
||||
self.groupmenu.popup(pos)
|
||||
QtCore.QObject.connect(self.groupmenu,QtCore.SIGNAL("triggered(QAction *)"),self.popupTriggered)
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ __url__ = "http://www.freecadweb.org"
|
|||
import FreeCAD, FreeCADGui, math, Draft, DraftGui, DraftTrackers, DraftVecUtils
|
||||
from FreeCAD import Vector
|
||||
from pivy import coin
|
||||
from PyQt4 import QtCore,QtGui
|
||||
from PySide import QtCore,QtGui
|
||||
|
||||
class Snapper:
|
||||
"""The Snapper objects contains all the functionality used by draft
|
||||
|
@ -53,7 +53,6 @@ class Snapper:
|
|||
|
||||
def __init__(self):
|
||||
self.lastObj = [None,None]
|
||||
self.views = []
|
||||
self.maxEdges = 0
|
||||
self.radius = 0
|
||||
self.constraintAxis = None
|
||||
|
@ -137,7 +136,7 @@ class Snapper:
|
|||
|
||||
if not hasattr(self,"toolbar"):
|
||||
self.makeSnapToolBar()
|
||||
mw = DraftGui.getMainWindow()
|
||||
mw = FreeCADGui.getMainWindow()
|
||||
bt = mw.findChild(QtGui.QToolBar,"Draft Snap")
|
||||
if not bt:
|
||||
mw.addToolBar(self.toolbar)
|
||||
|
@ -797,21 +796,20 @@ class Snapper:
|
|||
|
||||
def setCursor(self,mode=None):
|
||||
"setCursor(self,mode=None): sets or resets the cursor to the given mode or resets"
|
||||
if self.selectMode:
|
||||
for v in self.views:
|
||||
v.unsetCursor()
|
||||
self.views = []
|
||||
if self.selectMode:
|
||||
mw = FreeCADGui.getMainWindow()
|
||||
for w in mw.findChildren(QtGui.QWidget):
|
||||
if w.metaObject().className() == "SoQtGLArea":
|
||||
w.unsetCursor()
|
||||
self.cursorMode = None
|
||||
elif not mode:
|
||||
for v in self.views:
|
||||
v.unsetCursor()
|
||||
self.views = []
|
||||
mw = FreeCADGui.getMainWindow()
|
||||
for w in mw.findChildren(QtGui.QWidget):
|
||||
if w.metaObject().className() == "SoQtGLArea":
|
||||
w.unsetCursor()
|
||||
self.cursorMode = None
|
||||
else:
|
||||
if mode != self.cursorMode:
|
||||
if not self.views:
|
||||
mw = DraftGui.getMainWindow()
|
||||
self.views = mw.findChildren(QtGui.QWidget,"QtGLArea")
|
||||
baseicon = QtGui.QPixmap(":/icons/Draft_Cursor.svg")
|
||||
newicon = QtGui.QPixmap(32,24)
|
||||
newicon.fill(QtCore.Qt.transparent)
|
||||
|
@ -823,8 +821,10 @@ class Snapper:
|
|||
qp.drawPixmap(QtCore.QPoint(16, 8), tp);
|
||||
qp.end()
|
||||
cur = QtGui.QCursor(newicon,8,8)
|
||||
for v in self.views:
|
||||
v.setCursor(cur)
|
||||
mw = FreeCADGui.getMainWindow()
|
||||
for w in mw.findChildren(QtGui.QWidget):
|
||||
if w.metaObject().className() == "SoQtGLArea":
|
||||
w.setCursor(cur)
|
||||
self.cursorMode = mode
|
||||
|
||||
def restack(self):
|
||||
|
@ -1129,7 +1129,7 @@ class Snapper:
|
|||
"shows the toolbar and the grid"
|
||||
if not hasattr(self,"toolbar"):
|
||||
self.makeSnapToolBar()
|
||||
mw = DraftGui.getMainWindow()
|
||||
mw = FreeCADGui.getMainWindow()
|
||||
bt = mw.findChild(QtGui.QToolBar,"Draft Snap")
|
||||
if not bt:
|
||||
mw.addToolBar(self.toolbar)
|
||||
|
|
|
@ -67,7 +67,7 @@ MODALT = MODS[Draft.getParam("modalt",2)]
|
|||
|
||||
def translate(context,text):
|
||||
"convenience function for Qt translator"
|
||||
return QtGui.QApplication.translate(context, text, None, QtGui.QApplication.UnicodeUTF8).toUtf8()
|
||||
return QtGui.QApplication.translate(context, text, None, QtGui.QApplication.UnicodeUTF8)
|
||||
|
||||
def msg(text=None,mode=None):
|
||||
"prints the given message on the FreeCAD status bar"
|
||||
|
@ -118,10 +118,18 @@ def getPoint(target,args,mobile=False,sym=False,workingplane=True,noTracker=Fals
|
|||
last = None
|
||||
amod = hasMod(args,MODSNAP)
|
||||
cmod = hasMod(args,MODCONSTRAIN)
|
||||
point = FreeCADGui.Snapper.snap(args["Position"],lastpoint=last,active=amod,constrain=cmod,noTracker=noTracker)
|
||||
info = FreeCADGui.Snapper.snapInfo
|
||||
|
||||
if hasattr(FreeCADGui,"Snapper"):
|
||||
point = FreeCADGui.Snapper.snap(args["Position"],lastpoint=last,active=amod,constrain=cmod,noTracker=noTracker)
|
||||
info = FreeCADGui.Snapper.snapInfo
|
||||
mask = FreeCADGui.Snapper.affinity
|
||||
else:
|
||||
p = FreeCADGui.ActiveDocument.ActiveView.getCursorPos()
|
||||
point = FreeCADGui.ActiveDocument.ActiveView.getPoint(p)
|
||||
info = FreeCADGui.ActiveDocument.ActiveView.getObjectInfo(p)
|
||||
mask = None
|
||||
|
||||
ctrlPoint = Vector(point)
|
||||
mask = FreeCADGui.Snapper.affinity
|
||||
if target.node:
|
||||
if target.featureName == "Rectangle":
|
||||
ui.displayPoint(point, target.node[0], plane=plane, mask=mask)
|
||||
|
@ -241,7 +249,8 @@ class DraftTool:
|
|||
self.planetrack.finalize()
|
||||
if self.support:
|
||||
plane.restore()
|
||||
FreeCADGui.Snapper.off()
|
||||
if hasattr(FreeCADGui,"Snapper"):
|
||||
FreeCADGui.Snapper.off()
|
||||
if self.call:
|
||||
self.view.removeEventCallback("SoEvent",self.call)
|
||||
self.call = None
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -85,9 +85,9 @@ class DraftWorkbench (Workbench):
|
|||
FreeCAD.Console.PrintWarning("Error: Unknown error while trying to load Pivy\n")
|
||||
else:
|
||||
try:
|
||||
import PyQt4
|
||||
import PySide
|
||||
except ImportError:
|
||||
FreeCAD.Console.PrintWarning("Error: PyQt4 not found, Draft workbench will be disabled.\n")
|
||||
FreeCAD.Console.PrintWarning("Error: PySide not found, Draft workbench will be disabled.\n")
|
||||
else:
|
||||
depsOK = True
|
||||
if not depsOK:
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
# This is the start page template
|
||||
|
||||
import os,FreeCAD,FreeCADGui,tempfile,time,zipfile,urllib,re,cStringIO
|
||||
from PyQt4 import QtGui
|
||||
from PySide import QtGui
|
||||
from xml.etree.ElementTree import parse
|
||||
|
||||
FreeCADGui.addLanguagePath(":/translations")
|
||||
|
@ -34,7 +34,7 @@ def translate(context,text):
|
|||
"convenience function for the Qt translator"
|
||||
# return str(QtGui.QApplication.translate(context, text, None, QtGui.QApplication.UnicodeUTF8).toUtf8())
|
||||
u = QtGui.QApplication.translate(context, text, None,
|
||||
QtGui.QApplication.UnicodeUTF8).toUtf8()
|
||||
QtGui.QApplication.UnicodeUTF8)
|
||||
s = cStringIO.StringIO()
|
||||
for i in u:
|
||||
if ord(i) == 39:
|
||||
|
|
Loading…
Reference in New Issue
Block a user