Beispiel #1
0
    def showEvent(self, event):
        super(XScintillaEdit, self).showEvent(event)

        if self._dirty:
            self._dirty = False

            language = self.language()
            self.setLexer(None)

            # grab the language from the lang module if it is a string
            if language and type(language) != XLanguage:
                language = XLanguage.byName(language)

            # collect the language's lexer
            if not language:
                return

            if language.tabWidth():
                self.setTabWidth(language.tabWidth())

            lexer = language.createLexer(self, self._colorSet)
            if not lexer:
                return

            # update the margins font
            mfont = QFont(self.font())
            mfont.setPointSize(mfont.pointSize() - 2)
            self.setMarginsFont(mfont)

            QApplication.sendPostedEvents(self, -1)

            # hack to force update the colors
            for i in range(100):
                lexer.setColor(lexer.color(i), i)
Beispiel #2
0
 def showEvent(self, event):
     super(XScintillaEdit, self).showEvent(event)
     
     if self._dirty:
         self._dirty = False
         
         language = self.language()
         self.setLexer(None)
         
         # grab the language from the lang module if it is a string
         if language and type(language) != XLanguage:
             language = XLanguage.byName(language)
         
         # collect the language's lexer
         if not language:
             return
         
         if language.tabWidth():
             self.setTabWidth(language.tabWidth())
         
         lexer = language.createLexer(self, self._colorSet)
         if not lexer:
             return
         
         # update the margins font
         mfont = QFont(self.font())
         mfont.setPointSize(mfont.pointSize() - 2)
         self.setMarginsFont(mfont)
         
         QApplication.sendPostedEvents(self, -1)
         
         # hack to force update the colors
         for i in range(100):
             lexer.setColor(lexer.color(i), i)
Beispiel #3
0
 def setCheckedRecords( self, records ):
     """
     Sets the checked off records to the list of inputed records.
     
     :param      records | [<orb.Table>, ..]
     """
     QApplication.sendPostedEvents(self, -1)
     indexes = []
     
     for i in range(self.count()):
         record = self.recordAt(i)
         if record is not None and record in records:
             indexes.append(i)
     
     self.setCheckedIndexes(indexes)
Beispiel #4
0
 def restore(self, viewWidget):
     """
     Applies the profile to the inputed view widget.
     
     :param      viewWidget | <XViewWidget>
     """
     if self._xmlElement is None:
         return False
     
     # disable all the information
     viewWidget.blockSignals(True)
     viewWidget.setUpdatesEnabled(False)
     viewWidget.setCursor(Qt.WaitCursor)
     
     viewWidget.reset(force=True)
     
     # make sure all the cleanup happens (short of GUI updates)
     QApplication.sendPostedEvents()
     
     # restore the widget data
     try:
         xml_elem = self._xmlElement[0]
     except IndexError:
         viewWidget.unsetCursor()
         viewWidget.blockSignals(False)
         viewWidget.setUpdatesEnabled(True)
         return False
     
     widget = self.restoreWidget(viewWidget,
                                 viewWidget,
                                 xml_elem)
                                 
     viewWidget.setWidget(widget)
     viewWidget.setLocked(self._xmlElement.get('locked') == 'True')
     
     # enable the infromation
     viewWidget.unsetCursor()
     viewWidget.blockSignals(False)
     viewWidget.setUpdatesEnabled(True)
     return True
Beispiel #5
0
    def restore(self, viewWidget):
        """
        Applies the profile to the inputed view widget.
        
        :param      viewWidget | <XViewWidget>
        """
        if self._xmlElement is None:
            return False

        # disable all the information
        viewWidget.blockSignals(True)
        viewWidget.setUpdatesEnabled(False)
        viewWidget.setCursor(Qt.WaitCursor)

        viewWidget.reset(force=True)

        # make sure all the cleanup happens (short of GUI updates)
        QApplication.sendPostedEvents()

        # restore the widget data
        try:
            xml_elem = self._xmlElement[0]
        except IndexError:
            viewWidget.unsetCursor()
            viewWidget.blockSignals(False)
            viewWidget.setUpdatesEnabled(True)
            return False

        widget = self.restoreWidget(viewWidget, viewWidget, xml_elem)

        viewWidget.setWidget(widget)
        viewWidget.setLocked(self._xmlElement.get('locked') == 'True')

        # enable the infromation
        viewWidget.unsetCursor()
        viewWidget.blockSignals(False)
        viewWidget.setUpdatesEnabled(True)
        return True