Example #1
0
	def __init__ (self):
		gtk.Window.__init__ (self)

		self.set_title (_("Importa/Esporta Database"))
		
		utils.set_icon (self)
		
		self.connect ('delete-event', self.exit)
	
		vbox = gtk.VBox()
		vbox.set_spacing(4)
		vbox.set_border_width(4)
		
		tbl = gtk.Table(2, 4)
		tbl.set_border_width(4)
		tbl.set_row_spacings(4)
		
		self.ver_sette = sette = gtk.RadioButton (None, _("Versione 0.8"))
		self.ver_otto = otto = gtk.RadioButton (sette, _("Versione attuale"))
		
		tbl.attach(utils.new_label(_("Importa:")), 0, 1, 0, 1, xpadding=8)
		
		tbl.attach(utils.new_label(_("Esporta:")), 0, 1, 1, 2, xpadding=8)
		
		self.importa_db = DbEntry ()
		self.esporta_db = DbEntryOut ()
		
		tbl.attach(self.importa_db, 1, 2, 0, 1)
		tbl.attach(self.esporta_db, 1, 2, 1, 2)

		frame = gtk.Frame ("Vecchia versione:")
		vbox = gtk.VBox(2, False)
		
		self.ver_sette = sette = gtk.RadioButton (None, _("Versione 0.8"))
		self.ver_otto = otto = gtk.RadioButton (sette, _("Versione attuale"))

		vbox.pack_start (sette, False, False, 0)
		vbox.pack_start (otto, False, False, 0)

		frame.add(vbox)

		tbl.attach(frame, 0, 2, 2, 3)

		bb = gtk.HButtonBox()
		bb.set_layout(gtk.BUTTONBOX_END)
		
		btn = gtk.Button(stock=gtk.STOCK_OK)
		btn.connect('clicked', self.on_ok)
		bb.pack_start(btn)
		
		btn = gtk.Button(stock=gtk.STOCK_CANCEL)
		btn.connect('clicked', self.on_cancel)
		bb.pack_start(btn)

		tbl.attach (bb, 0, 2, 3, 4, ypadding=4)

		self.add (tbl)
		self.set_resizable (False)

		self.show_all ()
	def _prepare_widgets (self, n_row, n_col, cols):
		"""
		Crea e alloca i widget per il controllo delle colonne in una tabella
		che viene ritornata
		"""
		
		e_tbl = gtk.Table (n_row, n_col)
		e_tbl.set_border_width (4)
		e_tbl.set_col_spacings (8)

		x, y = 0, 0

		for name in cols:
			# Se superiamo il limite ci spostiamo sull'altra colonna e resettiamo x
			
			idx = cols.index (name)
			tmp = self.vars[idx]

			#print "Creating e_%s%d at %d %d %d %d" % (name[:5], self.editing, x, x+1, y, y+1)
			
			#self.__dict__ ["e_" + name [:5] + str (self.editing)] = tmp
			e_tbl.attach (tmp, x+1, x+2, y, y+1)

			e_tbl.attach (utils.new_label (name, x=0, y=0.5), x, x+1, y, y+1, yoptions=gtk.SHRINK)

			if idx == n_col:
				x += 2; y = 0
			else:
				y += 1
		
		return e_tbl
Example #3
0
	def create_gui (self):
		# Qui viene costruita la gui
		vbox = gtk.VBox()
		vbox.set_spacing(4)
		vbox.set_border_width(4)
		
		tbl = gtk.Table(2, 4)
		tbl.set_border_width(4)
		tbl.set_row_spacings(4)
		
		tbl.attach(utils.new_label(_('Inserisci')), 0, 1, 0, 1, xoptions=gtk.SHRINK)
		
		self.importa_db = DbEntry ()
		
		tbl.attach(self.importa_db, 2, 3, 0, 1, xoptions=gtk.SHRINK)
		
		bb = gtk.HButtonBox()
		bb.set_layout(gtk.BUTTONBOX_END)
		
		btn = gtk.Button(stock=gtk.STOCK_OK)
		btn.connect('clicked', self.updatedb)
		bb.pack_start(btn)
		
		btn = gtk.Button(stock=gtk.STOCK_CANCEL)
		btn.connect('clicked', self.exit)
		bb.pack_start(btn)
		
		tbl.attach (bb, 0, 2, 3, 4, ypadding=4)
		
		self.add (tbl)
Example #4
0
	def __init__ (self, legend=False):
		gtk.ScrolledWindow.__init__ (self)
		
		self.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
		
		self.legend = legend
		
		tbl = gtk.Table (4, 2, False)
		
		self.menu = gtk.Menu ()
		
		for y in utils.get ('select * from vasca'):
			self.menu.append (gtk.CheckMenuItem (y[3]))
		
		al = gtk.Alignment(0, 0.5)
		btn = gtk.Button()
		btn.set_relief (gtk.RELIEF_NONE)
		hb = gtk.HBox (0, False)
		hb.add (gtk.Arrow (gtk.ARROW_RIGHT, gtk.SHADOW_ETCHED_IN))
		hb.add (gtk.Label (_("Selezione Vasche")))
		btn.add (hb)
		al.add (btn)
		
		btn.connect ('button_press_event', self.on_popup)
		
		bb = gtk.HButtonBox ()
		bb.set_layout (gtk.BUTTONBOX_EDGE)
		
		button = utils.new_button (_("Plot"), gtk.STOCK_ZOOM_IN)
		button.connect ('clicked', self.on_plot)
		
		bb.pack_start (button)
		
		self.m_box = gtk.VBox (False, 2)
		
		self.checks = []		
		labels = (_('Ph'), _('Kh'), _('Gh'), _('No2'), _('No3'),
			_('Conducibilita\''), _('Ammoniaca'), _('Ferro'), _('Rame'), _('Fosfati'),
			_('Calcio'), _('Magnesio'), _('Densita\''))
		
		x = 1
		funny_toggle = False
		
		for i in labels:
			widg = gtk.CheckButton (i)
			self.checks.append (widg)
			if not funny_toggle:
				tbl.attach (widg, 1, 2, x, x+1)
				x += 1
			else:
				tbl.attach (widg, 0, 1, x, x+1)
				
			funny_toggle = not funny_toggle
		
		tbl.attach (utils.new_label (_("Vasca:")), 0, 1, 0, 1)
		tbl.attach (utils.new_label (_("Valori:")), 0, 1, 1, 2)
		tbl.attach (al, 1, 2, 0, 1)
		tbl.attach (bb, 0, 2, x, x+1)
		
		self.add_with_viewport (tbl)
		
		self.show_all ()
Example #5
0
    def create_gui(self):

        box = gtk.VBox()
        # box.set_spacing(4)
        # box.set_border_width(4)

        # I due frame
        f1 = gtk.Frame(_("Menu"))
        f2 = gtk.Frame(_("Tipo"))

        # Pacchiamoli...
        box.pack_start(f1, False, False, 0)
        box.pack_start(f2, False, False, 0)

        ## creo il combo per il tipo del database
        self.cmb = utils.Combo()
        self.cmb.append_text(_("Pesci Dolce"))
        self.cmb.append_text(_("Piante Dolce"))
        self.cmb.append_text(_("Invertebrati Dolce"))
        self.cmb.append_text(_("Pesci Marino"))
        self.cmb.append_text(_("Piante Marino"))
        self.cmb.append_text(_("Invertebrati Marino"))
        self.cmb.set_active(0)
        self.cmb.connect("changed", self._on_change_view)

        # creo la prima tabella che contiene il combo
        tbl = gtk.Table(1, 2)
        tbl.set_border_width(5)

        tbl.attach(self.cmb, 0, 1, 0, 1, yoptions=gtk.SHRINK)

        # creo i notebook
        self.notebook = gtk.Notebook()
        # self.notebook.set_show_tabs(False)
        # self.notebook.set_show_border(False)

        ## inizio a creare il primo tab che conterra i pesci dolce

        tbl1 = gtk.Table(2, 8)

        tbl1.attach(utils.new_label(_("Nome 1:")), 0, 1, 0, 1)
        self.nome_pesci_dolce = gtk.Entry()
        tbl1.attach(self.nome_pesci_dolce, 1, 2, 0, 1)

        box1 = gtk.VBox()
        box1.pack_start(tbl1, False, False, 0)
        self.notebook.append_page(box1, None)

        ## secondo tab per la tabella piante dolce
        tbl2 = gtk.Table(2, 8)
        tbl2.attach(utils.new_label(_("Nome 2:")), 0, 1, 0, 1)
        self.nome_piante_dolce = gtk.Entry()
        tbl2.attach(self.nome_piante_dolce, 1, 2, 0, 1)

        box2 = gtk.VBox()
        box2.pack_start(tbl2, False, False, 0)
        self.notebook.append_page(box2, None)

        ## terzo tab tabella invertebrati dolce
        tbl3 = gtk.Table(2, 8)
        tbl3.attach(utils.new_label(_("Nome 3:")), 0, 1, 0, 1)
        self.nome_piante_dolce = gtk.Entry()
        tbl3.attach(self.nome_piante_dolce, 1, 2, 0, 1)

        box3 = gtk.VBox()
        box3.pack_start(tbl3, False, False, 0)
        self.notebook.append_page(box3, None)

        ## quarto tab tabella pesci marino
        tbl4 = gtk.Table(2, 8)
        tbl4.attach(utils.new_label(_("Nome 4:")), 0, 1, 0, 1)
        self.nome_piante_dolce = gtk.Entry()
        tbl4.attach(self.nome_piante_dolce, 1, 2, 0, 1)

        box4 = gtk.VBox()
        box4.pack_start(tbl4, False, False, 0)
        self.notebook.append_page(box4, None)

        ## quinto tab piante marino
        tbl5 = gtk.Table(2, 8)
        tbl5.attach(utils.new_label(_("Nome 5:")), 0, 1, 0, 1)
        self.nome_piante_dolce = gtk.Entry()
        tbl5.attach(self.nome_piante_dolce, 1, 2, 0, 1)

        box5 = gtk.VBox()
        box5.pack_start(tbl5, False, False, 0)
        self.notebook.append_page(box5, None)

        ## sesto tab invertebrati marino
        tbl6 = gtk.Table(2, 8)
        tbl6.attach(utils.new_label(_("Nome 6:")), 0, 1, 0, 1)
        self.nome_piante_dolce = gtk.Entry()
        tbl6.attach(self.nome_piante_dolce, 1, 2, 0, 1)

        box6 = gtk.VBox()
        box6.pack_start(tbl6, False, False, 0)
        self.notebook.append_page(box6, None)

        # unisco il tutto......
        f1.add(tbl)
        f2.add(self.notebook)

        self.connect("delete_event", self.exit)

        self.add(box)
    def __init__(self, n_row, n_col, cols, widgets, lst_store):

        assert len(cols) - 1 == len(widgets)

        # Inizializziamo la finestra
        gtk.Window.__init__(self)

        self.vbox = gtk.VBox()

        # Creiamo la store e la view
        self.store = lst_store
        self.view = gtk.TreeView(self.store)
        self.last = len(cols) + 1
        self.vars = widgets

        # Callback per la selection
        self.view.get_selection().connect("changed", self.on_selection_changed)
        self.view.connect("row-activated", self.on_row_activated)

        # for i in range(len(cols)-1):
        # 	print cols[i+1], widgets[i], lst_store.get_column_type(i+1)

        # Le Colonne ..

        renderer = gtk.CellRendererText()
        pix_rend = gtk.CellRendererPixbuf()

        # i nomi sono in cols
        for name in cols:
            id = cols.index(name)

            # print "Adding %d" % id

            if self.store.get_column_type(id) == gobject.TYPE_DOUBLE:

                self.view.insert_column_with_data_func(-1, name, renderer, self.float_func, id)

            else:
                col = None

                if self.store.get_column_type(id).pytype == gtk.gdk.Pixbuf:
                    col = gtk.TreeViewColumn(name, pix_rend, pixbuf=id)
                    self.last -= 1
                else:
                    col = gtk.TreeViewColumn(name, renderer, text=id)

                col.set_sort_column_id(id + 1)
                col.set_clickable(True)
                col.set_resizable(True)

                self.view.append_column(col)

                # print "Pixmap init at %d" % self.last

                # La ScrolledWindow
        self.sw = gtk.ScrolledWindow()
        self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)

        # Pacchiamo
        self.sw.add(self.view)
        self.vbox.pack_start(self.sw)

        # La ButtonBox per le modifiche
        self.button_box = bb = gtk.HButtonBox()
        bb.set_layout(gtk.BUTTONBOX_END)

        btn = gtk.Button(stock=gtk.STOCK_ADD)
        btn.set_relief(gtk.RELIEF_NONE)
        btn.connect("clicked", self.on_add)
        bb.pack_start(btn)

        btn = gtk.Button(stock=gtk.STOCK_REFRESH)
        btn.set_relief(gtk.RELIEF_NONE)
        btn.connect("clicked", self.on_refresh)
        bb.pack_start(btn)

        btn = gtk.Button(stock=gtk.STOCK_REMOVE)
        btn.set_relief(gtk.RELIEF_NONE)
        btn.connect("clicked", self.on_remove)
        bb.pack_start(btn)

        self.vbox.pack_start(bb, False, False, 0)

        # Creiamo la zona editing
        edt_frame = gtk.Frame("Editing:")
        edt_frame.set_shadow_type(gtk.SHADOW_ETCHED_IN)

        self.vbox.pack_start(edt_frame, False, False, 0)

        # Eliminiamo la colonna id che nn ci serve
        cols.remove(cols[0])

        # Andiamo a creare la table per l'editing
        self.table = e_tbl = gtk.Table(n_row, n_col)
        self.table.set_border_width(4)
        self.table.set_col_spacings(8)

        x, y = 0, 0

        for name in cols:
            # Se superiamo il limite ci spostiamo sull'altra colonna e resettiamo x

            idx = cols.index(name)
            tmp = self.vars[idx]

            # print "Creating e_%s at %d %d %d %d" % (name[:5], x, x+1, y, y+1)

            self.__dict__["e_" + name[:5]] = tmp
            e_tbl.attach(tmp, x + 1, x + 2, y, y + 1)

            e_tbl.attach(utils.new_label(name, x=0, y=0.5), x, x + 1, y, y + 1)

            if idx == n_col:
                x += 2
                y = 0
            else:
                y += 1

        edt_frame.add(e_tbl)

        # Aggiungiamo la StatusBar
        self.status = gtk.Statusbar()
        self.image = gtk.Image()

        hbox = gtk.HBox()
        hbox.pack_start(self.image, False, False)
        hbox.pack_start(self.status)

        self.vbox.pack_start(hbox, False, False, 0)

        self.add(self.vbox)
        self.show_all()

        self.image.hide()
        self.timeoutid = None

        self.connect("delete-event", self.on_delete_event)
Example #7
0
	def __init__(self): 
		gtk.Window.__init__(self)
		
		self.set_title(_("Calcoli"))
		self.set_resizable(False)
		
		utils.set_icon (self)
		
		vbox = gtk.VBox()
		vbox.set_spacing(4)
		vbox.set_border_width(4)
		
		# I due frame
		f1 = gtk.Frame(_('Valori')); f2 = gtk.Frame(_('Risultati'))
		
		# Pacchiamoli...
		vbox.pack_start(f1, False, False, 0)
		vbox.pack_start(f2, False, False, 0)
		
		# Tabella per i valori
		tbl_valori = gtk.Table(3, 2)
		tbl_valori.set_border_width(4)
		tbl_valori.set_row_spacings(4)
		
		# Le varie label
		tbl_valori.attach(utils.new_label(_("Vasca:")), 0, 1, 0, 1)
		tbl_valori.attach(utils.new_label(_("Lunghezza in cm:")), 0, 1, 1, 2)
		tbl_valori.attach(utils.new_label(_("Larghezza in cm:")), 0, 1, 2, 3)
		tbl_valori.attach(utils.new_label(_("Altezza in cm:")), 0, 1, 3, 4)
		
		# ComboBox
		self.e_vasca = utils.Combo()
		self.e_vasca.append_text(_("Dolce"))
		self.e_vasca.append_text(_("Marino"))
		self.e_vasca.set_active(0)

		# Quando si sceglie marino o dolce invochiamo aggiorna()
		self.e_vasca.connect('changed', self._on_change_vasca)
		
		# Creiamo le entry per la tabella valori
		self.e_altezza, self.e_lunghezza, self.e_larghezza = gtk.Entry(), gtk.Entry(), gtk.Entry()
		
		tbl_valori.attach(self.e_vasca, 1, 2, 0, 1, yoptions=0)
		tbl_valori.attach(self.e_lunghezza, 1, 2, 1, 2, yoptions=0)
		tbl_valori.attach(self.e_larghezza, 1, 2, 2, 3, yoptions=0)
		tbl_valori.attach(self.e_altezza, 1, 2, 3, 4, yoptions=0)
		
		# Creiamo un notebook di due schede contenenti le diverse
		# tabelle (per dolce e marino)
		self.notebook = gtk.Notebook()
		self.notebook.set_show_tabs(False)
		self.notebook.set_show_border(False)

		# Creiamo la tabella per il tipo Dolce
		tbl = gtk.Table(6, 2)
		tbl.set_border_width(4)
			
		self.dlc_volume = utils.new_label('0', False, labelCopy=_("Volume: %s"))
		self.dlc_piante_inseribili = utils.new_label('0', False, labelCopy=_("Piante inseribili: %s"))
		self.dlc_num_pesci_3_4 = utils.new_label('0', False, labelCopy=_("Numero di pesci 3-4 cm: %s"))
		
		tbl.attach(utils.new_label(_("Volume:")), 0, 1, 0, 1)
		tbl.attach(utils.new_label(_("Piante Inseribili:")), 0, 1, 1, 2)
		tbl.attach(utils.new_label(_("Numero di pesci 3-4 cm:")), 0 ,1, 2, 3)
		
		tbl.attach(self.dlc_volume, 1, 2, 0, 1)
		tbl.attach(self.dlc_piante_inseribili, 1, 2, 1, 2)
		tbl.attach(self.dlc_num_pesci_3_4, 1, 2, 2, 3)
		
		tbl.attach(utils.new_label(_("Numero di pesci 5-6 cm:")), 0, 1, 3, 4)
		tbl.attach(utils.new_label(_("Watt per piante esigenti:")), 0, 1, 4, 5)
		tbl.attach(utils.new_label(_("Watt per piante poco esigenti:")), 0, 1, 5, 6)
		
		self.dlc_num_pesci_5_6 = utils.new_label('0', False, labelCopy=_("Numero di pesci 5-6 cm: %s"))
		self.dlc_watt_esigenti = utils.new_label('0', False, labelCopy=_("Watt per piante esigenti: %s"))
		self.dlc_watt_poco_esigenti = utils.new_label('0', False, labelCopy=_("Watt per piante poco esigenti: %s"))
		
		tbl.attach(self.dlc_num_pesci_5_6, 1, 2, 3, 4)
		tbl.attach(self.dlc_watt_esigenti, 1, 2, 4, 5)
		tbl.attach(self.dlc_watt_poco_esigenti, 1, 2, 5, 6)

		box = gtk.VBox()
		box.pack_start(tbl, False, False, 0)

		# Aggiungiamo la table per il tipo dolce alla notebook
		self.notebook.append_page(box, None)

		# Creiamo la table per il tipo marino
		tbl = gtk.Table(2, 2)
		tbl.set_border_width(4)
		#tbl.set_row_spacings(4)
		
		self.mar_volume = utils.new_label('0', False, labelCopy=_("Volume %s"))
		self.luce_vasche_pesci = utils.new_label('0', False, labelCopy=_("Luce per vasche di pesci: %s"))
		self.luce_coralli_molli = utils.new_label('0', False, labelCopy=_("Luce per coralli molli: %s"))
		self.luce_coralli_duri = utils.new_label('0', False, labelCopy=_("Luce per coralli duri: %s"))
		self.totale_litri_movimento = utils.new_label('0', False, labelCopy=_("Totale l/h in movimento"))
		self.quantita_sabbia_dsb = utils.new_label('0', False, labelCopy=_("Quantita' di sabbia per dsb: %s"))
		
		tbl.attach(utils.new_label(_("Volume:")), 0, 1, 0, 1)
		tbl.attach(utils.new_label(_("Luce per vasche di pesci:")), 0, 1, 1, 2)
		tbl.attach(utils.new_label(_("Luce per coralli molli:")), 0, 1, 2, 3)
		tbl.attach(utils.new_label(_("Luce per coralli duri:")), 0, 1, 3, 4)
		tbl.attach(utils.new_label(_("Totale l/h in movimento:")), 0, 1, 4, 5)
		tbl.attach(utils.new_label(_("Quantita di sabbia per dsb:")), 0, 1, 5, 6)
		
		
		tbl.attach(self.mar_volume, 1, 2, 0, 1)
		tbl.attach(self.luce_vasche_pesci, 1, 2, 1, 2)
		tbl.attach(self.luce_coralli_molli, 1, 2, 2, 3)
		tbl.attach(self.luce_coralli_duri, 1, 2, 3, 4)
		tbl.attach(self.totale_litri_movimento, 1, 2, 4, 5)
		tbl.attach(self.quantita_sabbia_dsb, 1, 2, 5, 6)
		
		
		# Da definire cosa aggiungere.. ecc :p

		box = gtk.VBox()
		box.pack_start(tbl, False, False, 0)

		# Aggiungiamo la table per il tipo marino alla notebook
		self.notebook.append_page(box, None)

		# Pacchiamo la tabella dei valori
		f1.add(tbl_valori)

		# .. e la notebook
		f2.add(self.notebook)
		
		bb = gtk.HButtonBox()
		bb.set_layout(gtk.BUTTONBOX_END)
		
		btn = gtk.Button(stock=gtk.STOCK_REFRESH)
		btn.connect('clicked', self._on_refresh)
		bb.pack_start(btn)

		btn = gtk.Button(stock=gtk.STOCK_COPY)
		btn.connect('clicked', self._on_copy)
		bb.pack_start(btn)
		
		vbox.pack_start(bb, False, False, 0)
		
		self.add(vbox)
		
		self.connect ('delete-event', self._on_delete_event)
		
		self.show_all()
Example #8
0
	def create_gui (self):
		# Qui viene costruita la gui

		box = gtk.VBox()
		box.set_spacing(4)
		box.set_border_width(4)
		
		sw = gtk.ScrolledWindow ()
		sw.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
		sw.set_shadow_type (gtk.SHADOW_ETCHED_IN)
		
		sw.add_with_viewport (box)
		self.add(sw)
		
		f0 = gtk.Frame (_('Connessione')); f1 = gtk.Frame(_('Sonde')); f2 = gtk.Frame(_('Uscite')); f3 = gtk.Frame(_('Regolazione Co2'))

		box.pack_start (f0, False, False, 0)
		box.pack_start (f1, False, False, 0)
		box.pack_start (f2, False, False, 0)
		box.pack_start (f3, False, False, 0)
		
		#f0
		tbl_con = gtk.Table(4, 2)
		tbl_con.set_border_width(5)
		self.but_on = gtk.ToggleButton ('Offline')
		self.but_on.connect("toggled", self.on_toggled)
		tbl_con.attach(self.but_on, 0, 1, 0, 1, xoptions=0)
		
		self.but_salva = gtk.Button('Salva')
		tbl_con.attach(self.but_salva, 1, 2, 0, 1, xoptions=0)
		self.but_salva.connect("clicked", self.on_salva)		
		#f1
		fbox = gtk.HBox ()
		f1_checks = list ()
		x = 1
		for i in (_("pH1"), _("pH2"), _("Temperatura"), _("Redox")):
			tmp = gtk.CheckButton (i)
			f1_checks.append (tmp)
			
			fbox.pack_start (tmp, False, False, 0)


		f1.add (fbox)

		# Aggiungi il resto
		
		tbl = gtk.Table(4, 2)
		tbl.set_border_width(5)
		
		x = 0; labels = ('1', '2', '3', '4', '5', '6', '7', '8', '9', '10'); f2_checks = list ()
		for i in labels:
			widget = gtk.CheckButton(_("Uscita ") + i)
			f2_checks.append (widget)
			tbl.attach (widget, x, x+1, 0, 1, xoptions=gtk.SHRINK); x += 1
		
		lst = [_("Filtro"), _("Co2"), _("Pompa"), _("Riscaldatore"), _("Refrigerante"), _("Schiumatoio"), _("Neon 1"), _("Neon 2"), _("Neon 3"), _("Neon 4"), _("Neon Lunare")]
		
		self.uscita1 = utils.Combo (lst)
		self.uscita2 = utils.Combo (lst)	
		self.uscita3 = utils.Combo (lst)	
		self.uscita4 = utils.Combo (lst)
		self.uscita5 = utils.Combo (lst)
		self.uscita6 = utils.Combo (lst)
		self.uscita7 = utils.Combo (lst)
		self.uscita8 = utils.Combo (lst)
		self.uscita9 = utils.Combo (lst)
		self.uscita10 = utils.Combo (lst)
		
		
		tbl.attach(self.uscita1, 0, 1, 1, 2, xoptions=0)
		tbl.attach(self.uscita2, 1, 2, 1, 2, xoptions=0)
		tbl.attach(self.uscita3, 2, 3, 1, 2, xoptions=0)
		tbl.attach(self.uscita4, 3, 4, 1, 2, xoptions=0)
		tbl.attach(self.uscita5, 4, 5, 1, 2, xoptions=0)
		tbl.attach(self.uscita6, 5, 6, 1, 2, xoptions=0)
		tbl.attach(self.uscita7, 6, 7, 1, 2, xoptions=0)
		tbl.attach(self.uscita8, 7, 8, 1, 2, xoptions=0)
		tbl.attach(self.uscita9, 8, 9, 1, 2, xoptions=0)
		tbl.attach(self.uscita10, 9, 10, 1, 2, xoptions=0)
		
		
		tbl.attach(utils.new_label(_('Accensione')), 0, 1, 2, 3, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Accensione')), 1, 2, 2, 3, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Accensione')), 2, 3, 2, 3, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Accensione')), 3, 4, 2, 3, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Accensione')), 4, 5, 2, 3, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Accensione')), 5, 6, 2, 3, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Accensione')), 6, 7, 2, 3, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Accensione')), 7, 8, 2, 3, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Accensione')), 8, 9, 2, 3, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Accensione')), 9, 10, 2, 3, xoptions=gtk.SHRINK)
		
		
		
		self.usc_1 = utils.TimeEntry ()
		self.usc_2 = utils.TimeEntry ()
		self.usc_3 = utils.TimeEntry ()
		self.usc_4 = utils.TimeEntry ()
		self.usc_5 = utils.TimeEntry ()
		self.usc_6 = utils.TimeEntry ()
		self.usc_7 = utils.TimeEntry ()
		self.usc_8 = utils.TimeEntry ()
		self.usc_9 = utils.TimeEntry ()
		self.usc_10 = utils.TimeEntry ()
		
		tbl.attach(self.usc_1, 0, 1, 3, 4, xoptions=0)
		tbl.attach(self.usc_2, 1, 2, 3, 4, xoptions=0)
		tbl.attach(self.usc_3, 2, 3, 3, 4, xoptions=0)
		tbl.attach(self.usc_4, 3, 4, 3, 4, xoptions=0)
		tbl.attach(self.usc_5, 4, 5, 3, 4, xoptions=0)
		tbl.attach(self.usc_6, 5, 6, 3, 4, xoptions=0)
		tbl.attach(self.usc_7, 6, 7, 3, 4, xoptions=0)
		tbl.attach(self.usc_8, 7, 8, 3, 4, xoptions=0)
		tbl.attach(self.usc_9, 8, 9, 3, 4, xoptions=0)
		tbl.attach(self.usc_10, 9, 10, 3, 4, xoptions=0)
		
		tbl.attach(utils.new_label(_('Spegnimento')), 0, 1, 4, 5, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Spegnimento')), 1, 2, 4, 5, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Spegnimento')), 2, 3, 4, 5, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Spegnimento')), 3, 4, 4, 5, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Spegnimento')), 4, 5, 4, 5, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Spegnimento')), 5, 6, 4, 5, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Spegnimento')), 6, 7, 4, 5, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Spegnimento')), 7, 8, 4, 5, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Spegnimento')), 8, 9, 4, 5, xoptions=gtk.SHRINK)
		tbl.attach(utils.new_label(_('Spegnimento')), 9, 10, 4, 5, xoptions=gtk.SHRINK)
		
		self.usc_11 = utils.TimeEntry ()
		self.usc_21 = utils.TimeEntry ()
		self.usc_31 = utils.TimeEntry ()
		self.usc_41 = utils.TimeEntry ()
		self.usc_51 = utils.TimeEntry ()
		self.usc_61 = utils.TimeEntry ()
		self.usc_71 = utils.TimeEntry ()
		self.usc_81 = utils.TimeEntry ()
		self.usc_91 = utils.TimeEntry ()
		self.usc_111 = utils.TimeEntry ()
		
		tbl.attach(self.usc_11, 0, 1, 5, 6, xoptions=0)
		tbl.attach(self.usc_21, 1, 2, 5, 6, xoptions=0)
		tbl.attach(self.usc_31, 2, 3, 5, 6, xoptions=0)
		tbl.attach(self.usc_41, 3, 4, 5, 6, xoptions=0)
		tbl.attach(self.usc_51, 4, 5, 5, 6, xoptions=0)
		tbl.attach(self.usc_61, 5, 6, 5, 6, xoptions=0)
		tbl.attach(self.usc_71, 6, 7, 5, 6, xoptions=0)
		tbl.attach(self.usc_81, 7, 8, 5, 6, xoptions=0)
		tbl.attach(self.usc_91, 8, 9, 5, 6, xoptions=0)
		tbl.attach(self.usc_111, 9, 10, 5, 6, xoptions=0)
		
		
		# Callbacks
		self.uscita1.connect("changed", self.prova, [self.usc_1, self.usc_11])
		self.uscita2.connect("changed", self.prova, [self.usc_2, self.usc_21])
		self.uscita3.connect("changed", self.prova, [self.usc_3, self.usc_31])
		self.uscita4.connect("changed", self.prova, [self.usc_4, self.usc_41])
		self.uscita5.connect("changed", self.prova, [self.usc_5, self.usc_51])
		self.uscita6.connect("changed", self.prova, [self.usc_6, self.usc_61])
		self.uscita7.connect("changed", self.prova, [self.usc_7, self.usc_71])
		self.uscita8.connect("changed", self.prova, [self.usc_8, self.usc_81])
		self.uscita9.connect("changed", self.prova, [self.usc_9, self.usc_91])
		self.uscita10.connect("changed", self.prova, [self.usc_10, self.usc_111])
		
		lst1 = (_("Sempre acceso"))
		
		self.sempre = gtk.CheckButton (lst1)
		self.sempre.connect("toggled", self.prova1, [self.usc_1, self.usc_11])
		tbl.attach(self.sempre, 0, 1, 6, 7, xoptions=gtk.SHRINK)
		
		self.sempre1 = gtk.CheckButton (lst1)
		self.sempre1.connect("toggled", self.prova1, [self.usc_2, self.usc_21])
		tbl.attach(self.sempre1, 1, 2, 6, 7, xoptions=gtk.SHRINK)
		
		self.sempre2 = gtk.CheckButton (lst1)
		self.sempre2.connect("toggled", self.prova1, [self.usc_3, self.usc_31])
		tbl.attach(self.sempre2, 2, 3, 6, 7, xoptions=gtk.SHRINK)
		
		self.sempre3 = gtk.CheckButton (lst1)
		self.sempre3.connect("toggled", self.prova1, [self.usc_4, self.usc_41])
		tbl.attach(self.sempre3, 3, 4, 6, 7, xoptions=gtk.SHRINK)
		
		self.sempre4 = gtk.CheckButton (lst1)
		self.sempre4.connect("toggled", self.prova1, [self.usc_5, self.usc_51])
		tbl.attach(self.sempre4, 4, 5, 6, 7, xoptions=gtk.SHRINK)
		
		self.sempre5 = gtk.CheckButton (lst1)
		self.sempre5.connect("toggled", self.prova1, [self.usc_6, self.usc_61])
		tbl.attach(self.sempre5, 5, 6, 6, 7, xoptions=gtk.SHRINK)
		
		self.sempre6 = gtk.CheckButton (lst1)
		self.sempre6.connect("toggled", self.prova1, [self.usc_7, self.usc_71])
		tbl.attach(self.sempre6, 6, 7, 6, 7, xoptions=gtk.SHRINK)
		
		self.sempre7 = gtk.CheckButton (lst1)
		self.sempre7.connect("toggled", self.prova1, [self.usc_8, self.usc_81])
		tbl.attach(self.sempre7, 7, 8, 6, 7, xoptions=gtk.SHRINK)
		
		self.sempre8 = gtk.CheckButton (lst1)
		self.sempre8.connect("toggled", self.prova1, [self.usc_9, self.usc_91])
		tbl.attach(self.sempre8, 8, 9, 6, 7, xoptions=gtk.SHRINK)
		
		self.sempre9 = gtk.CheckButton (lst1)
		self.sempre9.connect("toggled", self.prova1, [self.usc_10, self.usc_111])
		tbl.attach(self.sempre9, 9, 10, 6, 7, xoptions=gtk.SHRINK)
		
		
		
		tbl_alba = gtk.Table(2, 4)
		tbl_alba.set_border_width(5)
		
		
		self.co1 = gtk.CheckButton (_("Co2 Permanente"))
		tbl_alba.attach(self.co1, 0, 1, 0, 1, xoptions=gtk.FILL)
		
		self.co2 = gtk.CheckButton (_("Co2 Regolata dalla luce"))
		tbl_alba.attach(self.co2, 0, 1, 1, 2, xoptions=gtk.FILL)
		
		self.co3 = gtk.CheckButton (_("Co2 Regolata dal pH"))
		tbl_alba.attach(self.co3, 0, 1, 2, 3, xoptions=gtk.FILL)
		
		tbl_alba.attach(utils.new_label(_('Valore di pH da mantenere')), 0, 1, 3, 4, xoptions=gtk.FILL)
		
		self.val_ph = utils.FloatEntry ()
		self.val_ph.set_range (0, 10)
		tbl_alba.attach(self.val_ph, 1, 2, 3, 4, xoptions=gtk.SHRINK)
		
		f0.add(tbl_con)
		f2.add(tbl)
		f3.add(tbl_alba)
		
		self.connect ('delete_event', self.exit)
	def __init__(self):
		gtk.ScrolledWindow.__init__(self)
		
		self.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
		
		box = gtk.VBox()
		box.set_spacing(4)
		box.set_border_width(4)
		
		# Iniziamo con la tabella
		tbl = gtk.Table (5, 4, False)
		
		self.store = gtk.ListStore (str)
		self.view = gtk.TreeView (self.store)
		
		self.view.append_column ( gtk.TreeViewColumn (None, gtk.CellRendererText (), text=0) )
		self.view.set_headers_visible (False)
		
		self.view.get_selection ().connect ('changed', self._on_change_selection)
		
		sw = gtk.ScrolledWindow ()
		sw.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
		sw.set_shadow_type (gtk.SHADOW_ETCHED_IN)
		
		sw.add (self.view)
				
		tbl.attach (sw, 0, 2, 0, 3)
		
		
		btn = gtk.Button (stock=gtk.STOCK_REMOVE)
		btn.connect ('clicked', self._on_del_collection)
		
		tbl.attach (btn, 3, 4, 0, 1)
		
		btn = gtk.Button (stock=gtk.STOCK_ADD)
		btn.connect ('clicked', self._on_add_collection)
		
		tbl.attach (btn, 3, 4, 1, 2)
		
		self.combo = utils.Combo ()
		
		self._populate_combo ()
		
		self.combo.set_active (0)
		
		tbl.attach (self.combo, 3, 4, 2, 3)
		
		tbl.attach (utils.new_label (_("Minimo")), 1, 2, 3, 4)
		tbl.attach (utils.new_label (_("Massimo")), 2, 3, 3, 4)
		tbl.attach (utils.new_label (_("Ideale")), 3, 4, 3, 4)
		
		labels = (
			 _('Ph'),
			 _('Kh'),
			 _('Gh'),
			 _('No2'),
			 _('No3'),
			 _('Conducibilita\''),
			 _('Ammoniaca'),
			 _('Ferro'),
			 _('Rame'),
			 _('Fosfati'),
			 _('Calcio'),
			 _('Magnesio'),
			 _('Densita\'')
		)
		
		self.widgets = []
		
		x = 4
		for i in labels:
			tbl.attach (utils.new_label (i), 0, 1, x, x+1)
			
			min_entry = utils.CheckedFloatEntry ()
			max_entry = utils.CheckedFloatEntry ()
			ide_entry = utils.CheckedFloatEntry ()
			
			tbl.attach (min_entry, 1, 2, x, x+1)
			tbl.attach (max_entry, 2, 3, x, x+1)
			tbl.attach (ide_entry, 3, 4, x, x+1)
			
			self.widgets.append ([min_entry, max_entry, ide_entry])
			
			x += 1
		
		box.pack_start(tbl)
		
		bb = gtk.HButtonBox()
		bb.set_layout(gtk.BUTTONBOX_END)
		bb.set_spacing(4)
		
		btn = gtk.Button(stock=gtk.STOCK_APPLY)
		btn.connect('clicked', self._on_apply_changes)
		btn.set_relief (gtk.RELIEF_NONE)
		bb.pack_start(btn)
		box.pack_start(bb, False, False, 0)
		
		
		self.add_with_viewport (box)
		self.show_all ()
Example #10
0
	def __init__(self):
		gtk.Window.__init__(self)
		
		self.set_title(_('Allarmi'))
		self.set_icon_from_file("pixmaps/logopyacqua.jpg")
		
		vbox = gtk.VBox()
		vbox.set_spacing(4)
		vbox.set_border_width(4)
		
		# Pagina Test
		tbl = gtk.Table(10, 2)
		tbl.set_border_width(5)
		
		tbl.attach(utils.new_label(_('Ph')), 0, 1, 0, 1)
		tbl.attach(utils.new_label(_('Kh')), 0, 1, 1, 2)
		tbl.attach(utils.new_label(_('Gh')), 0, 1, 2, 3)
		tbl.attach(utils.new_label(_('No2')), 0, 1, 3, 4)
		tbl.attach(utils.new_label(_('No3')), 0, 1, 4, 5)
		tbl.attach(utils.new_label(_('Conducibilita\'')), 0, 1, 5, 6)
		tbl.attach(utils.new_label(_('Ammoniaca')), 0, 1, 6, 7)
		tbl.attach(utils.new_label(_('Ferro')), 0, 1, 7, 8)
		tbl.attach(utils.new_label(_('Rame')), 0, 1, 8, 9)
		tbl.attach(utils.new_label(_('Fosfati')), 0, 1, 9, 10)
		
		self.ph = utils.new_label('0', False); self.kh = utils.new_label('0', False)
		self.gh = utils.new_label('0', False); self.no2 = utils.new_label('0', False)
		self.no3 = utils.new_label('0', False); self.cond = utils.new_label('0', False)
		self.rame = utils.new_label('0', False); self.fosfati = utils.new_label('0', False)
		self.ammoniaca = utils.new_label('0', False); self.ferro = utils.new_label('0', False)

		tbl.attach(self.ph, 1, 2, 0, 1)
		tbl.attach(self.kh, 1, 2, 1, 2)
		tbl.attach(self.gh, 1, 2, 2, 3)
		tbl.attach(self.no2, 1, 2, 3, 4)
		tbl.attach(self.no3, 1, 2, 4, 5)
		tbl.attach(self.cond, 1, 2, 5, 6)
		tbl.attach(self.ammoniaca, 1, 2, 6, 7)
		tbl.attach(self.ferro, 1, 2, 7, 8)
		tbl.attach(self.rame, 1, 2, 8, 9)
		tbl.attach(self.fosfati, 1, 2, 9, 10)
		
		vbox.pack_start(tbl)

		# creiamo la ButtonBox
		bb = gtk.HButtonBox()
		bb.set_layout(gtk.BUTTONBOX_END)
		bb.set_spacing(4)

		btn = gtk.Button(stock=gtk.STOCK_CLOSE)
		btn.connect('clicked', self.exit)

		bb.pack_start(btn)

		btn = gtk.Button(stock=gtk.STOCK_REFRESH)
		btn.connect('clicked', self.refresh)
		
		bb.pack_start(btn)

		vbox.pack_start(bb, False, False, 0)
		
		self.add(vbox)
		self.show_all()

		self.set_size_request(400, 300)
		
		# Aggiorniamo le label
		self.refresh(None)
Example #11
0
	def make_test_page(self):
		
		# Pagina Test
		tbl = gtk.Table(10, 2)
		tbl.set_border_width(5)
		
		tbl.attach(utils.new_label(_('Ph')), 0, 1, 0, 1)
		tbl.attach(utils.new_label(_('Kh')), 0, 1, 1, 2)
		tbl.attach(utils.new_label(_('Gh')), 0, 1, 2, 3)
		tbl.attach(utils.new_label(_('No2')), 0, 1, 3, 4)
		tbl.attach(utils.new_label(_('No3')), 0, 1, 4, 5)
		tbl.attach(utils.new_label(_('Conducibilita\'')), 0, 1, 5, 6)
		tbl.attach(utils.new_label(_('Ammoniaca')), 0, 1, 6, 7)
		tbl.attach(utils.new_label(_('Ferro')), 0, 1, 7, 8)
		tbl.attach(utils.new_label(_('Rame')), 0, 1, 8, 9)
		tbl.attach(utils.new_label(_('Fosfati')), 0, 1, 9, 10)
		
		self.ph = utils.new_label('0', False); self.kh = utils.new_label('0', False)
		self.gh = utils.new_label('0', False); self.no2 = utils.new_label('0', False)
		self.no3 = utils.new_label('0', False); self.cond = utils.new_label('0', False)
		self.rame = utils.new_label('0', False); self.fosfati = utils.new_label('0', False)
		self.ammoniaca = utils.new_label('0', False); self.ferro = utils.new_label('0', False)

		tbl.attach(self.ph, 1, 2, 0, 1)
		tbl.attach(self.kh, 1, 2, 1, 2)
		tbl.attach(self.gh, 1, 2, 2, 3)
		tbl.attach(self.no2, 1, 2, 3, 4)
		tbl.attach(self.no3, 1, 2, 4, 5)
		tbl.attach(self.cond, 1, 2, 5, 6)
		tbl.attach(self.ammoniaca, 1, 2, 6, 7)
		tbl.attach(self.ferro, 1, 2, 7, 8)
		tbl.attach(self.rame, 1, 2, 8, 9)
		tbl.attach(self.fosfati, 1, 2, 9, 10)

		return tbl