def __init__(self): self.tools=Tools.Tools() self.oraTools={} self.tabDBline=[] self.filles = [] ## ITEM PARAM self.len_combo_top = 40 self.len_combo_mid = 40 self.len_entry_query = 100 ## FENETRE Window.__init__(self, "Administration Oracle") self.fenetre.connect("delete_event", self.close_main) settings = gtk.settings_get_default() settings.props.gtk_button_images = True self.vbox_main=gtk.VBox(False, 0) self.fenetre.add(self.vbox_main) self.set_xml_menu() self.hbox_top = gtk.HBox(False, 0) self.vbox_sep1 = gtk.VBox(False, 0) self.hbox_mid = gtk.HBox(False, 0) self.vbox_sep2 = gtk.VBox(False, 0) self.hbox_bot = gtk.HBox(True, 0) self.vbox_main.pack_start(self.hbox_top, False, False, 30) self.vbox_main.pack_start(self.vbox_sep1, False, False, 0) self.vbox_main.pack_start(self.hbox_mid, False, False, 30) self.vbox_main.pack_start(self.vbox_sep2, False, False, 0) self.vbox_main.pack_start(self.hbox_bot, False, False, 30) ## STOCK ITEM self.stock_items = ( ("gtk-connectDB", "", 0, 0, None), ("gtk-disconnectDB", "", 0, 0, None), ("gtk-addConnection", "", 0, 0, None), ("gtk-playQuery", "", 0, 0, None), ("gtk-spreport", "", 0, 0, None), ) self.stock_aliases = ( ("gtk-connectDB", gtk.STOCK_CONNECT), ("gtk-disconnectDB", gtk.STOCK_DISCONNECT), ("gtk-addConnection", gtk.STOCK_ADD), ("gtk-playQuery", gtk.STOCK_MEDIA_PLAY), ("gtk-spreport", gtk.STOCK_PROPERTIES), ) gtk.stock_add(self.stock_items) factory = gtk.IconFactory() factory.add_default() style = gtk.Style() for item, alias in self.stock_aliases: icon_set = style.lookup_icon_set(alias) factory.add(item, icon_set) ## vbox_sep self.frame_sep1=gtk.Frame("") self.frame_sep2=gtk.Frame("") self.vbox_sep1.pack_start(self.frame_sep1, False, False, 5) self.vbox_sep2.pack_start(self.frame_sep2, False, False, 5) self.tab_form = gtk.Table(1, 11, False) self.hbox_top.pack_start(self.tab_form, False, False, 0) # Add Line self.but_addLine=gtk.Button(stock="gtk-addConnection") self.but_addLine.modify_bg(gtk.STATE_NORMAL, self.but_color) self.but_addLine.connect("clicked", self.addConnectionLine) self.but_addLine.set_sensitive(True) # combo box dbList combo_dbList=gtk.combo_box_new_text() combo_dbList.modify_bg(gtk.STATE_NORMAL, self.but_color) combo_dbList.append_text(" "*self.len_combo_top) for dbList in _DBLIST.keys(): combo_dbList.append_text(dbList) combo_dbList.connect('changed', self.changeDbList, 0) # combo box db combo_db=gtk.combo_box_new_text() combo_db.modify_bg(gtk.STATE_NORMAL, self.but_color) combo_db.append_text(" "*self.len_combo_top) combo_db.connect('changed', self.changeDb, 0) # combo box dbUser combo_dbUser=gtk.combo_box_new_text() combo_dbUser.modify_bg(gtk.STATE_NORMAL, self.but_color) combo_dbUser.append_text(" "*self.len_combo_top) combo_dbUser.connect('changed', self.changeDbUser, 0) # Connexion but_connect=gtk.Button(stock="gtk-connectDB") but_connect.modify_bg(gtk.STATE_NORMAL, self.but_color) but_connect.connect("clicked", self.connectDb, 0) but_connect.set_sensitive(False) # Deconnexion but_disconnect=gtk.Button(stock="gtk-disconnectDB") but_disconnect.modify_bg(gtk.STATE_NORMAL, self.but_color) but_disconnect.connect("clicked", self.disconnectDb, 0) # Statspack but_statspack=gtk.Button(stock="gtk-spreport") but_statspack.modify_bg(gtk.STATE_NORMAL, self.but_color) but_statspack.connect("clicked", self.generateSpreport, 0) # Tab DB line self.tabDBline.append(TableDBLine(0, but_connect, but_disconnect, but_statspack, combo_dbList, combo_db, combo_dbUser)) self.tab_form.attach(self.but_addLine, 0, 1, 0, 1) self.tab_form.attach(self.tabDBline[0].label_dbList, 1, 2, 0, 1) self.tab_form.attach(self.tabDBline[0].combo_dbList, 2, 3, 0, 1) self.tab_form.attach(self.tabDBline[0].label_empty, 3, 4, 0, 1) self.tab_form.attach(self.tabDBline[0].label_db, 4, 5, 0, 1) self.tab_form.attach(self.tabDBline[0].combo_db, 5, 6, 0, 1) self.tab_form.attach(self.tabDBline[0].label_empty2, 6, 7, 0, 1) self.tab_form.attach(self.tabDBline[0].label_dbUser, 7, 8, 0, 1) self.tab_form.attach(self.tabDBline[0].combo_dbUser, 8, 9, 0, 1) self.tab_form.attach(self.tabDBline[0].but_connect, 9, 10, 0, 1) self.tab_form.attach(self.tabDBline[0].but_disconnect, 10, 11, 0, 1) self.tab_form.attach(self.tabDBline[0].but_statspack, 11, 12, 0, 1) ## Query Box # Frame Query self.frm_query=gtk.Frame("Requête libre") self.frm_registeredQuery=gtk.Frame("Requête pré-fabriquée") self.frm_parameter=gtk.Frame("Paramètre") # Query Button self.but_query=gtk.Button(stock="gtk-playQuery") self.but_query.modify_bg(gtk.STATE_NORMAL, self.but_color) self.but_query.connect("clicked", self.execQuery, "query") # Query Text self.entry_query = gtk.Entry() self.entry_query.set_width_chars(self.len_entry_query) # RegisteredQuery Button self.but_registeredQuery=gtk.Button(stock="gtk-playQuery") self.but_registeredQuery.modify_bg(gtk.STATE_NORMAL, self.but_color) self.but_registeredQuery.connect("clicked", self.execQuery, "registered") self.but_registeredQuery.set_sensitive(False) # RegisteredQuery combobox self.combo_registeredQuery=gtk.combo_box_new_text() self.combo_registeredQuery.modify_bg(gtk.STATE_NORMAL, self.but_color) self.combo_registeredQuery.append_text(" "*self.len_combo_mid) for queryName in _REGISTEREDQUERY.keys(): self.combo_registeredQuery.append_text(queryName) self.combo_registeredQuery.connect('changed', self.changeRegisteredQuery) # Parameter Text self.entry_parameter = gtk.Entry() self.entry_parameter.set_width_chars(self.len_entry_query) # Parameter Button self.but_parameter=gtk.Button(stock="gtk-playQuery") self.but_parameter.modify_bg(gtk.STATE_NORMAL, self.but_color) self.but_parameter.connect("clicked", self.execQuery, "parameter") self.tab_query_global = gtk.Table(1, 5, False) label_empty = gtk.Label(" ") label_empty.set_alignment(xalign=0.0, yalign=0.5) label_empty2 = gtk.Label(" ") label_empty2.set_alignment(xalign=0.0, yalign=0.5) self.hbox_mid.pack_start(self.tab_query_global, False, False, 0) self.tab_query_global.attach(self.frm_query, 0, 1, 0, 1) self.tab_query_global.attach(label_empty, 0, 1, 1, 2) self.tab_query_global.attach(self.frm_registeredQuery, 0, 1, 2, 3) self.tab_query_global.attach(label_empty2, 0, 1, 3, 4) self.tab_query_global.attach(self.frm_parameter, 0, 1, 4, 5) self.tab_query_query = gtk.Table(2, 1, False) self.tab_query_registeredQuery = gtk.Table(2, 1, False) self.tab_query_parameter = gtk.Table(2, 1, False) self.frm_query.add(self.tab_query_query) self.frm_registeredQuery.add(self.tab_query_registeredQuery) self.frm_parameter.add(self.tab_query_parameter) self.tab_query_query.attach(self.but_query, 0, 1, 0, 1) self.tab_query_query.attach(self.entry_query, 1, 2, 0, 1) self.tab_query_registeredQuery.attach(self.but_registeredQuery, 0, 1, 0, 1) self.tab_query_registeredQuery.attach(self.combo_registeredQuery, 1, 2, 0, 1) self.tab_query_parameter.attach(self.but_parameter, 0, 1, 0, 1) self.tab_query_parameter.attach(self.entry_parameter, 1, 2, 0, 1) # ProgressBar self.progressBar_workingSQL = gtk.ProgressBar() self.progressBar_workingSQL.set_size_request(400,-1) self.hbox_bot.pack_start(self.progressBar_workingSQL, False, False, 0) self.progressBar_workingSQL.set_fraction(0) ## SHOW self.fenetre.show_all() ## Resize sizeCombo = self.entry_parameter.size_request() self.combo_registeredQuery.set_size_request(sizeCombo[0],sizeCombo[1]) ## HIDE self.tabDBline[0].but_disconnect.hide() self.tabDBline[0].but_statspack.hide()
def addConnectionLine(self, widget=None): # New Size tab_form numRows = self.tab_form.get_property('n-rows') numCol = self.tab_form.get_property('n-columns') self.tab_form.resize(numRows+1, numCol) # combo box dbList combo_dbList=gtk.combo_box_new_text() combo_dbList.modify_bg(gtk.STATE_NORMAL, self.but_color) combo_dbList.append_text(" "*self.len_combo_top) for dbList in _DBLIST.keys(): combo_dbList.append_text(dbList) combo_dbList.connect('changed', self.changeDbList, numRows) # combo box db combo_db=gtk.combo_box_new_text() combo_db.modify_bg(gtk.STATE_NORMAL, self.but_color) combo_db.append_text(" "*self.len_combo_top) combo_db.connect('changed', self.changeDb, numRows) # combo box dbUser combo_dbUser=gtk.combo_box_new_text() combo_dbUser.modify_bg(gtk.STATE_NORMAL, self.but_color) combo_dbUser.append_text(" "*self.len_combo_top) combo_dbUser.connect('changed', self.changeDbUser, numRows) # Connexion but_connect=gtk.Button(stock="gtk-connectDB") but_connect.modify_bg(gtk.STATE_NORMAL, self.but_color) but_connect.connect("clicked", self.connectDb, numRows) but_connect.set_sensitive(False) # Deconnexion but_disconnect=gtk.Button(stock="gtk-disconnectDB") but_disconnect.modify_bg(gtk.STATE_NORMAL, self.but_color) but_disconnect.connect("clicked", self.disconnectDb, numRows) # Statspack but_statspack=gtk.Button(stock="gtk-spreport") but_statspack.modify_bg(gtk.STATE_NORMAL, self.but_color) but_statspack.connect("clicked", self.generateSpreport, 0) # Tab line self.tabDBline.append(TableDBLine(numRows, but_connect, but_disconnect, but_statspack, combo_dbList, combo_db, combo_dbUser)) # Attach tab self.tab_form.attach(self.tabDBline[-1].label_dbList, 1, 2, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].combo_dbList, 2, 3, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].label_empty, 3, 4, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].label_db, 4, 5, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].combo_db, 5, 6, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].label_empty2, 6, 7, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].label_dbUser, 7, 8, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].combo_dbUser, 8, 9, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].but_connect, 9, 10, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].but_disconnect, 10, 11, numRows, numRows+1) self.tab_form.attach(self.tabDBline[-1].but_statspack, 11, 12, numRows, numRows+1) # SHOW / HIDE self.tabDBline[-1].label_dbList.show() self.tabDBline[-1].combo_dbList.show() self.tabDBline[-1].label_empty.show() self.tabDBline[-1].label_db.show() self.tabDBline[-1].combo_db.show() self.tabDBline[-1].label_empty2.show() self.tabDBline[-1].label_dbUser.show() self.tabDBline[-1].combo_dbUser.show() self.tabDBline[-1].but_connect.show()