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 bearbeiteanmerkung import BearbeiteAnmerkung
42 from bearbeitesicherheitsanf import BearbeiteSicherheitsanf
43
44 from bearbeiteuebersetzung import BearbeiteUebersetzung
45
46 from universal import allg
47 from universal import zk
48
49 from wxuniversal import HK_GEFAHRENSZENARIO
50 from wxuniversal import HK_REPR_GEFSZENARIO
51
52 from wxuniversal import FlexGridSizerWxObjTitel
53 from wxuniversal import ComboBoxErg
54 from wxuniversal import farbeBearbeiten
55 from wxuniversal import ListBoxErg
56 from wxuniversal import ListBoxErgSpWTitelAL
57 from wxuniversal import TextCtrlErgAuswStatisch
58 from wxuniversal import SiAnf
59 from wxuniversal import TextCtrlErg
60 from wxuniversal import TreeCtrlErg
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
98
99 """
100 Klasse zur Abbildung des Eingabeformulars 'Risikoanalyse'
101
102 @keyword parent: Es ist der Datenbankbenutzername zu übergeben.
103 @type parent: Zeichenkette
104 @keyword id: Es ist das Kennwort des Datenbankbenutzers zu übergeben.
105 @type id: Zeichenkette
106 @keyword size: Es ist die IP-Adresse anzugeben, über die der PostgreSQL-Datenbankserver ansprechbar ist.
107 @type size: Zeichenkette
108
109 @raise Fehler: ?? Fehlermeldung und Programmende, wenn die Datenbankverbindung nicht hergestellt werden kann. ??
110 """
111
112
113
114
115
116
117 - def __init__( self, parent, Notizen, dbVerbindung, id = -1, size = wx.DefaultSize ):
118 wx.ScrolledWindow.__init__( self, parent, id, (0, 0), size=size )
119
120
121
122
123 self.SetName( name = "Risikoanalyse" )
124
125
126
127
128
129 self.SetScrollRate( 20, 20 )
130 self.EnableScrolling( True, True )
131
132
133
134
135
136 self.__Notizen__ = Notizen
137 self.__dbVerbindung__ = dbVerbindung
138 self.__txtUebersetzung__ = u"Doppelklick:\nÜbersetzungen anzeigen/bearbeiten"
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153 self.ListBoxAL__GefNetz = ListBoxErgSpWTitelAL( parent = self
154 , titel = u"Enthalten im Gefahrennetz"
155 , minSize = ( -1, 150 )
156 , orient = wx.VERTICAL
157 , Notizen = self.__Notizen__ )
158
159
160 self.ListBoxAL__GefNetz.ListBoxLiDarfLeerSein = False
161
162 self.ListBoxAL__GefNetz.SplitterWindow.SetSashPosition( 250 )
163
164 self.ListBoxAL__GefNetz.ListBox__li.nimmNotizenAktiviert( aktiv = False )
165 self.ListBoxAL__GefNetz.ListBox__re.nimmNotizenAktiviert( aktiv = False )
166
167 self.ListBoxAL__GefNetz.ListBox__li.nimmWerteStatusleiste(
168 DBSpNameErlaeuterung = u"Welcher Gefahr ist das Gefahrenszenario zugeordnet ?"
169 , DBSpName = "ps.gefstrkt.str_strkt_id" )
170
171 self.ListBoxAL__GefNetz.ListBox__re.nimmWerteStatusleiste(
172 DBSpNameErlaeuterung = u"Welcher Gefahr ist das Gefahrenszenario zugeordnet ?"
173 , DBSpName = "ps.gefstrkt.str_strkt_id" )
174
175
176
177
178
179
180
181
182 self.ListBoxAL__GefPersonen = ListBoxErgSpWTitelAL( parent = self
183 , titel = u"Gefährdete Personen"
184 , minSize = ( -1, -1 )
185 , orient = wx.VERTICAL
186 , Notizen = self.__Notizen__ )
187
188
189 self.ListBoxAL__GefPersonen.ListBoxLiDarfLeerSein = False
190
191 self.ListBoxAL__GefPersonen.SplitterWindow.SetSashPosition( 250 )
192
193 self.ListBoxAL__GefPersonen.ListBox__li.nimmNotizenAktiviert( aktiv = False )
194 self.ListBoxAL__GefPersonen.ListBox__re.nimmNotizenAktiviert( aktiv = False )
195
196 self.ListBoxAL__GefPersonen.ListBox__li.nimmWerteStatusleiste(
197 DBSpNameErlaeuterung = u"Welche Personen sind vom Gefahrenszenario unmittelbar betroffen ?"
198 , DBSpName = "..." )
199
200 self.ListBoxAL__GefPersonen.ListBox__re.nimmWerteStatusleiste(
201 DBSpNameErlaeuterung = u"Welche Personen sind vom Gefahrenszenario unmittelbar betroffen ?"
202 , DBSpName = "..." )
203
204
205
206
207
208
209
210
211
212 self.TreeCtrlErg__GefszenAnm = FlexGridSizerWxObjTitel( parent = self
213 , wxObj = TreeCtrlErg( self
214 , Notizen = self.__Notizen__ )
215 , titel = u"Gefahrenszenario, Repräsentatives Gefahrenszenario, Anmerkungen zum Gefahrenszenario"
216 , orient = wx.VERTICAL )
217
218 self.TreeCtrlErg__GefszenAnm.wxObjekt.SetMinSize( ( -1, 300 ) )
219
220 self.TreeCtrlErg__GefszenAnm.wxObjekt.SetBackgroundColour( farbeBearbeiten )
221
222 self.TreeCtrlErg__GefszenAnm.wxObjekt.nimmNotizenClientDataPos( pos = 1 )
223
224
225
226
227
228
229
230
231
232
233
234
235 self.TreeCtrlErg__GefszenAnm.wxObjekt.nimmWerteStatusleiste(
236 DBSpNameErlaeuterung = u"Anmerkungen / Randbedingungen zum Gefahrenszenario."
237 , DBSpName = "prj.pl_psgefanm.spr_uebvar_id/notizen" )
238
239 self.TreeCtrlErg__GefszenAnm.wxObjekt.nimmTooltip( u"Doppelklick:\nEinträge bearbeiten" )
240
241 self.TreeCtrlErg__GefszenAnm.wxObjekt.Bind( wx.EVT_TREE_ITEM_ACTIVATED
242 , self.__ereignisGefahrenszenarioAnmerkungen__ )
243
244
245
246
247
248
249
250 self.SiAnf__SiAnf = SiAnf( parent = self
251 , Notizen = self.__Notizen__
252 , dbVerbindung = self.__dbVerbindung__ )
253
254 self.SiAnf__SiAnf.SetMinSize( ( -1, 600 ) )
255
256 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.Bind( wx.EVT_TREE_ITEM_ACTIVATED
257 , self.__ereignisSicherheitsanforderung__ )
258
259
260
261
262
263
264
265
266
267
268 self.ComboBox__Haeufig = FlexGridSizerWxObjTitel( parent = self
269 , wxObj = ComboBoxErg( self
270 , choices = []
271 , style = wx.CB_DROPDOWN|wx.CB_READONLY
272 , Notizen = self.__Notizen__ )
273 , orient = wx.VERTICAL
274 , titel = u"Häufigkeit" )
275
276 self.ComboBox__Haeufig.wxObjekt.nimmWerteStatusleiste(
277 DBSpNameErlaeuterung = "Häufigkeit des repräsentativen Gefahrenszenarios."
278 , DBSpName = "..." )
279
280 self.ComboBox__Haeufig.wxObjekt.Bind( wx.EVT_COMBOBOX
281 , self.__ereignisRisikobewertung__ )
282
283
284
285 self.ListBox__HaeufigBegr = FlexGridSizerWxObjTitel( parent = self
286 , wxObj = ListBoxErg( self
287 , size = ( -1, 100 )
288 , style = wx.BORDER_SUNKEN | wx.LB_SORT
289 , Notizen = self.__Notizen__ )
290 , titel = u"Begründung der Häufigkeit"
291 , orient = wx.VERTICAL )
292
293 self.ListBox__HaeufigBegr.wxObjekt.SetBackgroundColour( farbeBearbeiten )
294
295 self.ListBox__HaeufigBegr.wxObjekt.nimmNotizenClientDataPos( pos = 1 )
296
297 self.ListBox__HaeufigBegr.wxObjekt.nimmWerteStatusleiste(
298 DBSpNameErlaeuterung = u"Warum tritt das repräsentative Gefahrenszenario mit der genannten Häufigkeit auf ?"
299 , DBSpName = "..." )
300
301 self.ListBox__HaeufigBegr.wxObjekt.nimmTooltip( self.__txtUebersetzung__ )
302
303 self.ListBox__HaeufigBegr.wxObjekt.Bind( wx.EVT_LISTBOX_DCLICK
304 , self.__ereignisUebersezung__ )
305
306
307
308
309
310
311
312
313 self.ComboBox__GefStufe = FlexGridSizerWxObjTitel( parent = self
314 , wxObj = ComboBoxErg( self
315 , choices = []
316 , style = wx.CB_DROPDOWN|wx.CB_READONLY
317 , Notizen = self.__Notizen__ )
318 , orient = wx.VERTICAL
319 , titel = u"Gefahrenstufe" )
320
321 self.ComboBox__GefStufe.wxObjekt.nimmWerteStatusleiste(
322 DBSpNameErlaeuterung = u"Auswirkung des repräsentativen Gefahrenszenarios."
323 , DBSpName = "..." )
324
325 self.ComboBox__GefStufe.wxObjekt.Bind( wx.EVT_COMBOBOX, self.__ereignisRisikobewertung__ )
326
327
328
329 self.ListBox__GefStufeBegr = FlexGridSizerWxObjTitel( parent = self
330 , wxObj = ListBoxErg( self
331 , size = ( -1, 100 )
332 , style = wx.BORDER_SUNKEN | wx.LB_SORT
333 , Notizen = self.__Notizen__ )
334 , titel = u"Begründung der Gefahrenstufe"
335 , orient = wx.VERTICAL )
336
337 self.ListBox__GefStufeBegr.wxObjekt.SetBackgroundColour( farbeBearbeiten )
338
339 self.ListBox__GefStufeBegr.wxObjekt.nimmNotizenClientDataPos( pos = 1 )
340
341 self.ListBox__GefStufeBegr.wxObjekt.nimmWerteStatusleiste(
342 DBSpNameErlaeuterung = u"Warum tritt das repräsentative Gefahrenszenario mit der genannten Häufigkeit auf ?"
343 , DBSpName = "..." )
344
345 self.ListBox__GefStufeBegr.wxObjekt.nimmTooltip( self.__txtUebersetzung__ )
346
347 self.ListBox__GefStufeBegr.wxObjekt.Bind( wx.EVT_LISTBOX_DCLICK
348 , self.__ereignisUebersezung__ )
349
350
351
352
353
354
355
356 self.TCASRisikoStufe = FlexGridSizerWxObjTitel( parent = self
357 , wxObj = TextCtrlErgAuswStatisch( parent = self
358 , size = ( -1, -1 )
359 , Notizen = self.__Notizen__ )
360 , orient = wx.VERTICAL
361 , titel = u"Risikostufe" )
362
363 self.TCASRisikoStufe.wxObjekt.nimmWerteStatusleiste(
364 DBSpNameErlaeuterung = u"Das resultierende Risiko des repräsentativen Gefahrenszenarios."
365 , DBSpName = "prj.pl_psgefabk.ps_abk_id" )
366
367
368
369 self.ListBox__RisikoStufeBegr = FlexGridSizerWxObjTitel( parent = self
370 , wxObj = ListBoxErg( self
371 , size = ( -1, 100 )
372 , style = wx.BORDER_SUNKEN | wx.LB_SORT
373 , Notizen = self.__Notizen__ )
374 , titel = u"Bewertung der Risikostufe"
375 , orient = wx.VERTICAL )
376
377 self.ListBox__RisikoStufeBegr.wxObjekt.SetBackgroundColour( farbeBearbeiten )
378
379 self.ListBox__RisikoStufeBegr.wxObjekt.nimmNotizenClientDataPos( pos = 1 )
380
381 self.ListBox__RisikoStufeBegr.wxObjekt.nimmWerteStatusleiste(
382 DBSpNameErlaeuterung = u"Warum tritt das repräsentative Gefahrenszenario mit der genannten Häufigkeit auf ?"
383 , DBSpName = "prj.pl_psgefabk.spr_uebvar_id_zus/notizen" )
384
385 self.ListBox__RisikoStufeBegr.wxObjekt.nimmTooltip( self.__txtUebersetzung__ )
386
387 self.ListBox__RisikoStufeBegr.wxObjekt.Bind( wx.EVT_LISTBOX_DCLICK
388 , self.__ereignisUebersezung__ )
389
390
391
392
393
394
395
396
397
398
399
400
401
402 FlexGridSizer_GNGP = wx.FlexGridSizer( rows = 1, cols = 2, vgap = 10, hgap = 10 )
403
404 FlexGridSizer_GNGP.AddGrowableCol( idx = 0, proportion = 1 )
405 FlexGridSizer_GNGP.AddGrowableCol( idx = 1, proportion = 1 )
406
407 FlexGridSizer_GNGP.Add( self.ListBoxAL__GefNetz
408 , flag = wx.EXPAND )
409
410 FlexGridSizer_GNGP.Add( self.ListBoxAL__GefPersonen
411 , flag = wx.EXPAND )
412
413
414
415
416
417
418 FlexGridSizer_RB = wx.FlexGridSizer( rows = 2, cols = 3, vgap = 5, hgap = 5 )
419
420 FlexGridSizer_RB.AddGrowableCol( idx = 0, proportion = 1 )
421 FlexGridSizer_RB.AddGrowableCol( idx = 1, proportion = 1 )
422 FlexGridSizer_RB.AddGrowableCol( idx = 2, proportion = 1 )
423
424 FlexGridSizer_RB.AddGrowableRow( idx = 1, proportion = 1 )
425
426 FlexGridSizer_RB.Add( self.ComboBox__Haeufig, flag = wx.EXPAND )
427 FlexGridSizer_RB.Add( self.ComboBox__GefStufe, flag = wx.EXPAND )
428 FlexGridSizer_RB.Add( self.TCASRisikoStufe, flag = wx.EXPAND )
429
430 FlexGridSizer_RB.Add( self.ListBox__HaeufigBegr, flag = wx.EXPAND )
431 FlexGridSizer_RB.Add( self.ListBox__GefStufeBegr, flag = wx.EXPAND )
432 FlexGridSizer_RB.Add( self.ListBox__RisikoStufeBegr, flag = wx.EXPAND )
433
434 Rahmen = wx.StaticBox( parent = self, label = u"Risikobewertung" )
435 StaticBoxSizer = wx.StaticBoxSizer( box = Rahmen, orient = wx.VERTICAL )
436 StaticBoxSizer.Add( FlexGridSizer_RB
437 , flag = wx.ALL|wx.EXPAND
438 , border = 5 )
439
440
441
442
443
444 FlexGridSizer = wx.FlexGridSizer( rows = 4, cols = 1, vgap = 10, hgap = 10 )
445
446 FlexGridSizer.AddGrowableCol( idx = 0, proportion = 1 )
447 FlexGridSizer.AddGrowableRow( idx = 0, proportion = 1 )
448 FlexGridSizer.AddGrowableRow( idx = 1, proportion = 1 )
449 FlexGridSizer.AddGrowableRow( idx = 2, proportion = 1 )
450 FlexGridSizer.AddGrowableRow( idx = 3, proportion = 1 )
451
452
453 FlexGridSizer.Add( FlexGridSizer_GNGP
454 , flag = wx.LEFT|wx.TOP|wx.RIGHT|wx.EXPAND
455 , border = 10 )
456
457 FlexGridSizer.Add( self.TreeCtrlErg__GefszenAnm
458 , flag = wx.LEFT|wx.RIGHT|wx.EXPAND
459 , border = 10 )
460
461 FlexGridSizer.Add( self.SiAnf__SiAnf
462 , flag = wx.LEFT|wx.RIGHT|wx.EXPAND
463 , border = 10 )
464
465 FlexGridSizer.Add( StaticBoxSizer
466 , flag = wx.LEFT|wx.BOTTOM|wx.RIGHT|wx.EXPAND
467 , border = 10 )
468
469 self.SetSizerAndFit( FlexGridSizer )
470
471
472
473
474
475
476 self.init_Risikoanalyse()
477 self.liesDB()
478
479
480
481
482
483
484
485
486
488 """
489 Das Gefahrenszenario, Repräsentative Gefahrenszenario und die Anmerkungen zum Gefahrenszenario bearbeiten.
490
491 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
492 @type ereignis: C{wx - Ereignisobjekt}
493 """
494
495
496
497
498 if( ereignis.GetEventObject().gibBezeichnungHauptknoten( ereignis.GetItem() ) == HK_GEFAHRENSZENARIO
499 or ereignis.GetEventObject().gibBezeichnungHauptknoten( ereignis.GetItem() ) == HK_REPR_GEFSZENARIO ) :
500
501 self.__ereignisUebersezung__( ereignis = ereignis )
502
503
504
505
506
507
508 else :
509
510 dlg = BearbeiteAnmerkung( parent = self
511 , Notizen = self.__Notizen__
512 , dbVerbindung = self.__dbVerbindung__ )
513 dlg.ShowModal()
514 dlg.CenterOnScreen()
515 dlg.Destroy()
516
517
518
519
520
521 ereignis.GetEventObject().loescheAlles()
522
523 self.__dbVerbindung__.selektiere__GefszenId_Wortgruppen__Sprache__Projekt(
524 TreeCtrlErg_Gefszenario = self.TreeCtrlErg__GefszenAnm.wxObjekt )
525
526
527
528
529 psAnmerkungId = None
530 if( self.__dbVerbindung__.ps_gefszenario_id in self.__dbVerbindung__.daten__GefszenId_AnmId__Sprache__Projekt ) :
531
532 psAnmerkungId = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__GefszenId_AnmId__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id] )
533
534 self.__dbVerbindung__.selektiere__GefszenId_AnmId__Sprache__Projekt(
535 TreeCtrlErg_ListBoxErg = ereignis.GetEventObject()
536 , psAnmerkungId = psAnmerkungId )
537
538
539
540
541
542
543
544 ereignis.Skip( skip = False )
545
546
547
548
549
550
551
552
554 """
555 Ein C{wx - Objekt} der Risikobewertung wurde verändert.
556
557 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet.
558 @type ereignis: C{wx - Ereignisobjekt}
559 """
560
561
562
563
564 hfgGef = ( str( self.ComboBox__Haeufig.wxObjekt.gibDbId() )
565 + '-'
566 + str( self.ComboBox__GefStufe.wxObjekt.gibDbId() ) )
567
568 if( hfgGef not in self.__dbVerbindung__.daten__psAbk_Risikomatrix ) :
569
570
571
572
573
574 ereignis.Skip( skip = True )
575 return
576
577 self.TCASRisikoStufe.wxObjekt.selektiereWert(
578 clientDataId = self.__dbVerbindung__.daten__psAbk_Risikomatrix[hfgGef][0][0] )
579 self.TCASRisikoStufe.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = True )
580
581
582
583
584
585
586
587 ereignis.Skip( skip = True )
588
589
590
591
592
593
594
595
596
598 """
599 Sicherheitsaforderungen zum Gefahrenszenario bearbeiten.
600
601 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet.
602 @type ereignis: C{wx - Ereignisobjekt}
603 """
604
605
606
607
608
609 dlg = BearbeiteSicherheitsanf( parent = self
610 , Notizen = self.__Notizen__
611 , dbVerbindung = self.__dbVerbindung__ )
612
613 dlg.SiAnf__SiAnf.liesDB()
614 dlg.SetMinSize( ( 800, 700 ) )
615 dlg.CenterOnScreen()
616 dlg.ShowModal()
617
618
619
620
621
622
623 self.__dbVerbindung__.selektiere__prtProtokoll__Sprache__Projekt(
624 TreeCtrlErg = self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt
625 , istGefProt = False
626 , prtTypId = None
627 , prtProtokollId = self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt[self.__dbVerbindung__.ps_gefszenario_id] )
628
629
630
631
632
633
634
635 ereignis.Skip( skip = True )
636
637
638
639
640
641
642
643
644
646 """
647 Übersetzung anzeigen / bearbeiten
648
649 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet.
650 @type ereignis: C{wx - Ereignisobjekt}
651 """
652
653
654
655
656
657
658 if( ereignis.GetId() == self.TreeCtrlErg__GefszenAnm.wxObjekt.GetId() ) :
659
660 if( ereignis.GetEventObject().istHauptknoten() ) :
661
662 return
663
664
665
666
667
668
669
670
671 self.TreeCtrlErg__GefszenAnm.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
672 self.ListBox__HaeufigBegr.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
673 self.ListBox__GefStufeBegr.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
674 self.ListBox__RisikoStufeBegr.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
675
676
677
678
679
680
681
682 self.schreibDB()
683
684
685
686
687
688
689 listeWerte = []
690 sprUebvarId = None
691 notizen = None
692
693
694
695
696
697
698
699
700
701
702
703
704 if( ereignis.GetId() == self.TreeCtrlErg__GefszenAnm.wxObjekt.GetId() ) :
705
706 if( self.__dbVerbindung__.ps_gefszenario_id in self.__dbVerbindung__.daten__GefszenId_Wortgruppen__Sprache__Projekt ) :
707
708 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_Wortgruppen__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][0] )
709 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_Wortgruppen__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] )
710 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_Wortgruppen__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3] )
711 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_Wortgruppen__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][5] )
712
713 else :
714
715 return
716
717 sprUebvarId = listeWerte[0]
718 notizen = listeWerte[1]
719
720 if( ereignis.GetEventObject().gibBezeichnungHauptknoten( ereignis.GetItem() ) == HK_REPR_GEFSZENARIO ) :
721
722 sprUebvarId = listeWerte[2]
723
724
725
726
727
728
729
730
731
732
733
734
735 else :
736
737 if( ereignis.GetId() == self.ListBox__HaeufigBegr.wxObjekt.GetId() ) :
738
739 if( self.__dbVerbindung__.ps_gefszenario_id in self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt ) :
740
741 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][0] )
742 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3] )
743 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] )
744
745 else :
746
747 return
748
749 elif( ereignis.GetId() == self.ListBox__GefStufeBegr.wxObjekt.GetId() ) :
750
751 if( self.__dbVerbindung__.ps_gefszenario_id in self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt ) :
752
753 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][0] )
754 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3] )
755 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] )
756
757 else :
758
759 return
760
761 elif( ereignis.GetId() == self.ListBox__RisikoStufeBegr.wxObjekt.GetId() ) :
762
763 if( self.__dbVerbindung__.ps_gefszenario_id in self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt ) :
764
765 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][0] )
766 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3] )
767 listeWerte.append( self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] )
768
769 else :
770
771 return
772
773 else :
774
775 return
776
777 sprUebvarId = listeWerte[1]
778 notizen = listeWerte[2]
779
780
781
782
783
784
785 dlg = BearbeiteUebersetzung( parent = self
786 , Notizen = self.__Notizen__
787 , dbVerbindung = self.__dbVerbindung__
788 , sprUebvarId = sprUebvarId
789 , notizen_db = None
790 , notizenKontext_db = notizen )
791
792
793
794
795
796
797 dlg.ShowModal()
798 dlg.Destroy()
799
800
801
802
803
804
805 if( dlg.gibWerte()[0] ) :
806
807
808
809
810 istAenderungId = ( dlg.gibWerte()[1] != sprUebvarId )
811 istAenderungIdNotizen = ( dlg.gibWerte()[2] != unicode( notizen, 'utf-8' ) )
812
813
814
815
816
817
818
819 if( ereignis.GetId() == self.TreeCtrlErg__GefszenAnm.wxObjekt.GetId() ) :
820
821
822
823
824 if( istAenderungId or istAenderungIdNotizen ) :
825
826 if( ereignis.GetEventObject().gibBezeichnungHauptknoten( ereignis.GetItem() ) == HK_GEFAHRENSZENARIO ) :
827
828 listeWerte[0] = dlg.gibWerte()[1]
829
830 else :
831
832 listeWerte[2] = dlg.gibWerte()[1]
833
834 listeWerte[1] = dlg.gibWerte()[2]
835
836
837
838
839
840 self.__dbVerbindung__.schreibe__PrjPpPsGefszenario( listeGefszen = listeWerte )
841
842
843
844
845
846 self.__dbVerbindung__.daten__GefszenId_Wortgruppen__Sprache__Projekt.clear()
847 self.__dbVerbindung__.init__GefszenId_Wortgruppen__Sprache__Projekt()
848
849
850
851
852
853 ereignis.GetEventObject().loescheAlles()
854
855 self.__dbVerbindung__.selektiere__GefszenId_Wortgruppen__Sprache__Projekt(
856 TreeCtrlErg_Gefszenario = self.TreeCtrlErg__GefszenAnm.wxObjekt )
857
858 psAnmerkungId = None
859 if( self.__dbVerbindung__.ps_gefszenario_id in self.__dbVerbindung__.daten__GefszenId_AnmId__Sprache__Projekt ) :
860
861 psAnmerkungId = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__GefszenId_AnmId__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id] )
862
863 self.__dbVerbindung__.selektiere__GefszenId_AnmId__Sprache__Projekt(
864 TreeCtrlErg_ListBoxErg = ereignis.GetEventObject()
865 , psAnmerkungId = psAnmerkungId )
866
867
868
869
870
871
872
873
874
875 else :
876
877
878
879
880
881
882 self.__dbVerbindung__.schreibe__prjPlPsGefAbk( listeWerte = [
883
884
885 listeWerte[0]
886
887
888
889 , listeWerte[1]
890
891
892
893 , listeWerte[2] ]
894
895
896
897 , logentfernt = 'true' )
898
899 self.__dbVerbindung__.schreibe__prjPlPsGefAbk( listeWerte = [
900
901
902 listeWerte[0]
903
904
905
906 , dlg.gibWerte()[1]
907
908
909
910 , dlg.gibWerte()[2] ] )
911
912
913
914
915
916
917 if( ereignis.GetId() == self.ListBox__HaeufigBegr.wxObjekt.GetId() ) :
918
919 self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt.clear()
920 self.__dbVerbindung__.init__GefszenId_AbkId__Sprache__Projekt()
921
922 self.__dbVerbindung__.selektiere__GefszenId_AbkId__Sprache__Projekt(
923 ComboBoxErg_ListBoxErgSpWTitelAL = self.ComboBox__Haeufig.wxObjekt
924 , ListBoxErg = self.ListBox__HaeufigBegr.wxObjekt
925 , psAbkTyp = 'RH' )
926
927 elif( ereignis.GetId() == self.ListBox__GefStufeBegr.wxObjekt.GetId() ) :
928
929 self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt.clear()
930 self.__dbVerbindung__.init__GefszenId_AbkId__Sprache__Projekt()
931
932 self.__dbVerbindung__.selektiere__GefszenId_AbkId__Sprache__Projekt(
933 ComboBoxErg_ListBoxErgSpWTitelAL = self.ComboBox__GefStufe.wxObjekt
934 , ListBoxErg = self.ListBox__GefStufeBegr.wxObjekt
935 , psAbkTyp = 'RG' )
936
937 elif( ereignis.GetId() == self.ListBox__RisikoStufeBegr.wxObjekt.GetId() ) :
938
939 self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt.clear()
940 self.__dbVerbindung__.init__GefszenId_AbkId__Sprache__Projekt()
941
942 self.__dbVerbindung__.selektiere__GefszenId_AbkId__Sprache__Projekt(
943 ComboBoxErg_ListBoxErgSpWTitelAL = self.TCASRisikoStufe.wxObjekt
944 , ListBoxErg = self.ListBox__RisikoStufeBegr.wxObjekt
945 , psAbkTyp = 'RR' )
946
947
948
949
950
951
952
953
954
956 """
957 Methode die aufgerufen wird, wenn Projekt oder Sprache geändert wurden.
958 """
959
960
961
962
963 for strkt in self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt :
964
965
966
967
968 if( strkt[5] != self.__dbVerbindung__.konstante__str_name_id__gefahrennetz ) :
969
970 continue
971
972
973
974
975 if( strkt[1] in self.ListBoxAL__GefNetz.ListBox__re.gibDbIdListe() ) :
976
977 continue
978
979
980
981
982 self.ListBoxAL__GefNetz.ListBox__re.nimmWert( wert = str( strkt[0] ), dbId = strkt[1] )
983
984
985
986
987
988
989
990 self.__dbVerbindung__.selektiere__psAbk__Sprache__Projekt(
991 ComboBoxErg_ListBoxErgSpWTitelAL = self.ListBoxAL__GefPersonen
992 , psAbkTyp = "GP" )
993 self.__dbVerbindung__.selektiere__psAbk__Sprache__Projekt(
994 ComboBoxErg_ListBoxErgSpWTitelAL = self.ComboBox__Haeufig.wxObjekt
995 , psAbkTyp = "RH" )
996 self.__dbVerbindung__.selektiere__psAbk__Sprache__Projekt(
997 ComboBoxErg_ListBoxErgSpWTitelAL = self.ComboBox__GefStufe.wxObjekt
998 , psAbkTyp = "RG" )
999 self.__dbVerbindung__.selektiere__psAbk__Sprache__Projekt(
1000 ComboBoxErg_ListBoxErgSpWTitelAL = self.TCASRisikoStufe.wxObjekt
1001 , psAbkTyp = "RR" )
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1014 """
1015 Methode die aufgerufen wird, wenn die Datenbankwerte im Fenster dargestellt werden sollen.
1016 """
1017
1018
1019
1020
1021 self.SiAnf__SiAnf.liesDB()
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031 self.ListBoxAL__GefNetz.schiebeAlleRechts()
1032 self.ListBoxAL__GefPersonen.schiebeAlleRechts()
1033
1034 self.TreeCtrlErg__GefszenAnm.wxObjekt.loescheAlles()
1035
1036 self.ComboBox__Haeufig.wxObjekt.SetSelection( 0 )
1037 self.ListBox__HaeufigBegr.wxObjekt.loescheAlles()
1038 self.ComboBox__GefStufe.wxObjekt.SetSelection( 0 )
1039 self.ListBox__GefStufeBegr.wxObjekt.loescheAlles()
1040 self.TCASRisikoStufe.wxObjekt.selektiereWert( clientDataId = 0 )
1041 self.ListBox__RisikoStufeBegr.wxObjekt.loescheAlles()
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053 self.__dbVerbindung__.selektiere__GefszenId_Wortgruppen__Sprache__Projekt(
1054 TreeCtrlErg_Gefszenario = self.TreeCtrlErg__GefszenAnm.wxObjekt )
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064 if( self.__dbVerbindung__.ps_gefszenario_id in self.__dbVerbindung__.daten__GefszenId_StruktId__Projekt ) :
1065
1066 for i in self.__dbVerbindung__.daten__GefszenId_StruktId__Projekt[self.__dbVerbindung__.ps_gefszenario_id] :
1067
1068 self.ListBoxAL__GefNetz.schiebeLinks( i[0] )
1069
1070
1071
1072
1073
1074
1075
1076
1077 psAnmerkungId = None
1078 if( self.__dbVerbindung__.ps_gefszenario_id in self.__dbVerbindung__.daten__GefszenId_AnmId__Sprache__Projekt ) :
1079
1080 psAnmerkungId = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__GefszenId_AnmId__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id] )
1081
1082 self.__dbVerbindung__.selektiere__GefszenId_AnmId__Sprache__Projekt(
1083 TreeCtrlErg_ListBoxErg = self.TreeCtrlErg__GefszenAnm.wxObjekt
1084 , psAnmerkungId = psAnmerkungId )
1085
1086 self.TreeCtrlErg__GefszenAnm.wxObjekt.ExpandAll()
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096 self.__dbVerbindung__.selektiere__GefszenId_AbkId__Sprache__Projekt(
1097 ComboBoxErg_ListBoxErgSpWTitelAL = self.ListBoxAL__GefPersonen
1098 , ListBoxErg = None
1099 , psAbkTyp = 'GP' )
1100
1101 self.__dbVerbindung__.selektiere__GefszenId_AbkId__Sprache__Projekt(
1102 ComboBoxErg_ListBoxErgSpWTitelAL = self.ComboBox__Haeufig.wxObjekt
1103 , ListBoxErg = self.ListBox__HaeufigBegr.wxObjekt
1104 , psAbkTyp = 'RH' )
1105
1106 self.__dbVerbindung__.selektiere__GefszenId_AbkId__Sprache__Projekt(
1107 ComboBoxErg_ListBoxErgSpWTitelAL = self.ComboBox__GefStufe.wxObjekt
1108 , ListBoxErg = self.ListBox__GefStufeBegr.wxObjekt
1109 , psAbkTyp = 'RG' )
1110
1111 self.__dbVerbindung__.selektiere__GefszenId_AbkId__Sprache__Projekt(
1112 ComboBoxErg_ListBoxErgSpWTitelAL = self.TCASRisikoStufe.wxObjekt
1113 , ListBoxErg = self.ListBox__RisikoStufeBegr.wxObjekt
1114 , psAbkTyp = 'RR' )
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1128 """
1129 Methode die aufgerufen wird, um den Wert der Gefährdeten Personen, Häufigkeit, Gefahrenstufe, Risikostufe in die Datenbank zu schreiben.
1130 """
1131
1132
1133
1134
1135
1136
1137 if( self.ListBoxAL__GefNetz.ListBox__li.gibIstVomBenutzerGeaendert() ) :
1138
1139
1140
1141
1142 dbIdListe = self.ListBoxAL__GefNetz.ListBox__re.gibDbIdListe()
1143 for i in range( len( dbIdListe ) ) :
1144
1145 if( allg.hatWert__List(
1146 liste = self.__dbVerbindung__.daten__GefszenId_StruktId__Projekt[self.__dbVerbindung__.ps_gefszenario_id]
1147 , pos = 0
1148 , wert = dbIdListe[i] ) ) :
1149
1150 self.__dbVerbindung__.schreibe__PrjPlPsGefStrkt( listeWerte = [
1151
1152
1153
1154 dbIdListe[i]
1155
1156
1157
1158 , zk.gibZk( '' ) ]
1159
1160
1161
1162 , logentfernt = 'true' )
1163
1164
1165
1166
1167
1168 dbIdListeLi = self.ListBoxAL__GefNetz.ListBox__li.gibDbIdListe()
1169 for i in range( len( dbIdListeLi ) ) :
1170
1171
1172
1173
1174 if( allg.hatWert__List(
1175 liste = self.__dbVerbindung__.daten__GefszenId_StruktId__Projekt[self.__dbVerbindung__.ps_gefszenario_id]
1176 , pos = 0
1177 , wert = dbIdListeLi[i] ) ) :
1178
1179 continue
1180
1181 self.__dbVerbindung__.schreibe__PrjPlPsGefStrkt( listeWerte = [
1182
1183
1184
1185 dbIdListeLi[i]
1186
1187
1188
1189 , zk.gibZk( '' ) ] )
1190
1191
1192
1193
1194
1195 self.__dbVerbindung__.daten__GefszenId_StruktId__Projekt.clear()
1196 self.__dbVerbindung__.init__GefszenId_StruktId__Projekt()
1197
1198
1199
1200
1201
1202
1203
1204
1205 if( self.ListBoxAL__GefPersonen.ListBox__li.gibIstVomBenutzerGeaendert() ) :
1206
1207
1208
1209
1210 dbIdListe = self.ListBoxAL__GefPersonen.ListBox__re.gibDbIdListe()
1211
1212 for i in range( len( dbIdListe ) ) :
1213
1214 if( allg.hatWert__List(
1215 liste = self.__dbVerbindung__.daten__GefszenId_AbkId_gp__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id]
1216 , pos = 0
1217 , wert = dbIdListe[i] ) ) :
1218
1219 self.__dbVerbindung__.schreibe__prjPlPsGefAbk(
1220 listeWerte = [
1221
1222
1223 dbIdListe[i]
1224
1225
1226
1227 , '0'
1228
1229
1230
1231 , zk.gibZk( '' ) ]
1232
1233
1234
1235 , logentfernt = 'true' )
1236
1237
1238
1239
1240 dbIdListeLi = self.ListBoxAL__GefPersonen.ListBox__li.gibDbIdListe()
1241 for i in range( len( dbIdListeLi ) ) :
1242
1243
1244
1245
1246 if( allg.hatWert__List(
1247 liste = self.__dbVerbindung__.daten__GefszenId_AbkId_gp__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id]
1248 , pos = 0
1249 , wert = dbIdListeLi[i] ) ) :
1250
1251 continue
1252
1253 self.__dbVerbindung__.schreibe__prjPlPsGefAbk( listeWerte = [
1254
1255
1256
1257 dbIdListeLi[i]
1258
1259
1260
1261 , '0'
1262
1263
1264
1265 , zk.gibZk( '' ) ] )
1266
1267
1268
1269
1270
1271 self.__dbVerbindung__.daten__GefszenId_AbkId_gp__Sprache__Projekt.clear()
1272 self.__dbVerbindung__.init__GefszenId_AbkId__Sprache__Projekt()
1273
1274
1275
1276
1277
1278
1279
1280
1281 if( self.ComboBox__Haeufig.wxObjekt.gibIstVomBenutzerGeaendert() ) :
1282
1283
1284
1285
1286 self.__dbVerbindung__.schreibe__prjPlPsGefAbk(
1287 listeWerte = [
1288
1289
1290
1291 self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][0]
1292
1293
1294
1295 , self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3]
1296
1297
1298
1299 , self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] ]
1300
1301
1302
1303 , logentfernt = 'true' )
1304
1305
1306
1307
1308
1309 self.__dbVerbindung__.schreibe__prjPlPsGefAbk(
1310 listeWerte = [
1311
1312
1313
1314 self.ComboBox__Haeufig.wxObjekt.gibDbId()
1315
1316
1317
1318 , self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3]
1319
1320
1321
1322 , self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] ] )
1323
1324
1325
1326
1327
1328 self.__dbVerbindung__.daten__GefszenId_AbkId_rh__Sprache__Projekt.clear()
1329 self.__dbVerbindung__.init__GefszenId_AbkId__Sprache__Projekt()
1330
1331
1332
1333
1334
1335
1336
1337
1338 if( self.ComboBox__GefStufe.wxObjekt.gibIstVomBenutzerGeaendert() ) :
1339
1340
1341
1342
1343 self.__dbVerbindung__.schreibe__prjPlPsGefAbk(
1344 listeWerte = [
1345
1346
1347
1348 self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][0]
1349
1350
1351
1352 , self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3]
1353
1354
1355
1356 , self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] ]
1357
1358
1359
1360 , logentfernt = 'true' )
1361
1362
1363
1364
1365
1366 self.__dbVerbindung__.schreibe__prjPlPsGefAbk(
1367 listeWerte = [
1368
1369
1370
1371 self.ComboBox__GefStufe.wxObjekt.gibDbId()
1372
1373
1374
1375 , self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3]
1376
1377
1378
1379 , self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] ] )
1380
1381
1382
1383
1384
1385 self.__dbVerbindung__.daten__GefszenId_AbkId_rg__Sprache__Projekt.clear()
1386 self.__dbVerbindung__.init__GefszenId_AbkId__Sprache__Projekt()
1387
1388
1389
1390
1391
1392
1393
1394
1395 if( self.TCASRisikoStufe.wxObjekt.gibIstVomBenutzerGeaendert() ) :
1396
1397
1398
1399
1400 self.__dbVerbindung__.schreibe__prjPlPsGefAbk(
1401 listeWerte = [
1402
1403
1404
1405 self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][0]
1406
1407
1408
1409 , self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3]
1410
1411
1412
1413 , self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] ]
1414
1415
1416
1417 , logentfernt = 'true' )
1418
1419
1420
1421
1422
1423 self.__dbVerbindung__.schreibe__prjPlPsGefAbk(
1424 listeWerte = [
1425
1426
1427
1428 self.TCASRisikoStufe.wxObjekt.gibDbId()
1429
1430
1431
1432 , self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][3]
1433
1434
1435
1436 , self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt[self.__dbVerbindung__.ps_gefszenario_id][0][2] ] )
1437
1438
1439
1440
1441 self.__dbVerbindung__.daten__GefszenId_AbkId_rr__Sprache__Projekt.clear()
1442 self.__dbVerbindung__.init__GefszenId_AbkId__Sprache__Projekt()
1443
1444
1445
1446
1447
1448
1449 self.ListBoxAL__GefPersonen.ListBox__li.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
1450 self.ComboBox__Haeufig.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
1451 self.ComboBox__GefStufe.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
1452 self.TCASRisikoStufe.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
1453 self.ListBoxAL__GefNetz.ListBox__li.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
1454