def __init__(self, parent): gtk.HBox.__init__(self) queryframe = gtk.Frame('Query Parameters') queryframe.set_border_width(2) filterframe = gtk.Frame('Filter') filterframe.set_border_width(2) self.gametypes = GametypesFilter() self.gametypes.set_border_width(2) self.pack_start(queryframe, False, False) self.pack_start(filterframe, True, True) self.pack_start(self.gametypes, False, False) #query parameters, empty and full querybox = gtk.VBox() querybox.set_border_width(5) self.checkbox_showfull = gtk.CheckButton('show full') self.checkbox_showfull.show() self.checkbox_showempty = gtk.CheckButton('show empty') self.checkbox_showempty.show() #filterframe content filtertable = gtk.Table(2, 3) filtertable.set_border_width(5) filterframe.add(filtertable) self.checkbox_hide_non_responsive = gtk.CheckButton( 'hide non responsive') self.checkbox_hide_passworded = gtk.CheckButton('hide passworded') minplayerlabel = gtk.Label('min. players:') maxplayerlabel = gtk.Label('max. players:') self.minplayerentry = gtk.SpinButton() self.maxplayerentry = gtk.SpinButton() self.minplayerentry.set_increments(1, 10) self.maxplayerentry.set_increments(1, 10) self.minplayerentry.set_range(0, 99) self.maxplayerentry.set_range(0, 99) filtertable.attach(self.checkbox_hide_non_responsive, 0, 1, 0, 1) filtertable.attach(self.checkbox_hide_passworded, 0, 1, 1, 2) filtertable.attach(minplayerlabel, 1, 2, 0, 1) filtertable.attach(maxplayerlabel, 1, 2, 1, 2) filtertable.attach(self.minplayerentry, 2, 3, 0, 1) filtertable.attach(self.maxplayerentry, 2, 3, 1, 2) querybox.pack_start(self.checkbox_showfull) querybox.pack_start(self.checkbox_showempty) queryframe.add(querybox) #buttonbox buttonbox = gtk.VBox() buttonbox.set_border_width(5) self.pack_start(buttonbox, False, False) resetbutton = gtk.Button('Reset') resetbutton.connect('clicked', self.on_reset_clicked) resetimage = gtk.Image() resetimage.set_from_stock(gtk.STOCK_REVERT_TO_SAVED,\ gtk.ICON_SIZE_BUTTON) resetbutton.set_image(resetimage) buttonbox.pack_start(resetbutton) self.searchbutton = gtk.Button('Search') self.searchbutton.connect("clicked", self.on_search_clicked) searchimage = gtk.Image() searchimage.set_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_BUTTON) self.searchbutton.set_image(searchimage) buttonbox.pack_start(self.searchbutton) self.set_default_values(False) self.show_all()
def setup_filter_elements(self): """ setup the filter elements """ basic_filter_box = gtk.HBox() self.vbox.pack_start(basic_filter_box, False, False) queryframe = gtk.Frame('Query Parameters') queryframe.set_border_width(2) filterframe = gtk.Frame('Basic Filter') filterframe.set_border_width(2) basic_filter_box.pack_start(queryframe, False, False) basic_filter_box.pack_start(filterframe, True, True) #query parameters, empty and full querybox = gtk.VBox() querybox.set_border_width(5) self.checkbox_showfull = gtk.CheckButton('show full') self.checkbox_showfull.show() self.checkbox_showempty = gtk.CheckButton('show empty') self.checkbox_showempty.show() #filterframe content filtertable = gtk.Table(2, 5) filtertable.set_border_width(5) filterframe.add(filtertable) self.checkbox_hide_non_responsive = gtk.CheckButton( 'hide non responsive') self.checkbox_hide_passworded = gtk.CheckButton('hide passworded') minplayerlabel = gtk.Label('min. players:') maxplayerlabel = gtk.Label('max. players:') self.minplayerentry = gtk.SpinButton() self.maxplayerentry = gtk.SpinButton() self.minplayerentry.set_increments(1, 10) self.maxplayerentry.set_increments(1, 10) self.minplayerentry.set_range(0, 99) self.maxplayerentry.set_range(0, 99) map_label = gtk.Label('Mapname contains:') server_label = gtk.Label('Servername contains:') self.mapnameentry = gtk.Entry() self.servernameentry = gtk.Entry() filtertable.attach(self.checkbox_hide_non_responsive, 0, 1, 0, 1) filtertable.attach(self.checkbox_hide_passworded, 0, 1, 1, 2) filtertable.attach(minplayerlabel, 1, 2, 0, 1) filtertable.attach(maxplayerlabel, 1, 2, 1, 2) filtertable.attach(self.minplayerentry, 2, 3, 0, 1) filtertable.attach(self.maxplayerentry, 2, 3, 1, 2) filtertable.attach(map_label, 3, 4, 0, 1) filtertable.attach(self.mapnameentry, 4, 5, 0, 1) filtertable.attach(server_label, 3, 4, 1, 2) filtertable.attach(self.servernameentry, 4, 5, 1, 2) querybox.pack_start(self.checkbox_showfull) querybox.pack_start(self.checkbox_showempty) queryframe.add(querybox) self.gametypesfilter = GametypesFilter() self.vbox.pack_start(self.gametypesfilter, False, False) self.create_gear_chooser() self.create_cvar_filter()