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