/
modificaproprietario.rb
executable file
·138 lines (121 loc) · 4.04 KB
/
modificaproprietario.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#Modifica proprietari
def modificaproprietario
mmodprop = Gtk::Window.new("Modifica proprietario")
mmodprop.window_position=(Gtk::Window::POS_CENTER_ALWAYS)
boxmodpropv = Gtk::VBox.new(false, 0)
boxmodprop1 = Gtk::HBox.new(false, 5)
boxmodprop2 = Gtk::HBox.new(false, 5)
boxmodprop3 = Gtk::HBox.new(false, 5)
boxmodprop4 = Gtk::HBox.new(false, 5)
boxmodprop5 = Gtk::HBox.new(false, 5)
boxmodpropv.pack_start(boxmodprop1, false, false, 5)
boxmodpropv.pack_start(boxmodprop2, false, false, 5)
boxmodpropv.pack_start(boxmodprop3, false, false, 5)
boxmodpropv.pack_start(boxmodprop4, false, false, 5)
boxmodpropv.pack_start(boxmodprop5, false, false, 5)
mmodprop.add(boxmodpropv)
#Combo di scelta proprietario
labelproprietario = Gtk::Label.new("Selezona proprietario:")
boxmodprop1.pack_start(labelproprietario, false, false, 5)
def caricaprop
@listaprop = Gtk::ListStore.new(Integer, String, String, String, String)
@listaprop.clear
selprop = Props.find(:all, :order => "prop")
selprop.each do |p|
iter1 = @listaprop.append
iter1[0] = p.id
iter1[1] = p.prop
iter1[2] = p.codfisc
iter1[3] = p.piva
iter1[4] = p.idf
end
end
caricaprop
@comboprop = Gtk::ComboBox.new(@listaprop)
renderer1 = Gtk::CellRendererText.new
@comboprop.pack_start(renderer1,false)
@comboprop.set_attributes(renderer1, :text => 1)
boxmodprop1.pack_start(@comboprop.popdown, false, false, 0)
#Nome proprietario
labelnomeprop = Gtk::Label.new("Nome proprietario:")
boxmodprop2.pack_start(labelnomeprop, false, false, 5)
@nomeprop = Gtk::Entry.new()
@nomeprop.max_length=(50)
boxmodprop2.pack_start(@nomeprop, false, false, 5)
#Tipo di identificativo fiscale
labeltipoif = Gtk::Label.new("Tipo di identificativo fiscale:")
boxmodprop3.pack_start(labeltipoif, false, false, 5)
tipoif1 = Gtk::RadioButton.new("Codice fiscale")
idfisc = Gtk::Entry.new()
@idfisc = Gtk::Entry.new()
tipoif1.active=(true)
tipoif="F"
@idfisc.max_length=(16)
tipoif1.signal_connect("toggled") {
if tipoif1.active?
tipoif="F"
#puts tipoif
@idfisc.max_length=(16)
end
}
boxmodprop3.pack_start(tipoif1, false, false, 5)
tipoif2 = Gtk::RadioButton.new(tipoif1, "Partita IVA")
tipoif2.signal_connect("toggled") {
if tipoif2.active?
tipoif="I"
#puts tipoif
@idfisc.max_length=(11)
end
}
boxmodprop3.pack_start(tipoif2, false, false, 5)
#Identificativo fiscale
labelidfisc = Gtk::Label.new("Identificativo fiscale:")
boxmodprop4.pack_start(labelidfisc, false, false, 5)
@idfisc = Gtk::Entry.new()
# @idfisc.max_length=(16)
boxmodprop4.pack_start(@idfisc, false, false, 5)
@comboprop.signal_connect( "changed" ) {
@nomeprop.text=("#{@comboprop.active_iter[1]}")
@idfisc.text=("#{@comboprop.active_iter[2]}")
# tipoif1.active=("#{@comboprop.active_iter[4]}")
tipoif = @comboprop.active_iter[4]
if @comboprop.active_iter[4] == "F"
tipoif1.active=(true)
@idfisc.max_length=(16)
@idfisc.text=("#{@comboprop.active_iter[2]}")
else
tipoif2.active=(true)
@idfisc.max_length=(11)
@idfisc.text=("#{@comboprop.active_iter[3]}")
end
}
#Bottone di inserimento
inserisciprop = Gtk::Button.new( "Modifica proprietario" )
inserisciprop.signal_connect("clicked") {
if @nomeprop.text==("") or @idfisc.text==("")
Errore.avviso(mmodprop, "Servono tutti i dati.")
else
if tipoif == "F"
Props.update(@comboprop.active_iter[0], { :prop => "#{@nomeprop.text.upcase}", :codfisc => "#{@idfisc.text.upcase}", :idf => "#{tipoif}"})
@nomeprop.text=("")
@idfisc.text=("")
caricaprop
@comboprop.model=(@listaprop)
else
Props.update(@comboprop.active_iter[0], { :prop => "#{@nomeprop.text.upcase}", :piva => "#{@idfisc.text.upcase}", :idf => "#{tipoif}"})
@nomeprop.text=("")
@idfisc.text=("")
caricaprop
@comboprop.model=(@listaprop)
end
end
}
boxmodprop5.pack_start(inserisciprop, false, false, 0)
#Bottone di chiusura finestra
bottchiudi = Gtk::Button.new( "Chiudi" )
bottchiudi.signal_connect("clicked") {
mmodprop.destroy
}
boxmodprop5.pack_start(bottchiudi, false, false, 0)
mmodprop.show_all
end