def default_window(n_groups): world.window = gtk.Window(gtk.WINDOW_TOPLEVEL) world.window.set_default_size(800, 150) world.frame = DockFrame() world.window.add(world.frame) world.layout = DockLayout() world.layout.add(world.frame) paned = DockPaned() world.frame.add(paned) world.window.show() world.frame.show() paned.show() world.groups = [] for i in range(int(n_groups)): group = DockGroup() paned.add(group) group.show() world.groups.append(group)
def open(self): load_accel_map() self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_title(self.title) self.window.set_size_request(*self.size) self.window.set_resizable(self.resizable) # set default icons of gaphor windows icon_dir = os.path.abspath(pkg_resources.resource_filename('gaphor.ui', 'pixmaps')) icons = (gtk.gdk.pixbuf_new_from_file(os.path.join(icon_dir, f)) for f in ICONS) self.window.set_icon_list(*icons) self.window.add_accel_group(self.ui_manager.get_accel_group()) # Create a full featured window. vbox = gtk.VBox() self.window.add(vbox) vbox.show() menubar = self.ui_manager.get_widget(self.menubar_path) if menubar: vbox.pack_start(menubar, expand=False) toolbar = self.ui_manager.get_widget(self.toolbar_path) if toolbar: vbox.pack_start(toolbar, expand=False) def _factory(name): comp = self.component_registry.get_utility(IUIComponent, name) logger.debug('open component %s' % str(comp)) return comp.open() filename = pkg_resources.resource_filename('gaphor.ui', 'layout.xml') self.layout = DockLayout() with open(filename) as f: deserialize(self.layout, vbox, f.read(), _factory) self.layout.connect('item-closed', self._on_item_closed) self.layout.connect('item-selected', self._on_item_selected) vbox.show() # TODO: add statusbar self.window.show() self.window.connect('delete-event', self._on_window_delete) # We want to store the window size, so it can be reloaded on startup self.window.set_property('allow-shrink', True) self.window.connect('size-allocate', self._on_window_size_allocate) self.window.connect('destroy', self._on_window_destroy) #self.window.connect_after('key-press-event', self._on_key_press_event) cr = self.component_registry cr.register_handler(self._on_file_manager_state_changed) cr.register_handler(self._on_undo_manager_state_changed) cr.register_handler(self._new_model_content)