def __init__(self, title, parent): ''' Creates an edit line in which commands or expressions are evaluated. Evaluation of expressions is done by the FunctionHandler object. ''' super(CmdLineDock, self).__init__(title, parent) self.setMinimumHeight(100) self._remainder = [] self._remainderIndex = 0 # only dock at the bottom or top self.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea | QtCore.Qt.TopDockWidgetArea) self.dockWidgetContents = QtGui.QWidget() self.dockWidgetContents.setObjectName("dockWidgetContents") sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Ignored) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.dockWidgetContents.sizePolicy().hasHeightForWidth()) self.dockWidgetContents.setSizePolicy(sizePolicy) self.verticalLayout_2 = QtGui.QVBoxLayout(self.dockWidgetContents) self.verticalLayout_2.setObjectName("verticalLayout_2") self.textEditOutput = PyCadTextView(self.dockWidgetContents) self.verticalLayout_2.addWidget(self.textEditOutput) self.__edit_ctrl = QtGui.QLineEdit(self, returnPressed=self._returnPressed) self.__edit_ctrl.keyPressEvent = self._keyPress sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.textEditOutput.sizePolicy().hasHeightForWidth()) self.__edit_ctrl.setSizePolicy(sizePolicy) self.verticalLayout_2.addWidget(self.__edit_ctrl) self.setWidget(self.dockWidgetContents) self.__function_handler = FunctionHandler(self.__edit_ctrl, self.textEditOutput) #QtCore.QObject.connect(self.__edit_ctrl, QtCore.SIGNAL("returnPressed()"), self.textEditOutput.centerCursor) # self.evaluatePressed = PyCadEvent() self.setObjectName( "CmdLineDock" ) #this is needed for remember toolbar position in cadwindow.writesettings(savestate)