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

View File

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

View File

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