def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setWindowTitle('ConvertAll') icons.setupIcons() self.setWindowIcon(icons.iconDict['convert']) self.helpView = None self.findDlg = None self.option = Option('convertall', 20) self.option.loadAll(optiondefaults.defaultList) try: ConvertDlg.unitData.readData() except unitdata.UnitDataError, text: QtGui.QMessageBox.warning(self, 'ConvertAll', 'Error in unit data - %s' % text) sys.exit(1)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.calc = CalcCore() self.setWindowTitle('rpCalc') icons.setupIcons() self.setWindowIcon(icons.iconDict['calc']) self.setFocusPolicy(QtCore.Qt.StrongFocus) self.helpView = None self.extraView = None self.regView = None self.histView = None self.memView = None self.altBaseView = None self.optDlg = None self.popupMenu = QtGui.QMenu(self) self.popupMenu.addAction('Registers on &LCD', self.toggleReg) self.popupMenu.addSeparator() self.popupMenu.addAction('Show &Register List', self.viewReg) self.popupMenu.addAction('Show &History List', self.viewHist) self.popupMenu.addAction('Show &Memory List', self.viewMem) self.popupMenu.addSeparator() self.popupMenu.addAction('Show Other &Bases', self.viewAltBases) self.popupMenu.addSeparator() self.popupMenu.addAction('Show ReadMe &File', self.help) self.popupMenu.addAction('&About rpCalc', self.about) self.popupMenu.addSeparator() self.popupMenu.addAction('&Quit', self.close) topLay = QtGui.QVBoxLayout(self) self.setLayout(topLay) topLay.setSpacing(4) topLay.setMargin(6) lcdBox = LcdBox() topLay.addWidget(lcdBox) lcdLay = QtGui.QGridLayout(lcdBox) lcdLay.setColumnStretch(1, 1) lcdLay.setRowStretch(3, 1) self.extraLabels = [QtGui.QLabel(' T:',), QtGui.QLabel(' Z:',), QtGui.QLabel(' Y:',)] for i in range(3): lcdLay.addWidget(self.extraLabels[i], i, 0, QtCore.Qt.AlignLeft) self.extraLcds = [Lcd(1.5, 13), Lcd(1.5, 13), Lcd(1.5, 13)] lcdLay.addWidget(self.extraLcds[2], 0, 1, QtCore.Qt.AlignRight) lcdLay.addWidget(self.extraLcds[1], 1, 1, QtCore.Qt.AlignRight) lcdLay.addWidget(self.extraLcds[0], 2, 1, QtCore.Qt.AlignRight) if not self.calc.option.boolData('ViewRegisters'): for w in self.extraLabels + self.extraLcds: w.hide() self.lcd = Lcd(2.0, 13) lcdLay.addWidget(self.lcd, 3, 0, 1, 2, QtCore.Qt.AlignRight) self.setLcdHighlight() self.updateLcd() self.updateColors() self.cmdLay = QtGui.QGridLayout() topLay.addLayout(self.cmdLay) self.cmdDict = {} self.addCmdButton('x^2', 0, 0) self.addCmdButton('sqRT', 0, 1) self.addCmdButton('y^X', 0, 2) self.addCmdButton('xRT', 0, 3) self.addCmdButton('RCIP', 0, 4) self.addCmdButton('SIN', 1, 0) self.addCmdButton('COS', 1, 1) self.addCmdButton('TAN', 1, 2) self.addCmdButton('LN', 1, 3) self.addCmdButton('e^X', 1, 4) self.addCmdButton('ASIN', 2, 0) self.addCmdButton('ACOS', 2, 1) self.addCmdButton('ATAN', 2, 2) self.addCmdButton('LOG', 2, 3) self.addCmdButton('tn^X', 2, 4) self.addCmdButton('STO', 3, 0) self.addCmdButton('RCL', 3, 1) self.addCmdButton('R<', 3, 2) self.addCmdButton('R>', 3, 3) self.addCmdButton('x<>y', 3, 4) self.addCmdButton('SHOW', 4, 0) self.addCmdButton('CLR', 4, 1) self.addCmdButton('PLCS', 4, 2) self.addCmdButton('SCI', 4, 3) self.addCmdButton('DEG', 4, 4) self.addCmdButton('EXIT', 5, 0) self.addCmdButton('Pi', 5, 1) self.addCmdButton('EXP', 5, 2) self.addCmdButton('CHS', 5, 3) self.addCmdButton('<-', 5, 4) self.mainLay = QtGui.QGridLayout() topLay.addLayout(self.mainLay) self.mainDict = {} self.addMainButton(0, 'OPT', 0, 0) self.addMainButton(QtCore.Qt.Key_Slash, '/', 0, 1) self.addMainButton(QtCore.Qt.Key_Asterisk, '*', 0, 2) self.addMainButton(QtCore.Qt.Key_Minus, '-', 0, 3) self.addMainButton(QtCore.Qt.Key_7, '7', 1, 0) self.addMainButton(QtCore.Qt.Key_8, '8', 1, 1) self.addMainButton(QtCore.Qt.Key_9, '9', 1, 2) self.addMainButton(QtCore.Qt.Key_Plus, '+', 1, 3, 1, 0) self.addMainButton(QtCore.Qt.Key_4, '4', 2, 0) self.addMainButton(QtCore.Qt.Key_5, '5', 2, 1) self.addMainButton(QtCore.Qt.Key_6, '6', 2, 2) self.addMainButton(QtCore.Qt.Key_1, '1', 3, 0) self.addMainButton(QtCore.Qt.Key_2, '2', 3, 1) self.addMainButton(QtCore.Qt.Key_3, '3', 3, 2) self.addMainButton(QtCore.Qt.Key_Enter, 'ENT', 3, 3, 1, 0) self.addMainButton(QtCore.Qt.Key_0, '0', 4, 0, 0, 1) self.addMainButton(QtCore.Qt.Key_Period, '.', 4, 2) self.mainDict[QtCore.Qt.Key_Return] = \ self.mainDict[QtCore.Qt.Key_Enter] # added for european keyboards: self.mainDict[QtCore.Qt.Key_Comma] = \ self.mainDict[QtCore.Qt.Key_Period] self.cmdDict['ENT'] = self.mainDict[QtCore.Qt.Key_Enter] self.cmdDict['OPT'] = self.mainDict[0] self.entryStr = '' self.showMode = False statusBox = QtGui.QFrame() statusBox.setFrameStyle(QtGui.QFrame.Panel | QtGui.QFrame.Sunken) statusBox.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)) topLay.addWidget(statusBox) statusLay = QtGui.QHBoxLayout(statusBox) self.entryLabel = QtGui.QLabel(statusBox) statusLay.addWidget(self.entryLabel) statusLay.setMargin(1) self.statusLabel = QtGui.QLabel(statusBox) self.statusLabel.setAlignment(QtCore.Qt.AlignRight) statusLay.addWidget(self.statusLabel) if self.calc.option.boolData('ExtraViewStartup'): self.viewReg() if self.calc.option.boolData('AltBaseStartup'): self.viewAltBases() xSize = self.calc.option.intData('MainDlgXSize', 0, 10000) ySize = self.calc.option.intData('MainDlgYSize', 0, 10000) if xSize and ySize: self.resize(xSize, ySize) self.move(self.calc.option.intData('MainDlgXPos', 0, 10000), self.calc.option.intData('MainDlgYPos', 0, 10000)) self.updateEntryLabel('rpCalc Version %s' % __version__) QtCore.QTimer.singleShot(5000, self.updateEntryLabel)