View Single Post
Posts: 2 | Thanked: 0 times | Joined on Aug 2010
#1
I write settings dialog for desktop widget and I need TreeView with numbers list. If use ScrolledWindow for TreeView there is no problems to display widgets, except hildon functions. If use PannableArea with SizeRequestPolicy MINIMAL TreeView area displayed too small, with CHILDREN TreeView widget displayed above a buttons and lables.

How fix this ?

Code:
class SMSWidgetDialog(gtk.Dialog):   
   def __init__(self):                      
        gtk.Dialog.__init__(self)            
                                                       
        db_store = self._preload()                     
                                                       
        self.set_title('SMS Filter Settings')          
                                                       
        store_text = gtk.ListStore(gobject.TYPE_STRING)
        for row in db_store:                           
                store_text.append(["%s" % row[0]])     
                                                       
        view = gtk.TreeView()                          
        view.columns = [None]                          
        view.columns[0] = gtk.TreeViewColumn('text')   
                                                              
        view.set_model(store_text)                                  
                                                                    
        view.append_column(view.columns[0])                         
        view.columns[0].cell = gtk.CellRendererText()               
        view.columns[0].pack_start(view.columns[0].cell, True)      
        view.columns[0].set_attributes(view.columns[0].cell, text=0)
                                                                    
        view_scroll = hildon.PannableArea()                         
        view_scroll.add(view)                                       
                                                                    
        self.input = gtk.Entry()                                    
                                                                    
        hbox = gtk.HBox()                                           
        add_button = gtk.Button('Add number')                       
        add_button.connect('clicked', self._add_item)
        remove_button = gtk.Button('Remove selected')
        hbox.pack_start(add_button, False, 0)        
        hbox.pack_end(remove_button, False, 0)       
                                                     
                                                     
        label = gtk.Label('Numbers')                                                             
        label.set_alignment(0, 0.5)                           
        label.set_alignment(0, 0.5)                                 
        self.vbox.add(label)                                        
        self.vbox.add(self.input)                                   
        self.vbox.add(hbox)                                         
                                                                    
        self.show_all()