[Glade-users] Possible bug with File-chooser dialog?



On Thu, 2010-01-07 at 23:26 -0200, Tristan Van Berkom wrote:
On Thu, Jan 7, 2010 at 9:03 PM, alsaf <alfraealba at googlemail.com> wrote:
[...]

I am in the process of converting pyGTK code to glade in my program. The
program is split into a number of files stored in packages. I want to
store the glade files in the packages and call them up on the fly inside
the packages. Is this possible or do I have to create all widgets at
startup and pass the builder objects to the package classes?


Sure, some people like to write an object class to handle a portion
of the interface, and distribute separate Glade files for each of these
portions, whether they are distributed together or separately shouldnt
change the fact that you can mesh the interfaces together by way
of parenting them or having separate toplevels etc.

Cheers,
      -Tristan


Thanks for taking the time to reply to this.

I wasn't thinking this through properly. I set up the builder object in
the class initiation function and in in this class I amended the
relevant function to show and then hide it when destroyed. In the main
program I created only one instance of the class globally rather than
creating it again and again in the button callback

For reference, a brief description of what I did is as follows:

##############################################################################
# main.py
# This is the main program


...
...
# Imports the class file containing delete dialog which is in
delete_dialog package
import delete_dialog.dialog_tree
....

# Global variable
dd_ins = delete_dialog.dialog_tree.delete_folder_dialog_class()

...
other code
...
    # button callback which calls the function in class 
    def del_button_cb(self, widget, data=None):
         self.dd_ins.create_dialog()
...
other code
...
# end of main.py
#####################################################################


#####################################################################
#dialog_tree.py (in delete_dialog package)

class delete_folder_dialog_class:
        def __init__( self):
                self.builder = gtk.Builder()
                self.builder.add_from_file("delete_dialog/delete_dialog.glade")
                self.dialog = self.builder.get_object("delete_dialog")
                self.dd_treeview = self.builder.get_object("dd_treeview")
                self.dd_treestore = self.builder.get_object("dd_treestore")
                self.del_button = self.builder.get_object("del_button") 
                self.cancel_buton = self.builder.get_object("cancel_button")
                self.dd_error_message = self.builder.get_object("dd_error_message")
                self.dd_info_message = self.builder.get_object("dd_info_message")
                self.builder.connect_signals(self)

...
other code 
...
        def create_dialog(self):
                self.dialog.run()
                self.dialog.show()
                self.dialog.hide()

#end of dialog_tree.py
############################################################################





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]