23
23
from PyQt4 .QtGui import *
24
24
from qgis .utils import iface
25
25
from console_sci import PythonEdit
26
+ from console_output import EditorOutput
26
27
from console_help import HelpDialog
27
28
from console_settings import optionsDialog
28
29
@@ -58,20 +59,6 @@ def console_displayhook(obj):
58
59
global _console_output
59
60
_console_output = obj
60
61
61
- class QgisOutputCatcher :
62
- def __init__ (self ):
63
- self .data = ''
64
- def write (self , stuff ):
65
- self .data += stuff
66
- def get_and_clean_data (self ):
67
- tmp = self .data
68
- self .data = ''
69
- return tmp
70
- def flush (self ):
71
- pass
72
-
73
- sys .stdout = QgisOutputCatcher ()
74
-
75
62
class PythonConsole (QDockWidget ):
76
63
def __init__ (self , parent = None ):
77
64
QDockWidget .__init__ (self , parent )
@@ -96,11 +83,19 @@ def activate(self):
96
83
class PythonConsoleWidget (QWidget ):
97
84
def __init__ (self , parent = None ):
98
85
QWidget .__init__ (self , parent )
99
- self .setWindowTitle (QCoreApplication .translate ("PythonConsole" , "Python Console" ))
100
-
86
+ self .setWindowTitle (QCoreApplication .translate ("PythonConsole" , "Python Console" ))
101
87
self .widgetButton = QWidget ()
88
+ #self.widgetEditors = QWidget()
89
+
102
90
self .options = optionsDialog (self )
103
91
92
+ self .splitter = QSplitter (self )
93
+ self .splitter .setOrientation (Qt .Vertical )
94
+ self .splitter .setHandleWidth (3 )
95
+ self .splitter .setChildrenCollapsible (False )
96
+
97
+ #self.textEdit = QTextEdit()
98
+
104
99
self .toolBar = QToolBar ()
105
100
self .toolBar .setEnabled (True )
106
101
#self.toolBar.setFont(font)
@@ -115,12 +110,18 @@ def __init__(self, parent=None):
115
110
#self.toolBar.setAllowedAreas(Qt.RightToolBarArea)
116
111
#self.toolBar.setObjectName(_fromUtf8("toolMappa"))
117
112
118
- self .b = QVBoxLayout (self .widgetButton )
119
- self .e = QHBoxLayout (self )
113
+ #self.gridLayout = QGridLayout(self)
114
+
115
+ self .b = QGridLayout (self .widgetButton )
116
+ #self.e = QGridLayout(self.widgetEditors)
117
+ self .f = QGridLayout (self )
120
118
121
- self .e .setMargin (0 )
122
- self .e .setSpacing (0 )
119
+ #self.e.setMargin(0)
120
+ #self.e.setSpacing(0)
121
+ self .f .setMargin (0 )
122
+ self .f .setSpacing (0 )
123
123
self .b .setMargin (0 )
124
+ self .b .setSpacing (0 )
124
125
125
126
## Action for Clear button
126
127
clearBt = QCoreApplication .translate ("PythonConsole" , "Clear console" )
@@ -268,12 +269,32 @@ def __init__(self, parent=None):
268
269
269
270
self .b .addWidget (self .toolBar )
270
271
self .edit = PythonEdit ()
271
- self .setFocusProxy ( self . edit )
272
+ self .textEditOut = EditorOutput ( )
272
273
273
- self .e .addWidget (self .widgetButton )
274
- self .e .addWidget (self .edit )
274
+ #self.textEdit = PythonEditOutput()
275
+ #self.textEdit.setReadOnly(True)
276
+ #self.textEdit.setMinimumHeight(80)
275
277
276
- self .clearButton .triggered .connect (self .edit .clearConsole )
278
+ self .setFocusProxy (self .edit )
279
+
280
+ sizePolicy = QSizePolicy (QSizePolicy .Fixed , QSizePolicy .Preferred )
281
+ sizePolicy .setHorizontalStretch (0 )
282
+ sizePolicy .setVerticalStretch (0 )
283
+ sizePolicy .setHeightForWidth (self .widgetButton .sizePolicy ().hasHeightForWidth ())
284
+ self .widgetButton .setSizePolicy (sizePolicy )
285
+ #self.e.addWidget(self.textEdit)
286
+ #self.e.addWidget(self.edit)
287
+
288
+ self .splitter .addWidget (self .textEditOut )
289
+ self .splitter .addWidget (self .edit )
290
+ self .f .addWidget (self .widgetButton , 0 , 0 , 1 , 1 )
291
+ self .f .addWidget (self .splitter , 0 , 1 , 1 , 1 )
292
+ #self.f.addWidget(self.widgetEditors)
293
+
294
+ #self.f.setStretchFactor(self.widgetEditors, 1)
295
+
296
+
297
+ self .clearButton .triggered .connect (self .textEditOut .clearConsole )
277
298
self .optionsButton .triggered .connect (self .openSettings )
278
299
self .loadIfaceButton .triggered .connect (self .iface )
279
300
self .loadSextanteButton .triggered .connect (self .sextante )
@@ -326,7 +347,7 @@ def saveScriptFile(self):
326
347
if not filename .endswith (".py" ):
327
348
fName += ".py"
328
349
sF = open (fName ,'w' )
329
- listText = self .edit .getTextFromEditor ()
350
+ listText = self .textEditOut .getTextFromEditor ()
330
351
is_first_line = True
331
352
for s in listText :
332
353
if s [0 :3 ] in (">>>" , "..." ):
@@ -337,7 +358,7 @@ def saveScriptFile(self):
337
358
sF .write ('\n ' )
338
359
sF .write (s )
339
360
sF .close ()
340
-
361
+
341
362
def openHelp (self ):
342
363
dlg = HelpDialog ()
343
364
dlg .exec_ ()
@@ -348,6 +369,7 @@ def openSettings(self):
348
369
349
370
def prefChanged (self ):
350
371
self .edit .refreshLexerProperties ()
372
+ self .textEditOut .refreshLexerProperties ()
351
373
352
374
def closeEvent (self , event ):
353
375
self .edit .writeHistoryFile ()
0 commit comments