[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r6886 - trunk/gnue-forms/src/uidrivers/gtk2
From: |
johannes |
Subject: |
[gnue] r6886 - trunk/gnue-forms/src/uidrivers/gtk2 |
Date: |
Mon, 10 Jan 2005 09:15:15 -0600 (CST) |
Author: johannes
Date: 2005-01-10 09:15:14 -0600 (Mon, 10 Jan 2005)
New Revision: 6886
Modified:
trunk/gnue-forms/src/uidrivers/gtk2/UIdriver.py
Log:
Better placement and size-calculation for exception dialogs
Modified: trunk/gnue-forms/src/uidrivers/gtk2/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/UIdriver.py 2005-01-10 14:59:09 UTC
(rev 6885)
+++ trunk/gnue-forms/src/uidrivers/gtk2/UIdriver.py 2005-01-10 15:15:14 UTC
(rev 6886)
@@ -441,18 +441,20 @@
label.show ()
textView = gtk.TextView ()
- textView.get_buffer ().set_text (detail)
textView.set_pixels_above_lines (2)
textView.set_left_margin (2)
+ textView.set_wrap_mode (gtk.WRAP_NONE)
+ textView.set_cursor_visible (True)
# Just set the textview to 'readonly' so using clipboard still works
textView.set_editable (False)
textView.modify_font (pango.FontDescription ('monospace'))
+ textView.get_buffer ().set_text (detail)
self.detailView = gtk.ScrolledWindow ()
self.detailView.add_with_viewport (textView)
self.detailView.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
- (w, h) = _getFontMetrics ('monospace') [:2]
- self.detailView.set_size_request (w * 80, h * 10)
+ (w, h) = self.__getDetailSize (detail)
+ self.detailView.set_size_request (w, h)
textView.show ()
vbox.pack_start (self.detailView)
@@ -464,6 +466,7 @@
self._showsDetail = False
self._originalSize = self.get_size ()
+ self.set_position (gtk.WIN_POS_CENTER_ALWAYS)
# ---------------------------------------------------------------------------
@@ -481,6 +484,26 @@
self._showsDetail = not self._showsDetail
+
+ # ---------------------------------------------------------------------------
+ # Try to figure out a width and heigth for the traceback-text
+ # ---------------------------------------------------------------------------
+
+ def __getDetailSize (self, detail):
+
+ lines = detail.splitlines ()
+ maxH = len (lines) + 3
+ maxW = 0
+
+ for line in lines:
+ maxW = max (maxW, len (line))
+
+ maxW += 5
+ (w, h) = _getFontMetrics ('monospace') [:2]
+
+ return (min (w * maxW, gtk.gdk.screen_width ()),
+ min (h * maxH, gtk.gdk.screen_height () - 100))
+
# =============================================================================
# Get the current default application font and it's metrics
# =============================================================================
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r6886 - trunk/gnue-forms/src/uidrivers/gtk2,
johannes <=