Changeset 261 for nodebox/branches/try-qt/nodebox
- Timestamp:
- 12/05/07 11:44:25 (13 months ago)
- Location:
- nodebox/branches/try-qt/nodebox
- Files:
-
- 3 modified
-
graphics/qt.py (modified) (1 diff)
-
gui/qt/__init__.py (modified) (14 diffs)
-
util/ottobot.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
nodebox/branches/try-qt/nodebox/graphics/qt.py
r259 r261 284 284 285 285 def __getitem__(self, index): 286 cmd, el = self._nsBezierPath.elementAtIndex_associatedPoints_(index)287 return PathElement( cmd,el)286 el = self._qpath.elementAt(index) 287 return PathElement(el) 288 288 289 289 def __iter__(self): -
nodebox/branches/try-qt/nodebox/gui/qt/__init__.py
r260 r261 7 7 import random 8 8 9 from PyQt4.QtGui import QApplication, QWidget, QColor, QPainter, QMenuBar, QMenu, QKeySequence, QTextEdit, QSplitter, QGridLayout, QDialog, QScrollArea, QFont, QTextCharFormat, QFileDialog, QTextCursor, QPixmap, QPrinter, QImage 9 from PyQt4.QtGui import QApplication, QWidget, QColor, QPainter, QMenuBar, QMenu, QKeySequence, QTextEdit, QSplitter, QGridLayout, QDialog, QScrollArea, QFont, QTextCharFormat, QFileDialog, QTextCursor, QPixmap, QPrinter, QImage, QMainWindow 10 10 from PyQt4.QtCore import Qt, SIGNAL, SLOT, pyqtSignature, QTimer, QRectF, QSize 11 11 from PyQt4.QtSvg import QSvgGenerator … … 91 91 def __init__(self, parent=None): 92 92 QTextEdit.__init__(self, parent) 93 self.setLineWrapMode(QTextEdit.NoWrap) 93 94 94 95 def mousePressEvent(self, event): … … 105 106 #QTextCursor 106 107 107 class NodeBoxDocument(Q Widget):108 class NodeBoxDocument(QMainWindow): 108 109 def __init__(self): 109 Q Widget.__init__(self)110 QMainWindow.__init__(self) 110 111 111 112 self.createGUI() … … 126 127 127 128 def createMenu(self): 128 self.menuBar = QMenuBar()129 #self.menuBar = QMenuBar() 129 130 130 131 self.fileMenu = QMenu(self.tr("&File"), self) … … 144 145 self.fileMenu.addAction(self.tr("&Print..."), self, SLOT("doPrint()"), QKeySequence("Ctrl+P")) 145 146 self.exitAction = self.fileMenu.addAction(self.tr("E&xit"), self, SLOT("doExit()"), QKeySequence("Ctrl+Q")) 146 self.menuBar .addMenu(self.fileMenu)147 self.menuBar().addMenu(self.fileMenu) 147 148 148 149 self.editMenu = QMenu(self.tr("&Edit"), self) … … 150 151 self.editMenu.addAction(self.tr("&Redo"), self.codeView, SLOT("redo()"), QKeySequence("Ctrl+Shift+Z")) 151 152 self.editMenu.addSeparator() 152 self.menuBar .addMenu(self.editMenu)153 self.menuBar().addMenu(self.editMenu) 153 154 154 155 self.pythonMenu = QMenu(self.tr("&Python"), self) 155 156 self.runAction = self.pythonMenu.addAction(self.tr("&Run"), self, SLOT("doRun()"), QKeySequence("Ctrl+R")) 156 157 self.runAction = self.pythonMenu.addAction(self.tr("&Stop"), self, SLOT("doStop()"), QKeySequence("Ctrl+.")) 157 self.menuBar .addMenu(self.pythonMenu)158 self.menuBar().addMenu(self.pythonMenu) 158 159 159 160 self.windowMenu = QMenu(self.tr("&Window"), self) … … 164 165 self.windowMenu.addSeparator() 165 166 # TODO: List of all windows 166 self.menuBar .addMenu(self.windowMenu)167 self.menuBar().addMenu(self.windowMenu) 167 168 168 169 def createGUI(self): … … 203 204 self.view_edit.addWidget(self.code_errors) 204 205 205 mainLayout = QGridLayout()206 mainLayout.addWidget(self.view_edit)207 self.set Layout(mainLayout)206 #mainLayout = QGridLayout() 207 #mainLayout.addWidget(self.view_edit) 208 self.setCentralWidget(self.view_edit) 208 209 209 210 self.setWindowTitle(self.tr("Untitled")) … … 226 227 @pyqtSignature("") 227 228 def doOpen(self): 228 fileName = QFileDialog.getOpenFileName(None, self.tr("Open File"), os.getenv('HOME'), "*.py") 229 global app 230 fileName = QFileDialog.getOpenFileName(None, self.tr("Open File"), app.home, "*.py") 229 231 print "open", fileName 230 232 if fileName is not None and len(fileName) > 0: … … 258 260 @pyqtSignature("") 259 261 def doSaveAs(self): 260 fileName = QFileDialog.getSaveFileName(self, self.tr("Save File"), os.getenv('HOME'), "*.py") 262 global app 263 fileName = QFileDialog.getSaveFileName(self, self.tr("Save File"), app.home, "*.py") 261 264 print "save as", fileName 262 265 if fileName is not None and len(fileName) > 0: … … 268 271 @pyqtSignature("") 269 272 def doExportAsImage(self): 273 global app 270 274 if self.canvas is None: return 271 fileName = QFileDialog.getSaveFileName(self, self.tr("Save SVG File"), os.getenv('HOME'), "*.svg,*.pdf,*.png,*.tiff,*.jpg,*.jpeg,*.gif")275 fileName = QFileDialog.getSaveFileName(self, self.tr("Save SVG File"), app.home, "*.svg,*.pdf,*.png,*.tiff,*.jpg,*.jpeg,*.gif") 272 276 print "save image as ", fileName 273 277 if fileName is not None and len(fileName) > 0: … … 458 462 - The OutputFile 459 463 """ 464 global app 460 465 self.scriptName = self.fileName 461 libDir = os.path.join(os.getenv("HOME"), "Library", "Application Support", "NodeBox")466 libDir = app.lib 462 467 if not self.scriptName: 463 curDir = os.getenv("HOME")468 curDir = app.home 464 469 self.scriptName = "<untitled>" 465 470 else: … … 563 568 QApplication.__init__(self, args) 564 569 self.documents = [] 565 570 if sys.platform == "win32": 571 self.home = 'C:/' # os.getenv('HOME') 572 self.lib = os.path.join(self.home, "NodeBox") # os.path.join(self.home, "Library", "Application Support", "NodeBox") 573 elif sys.platform == "mac": 574 self.home = os.getenv('HOME') 575 self.lib = os.path.join(self.home, "Library", "Application Support", "NodeBox") 576 else: 577 self.home = os.getenv('HOME') 578 self.lib = os.path.join(self.home, "nodebox") 579 try: 580 if not os.path.exists(self.lib): 581 os.mkdir(self.lib) 582 f = open(os.path.join(self.lib, "README"), "w") 583 f.write("In this directory, you can put Python libraries to make them available to your scripts.\n") 584 f.close() 585 except OSError: pass 586 except IOError: pass 587 566 588 def newDocument(self): 567 589 doc = NodeBoxDocument() … … 578 600 if __name__ == "__main__": 579 601 qtmain() 602 -
nodebox/branches/try-qt/nodebox/util/ottobot.py
r179 r261 1 from AppKit import NSFontManager2 3 1 from nodebox.util import random, choice 4 2
