def _setup_widgets(self):
"""
create all the window staticaly placed widgets.
"""
#load the saved setting before start.
self.set_settings(Utils.load_conffile("conf.json"))
# basic window definitions
self.connect("destroy",self.destroy)
self.connect("focus_in_event",self.on_window_focus)
self.connect("configure_event",self.on_window_resize)
self.set_default_size(self.win_size[0],self.win_size[1])
self.set_keep_above(True)
#self.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
self.move(self.win_pos[0],self.win_pos[1])
# parse gimp theme gtkrc
gtkrc_path = self._get_theme_gtkrc(gimp.personal_rc_file('themerc'))
if os.name != 'nt':# try apply the theme by parse a gtkrc file if is not a windows system.
gtk.rc_parse(gtkrc_path)
else: # if error occur them parse the file in another way.
gtk.rc_add_default_file(gtkrc_path)
gtk.rc_reparse_all()
# start creating basic layout
base = gtk.VBox()
# commands bar widgets
cbar = gtk.HBox()
cbar.pack_start(self._setup_playbackbar(),False,False,10)
cbar.pack_start(self._setup_editbar(),False,False,10)
cbar.pack_start(self._setup_onionskin(),False,False,10)
cbar.pack_start(self._setup_config(),False,False,10)
cbar.pack_start(self._setup_generalbar(),False,False,10)
# frames bar widgets
self.frame_bar = gtk.HBox()
scroll_window = gtk.ScrolledWindow()
scroll_window.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_AUTOMATIC)
scroll_window.add_with_viewport(self.frame_bar)
scroll_window.set_size_request(-1,140)
# mount the widgets together
base.pack_start(cbar,False,False,0)
base.pack_start(scroll_window,True,True,0)
self.add(base)
# catch all layers
self._scan_image_layers()
self.active = 0
self.on_goto(None,GIMP_ACTIVE)
# finalize showing all widgets
self.show_all()
评论列表
文章目录