|
Module bearbeiteanmerkung
|
|
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 import wx
40
41 from bearbeiteuebersetzung import BearbeiteUebersetzungNeu
42
43 from wxuniversal import FlexGridSizerWxObjTitel
44 from wxuniversal import CheckBoxErg
45 from wxuniversal import DialogErg
46 from wxuniversal import farbeAuswahlListe
47 from wxuniversal import farbeBearbeiten
48 from wxuniversal import ListBoxErg
49 from wxuniversal import TreeCtrlErg
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
84
85 """
86 Klasse zur Abbildung des Eingabeformulars 'Anmerkungen bearbeiten.
87 """
88
89
90
91
92
93
94 - def __init__( self, parent, Statusleiste, dbVerbindung, prjProjekteId, sprSprachenId, psGefszenarioId ):
95 DialogErg.__init__( self
96 , parent = parent
97 , title = u"Anmerkungen bearbeiten."
98 , dbVerbindung = dbVerbindung )
99
100
101
102
103 self.Statusleiste = Statusleiste
104 self.dbVerbindung = dbVerbindung
105 self.prjProjekteId = prjProjekteId
106 self.sprSprachenId = sprSprachenId
107 self.psGefszenarioId = psGefszenarioId
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125 self.TreeCtrlErg__AnmerkungId = FlexGridSizerWxObjTitel( parent = self
126 , wxObj = TreeCtrlErg( self
127 , Statusleiste = self.Statusleiste
128 , dbVerbindung = self.dbVerbindung )
129 , titel = "Anmerkungen / Interne Notizen"
130 , orient = wx.VERTICAL )
131
132 self.TreeCtrlErg__AnmerkungId.wxObjekt.SetMinSize( ( 450, 500 ) )
133
134 self.TreeCtrlErg__AnmerkungId.wxObjekt.statusLeisteDBSpNameErlaeuterung = """Eineindeutige Identifikationsnummer der Anmerkungen zum Gefahrenszenario."""
135
136 self.TreeCtrlErg__AnmerkungId.wxObjekt.SetToolTip( wx.ToolTip( "Doppelklick:\nAnmerkung bearbeiten.\n\nMittlere Maustaste:\nVerbindung zwischen Anmerkung und Gefahrenszenario aufheben." ) )
137
138 self.TreeCtrlErg__AnmerkungId.wxObjekt.SetBackgroundColour( wx.NamedColour( farbeBearbeiten ) )
139
140
141 self.Bind( wx.EVT_TREE_ITEM_ACTIVATED
142 , self.__ereignisAnmerkungBearbeiten__
143 , self.TreeCtrlErg__AnmerkungId.wxObjekt )
144
145 self.Bind( wx.EVT_TREE_ITEM_MIDDLE_CLICK
146 , self.__ereignisAnmerkungLoesen__
147 , self.TreeCtrlErg__AnmerkungId.wxObjekt )
148
149
150
151
152
153
154
155 self.CheckBox__Alle = FlexGridSizerWxObjTitel( parent = self
156 , wxObj = CheckBoxErg( self
157 , Statusleiste = self.Statusleiste
158 , dbVerbindung = self.dbVerbindung )
159 , titel = "Zeige alle verfügbaren Anmerkungen:"
160 , orient = wx.VERTICAL )
161
162 self.CheckBox__Alle.wxObjekt.statusLeisteDBSpNameErlaeuterung = """Es werden alle Anmerkungen angezeigt."""
163
164 self.Bind( wx.EVT_CHECKBOX
165 , self.__ereignisLiesDBVorhAnm__
166 , self.CheckBox__Alle.wxObjekt )
167
168
169
170
171
172
173
174
175 self.ListBox__VorhAnmerkungId = FlexGridSizerWxObjTitel( parent = self
176 , wxObj = ListBoxErg( self
177 , size = ( -1, -1 )
178 , style = wx.BORDER_SUNKEN
179 , Statusleiste = self.Statusleiste
180 , dbVerbindung = self.dbVerbindung )
181 , titel = "Verfügbare Anmerkungen / Interne Notizen"
182 , orient = wx.VERTICAL )
183
184 self.ListBox__VorhAnmerkungId.wxObjekt.SetMinSize( ( 450, 425 ) )
185
186 self.ListBox__VorhAnmerkungId.wxObjekt.statusLeisteDBSpNameErlaeuterung = """Eineindeutige Identifikationsnummer der in der Datenbank vorhandenen Anmerkungen zum Gefahrenszenario."""
187
188 self.ListBox__VorhAnmerkungId.wxObjekt.SetToolTip(wx.ToolTip( "Doppelklick:\nAnmerkung in das Fenster 'Anmerkungen' schieben" ))
189
190 self.ListBox__VorhAnmerkungId.wxObjekt.SetBackgroundColour( wx.NamedColour( farbeAuswahlListe ) )
191
192 self.Bind( wx.EVT_LISTBOX_DCLICK
193 , self.__ereignisAnmerkungZuordnen__
194 , self.ListBox__VorhAnmerkungId.wxObjekt )
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210 FlexGridSizer = wx.FlexGridSizer( rows = 2, cols = 1, vgap = 0, hgap = 5 )
211 FlexGridSizer.AddGrowableCol( idx = 0, proportion = 0 )
212 FlexGridSizer.AddGrowableRow( idx = 0, proportion = 0 )
213 FlexGridSizer.AddGrowableRow( idx = 1, proportion = 1 )
214
215 FlexGridSizer.Add( self.CheckBox__Alle
216 , flag = wx.LEFT|wx.TOP|wx.RIGHT|wx.EXPAND
217 , border = 5 )
218
219 FlexGridSizer.Add( self.ListBox__VorhAnmerkungId
220 , flag = wx.LEFT|wx.EXPAND
221 , border = 5 )
222
223 Rahmen = wx.StaticBox( parent = self, label = " Verfügbare Anmerkungen " )
224
225 StaticBoxSizer = wx.StaticBoxSizer( box = Rahmen, orient = wx.VERTICAL )
226 StaticBoxSizer.Add( FlexGridSizer
227 , flag = wx.ALL|wx.EXPAND
228 , border = 5 )
229
230 Rand = wx.BoxSizer( wx.HORIZONTAL )
231 Rand.Add( StaticBoxSizer
232 , flag = wx.EXPAND|wx.LEFT
233 , border = 10 )
234
235
236
237
238
239 BoxSizer = wx.BoxSizer( wx.HORIZONTAL )
240
241 BoxSizer.Add( self.TreeCtrlErg__AnmerkungId, flag = wx.EXPAND )
242
243 BoxSizer.Add( Rand, flag = wx.EXPAND )
244
245
246
247
248 self.nimmDialogElemente( BoxSizer )
249
250
251
252
253
254
255 self.__liesDB__()
256 self.__ereignisLiesDBVorhAnm__()
257
258
259
260
261
262 self.Button__Verwerfen.Enable( False )
263 self.Button__Sichern.Enable( False )
264
265
266
267
268
269
270
271
272
274 """
275 Methode die aufgerufen wird, wenn der Text der Sicherheitsanforderung bearbeitet werden soll.
276
277 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
278 @type ereignis: C{wx - Ereignisobjekt}
279 """
280
281
282
283
284 dlg = BearbeiteUebersetzungNeu( parent = self
285 , Statusleiste = self.Statusleiste
286 , dbVerbindung = self.dbVerbindung
287 , sprSprachenId = self.sprSprachenId
288 , sprUebvarId = ereignis.GetEventObject().gibClientData()[0]
289 , notizen = ereignis.GetEventObject().gibClientData()[1] )
290
291
292
293
294
295 dlg.ShowModal()
296 dlg.Destroy()
297
298
299
300
301
302
303 ps_anmerkung_id = ereignis.GetEventObject().gibDbId()
304 if( dlg.gibWerte()[0]
305 and ( dlg.gibWerte()[1] != ereignis.GetEventObject().gibClientData()[0]
306 or dlg.gibWerte()[2] != ereignis.GetEventObject().gibClientData()[1] ) ) :
307
308 self.dbVerbindung.schreibe__PrjPlPsGefAnm( listeWerte = [
309 ps_anmerkung_id
310
311 , dlg.gibWerte()[1]
312
313 , dlg.gibWerte()[2] ]
314 , prjProjekteId = self.prjProjekteId
315 , psGefszenarioId = self.psGefszenarioId )
316
317
318
319
320
321
322 self.__liesDB__()
323 self.__ereignisLiesDBVorhAnm__()
324
325
326
327
328
329
330 if( dlg.gibWerte()[0] ) :
331 self.Button__Verwerfen.Enable( True )
332 self.Button__Sichern.Enable( True )
333
334
335
336
337
338
339 ereignis.Skip( skip = True )
340
341
342
343
344
345
346
347
348
350 """
351 Anmerkung vom Gefahrenszenario lösen (entfernen).
352
353 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
354 @type ereignis: C{wx - Ereignisobjekt}
355 """
356
357
358
359
360 self.dbVerbindung.schreibe__PrjPlPsGefAnm( listeWerte = [
361 ereignis.GetEventObject().gibDbId()
362
363 , ereignis.GetEventObject().gibClientData()[0]
364
365 , ereignis.GetEventObject().gibClientData()[1] ]
366 , prjProjekteId = self.prjProjekteId
367 , psGefszenarioId = self.psGefszenarioId
368 , logentfernt = 'true' )
369
370
371
372
373
374
375 self.__liesDB__()
376 self.__ereignisLiesDBVorhAnm__()
377
378
379
380
381
382 self.Button__Verwerfen.Enable( True )
383 self.Button__Sichern.Enable( True )
384
385
386
387
388
389
390 ereignis.Skip( skip = True )
391
392
393
394
395
396
397
398
399
400
402 """
403 Anmerkung übernehmen
404
405 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
406 @type ereignis: C{wx - Ereignisobjekt}
407 """
408
409
410
411
412 self.dbVerbindung.schreibe__PrjPlPsGefAnm(
413 listeWerte = [
414 ereignis.GetEventObject().gibClientData( lfdNr = ereignis.GetEventObject().GetSelection() )[2]
415
416 , ereignis.GetEventObject().gibClientData( lfdNr = ereignis.GetEventObject().GetSelection() )[0]
417
418 , ereignis.GetEventObject().gibClientData( lfdNr = ereignis.GetEventObject().GetSelection() )[1] ]
419 , prjProjekteId = self.prjProjekteId
420 , psGefszenarioId = self.psGefszenarioId )
421
422
423
424
425
426
427 self.__liesDB__()
428 self.__ereignisLiesDBVorhAnm__()
429
430
431
432
433
434 self.Button__Verwerfen.Enable( True )
435 self.Button__Sichern.Enable( True )
436
437
438
439
440
441
442 ereignis.Skip( skip = True )
443
444
445
446
447
448
449
450
451
453 """
454 Methode die aufgerufen wird, wenn die dem Gefahrenszenario zugeordneten Anmerkungen-Id ausgelesen werden sollen.
455 """
456
457
458
459
460 self.dbVerbindung.selektiere__psGefAnm(
461 ListBoxGefAnm = None
462
463 , TreeCtrlErgAnmId = self.TreeCtrlErg__AnmerkungId.wxObjekt
464 , ListBoxErgVorhAnmId = None
465
466 , liesAlles = None
467 , prjProjekteId = self.prjProjekteId
468 , sprSprachenId = self.sprSprachenId
469 , psGefszenarioId = self.psGefszenarioId
470 , psAnmerkungId = None )
471
472
473
474
475
476
477
478
479
481 """
482 Methode die aufgerufen wird, wenn nach Änderung des Zustandes der C{wx.CheckBox} 'Zeige alle Anmerkungen' die Datenbank ausgelesen werden muß.
483
484 @requires: Erst ist muß C{self.ListBox__AnmerkungId} gefüllt sein.
485
486 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
487 @type ereignis: C{wx - Ereignisobjekt}
488
489 @param allesLesen: Wenn C{True} angegeben wird, werden alle Anmerungen gelesen
490 @type allesLesen: C{wx - Ereignisobjekt}
491 """
492
493
494
495
496 if( ereignis != None ) : liesAlles = ereignis.GetEventObject().gibWert()
497 else : liesAlles = allesLesen
498
499 self.dbVerbindung.selektiere__psGefAnm(
500 ListBoxGefAnm = None
501
502 , TreeCtrlErgAnmId = None
503 , ListBoxErgVorhAnmId = self.ListBox__VorhAnmerkungId.wxObjekt
504 , liesAlles = liesAlles
505 , prjProjekteId = self.prjProjekteId
506 , sprSprachenId = self.sprSprachenId
507 , psGefszenarioId = self.psGefszenarioId
508 , psAnmerkungId = None )
509
510
511
512
513
514
515 if( ereignis != None ) :
516 ereignis.Skip( skip = True )
517