Hello all, I have a deep background in java and I am now using python for some OSS work, however I'm having some trouble with creating a settings dialog with two unique Tree's of type ListStore.
In the following code, the functions get_streams() & get_jingles() each need to create their own unique ScrollList object, however they seem to be sharing something. http://savonet.svn.sourceforge.net/viewvc/savonet/trunk/rocket/liguidsoap.py?view=markup class settings: dialog = gtk.Dialog() def __init__(self,widget,data=None): self.get_dialog() def get_dialog(self): flags = gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT buttons = (gtk.STOCK_OK, gtk.RESPONSE_ACCEPT) dialog = gtk.Dialog("Settings",None,flags,buttons) dialog.set_size_request(600,400) dialog.show() button = gtk.Button("test") button.show() dialog.vbox.pack_start(self.get_notebook(),0) #if dialog.run() == gtk.RESPONSE_ACCEPT: # print "run" #dialog.destroy() return True def get_notebook(self): notebook = gtk.Notebook() notebook.show() blankFrame = gtk.Frame("This is a blank frame") blankFrame.show() frameTwo = gtk.Frame("This is a blank frame") frameTwo.show() notebook.append_page(blankFrame,gtk.Label("Layout")) notebook.append_page(self.get_jingles(),gtk.Label("Jingles")) notebook.append_page(self.get_streams(),gtk.Label("Streams")) notebook.append_page(frameTwo,gtk.Label("Users")) return notebook def get_streams(self): streams = gtk.Frame() streams.show() #Setup the scrollable list sl = self.scrollList( ("Name", "Status") ) sl.append_row(["Local","Connected"]) sl.append_row(["Sustain","Connected"]) sl.append_row(["Main Stream - High Bandwidth","Connected"]) sl.append_row(["Main Stream - Low Bandwidth","Connected"]) buttons = gtk.HButtonBox() buttons.show() editButton = gtk.Button("Edit") editButton.show() buttons.pack_end(editButton) vBox = gtk.VBox(False,2) vBox.show() vBox.pack_start(sl) vBox.pack_end(buttons) streams.add(vBox) return streams def get_jingles(self): jingles = gtk.Frame() jingles.show() sl = self.scrollList( ("Name","Owner") ) sl.append_row( ["Main","Studio Manager"] ) buttons = gtk.HButtonBox() buttons.show() editButton = gtk.Button("Edit") editButton.show() accessButton = gtk.Button("Access") accessButton.show() buttons.pack_end(editButton) buttons.pack_end(accessButton) vBox = gtk.VBox(False,2) vBox.show() vBox.pack_start(sl) vBox.pack_start(buttons) jingles.add(vBox) return jingles class scrollList(gtk.ScrolledWindow): listModel = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING) treeView = gtk.TreeView() columns = (gobject.TYPE_STRING,gobject.TYPE_STRING) def __init__(self,columns): gtk.ScrolledWindow.__init__(self) self.columns = columns self.set_size_request(1,280) self.show() self.treeView = gtk.TreeView() self.treeView.show() self.add(self.treeView) self.treeView.set_model(self.listModel) self.treeView.set_headers_visible(True) count = 0 for i in columns: renderer=gtk.CellRendererText() column=gtk.TreeViewColumn(i,renderer,text=count) column.set_resizable(True) self.treeView.append_column(column) count+=1 def append_row(self,row): self.listModel.append(row)
_______________________________________________ pygtk mailing list [email protected] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
