def __init__(self, window, parent, model, attrs={}): interface.widget_interface.__init__(self, window, parent, model, attrs) self.widget = gtk.VBox(homogeneous=False, spacing=1) hb = gtk.HBox(homogeneous=False, spacing=3) self.wid_text = gtk.Entry() self.wid_text.set_property('width_chars', 13) self.wid_text.connect('activate', self._sig_activate) self.wid_text.connect('populate-popup', self._menu_open) hb.pack_start(self.wid_text, expand=True, fill=True) hb.pack_start(gtk.VSeparator(), padding=2, expand=False, fill=False) self.wid_but_add = gtk.Button(stock='gtk-add') self.wid_but_add.set_relief(gtk.RELIEF_HALF) self.wid_but_add.set_focus_on_click(True) self.wid_but_add.connect('clicked', self._sig_add) hb.pack_start(self.wid_but_add, padding=3, expand=False, fill=False) self.wid_but_remove = gtk.Button(stock='gtk-remove') self.wid_but_remove.set_relief(gtk.RELIEF_HALF) self.wid_but_remove.set_focus_on_click(True) self.wid_but_remove.connect('clicked', self._sig_remove) hb.pack_start(self.wid_but_remove, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) self.context = tools.expr_eval(attrs.get('context',"{}")) self.screen = Screen(attrs['relation'], view_type=['tree'], views_preload=attrs.get('views', {}), row_activate=self.row_activate, limit=pager.DEFAULT_LIMIT, context=self.context) self.screen.signal_connect(self, 'record-message', self._sig_label) self.screen.type = 'many2many' self.model = None self.model_field = None self.name = attrs['name'] self.pager = pager(object=self, relation=attrs['relation'], screen=self.screen) # Button Previous Page self.eb_prev_page = self.pager.create_event_box(_('Previous Page'), self._sig_prev_page, 'gtk-goto-first') hb.pack_start(self.eb_prev_page, expand=False, fill=False) # Button Previous Record self.eb_pre = self.pager.create_event_box(_('Previous Record'), self._sig_previous, 'gtk-go-back') hb.pack_start(self.eb_pre, expand=False, fill=False) # Record display self.label = gtk.Label('(0,0)') hb.pack_start(self.label, expand=False, fill=False) # Button Next self.eb_next = self.pager.create_event_box(_('Next Record'), self._sig_next, 'gtk-go-forward') hb.pack_start(self.eb_next, expand=False, fill=False) # Button Next Page self.eb_next_page = self.pager.create_event_box(_('Next Page'), self._sig_next_page, 'gtk-goto-last') hb.pack_start(self.eb_next_page, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # LIMIT COMBO self.cb = self.pager.create_combo_box(_('Choose Limit'), self.limit_changed) hb.pack_start(self.cb, expand=False, fill=False) self.widget.pack_start(hb, expand=False, fill=False) self.widget.pack_start(gtk.HSeparator(), expand=False, fill=True) scroll = gtk.ScrolledWindow() scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) scroll.set_property('height-request', 200) scroll.set_placement(gtk.CORNER_TOP_LEFT) scroll.set_shadow_type(gtk.SHADOW_NONE) scroll.add_with_viewport(self.screen.widget) self.widget.pack_start(scroll, expand=True, fill=True)
def __init__(self, window, parent, model, attrs={}): interface.widget_interface.__init__(self, window, parent, model, attrs) self.context = {} self._readonly = self.default_readonly self.widget = gtk.VBox(homogeneous=False, spacing=5) hb = gtk.HBox(homogeneous=False, spacing=5) event_box = gtk.EventBox() event_box.set_events(gtk.gdk.BUTTON_PRESS_MASK) hb.pack_start(event_box, expand=True, fill=True) # the context to pass to default_get can be optionally specified in # the context of the one2many field. We also support a legacy # 'default_get' attribute for the same effect (pending removal) default_get_ctx = (attrs.get('default_get') or attrs.get('context')) self.context = tools.expr_eval(attrs.get('context',"{}"), {"__builtins__":None, "parent": parent}) self.screen = Screen(attrs['relation'], view_type=attrs.get('mode','tree,form').split(','), parent=self.parent, views_preload=attrs.get('views', {}), tree_saves=attrs.get('saves', False), create_new=True, context=self.context, row_activate=self._on_activate, default_get=default_get_ctx, window=self._window, readonly=self._readonly, limit=pager.DEFAULT_LIMIT) self.screen.type = 'one2many' self.pager = pager(object=self, relation=attrs['relation'], screen=self.screen) # Button New self.eb_new = self.pager.create_event_box(_('Create a new entry'), self._sig_new, 'gtk-new') hb.pack_start(self.eb_new, expand=False, fill=False) # Button Edit self.eb_open = self.pager.create_event_box(_('Edit this entry'), self._sig_edit, 'gtk-open') hb.pack_start(self.eb_open, expand=False, fill=False) # Button Delete self.eb_del = self.pager.create_event_box(_('Remove this entry'), self._sig_remove, 'gtk-delete') hb.pack_start(self.eb_del, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Previous Page self.eb_prev_page = self.pager.create_event_box(_('Previous Page'), self._sig_prev_page, 'gtk-goto-first') hb.pack_start(self.eb_prev_page, expand=False, fill=False) # Button Previous Record self.eb_pre = self.pager.create_event_box(_('Previous Record'), self._sig_previous, 'gtk-go-back') hb.pack_start(self.eb_pre, expand=False, fill=False) # Record display self.label = gtk.Label('(0,0)') hb.pack_start(self.label, expand=False, fill=False) # Button Next self.eb_next = self.pager.create_event_box(_('Next Record'), self._sig_next, 'gtk-go-forward') hb.pack_start(self.eb_next, expand=False, fill=False) # Button Next Page self.eb_next_page = self.pager.create_event_box(_('Next Page'), self._sig_next_page, 'gtk-goto-last') hb.pack_start(self.eb_next_page, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Switch self.eb_switch = self.pager.create_event_box(_('Switch'), self.switch_view, 'gtk-justify-left') hb.pack_start(self.eb_switch, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Limit Combo self.cb = self.pager.create_combo_box(_('Choose Limit'), self.limit_changed) hb.pack_start(self.cb, expand=False, fill=False) self.widget.pack_start(hb, expand=False, fill=True) self.screen.signal_connect(self, 'record-message', self._sig_label) menu_title = gtk.Label('<b>'+self.screen.current_view.title.replace('&','&').replace('<','<').replace('>','>')+'</b>') menu_title.set_use_markup(True) menu_title.set_alignment(0, 0) event_box.add(menu_title) event_box.connect('button_press_event',self.load_menu) self.screen.widget.set_property('height-request', 100) self.widget.pack_start(self.screen.widget, expand=True, fill=True) self.screen.widget.connect('key_press_event', self.on_keypress) self.model = None self.model_field = None self.name = attrs['name']
def __init__(self, window, parent, model, attrs={}): interface.widget_interface.__init__(self, window, parent, model, attrs) self.context = {} #TODO: # group by context are evaled here as we need the context in screen # while displaying. # We need a better way to eval context that has group_by' # We needed to do this as normal context also get evaled here # and results in a traceback which should not be evaled here. if str(attrs.get('context',"{}")).find('group_by') != -1: self.context = tools.expr_eval(attrs.get('context',"{}")) self._readonly = self.default_readonly self.widget = gtk.VBox(homogeneous=False, spacing=5) hb = gtk.HBox(homogeneous=False, spacing=5) menubar = gtk.MenuBar() if hasattr(menubar, 'set_pack_direction') and \ hasattr(menubar, 'set_child_pack_direction'): menubar.set_pack_direction(gtk.PACK_DIRECTION_LTR) menubar.set_child_pack_direction(gtk.PACK_DIRECTION_LTR) menuitem_title = gtk.ImageMenuItem(stock_id='gtk-preferences') menu_title = gtk.Menu() menuitem_set_to_default = gtk.MenuItem(_('Set to default value'), True) menuitem_set_to_default.connect('activate', lambda *x:self._menu_sig_default_get()) menu_title.add(menuitem_set_to_default) menuitem_set_default = gtk.MenuItem(_('Set Default'), True) menuitem_set_default.connect('activate', lambda *x: self._menu_sig_default_set()) menu_title.add(menuitem_set_default) menuitem_title.set_submenu(menu_title) menubar.add(menuitem_title) hb.pack_start(menubar, expand=True, fill=True) if self.context.get('group_by'): self.context['group_by'] = [self.context['group_by']] # the context to pass to default_get can be optionally specified in # the context of the one2many field. We also support a legacy # 'default_get' attribute for the same effect (pending removal) default_get_ctx = (attrs.get('default_get') or attrs.get('context')) self.screen = Screen(attrs['relation'], view_type=attrs.get('mode','tree,form').split(','), parent=self.parent, views_preload=attrs.get('views', {}), tree_saves=attrs.get('saves', False), create_new=True, context=self.context, row_activate=self._on_activate, default_get=default_get_ctx, window=self._window, readonly=self._readonly, limit=pager.DEFAULT_LIMIT) self.screen.type = 'one2many' self.pager = pager(object=self, relation=attrs['relation'], screen=self.screen) # Button New self.eb_new = self.pager.create_event_box(_('Create a new entry'), self._sig_new, 'gtk-new') hb.pack_start(self.eb_new, expand=False, fill=False) # Button Edit self.eb_open = self.pager.create_event_box(_('Edit this entry'), self._sig_edit, 'gtk-open') hb.pack_start(self.eb_open, expand=False, fill=False) # Button Delete self.eb_del = self.pager.create_event_box(_('Remove this entry'), self._sig_remove, 'gtk-delete') hb.pack_start(self.eb_del, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Previous Page self.eb_prev_page = self.pager.create_event_box(_('Previous Page'), self._sig_prev_page, 'gtk-goto-first') hb.pack_start(self.eb_prev_page, expand=False, fill=False) # Button Previous Record self.eb_pre = self.pager.create_event_box(_('Previous Record'), self._sig_previous, 'gtk-go-back') hb.pack_start(self.eb_pre, expand=False, fill=False) # Record display self.label = gtk.Label('(0,0)') hb.pack_start(self.label, expand=False, fill=False) # Button Next self.eb_next = self.pager.create_event_box(_('Next Record'), self._sig_next, 'gtk-go-forward') hb.pack_start(self.eb_next, expand=False, fill=False) # Button Next Page self.eb_next_page = self.pager.create_event_box(_('Next Page'), self._sig_next_page, 'gtk-goto-last') hb.pack_start(self.eb_next_page, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Switch self.eb_switch = self.pager.create_event_box(_('Switch'), self.switch_view, 'gtk-justify-left') hb.pack_start(self.eb_switch, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Limit Combo self.cb = self.pager.create_combo_box(_('Choose Limit'), self.limit_changed) hb.pack_start(self.cb, expand=False, fill=False) self.widget.pack_start(hb, expand=False, fill=True) self.screen.signal_connect(self, 'record-message', self._sig_label) menuitem_title.get_child().set_markup('<b>'+self.screen.current_view.title.replace('&','&').replace('<','<').replace('>','>')+'</b>') self.widget.pack_start(self.screen.widget, expand=True, fill=True) self.screen.widget.connect('key_press_event', self.on_keypress) self.model = None self.model_field = None self.name = attrs['name']
def __call__(self): pager.pager()(str(self))
ttlcode = wiki.xpath("//h1")[0] soup = html.tostring(ttlcode) try: title = ttlcode.xpath("i/text()")[0] except IndexError: sys.exit("Error: No such movie found. Try adding '(film)' to the end.") #Getting the plot paragraphs renodes = wiki.xpath("//h2[span='Plot']/following-sibling::*") for renode in renodes: if renode.tag != 'h2': soup += html.tostring(renode) else: break htmlfrag = re.sub(reAnchor, "", soup) htmlfrag = re.sub("</a>", "", htmlfrag) htmlfrag = re.sub(reTable, "", htmlfrag) ePage = pager(htmlfrag, title) metadata = { "title" : title, } if args.app: printepub.printEpub(ePage, metadata) elif arg.new: printepub.newEpub(ePage, metadata) print "Success!"
def __call__(self): pager.pager()(self.__str__())
def __init__(self, window, parent, model, attrs={}, label=None): interface.widget_interface.__init__(self, window, parent, model, attrs, label_ebox=label) self.context = {} self._readonly = self.default_readonly self.widget = gtk.VBox(homogeneous=False, spacing=5) hb = gtk.HBox(homogeneous=False, spacing=5) event_box = gtk.EventBox() event_box.set_events(gtk.gdk.BUTTON_PRESS_MASK) hb.pack_start(event_box, expand=True, fill=True) # the context to pass to default_get can be optionally specified in # the context of the one2many field. We also support a legacy # 'default_get' attribute for the same effect (pending removal) default_get_ctx = (attrs.get('default_get') or attrs.get('context')) self.context = tools.expr_eval(attrs.get('context',"{}"), {"__builtins__":None}) self.screen = Screen(attrs['relation'], view_type=attrs.get('mode','tree,form').split(','), parent=self.parent, views_preload=attrs.get('views', {}), tree_saves=attrs.get('saves', False), create_new=True, row_activate=self._on_activate, default_get=default_get_ctx, context = self.context, window=self._window, readonly=self._readonly, limit=pager.DEFAULT_LIMIT) self.screen.type = 'one2many' self.pager = pager(object=self, relation=attrs['relation'], screen=self.screen) # Button New self.eb_new = self.pager.create_event_box(_('Create a new entry'), self._sig_new, 'gtk-new') hb.pack_start(self.eb_new, expand=False, fill=False) # Button Edit self.eb_open = self.pager.create_event_box(_('Edit this entry'), self._sig_edit, 'gtk-open') hb.pack_start(self.eb_open, expand=False, fill=False) # Button Delete self.eb_del = self.pager.create_event_box(_('Remove this entry'), self._sig_remove, 'gtk-delete') hb.pack_start(self.eb_del, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Previous Page self.eb_prev_page = self.pager.create_event_box(_('Previous Page'), self._sig_prev_page, 'gtk-goto-first') hb.pack_start(self.eb_prev_page, expand=False, fill=False) # Button Previous Record self.eb_pre = self.pager.create_event_box(_('Previous Record'), self._sig_previous, 'gtk-go-back') hb.pack_start(self.eb_pre, expand=False, fill=False) # Record display self.label = gtk.Label('(0,0)') hb.pack_start(self.label, expand=False, fill=False) # Button Next self.eb_next = self.pager.create_event_box(_('Next Record'), self._sig_next, 'gtk-go-forward') hb.pack_start(self.eb_next, expand=False, fill=False) # Button Next Page self.eb_next_page = self.pager.create_event_box(_('Next Page'), self._sig_next_page, 'gtk-goto-last') hb.pack_start(self.eb_next_page, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Switch self.eb_switch = self.pager.create_event_box(_('Switch'), self.switch_view, 'gtk-justify-left') hb.pack_start(self.eb_switch, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Limit Combo self.cb = self.pager.create_combo_box(_('Choose Limit'), self.limit_changed) hb.pack_start(self.cb, expand=False, fill=False) self.widget.pack_start(hb, expand=False, fill=True) self.screen.signal_connect(self, 'record-message', self._sig_label) menu_title = gtk.Label('<b>'+self.screen.current_view.title.replace('&','&').replace('<','<').replace('>','>')+'</b>') menu_title.set_use_markup(True) menu_title.set_alignment(0, 0) event_box.add(menu_title) event_box.connect('button_press_event',self.load_menu) self.screen.widget.set_property('height-request', 100) self.widget.pack_start(self.screen.widget, expand=True, fill=True) self.screen.widget.connect('key_press_event', self.on_keypress) self.model = None self.model_field = None self.name = attrs['name']
def __init__(self, window, parent, model, attrs={}): interface.widget_interface.__init__(self, window, parent, model, attrs) self.context = {} #TODO: # group by context are evaled here as we need the context in screen # while displaying. # We need a better way to eval context that has group_by' # We needed to do this as normal context also get evaled here # and results in a traceback which should not be evaled here. if str(attrs.get('context', "{}")).find('group_by') != -1: self.context = tools.expr_eval(attrs.get('context', "{}")) self._readonly = self.default_readonly self.widget = gtk.VBox(homogeneous=False, spacing=5) hb = gtk.HBox(homogeneous=False, spacing=5) menubar = gtk.MenuBar() if hasattr(menubar, 'set_pack_direction') and \ hasattr(menubar, 'set_child_pack_direction'): menubar.set_pack_direction(gtk.PACK_DIRECTION_LTR) menubar.set_child_pack_direction(gtk.PACK_DIRECTION_LTR) menuitem_title = gtk.ImageMenuItem(stock_id='gtk-preferences') menu_title = gtk.Menu() menuitem_set_to_default = gtk.MenuItem(_('Set to default value'), True) menuitem_set_to_default.connect( 'activate', lambda *x: self._menu_sig_default_get()) menu_title.add(menuitem_set_to_default) menuitem_set_default = gtk.MenuItem(_('Set Default'), True) menuitem_set_default.connect('activate', lambda *x: self._menu_sig_default_set()) menu_title.add(menuitem_set_default) menuitem_title.set_submenu(menu_title) menubar.add(menuitem_title) hb.pack_start(menubar, expand=True, fill=True) if self.context.get('group_by'): self.context['group_by'] = [self.context['group_by']] # the context to pass to default_get can be optionally specified in # the context of the one2many field. We also support a legacy # 'default_get' attribute for the same effect (pending removal) default_get_ctx = (attrs.get('default_get') or attrs.get('context')) self.screen = Screen(attrs['relation'], view_type=attrs.get('mode', 'tree,form').split(','), parent=self.parent, views_preload=attrs.get('views', {}), tree_saves=attrs.get('saves', False), create_new=True, context=self.context, row_activate=self._on_activate, default_get=default_get_ctx, window=self._window, readonly=self._readonly, limit=pager.DEFAULT_LIMIT) self.screen.type = 'one2many' self.pager = pager(object=self, relation=attrs['relation'], screen=self.screen) # Button New self.eb_new = self.pager.create_event_box(_('Create a new entry'), self._sig_new, 'gtk-new') hb.pack_start(self.eb_new, expand=False, fill=False) # Button Edit self.eb_open = self.pager.create_event_box(_('Edit this entry'), self._sig_edit, 'gtk-open') hb.pack_start(self.eb_open, expand=False, fill=False) # Button Delete self.eb_del = self.pager.create_event_box(_('Remove this entry'), self._sig_remove, 'gtk-delete') hb.pack_start(self.eb_del, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Previous Page self.eb_prev_page = self.pager.create_event_box( _('Previous Page'), self._sig_prev_page, 'gtk-goto-first') hb.pack_start(self.eb_prev_page, expand=False, fill=False) # Button Previous Record self.eb_pre = self.pager.create_event_box(_('Previous Record'), self._sig_previous, 'gtk-go-back') hb.pack_start(self.eb_pre, expand=False, fill=False) # Record display self.label = gtk.Label('(0,0)') hb.pack_start(self.label, expand=False, fill=False) # Button Next self.eb_next = self.pager.create_event_box(_('Next Record'), self._sig_next, 'gtk-go-forward') hb.pack_start(self.eb_next, expand=False, fill=False) # Button Next Page self.eb_next_page = self.pager.create_event_box( _('Next Page'), self._sig_next_page, 'gtk-goto-last') hb.pack_start(self.eb_next_page, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Switch self.eb_switch = self.pager.create_event_box(_('Switch'), self.switch_view, 'gtk-justify-left') hb.pack_start(self.eb_switch, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Limit Combo self.cb = self.pager.create_combo_box(_('Choose Limit'), self.limit_changed) hb.pack_start(self.cb, expand=False, fill=False) self.widget.pack_start(hb, expand=False, fill=True) self.screen.signal_connect(self, 'record-message', self._sig_label) menuitem_title.get_child().set_markup( '<b>' + self.screen.current_view.title.replace('&', '&').replace( '<', '<').replace('>', '>') + '</b>') self.widget.pack_start(self.screen.widget, expand=True, fill=True) self.screen.widget.connect('key_press_event', self.on_keypress) self.model = None self.model_field = None self.name = attrs['name']
(opts, files) = parser.parse_args() # make sure we got a valid exam file if not files: input = sys.stdin else: examfile = files[0] if not os.path.exists(examfile): sys.stderr.write("ERROR - no such file: %s\n" % examfile) sys.exit(-1) input = open(examfile) # start the exam file if any outX = None if opts.exams is None else open(opts.exams, 'w') pager = None if outX is None else \ pager(outX, int(opts.line_width), int(opts.page_length)) outR = None if opts.rubric is None else open(opts.rubric, 'w') # start the solutions file (if any) outS = None if opts.solns is None else open(opts.solns, 'w') if outS and opts.soln_prolog: interpolate(opts.soln_prolog, outS) # process each exam line in the input file lineNum = 0 heading = False for line in input: lineNum += 1 # strip off leading/trailing blanks
def __init__(self, window, parent, model, attrs={}, label=None): interface.widget_interface.__init__(self, window, parent, model, attrs, label_ebox=label) self.context = {} self._readonly = self.default_readonly self.widget = gtk.VBox(homogeneous=False, spacing=5) hb = gtk.HBox(homogeneous=False, spacing=5) menubar = gtk.MenuBar() if hasattr(menubar, "set_pack_direction") and hasattr(menubar, "set_child_pack_direction"): menubar.set_pack_direction(gtk.PACK_DIRECTION_LTR) menubar.set_child_pack_direction(gtk.PACK_DIRECTION_LTR) menuitem_title = gtk.ImageMenuItem(stock_id="gtk-preferences") menu_title = gtk.Menu() menuitem_set_to_default = gtk.MenuItem(_("Set to default value"), True) menuitem_set_to_default.connect("activate", lambda *x: self._menu_sig_default_get()) menu_title.add(menuitem_set_to_default) menuitem_set_default = gtk.MenuItem(_("Set Default"), True) menuitem_set_default.connect("activate", lambda *x: self._menu_sig_default_set()) menu_title.add(menuitem_set_default) menuitem_title.set_submenu(menu_title) menubar.add(menuitem_title) hb.pack_start(menubar, expand=True, fill=True) # the context to pass to default_get can be optionally specified in # the context of the one2many field. We also support a legacy # 'default_get' attribute for the same effect (pending removal) default_get_ctx = attrs.get("default_get") or attrs.get("context") self.context = tools.expr_eval(attrs.get("context", "{}"), {"__builtins__": None}) self.screen = Screen( attrs["relation"], view_type=attrs.get("mode", "tree,form").split(","), parent=self.parent, views_preload=attrs.get("views", {}), tree_saves=attrs.get("saves", False), create_new=True, row_activate=self._on_activate, default_get=default_get_ctx, context=self.context, window=self._window, readonly=self._readonly, limit=pager.DEFAULT_LIMIT, ) self.screen.type = "one2many" self.pager = pager(object=self, relation=attrs["relation"], screen=self.screen) # Button New self.eb_new = self.pager.create_event_box(_("Create a new entry"), self._sig_new, "gtk-new") hb.pack_start(self.eb_new, expand=False, fill=False) # Button Edit self.eb_open = self.pager.create_event_box(_("Edit this entry"), self._sig_edit, "gtk-open") hb.pack_start(self.eb_open, expand=False, fill=False) # Button Delete self.eb_del = self.pager.create_event_box(_("Remove this entry"), self._sig_remove, "gtk-delete") hb.pack_start(self.eb_del, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Previous Page self.eb_prev_page = self.pager.create_event_box(_("Previous Page"), self._sig_prev_page, "gtk-goto-first") hb.pack_start(self.eb_prev_page, expand=False, fill=False) # Button Previous Record self.eb_pre = self.pager.create_event_box(_("Previous Record"), self._sig_previous, "gtk-go-back") hb.pack_start(self.eb_pre, expand=False, fill=False) # Record display self.label = gtk.Label("(0,0)") hb.pack_start(self.label, expand=False, fill=False) # Button Next self.eb_next = self.pager.create_event_box(_("Next Record"), self._sig_next, "gtk-go-forward") hb.pack_start(self.eb_next, expand=False, fill=False) # Button Next Page self.eb_next_page = self.pager.create_event_box(_("Next Page"), self._sig_next_page, "gtk-goto-last") hb.pack_start(self.eb_next_page, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Button Switch self.eb_switch = self.pager.create_event_box(_("Switch"), self.switch_view, "gtk-justify-left") hb.pack_start(self.eb_switch, expand=False, fill=False) hb.pack_start(gtk.VSeparator(), expand=False, fill=True) # Limit Combo self.cb = self.pager.create_combo_box(_("Choose Limit"), self.limit_changed) hb.pack_start(self.cb, expand=False, fill=False) self.widget.pack_start(hb, expand=False, fill=True) self.screen.signal_connect(self, "record-message", self._sig_label) menuitem_title.get_child().set_markup( "<b>" + self.screen.current_view.title.replace("&", "&").replace("<", "<").replace(">", ">") + "</b>" ) self.widget.pack_start(self.screen.widget, expand=True, fill=True) self.screen.widget.connect("key_press_event", self.on_keypress) self.model = None self.model_field = None self.name = attrs["name"]