add gui.startup.create_builder

this pulls some repeated code out into a separate function
This commit is contained in:
Tom Tromey
2013-06-14 15:01:02 -06:00
parent 3acd551297
commit 3e79929585
3 changed files with 11 additions and 9 deletions

View File

@@ -19,7 +19,6 @@ import gdb
import gui.toplevel
import gui.startup
from gi.repository import Gtk
import os.path
import functools
default_log_window = None
@@ -32,8 +31,7 @@ class LogWindow(gui.toplevel.Toplevel):
gui.startup.send_to_gtk(self._initialize)
def _initialize(self):
builder = Gtk.Builder()
builder.add_from_file(os.path.join(gui.self_dir, 'logwindow.xml'))
builder = gui.startup.create_builder('logwindow.xml')
builder.connect_signals(self)
self.window = builder.get_object('logwindow')

View File

@@ -19,7 +19,6 @@ import gdb
from gui.invoker import Invoker
from gui.toplevel import Toplevel
import gui.startup
import os.path
import gui.toplevel
from gi.repository import Gtk, GtkSource, GObject, Gdk
@@ -155,9 +154,7 @@ class SourceWindow(Toplevel):
self.do_finish = Invoker("finish")
self.do_stop = Invoker("interrupt")
builder = Gtk.Builder()
builder.add_from_file(os.path.join(gui.self_dir, 'sourcewindow.xml'))
builder = gui.startup.create_builder('sourcewindow.xml')
builder.connect_signals(self)
self.window = builder.get_object("sourcewindow")
self.view = builder.get_object("view")

View File

@@ -16,14 +16,15 @@
import gdb
import threading
import Queue
import os
import os.path
import gui
import fix_signals
fix_signals.save()
from gi.repository import Gtk, Gdk, GObject, GtkSource
import os
(read_pipe, write_pipe) = os.pipe()
_event_queue = Queue.Queue()
@@ -57,3 +58,9 @@ def start_gtk():
_t.setDaemon(True)
_t.start()
fix_signals.restore()
def create_builder(filename):
builder = Gtk.Builder()
builder.add_from_file(os.path.join(gui.self_dir, filename))
return builder