def initNewDictWordDialog(self): ''' Initializes dialog window for user to add a new word to the dictionary. ''' # Find QtCreator's XML file in the PYTHONPATH: currDir = os.path.realpath(__file__); relPathQtCreatorFile = "tboard_ui/addWord_dialog/addWordDialog.ui"; qtCreatorXMLFilePath = Utilities.findFile(relPathQtCreatorFile); if qtCreatorXMLFilePath is None: raise ValueError("Can't find QtCreator user interface file for 'new dictionary word' dialog file %s" % relPathQtCreatorFile); #****self.addWordDialog = QWidget(); self.addWordDialog = QDialog(); python_qt_binding.loadUi(qtCreatorXMLFilePath, self.addWordDialog); # Assign int IDs to the frequency checkboxes: rareButton = self.addWordDialog.useRarelyButton; occasionButton = self.addWordDialog.useOccasionallyButton; constantButton = self.addWordDialog.useConstantlyButton; self.addWordButtonGroup = QButtonGroup(); self.addWordButtonGroup.addButton(rareButton, TBoard.RARELY_BUTTON_ID); self.addWordButtonGroup.addButton(occasionButton, TBoard.OCCCASIONALLY_BUTTON_ID); self.addWordButtonGroup.addButton(constantButton, TBoard.CONSTANTLY_BUTTON_ID); self.addWordDialog.hide();
def __init__(self): super(TBoard, self).__init__(); self.setWindowTitle("TBoard"); # Find QtCreator's XML file in the PYTHONPATH: currDir = os.path.realpath(__file__); relPathQtCreatorFile = "tboard_ui/tboard_ui.ui"; qtCreatorXMLFilePath = Utilities.findFile(relPathQtCreatorFile); if qtCreatorXMLFilePath is None: raise ValueError("Can't find QtCreator user interface file %s" % relPathQtCreatorFile); # Make QtCreator generated UI a child if this instance: python_qt_binding.loadUi(qtCreatorXMLFilePath, self); self.letterWidgets = [self.ABCWidget, self.DEFWidget, self.GHIWidget, self.JKLWidget, self.MNOWidget, self.PQRWidget, self.STUVWidget, self.WXYZWidget]; self.createColors(); # Populate all empty letter board button widgets with # GestureButton instances: self.populateGestureButtons(); self.preparePixmaps(); # Increase the width of the word area scrollbar: self.wordList.verticalScrollBar().setFixedWidth(WORD_LIST_SCROLLBAR_WIDTH) # pixels # Where we accumulate evolving words in encoded form # (see symbolToEnc dict in word_collection.py): self.encEvolvingWord = ""; self.currButtonUsedForFlick = False; self.wordCollection = TelPadEncodedWordCollection(); # Timer to ensure that a crossed-out button doesn't # stay crossed out forever: self.crossOutTimer = QTimer(); self.crossOutTimer.setSingleShot(True); self.crossedOutButtons = []; # Popup dialog for adding new words to dictionary: self.initNewDictWordDialog(); # Gesture buttons all in Dialpad (speed-write mode): self.buttonEditMode = ButtonEditMode.DIALPAD; # Disable selecting for the remaining-words panel: self.wordList.setFocusPolicy(Qt.NoFocus); # Mutex for keeping very fast flicking gestures # out of each others' hair: self.mutex = QMutex(); # The system clipboard for copy: self.clipboard = QApplication.clipboard(); # Speak-button not working yet: self.speakButton.setDisabled(True); self.connectWidgets(); #self.setGeometry(500, 500, 300, 100); self.show();