RefactoringRope/PreviewDialogBase.py

changeset 3
3be1b4662b48
child 20
83b71483e198
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RefactoringRope/PreviewDialogBase.py	Sat Jan 29 15:10:40 2011 +0100
@@ -0,0 +1,65 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2011 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a dialog base class to preview changes.
+"""
+
+from PyQt4.QtCore import Qt
+from PyQt4.QtGui import QDialog, QBrush, QColor, QTextCursor
+
+from Ui_PreviewDialog import Ui_PreviewDialog
+
+import Globals
+
+class PreviewDialogBase(QDialog, Ui_PreviewDialog):
+    """
+    Class implementing a dialog base class to preview changes.
+    """
+    def __init__(self, parent = None):
+        """
+        Constructor
+        
+        @param parent reference to the parent widget (QWidget)
+        """
+        QDialog.__init__(self, parent)
+        self.setAttribute(Qt.WA_DeleteOnClose)
+        self.setupUi(self)
+        
+        if Globals.isWindowsPlatform():
+            self.previewEdit.setFontFamily("Lucida Console")
+        else:
+            self.previewEdit.setFontFamily("Monospace")
+        
+        self.formats = {}
+        self.formats[' '] = self.previewEdit.currentCharFormat()
+        format = self.previewEdit.currentCharFormat()
+        format.setBackground(QBrush(QColor(190, 237, 190)))
+        self.formats['+'] = format
+        format = self.previewEdit.currentCharFormat()
+        format.setBackground(QBrush(QColor(237, 190, 190)))
+        self.formats['-'] = format
+        format = self.previewEdit.currentCharFormat()
+        format.setBackground(QBrush(QColor(190, 190, 237)))
+        self.formats['@'] = format
+        format = self.previewEdit.currentCharFormat()
+        format.setBackground(QBrush(QColor(124, 124, 124)))
+        self.formats['?'] = format
+        format = self.previewEdit.currentCharFormat()
+        format.setBackground(QBrush(QColor(190, 190, 190)))
+        self.formats['='] = format
+    
+    def _appendText(self, txt, format):
+        """
+        Restricted method to append text to the end of the contents pane.
+        
+        @param txt text to insert (string)
+        @param format text format to be used (QTextCharFormat)
+        """
+        tc = self.previewEdit.textCursor()
+        tc.movePosition(QTextCursor.End)
+        self.previewEdit.setTextCursor(tc)
+        self.previewEdit.setCurrentCharFormat(format)
+        self.previewEdit.insertPlainText(txt)

eric ide

mercurial