def __init__(self, ctrl, client=None, title=None): ''' ctrl: is the controller necessary to manage MVC pattern client: could be None for a new client view or client object of client info view tittle: is the tittle of the window ''' self.controller = ctrl self.builder = gtk.Builder() main_window_name = "client_info" glade_name = "client_view.glade" try: self.filename = views.get_data_dev(glade_name) self.builder.add_from_file(self.filename) except glib.GError: self.filename = views.get_data(glade_name) self.builder.add_from_file(self.filename) self.window = self.builder.get_object(main_window_name) ######## client variables ######### self.name_entry = self.builder.get_object("name_entry") self.surname_entry = self.builder.get_object("surname_entry") self.dni_entry = self.builder.get_object("dni_entry") self.email_entry = self.builder.get_object("email_entry") self.web_entry = self.builder.get_object("web_entry") self.notification_label = self.builder.get_object("notification_label") self.apply_button = self.builder.get_object("apply") self.client_id_label = self.builder.get_object("client_id_label") if tests.debbuging: self.client_id_label.set_visible(True) ######## address 1 variables ######### # to manage the address notebook it create a list of address_view objects __address_pages__ # with the same index of the notebook page index # If the client doesn't have any address its insert in the page 0 an empty # address table as an address_view object without filled up self.address_pages = [] self.address_notebook = self.builder.get_object("address_notebook") self.modified = [] # Store what kind of object has been modified either client, or address self.to_modify_add = [] # Store the tab_number of the modified already stores address self.to_new_add = [] # For new address, modified and NO already stores self.to_delete_add = [] # For address deleted, just the stored ones self.has_new_add = -1 # has_new_add is the index of the new add without been modified or -1 dic = { "on_client_info_destroy" : self.quit, "on_cancel_clicked" : self.cancel, "client_entry_changed" : self.client_changed, "address_entry_changed" : self.address_changed, "on_new_address_clicked" : self.new_address, "on_delete_address" : self.delete_address, "on_apply_clicked" : self.save_apply, } self.window.set_title(title) self.client = client self.populate_client_view(client) self.builder.connect_signals(dic)
def __init__(self, ctrl): ''' Build the main dashboard view using the main_view.glade file located in interfaces ''' self.controller = ctrl self.builder = gtk.Builder() self.main_window_name = "Ord-en Ley" glade_name = "main_view.glade" try: self.filename = views.get_data_dev(glade_name) self.builder.add_from_file(self.filename) except glib.GError: self.filename = views.get_data(glade_name) self.builder.add_from_file(self.filename) self.treeview = self.builder.get_object("client_tree") self.liststore = self.builder.get_object("client_store") self.notifier_label = self.builder.get_object("notifier_label") self.id_column = self.builder.get_object("id_column") self.id_column.set_visible(False) self.window = self.builder.get_object(self.main_window_name) if tests.debbuging: print "self.window=" + str(self.window) print "self.filename=" + str(self.filename) print "self.builder=" + str(self.builder) self.id_column.set_visible(True) dic = { "gtk_main_quit" : self.quit, "on_main_view_destroy" : self.quit, "gtk_main_quit" : self.quit, "on_client_tree_row_activated" : self.row_activated, "on_new_client_clicked" : self.new_client, "on_delete_client_clicked" : self.delete_client, } self.builder.connect_signals(dic) self.activated_clients = [] self.window.set_title("Ord-en Ley") # iter_id is a variable to get all pairs id iter in the liststore self.__iter_id = {}