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)