|
Module bearbeitesicherheitsanf
|
|
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 BearbeiteUebersetzung
42
43 from universal import allg
44 from universal import zk
45
46 from wxuniversal import HK_ANM
47 from wxuniversal import HK_DOK
48 from wxuniversal import HK_DOKTYP
49 from wxuniversal import HK_PE
50 from wxuniversal import HK_PETYP
51 from wxuniversal import HK_SIANF
52 from wxuniversal import HK_SIANFTYP
53 from wxuniversal import HK_STR
54 from wxuniversal import HK_STRBEZ
55
56 from wxuniversal import CheckBoxErg
57 from wxuniversal import ComboBoxErg
58 from wxuniversal import DialogErg
59 from wxuniversal import farbeBearbeiten
60 from wxuniversal import farbeAuswahlListe
61 from wxuniversal import FlexGridSizerWxObjTitel
62 from wxuniversal import SiAnf
63 from wxuniversal import TreeCtrlErg
64 from wxuniversal import VerfuegbareProtokolleintraege
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 Klasse zur Abbildung des Teil-Eingabeformulars der verfügbaren Sicherheitsanforderungen
100 """
101
102
103
104
105
106
107 - def __init__( self, parent, Notizen, dbVerbindung ):
108 wx.Panel.__init__( self, parent = parent )
109
110
111
112
113 self.SetName( name = "LayoutVerfuegbareSicherheitsanforderungen" )
114
115
116
117
118
119
120
121
122 self.__Notizen__ = Notizen
123 self.__dbVerbindung__ = dbVerbindung
124 self.__aktPrjProjekteId__ = self.__dbVerbindung__.filter__prj_projekte_id
125 self.__letztesPrjProjekteId__ = self.__aktPrjProjekteId__
126
127
128
129
130
131
132
133
134
135
136
137
138
139 self.CheckBoxErg__NurGefszen = FlexGridSizerWxObjTitel( parent = self
140 , wxObj = CheckBoxErg( self
141 , Notizen = self.__Notizen__ )
142 , titel = "Gefahrenszenario"
143 , orient = wx.VERTICAL )
144
145 self.CheckBoxErg__NurGefszen.wxObjekt.nimmWerteStatusleiste(
146 DBSpNameErlaeuterung = u"Es werden die auf das Gefahrenszenario bezogenen Sicherheitsanforderungen angezeigt."
147 , DBSpName = "..." )
148
149 self.CheckBoxErg__NurGefszen.wxObjekt.Bind( wx.EVT_CHECKBOX
150 , self.__ereignisLiesDBVerfSiAnf__ )
151
152
153
154
155
156 self.ComboBoxErg__Projekt = FlexGridSizerWxObjTitel(
157 parent = self
158 , wxObj = ComboBoxErg( self
159 , choices = []
160 , style = wx.CB_DROPDOWN|wx.CB_READONLY|wx.CB_SORT
161 , Notizen = self.__Notizen__ )
162 , orient = wx.VERTICAL
163 , titel = u"Projekt" )
164
165 self.ComboBoxErg__Projekt.wxObjekt.nimmWerteStatusleiste(
166 DBSpNameErlaeuterung = u"Die Sicherheitsanforderungen auf das Projekt einschränken."
167 , DBSpName = "prj.projekte.id" )
168
169 self.ComboBoxErg__Projekt.wxObjekt.Bind( wx.EVT_COMBOBOX
170 , self.__ereignisLiesDBVerfSiAnf__ )
171
172
173
174
175
176
177 self.ComboBoxErg__Typ = FlexGridSizerWxObjTitel( parent = self
178 , wxObj = ComboBoxErg( self
179 , choices = []
180 , style = wx.CB_DROPDOWN|wx.CB_READONLY
181 , Notizen = self.__Notizen__ )
182 , orient = wx.VERTICAL
183 , titel = "Typ der Sicherheitsanforderungen" )
184
185 self.ComboBoxErg__Typ.wxObjekt.nimmWerteStatusleiste(
186 DBSpNameErlaeuterung = "Verfügbare Sicherheitsanforderungen anhand des Typs einschränken."
187 , DBSpName = "..." )
188
189 self.ComboBoxErg__Typ.wxObjekt.Bind( wx.EVT_COMBOBOX
190 , self.__ereignisLiesDBVerfSiAnf__ )
191
192
193
194
195
196 self.SiAnf__VerfSiAnf = SiAnf( parent = self
197 , Notizen = self.__Notizen__
198 , dbVerbindung = self.__dbVerbindung__ )
199
200 self.SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxText.SetLabel( label = "Sicherheitsanforderungen" )
201
202 self.SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.SetBackgroundColour( wx.NamedColour( farbeAuswahlListe ) )
203
204
205
206
207
208
209
210
211
212
213
214
215 FlexGridSizer_Selektionskrit = wx.FlexGridSizer( rows = 1, cols = 3, vgap = 0, hgap = 10 )
216
217 FlexGridSizer_Selektionskrit.AddGrowableCol( idx = 1, proportion = 1 )
218 FlexGridSizer_Selektionskrit.AddGrowableCol( idx = 2, proportion = 1 )
219
220 FlexGridSizer_Selektionskrit.Add( self.CheckBoxErg__NurGefszen )
221
222 FlexGridSizer_Selektionskrit.Add( self.ComboBoxErg__Projekt
223 , flag = wx.EXPAND )
224
225 FlexGridSizer_Selektionskrit.Add( self.ComboBoxErg__Typ
226 , flag = wx.EXPAND )
227
228
229
230
231
232 FlexGridSizer = wx.FlexGridSizer( rows = 3, cols = 1, vgap = 10, hgap = 0 )
233
234 FlexGridSizer.AddGrowableCol( idx = 0, proportion = 1 )
235
236 FlexGridSizer.AddGrowableRow( idx = 2, proportion = 1 )
237
238 StaticText_Titel = wx.StaticText( parent = self, label = "Verfügbare Sicherheitsanforderungen" )
239 FlexGridSizer.Add( StaticText_Titel
240 , flag = wx.LEFT|wx.TOP|wx.RIGHT|wx.EXPAND
241 , border = 10 )
242
243 FlexGridSizer.Add( FlexGridSizer_Selektionskrit
244 , flag = wx.LEFT|wx.RIGHT|wx.EXPAND
245 , border = 10 )
246
247 FlexGridSizer.Add( self.SiAnf__VerfSiAnf
248 , flag = wx.LEFT|wx.BOTTOM|wx.RIGHT|wx.EXPAND
249 , border = 10 )
250
251 self.SetSizerAndFit( FlexGridSizer )
252
253
254
255
256
257
258 self.__dbVerbindung__.selektiere__prjProjekte( ComboBoxErg = self.ComboBoxErg__Projekt.wxObjekt )
259 self.ComboBoxErg__Projekt.wxObjekt.selektiereWert( clientDataId = self.__aktPrjProjekteId__ )
260
261 self.__dbVerbindung__.selektiere__prtTyp__Sprache( TreeCtrlErg_ComboBoxErg = self.ComboBoxErg__Typ.wxObjekt
262 , prtTypAspekt = "SF"
263 , hatAlle = True )
264
265 self.__ereignisLiesDBVerfSiAnf__()
266
267
268
269
270
271
272
273
275 """
276 Methode die aufgerufen wird, wenn nach Änderung des Zustandes der C{wx.CheckBox} 'Alle' bzw. der C{wx.ComboBox} 'Typ der Sicherheitsanforderung' die Datenbank ausgelesen werden muß.
277
278 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet.
279 @type ereignis: C{wx - Ereignisobjekt}
280 """
281
282
283
284
285 self.SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.loescheAlles()
286
287
288
289
290
291
292 istFlex = False
293 self.__aktPrjProjekteId__ = self.ComboBoxErg__Projekt.wxObjekt.gibDbId()
294 self.SiAnf__VerfSiAnf.istPermDaten_Flex = istFlex
295 daten__GefszenId_ProtId_siAnf__Projekt = self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt
296
297 if( self.__aktPrjProjekteId__ != self.__dbVerbindung__.filter__prj_projekte_id ) :
298
299
300
301
302
303
304 if( self.__aktPrjProjekteId__ != self.__letztesPrjProjekteId__ ) :
305
306 self.__letztesPrjProjekteId__ = self.__aktPrjProjekteId__
307
308 self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt_Flex.clear()
309 self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt_Flex.clear()
310 self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt_Flex.clear()
311 self.__dbVerbindung__.daten__ProtId_StruktId__Projekt_Flex.clear()
312 self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex = []
313 self.__dbVerbindung__.daten__ProtId_DokuId__Projekt_Flex.clear()
314 self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt_Flex = []
315 self.__dbVerbindung__.daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt_Flex.clear()
316 self.__dbVerbindung__.daten__prtProtokoll_gefProt__Sprache__Projekt_Flex.clear()
317 self.__dbVerbindung__.daten__prtProtokoll_gefProt_vorg__Sprache__Projekt_Flex.clear()
318
319 self.__dbVerbindung__.init__GefszenId_ProtId__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
320 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
321 self.__dbVerbindung__.init__ProtId_StruktId__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
322 self.__dbVerbindung__.init__strStrkt__Sprache__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
323 self.__dbVerbindung__.init__ProtId_DokuId__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
324 self.__dbVerbindung__.init__dokDoku__Sprache__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
325
326
327
328
329
330 istFlex = True
331 self.SiAnf__VerfSiAnf.istPermDaten_Flex = istFlex
332 daten__GefszenId_ProtId_siAnf__Projekt = self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt_Flex
333
334
335
336
337
338
339 prtProtokollId = None
340 if( self.CheckBoxErg__NurGefszen.wxObjekt.gibWert() ) :
341
342 prtProtokollId = daten__GefszenId_ProtId_siAnf__Projekt[self.__dbVerbindung__.ps_gefszenario_id]
343
344
345
346
347
348
349 prtTyp = None
350 if( self.ComboBoxErg__Typ.wxObjekt.gibDbId() > 0 ) :
351
352 prtTyp = [ self.ComboBoxErg__Typ.wxObjekt.gibDbId() ]
353
354
355
356
357
358
359 self.__dbVerbindung__.selektiere__prtProtokoll__Sprache__Projekt(
360 TreeCtrlErg = self.SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt
361 , istGefProt = False
362 , prtTypId = prtTyp
363 , prtProtokollId = prtProtokollId
364 , istFlex = istFlex )
365
366
367
368
369
370
371 self.SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.erzeugeBaum()
372 self.SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.markiereWert()
373 if( ereignis != None ) : self.SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
374
375
376
377
378
379
380 if( ereignis != None ) : ereignis.Skip( skip = True )
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
407 """
408 Klasse zur Abbildung des Teil-Eingabeformulars der verfügbaren Strukturpunkte
409 """
410
411
412
413
414
415
416 - def __init__( self, parent, Notizen, dbVerbindung ):
417 wx.Panel.__init__( self, parent = parent )
418
419
420
421
422 self.SetName( name = "LayoutVerfuegbareStrukturpunkte" )
423
424
425
426
427
428
429
430
431 self.__Notizen__ = Notizen
432 self.__dbVerbindung__ = dbVerbindung
433 self.__aktPrjProjekteId__ = self.__dbVerbindung__.filter__prj_projekte_id
434 self.__letztesPrjProjekteId__ = self.__aktPrjProjekteId__
435 self.__istFlex__ = False
436
437
438
439
440
441
442
443
444
445
446
447
448 self.CheckBoxErg__NurGefszen = FlexGridSizerWxObjTitel( parent = self
449 , wxObj = CheckBoxErg( self
450 , Notizen = self.__Notizen__ )
451 , titel = "Gefahrenszenario"
452 , orient = wx.VERTICAL )
453
454 self.CheckBoxErg__NurGefszen.wxObjekt.nimmWerteStatusleiste(
455 DBSpNameErlaeuterung = u"Es werden die auf das Gefahrenszenario bezogenen Strukturpunkte angezeigt."
456 , DBSpName = "..." )
457
458 self.CheckBoxErg__NurGefszen.wxObjekt.Bind( wx.EVT_CHECKBOX
459 , self.__ereignisLiesDBVerfStrkt__ )
460
461
462
463
464
465 self.ComboBoxErg__Projekt = FlexGridSizerWxObjTitel(
466 parent = self
467 , wxObj = ComboBoxErg( self
468 , choices = []
469 , style = wx.CB_DROPDOWN|wx.CB_READONLY|wx.CB_SORT
470 , Notizen = self.__Notizen__ )
471 , orient = wx.VERTICAL
472 , titel = u"Projekt" )
473
474 self.ComboBoxErg__Projekt.wxObjekt.nimmWerteStatusleiste(
475 DBSpNameErlaeuterung = u"Die Strukturpunkte auf das Projekt einschränken."
476 , DBSpName = "prj.projekte.id" )
477
478 self.ComboBoxErg__Projekt.wxObjekt.Bind( wx.EVT_COMBOBOX
479 , self.__ereignisLiesDBVerfStrkt__ )
480
481
482
483
484
485 self.ComboBoxErg__Typ = FlexGridSizerWxObjTitel( parent = self
486 , wxObj = ComboBoxErg( self
487 , choices = []
488 , style = wx.CB_DROPDOWN|wx.CB_READONLY
489 , Notizen = self.__Notizen__ )
490 , orient = wx.VERTICAL
491 , titel = "Strukturbezeichnung" )
492
493 self.ComboBoxErg__Typ.wxObjekt.nimmWerteStatusleiste(
494 DBSpNameErlaeuterung = "Verfügbare Strukturpunkte anhand der Strukturbezeichnung einschränken."
495 , DBSpName = "..." )
496
497 self.ComboBoxErg__Typ.wxObjekt.Bind( wx.EVT_COMBOBOX
498 , self.__ereignisLiesDBVerfStrkt__ )
499
500
501
502
503
504 self.TreeCtrlErg__VerfStrPkt = FlexGridSizerWxObjTitel( parent = self
505 , wxObj = TreeCtrlErg( self
506 , Notizen = self.__Notizen__ )
507 , titel = "Strukturpunkte"
508 , orient = wx.VERTICAL )
509
510 self.TreeCtrlErg__VerfStrPkt.wxObjekt.SetBackgroundColour( wx.NamedColour( farbeAuswahlListe ) )
511
512
513
514
515
516
517
518
519
520
521
522
523 FlexGridSizer_Selektionskrit = wx.FlexGridSizer( rows = 1, cols = 3, vgap = 0, hgap = 10 )
524
525 FlexGridSizer_Selektionskrit.AddGrowableCol( idx = 1, proportion = 1 )
526 FlexGridSizer_Selektionskrit.AddGrowableCol( idx = 2, proportion = 1 )
527
528 FlexGridSizer_Selektionskrit.Add( self.CheckBoxErg__NurGefszen )
529
530 FlexGridSizer_Selektionskrit.Add( self.ComboBoxErg__Projekt
531 , flag = wx.EXPAND )
532
533 FlexGridSizer_Selektionskrit.Add( self.ComboBoxErg__Typ
534 , flag = wx.EXPAND )
535
536
537
538
539
540 FlexGridSizer = wx.FlexGridSizer( rows = 3, cols = 1, vgap = 10, hgap = 0 )
541
542 FlexGridSizer.AddGrowableCol( idx = 0, proportion = 1 )
543
544 FlexGridSizer.AddGrowableRow( idx = 2, proportion = 1 )
545
546 StaticText_Titel = wx.StaticText( parent = self, label = "Verfügbare Strukturpunkte" )
547 FlexGridSizer.Add( StaticText_Titel
548 , flag = wx.LEFT|wx.TOP|wx.RIGHT|wx.EXPAND
549 , border = 10 )
550
551 FlexGridSizer.Add( FlexGridSizer_Selektionskrit
552 , flag = wx.LEFT|wx.RIGHT|wx.EXPAND
553 , border = 10 )
554
555 FlexGridSizer.Add( self.TreeCtrlErg__VerfStrPkt
556 , flag = wx.LEFT|wx.BOTTOM|wx.RIGHT|wx.EXPAND
557 , border = 10 )
558
559 self.SetSizerAndFit( FlexGridSizer )
560
561
562
563
564
565
566
567 self.__dbVerbindung__.selektiere__prjProjekte( ComboBoxErg = self.ComboBoxErg__Projekt.wxObjekt )
568 self.ComboBoxErg__Projekt.wxObjekt.selektiereWert( clientDataId = self.__aktPrjProjekteId__ )
569
570 self.__dbVerbindung__.selektiere__strName( TreeCtrlErg_ComboBoxErg = self.ComboBoxErg__Typ.wxObjekt )
571 self.__ereignisLiesDBVerfStrkt__()
572
573
574
575
576
577
578
579
580
582 """
583 Methode die aufgerufen wird, wenn nach Änderung des Zustandes der C{wx.CheckBox} 'Alle' bzw. der C{wx.ComboBox} 'Strukturen' die Datenbank ausgelesen werden muß.
584
585 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet.
586 @type ereignis: C{wx - Ereignisobjekt}
587 """
588
589
590
591
592 self.TreeCtrlErg__VerfStrPkt.wxObjekt.loescheAlles()
593
594
595
596
597
598 self.__istFlex__ = False
599 self.__aktPrjProjekteId__ = self.ComboBoxErg__Projekt.wxObjekt.gibDbId()
600 daten__GefszenId_StruktId__Projekt = self.__dbVerbindung__.daten__GefszenId_StruktId__Projekt
601
602 if( self.__aktPrjProjekteId__ != self.__dbVerbindung__.filter__prj_projekte_id ) :
603
604
605
606
607
608
609 if( self.__aktPrjProjekteId__ != self.__letztesPrjProjekteId__ ) :
610
611 self.__letztesPrjProjekteId__ = self.__aktPrjProjekteId__
612
613 self.__dbVerbindung__.daten__GefszenId_StruktId__Projekt_Flex.clear()
614 self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex = []
615
616 self.__dbVerbindung__.init__GefszenId_StruktId__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
617 self.__dbVerbindung__.init__strStrkt__Sprache__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
618
619
620
621
622 self.__istFlex__ = True
623 daten__GefszenId_StruktId__Projekt = self.__dbVerbindung__.daten__GefszenId_StruktId__Projekt_Flex
624
625
626
627
628
629
630 strStrktId = None
631 if( self.CheckBoxErg__NurGefszen.wxObjekt.gibWert() ) :
632
633 strStrktId = daten__GefszenId_StruktId__Projekt[self.__dbVerbindung__.ps_gefszenario_id]
634
635
636
637
638
639
640
641 strName = None
642 if( self.ComboBoxErg__Typ.wxObjekt.gibDbId() > 0 ) :
643
644 strName = [ self.ComboBoxErg__Typ.wxObjekt.gibDbId() ]
645
646
647
648
649
650
651 self.__dbVerbindung__.selektiere__strStrkt__Sprache__Projekt( TreeCtrlErg = self.TreeCtrlErg__VerfStrPkt.wxObjekt
652 , strNameId = strName
653 , strStrktId = strStrktId
654 , istFlex = self.__istFlex__ )
655
656
657
658
659
660
661 self.TreeCtrlErg__VerfStrPkt.wxObjekt.erzeugeBaum()
662 self.TreeCtrlErg__VerfStrPkt.wxObjekt.markiereWert()
663 self.TreeCtrlErg__VerfStrPkt.wxObjekt.ExpandAll()
664
665
666
667
668
669
670
671 if( ereignis != None ) : ereignis.Skip( skip = True )
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
696 """
697 Klasse zur Abbildung des Teil-Eingabeformulars der verfügbaren Dokumente
698 """
699
700
701
702
703
704
705 - def __init__( self, parent, Notizen, dbVerbindung ):
706 wx.Panel.__init__( self, parent = parent )
707
708
709
710
711 self.SetName( name = "LayoutVerfuegbareDokumente" )
712
713
714
715
716
717
718
719
720 self.__Notizen__ = Notizen
721 self.__dbVerbindung__ = dbVerbindung
722 self.__aktPrjProjekteId__ = self.__dbVerbindung__.filter__prj_projekte_id
723 self.__letztesPrjProjekteId__ = self.__aktPrjProjekteId__
724 self.__istFlex__ = False
725
726
727
728
729
730
731
732
733
734
735
736
737 self.CheckBoxErg__NurGefszen = FlexGridSizerWxObjTitel( parent = self
738 , wxObj = CheckBoxErg( self
739 , Notizen = self.__Notizen__ )
740 , titel = "Gefahrenszenario"
741 , orient = wx.VERTICAL )
742
743 self.CheckBoxErg__NurGefszen.wxObjekt.nimmWerteStatusleiste(
744 DBSpNameErlaeuterung = u"Es werden die auf das Gefahrenszenario bezogenen Dokumente angezeigt."
745 , DBSpName = "..." )
746
747 self.CheckBoxErg__NurGefszen.wxObjekt.Bind( wx.EVT_CHECKBOX
748 , self.__ereignisLiesDBVerfDok__ )
749
750
751
752
753
754 self.ComboBoxErg__Projekt = FlexGridSizerWxObjTitel(
755 parent = self
756 , wxObj = ComboBoxErg( self
757 , choices = []
758 , style = wx.CB_DROPDOWN|wx.CB_READONLY|wx.CB_SORT
759 , Notizen = self.__Notizen__ )
760 , orient = wx.VERTICAL
761 , titel = u"Projekt" )
762
763 self.ComboBoxErg__Projekt.wxObjekt.nimmWerteStatusleiste(
764 DBSpNameErlaeuterung = u"Die Dokumente auf das Projekt einschränken."
765 , DBSpName = "prj.projekte.id" )
766
767 self.ComboBoxErg__Projekt.wxObjekt.Bind( wx.EVT_COMBOBOX
768 , self.__ereignisLiesDBVerfDok__ )
769
770
771
772
773
774 self.ComboBoxErg__Typ = FlexGridSizerWxObjTitel( parent = self
775 , wxObj = ComboBoxErg( self
776 , choices = []
777 , style = wx.CB_DROPDOWN|wx.CB_READONLY
778 , Notizen = self.__Notizen__ )
779 , orient = wx.VERTICAL
780 , titel = "Typ der Dokumente" )
781
782 self.ComboBoxErg__Typ.wxObjekt.nimmWerteStatusleiste(
783 DBSpNameErlaeuterung = "Verfügbare Dokumente anhand des Typs einschränken."
784 , DBSpName = "..." )
785
786 self.ComboBoxErg__Typ.wxObjekt.Bind( wx.EVT_COMBOBOX
787 , self.__ereignisLiesDBVerfDok__ )
788
789
790
791
792
793 self.TreeCtrlErg__VerfDok = FlexGridSizerWxObjTitel( parent = self
794 , wxObj = TreeCtrlErg( self
795 , Notizen = self.__Notizen__ )
796 , titel = "Dokumente"
797 , orient = wx.VERTICAL )
798
799 self.TreeCtrlErg__VerfDok.wxObjekt.SetBackgroundColour( wx.NamedColour( farbeAuswahlListe ) )
800
801
802
803
804
805
806
807
808
809
810
811
812 FlexGridSizer_Selektionskrit = wx.FlexGridSizer( rows = 1, cols = 3, vgap = 0, hgap = 10 )
813
814 FlexGridSizer_Selektionskrit.AddGrowableCol( idx = 1, proportion = 1 )
815 FlexGridSizer_Selektionskrit.AddGrowableCol( idx = 2, proportion = 1 )
816
817 FlexGridSizer_Selektionskrit.Add( self.CheckBoxErg__NurGefszen )
818
819 FlexGridSizer_Selektionskrit.Add( self.ComboBoxErg__Projekt
820 , flag = wx.EXPAND )
821
822 FlexGridSizer_Selektionskrit.Add( self.ComboBoxErg__Typ
823 , flag = wx.EXPAND )
824
825
826
827
828
829 FlexGridSizer = wx.FlexGridSizer( rows = 3, cols = 1, vgap = 10, hgap = 0 )
830
831 FlexGridSizer.AddGrowableCol( idx = 0, proportion = 1 )
832
833 FlexGridSizer.AddGrowableRow( idx = 2, proportion = 1 )
834
835 StaticText_Titel = wx.StaticText( parent = self, label = "Verfügbare Dokumente" )
836 FlexGridSizer.Add( StaticText_Titel
837 , flag = wx.LEFT|wx.TOP|wx.RIGHT|wx.EXPAND
838 , border = 10 )
839
840 FlexGridSizer.Add( FlexGridSizer_Selektionskrit
841 , flag = wx.LEFT|wx.RIGHT|wx.EXPAND
842 , border = 10 )
843
844 FlexGridSizer.Add( self.TreeCtrlErg__VerfDok
845 , flag = wx.LEFT|wx.BOTTOM|wx.RIGHT|wx.EXPAND
846 , border = 10 )
847
848 self.SetSizerAndFit( FlexGridSizer )
849
850
851
852
853
854
855 self.__dbVerbindung__.selektiere__prjProjekte( ComboBoxErg = self.ComboBoxErg__Projekt.wxObjekt )
856 self.ComboBoxErg__Projekt.wxObjekt.selektiereWert( clientDataId = self.__aktPrjProjekteId__ )
857
858 self.__dbVerbindung__.selektiere__dokTyp( TreeCtrlErg_ComboBoxErg = self.ComboBoxErg__Typ.wxObjekt )
859 self.__ereignisLiesDBVerfDok__()
860
861
862
863
864
865
866
867
868
870 """
871 Methode die aufgerufen wird, wenn nach Änderung des Zustandes der C{wx.CheckBox} 'Alle' bzw. der C{wx.ComboBox} 'Typ der Dokumente' die Datenbank ausgelesen werden muß.
872
873 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet.
874 @type ereignis: C{wx - Ereignisobjekt}
875 """
876
877
878
879
880 self.TreeCtrlErg__VerfDok.wxObjekt.loescheAlles()
881
882
883
884
885
886
887 self.__istFlex__ = False
888 self.__aktPrjProjekteId__ = self.ComboBoxErg__Projekt.wxObjekt.gibDbId()
889 daten__GefszenId_ProtId_gefProt__Projekt = self.__dbVerbindung__.daten__GefszenId_ProtId_gefProt__Projekt
890 daten__GefszenId_ProtId_siAnf__Projekt = self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt
891 daten__ProtId_DokuId__Projekt = self.__dbVerbindung__.daten__ProtId_DokuId__Projekt
892
893 if( self.__aktPrjProjekteId__ != self.__dbVerbindung__.filter__prj_projekte_id ) :
894
895
896
897
898
899
900 if( self.__aktPrjProjekteId__ != self.__letztesPrjProjekteId__ ) :
901
902 self.__letztesPrjProjekteId__ = self.__aktPrjProjekteId__
903
904 self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt_Flex = []
905 self.__dbVerbindung__.daten__GefszenId_ProtId_gefProt__Projekt_Flex.clear()
906 self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt_Flex.clear()
907 self.__dbVerbindung__.daten__ProtId_DokuId__Projekt_Flex.clear()
908
909 self.__dbVerbindung__.init__dokDoku__Sprache__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
910 self.__dbVerbindung__.init__GefszenId_ProtId__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
911 self.__dbVerbindung__.init__ProtId_DokuId__Projekt( prjProjekteId = self.__aktPrjProjekteId__ )
912
913
914
915
916 self.__istFlex__ = True
917 daten__GefszenId_ProtId_gefProt__Projekt = self.__dbVerbindung__.daten__GefszenId_ProtId_gefProt__Projekt_Flex
918 daten__GefszenId_ProtId_siAnf__Projekt = self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt_Flex
919 daten__ProtId_DokuId__Projekt = self.__dbVerbindung__.daten__ProtId_DokuId__Projekt_Flex
920
921
922
923
924
925
926 dokDokuId = None
927 if( self.CheckBoxErg__NurGefszen.wxObjekt.gibWert() ) :
928
929
930
931
932
933
934 listePrtProtkollId = daten__GefszenId_ProtId_gefProt__Projekt[self.__dbVerbindung__.ps_gefszenario_id] + daten__GefszenId_ProtId_siAnf__Projekt[self.__dbVerbindung__.ps_gefszenario_id]
935
936
937
938
939
940
941 dokDokuId = []
942 for i in daten__ProtId_DokuId__Projekt.keys() :
943
944 if( allg.hatWert__List( liste = listePrtProtkollId, pos = 0, wert = i ) ) :
945
946 dokDokuId += zk.gibListeTeilmenge( liste = daten__ProtId_DokuId__Projekt[i] )
947
948
949
950
951
952
953 typ = None
954 if( self.ComboBoxErg__Typ.wxObjekt.gibDbId() > 0 ) :
955
956 typ = [self.ComboBoxErg__Typ.wxObjekt.gibDbId()]
957
958
959
960
961
962
963 self.__dbVerbindung__.selektiere__dokDoku__Sprache__Projekt(
964 TreeCtrlErg_ListBoxErg = self.TreeCtrlErg__VerfDok.wxObjekt
965 , dokTypId = typ
966 , dokDokuId = dokDokuId
967 , istFlex = self.__istFlex__ )
968
969
970
971
972
973
974
975 self.TreeCtrlErg__VerfDok.wxObjekt.erzeugeBaum()
976 self.TreeCtrlErg__VerfDok.wxObjekt.markiereWert()
977 self.TreeCtrlErg__VerfDok.wxObjekt.ExpandAll()
978
979
980
981
982
983
984
985 if( ereignis != None ) : ereignis.Skip( skip = True )
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1010
1011 """
1012 Klasse zur Abbildung des Eingabeformulars 'Sicherheitsanforderungen bearbeiten'.
1013 """
1014
1015
1016
1017
1018
1019
1020 - def __init__( self, parent, Notizen, dbVerbindung ):
1021 DialogErg.__init__( self
1022 , parent = parent
1023 , title = u"Sicherheitsanforderungen bearbeiten."
1024 , dbVerbindung = dbVerbindung )
1025
1026
1027
1028
1029 self.SetName( name = "BearbeiteSicherheitsanf" )
1030
1031
1032
1033
1034
1035 self.__Notizen__ = Notizen
1036 self.__dbVerbindung__ = dbVerbindung
1037
1038
1039
1040
1041
1042 self.__anderesProjektHinweisZeigen__ = True
1043
1044 self.istGeaendert__daten__ProtId_DokuId__Projekt = False
1045 self.istGeaendert__daten__dokDoku__Sprache__Projekt = False
1046 self.istGeaendert__daten__GefszenId_ProtId_siAnf__Projekt = False
1047 self.istGeaendert__daten__prtProtokoll_siAnf__Sprache__Projekt = False
1048 self.istGeaendert__daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt = False
1049 self.istGeaendert__daten__prtProtokoll_siAnf_vorg__Sprache__Projekt = False
1050 self.istGeaendert__daten__strStrkt__Sprache__Projekt = False
1051 self.istGeaendert__daten__ProtId_StruktId__Projekt = False
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064 self.SiAnf__SiAnf = SiAnf( parent = self
1065 , Notizen = self.__Notizen__
1066 , dbVerbindung = self.__dbVerbindung__ )
1067
1068 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.Bind( wx.EVT_KEY_DOWN
1069 , self.__ereignisBearbeiten__ )
1070
1071 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.Bind( wx.EVT_TREE_ITEM_ACTIVATED
1072 , self.__ereignisSiAnfLoesen__ )
1073
1074 self.SiAnf__SiAnf.TreeCtrlErg__Zugeordnet.wxObjekt.Bind( wx.EVT_TREE_ITEM_ACTIVATED
1075 , self.__ereignisStrukturPunktLoesen__ )
1076
1077 self.SiAnf__SiAnf.TreeCtrlErg__Zugeordnet.wxObjekt.Bind( wx.EVT_TREE_ITEM_ACTIVATED
1078 , self.__ereignisDokumentLoesen__ )
1079
1080 self.SiAnf__SiAnf.TreeCtrlErg__Zugeordnet.wxObjekt.Bind( wx.EVT_TREE_ITEM_ACTIVATED
1081 , self.__ereignisGefProtLoesen__ )
1082
1083
1084
1085
1086
1087
1088
1089
1090 self.Notebook__Verfuegbar = wx.Notebook( self )
1091
1092 self.Notebook__Verfuegbar.AddPage( LayoutVerfuegbareSicherheitsanforderungen(
1093 parent = self.Notebook__Verfuegbar
1094 , Notizen = self.__Notizen__
1095 , dbVerbindung = self.__dbVerbindung__ )
1096 , u"Sicherheitsanforderungen" )
1097
1098 self.Notebook__Verfuegbar.GetPage( 0 ).SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.nimmTooltip( tooltip = "Doppelklick:\nSicherheitsanforderung(en) der aktuell gewählten Sicherheitsanforderung bzw. dem aktuellen Gefahrenszenario zuordnen." )
1099
1100 self.Notebook__Verfuegbar.GetPage( 0 ).SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.Bind(
1101 wx.EVT_TREE_ITEM_ACTIVATED
1102 , self.__ereignisSiAnfZuordnen__ )
1103
1104
1105 self.Notebook__Verfuegbar.AddPage( LayoutVerfuegbareStrukturpunkte( parent = self.Notebook__Verfuegbar
1106 , Notizen = self.__Notizen__
1107 , dbVerbindung = self.__dbVerbindung__ )
1108 , u"Strukturpunkte" )
1109
1110 self.Notebook__Verfuegbar.GetPage( 1 ).TreeCtrlErg__VerfStrPkt.wxObjekt.nimmTooltip( "Doppelklick:\nStrukturpunkt der gewählten Sicherheitsanforderung zuordnen." )
1111
1112 self.Notebook__Verfuegbar.GetPage( 1 ).TreeCtrlErg__VerfStrPkt.wxObjekt.Bind(
1113 wx.EVT_TREE_ITEM_ACTIVATED
1114 , self.__ereignisStrukturPunktZuordnen__ )
1115
1116
1117 self.Notebook__Verfuegbar.AddPage( LayoutVerfuegbareDokumente( parent = self.Notebook__Verfuegbar
1118 , Notizen = self.__Notizen__
1119 , dbVerbindung = self.__dbVerbindung__ )
1120 , u"Dokumente" )
1121
1122 self.Notebook__Verfuegbar.GetPage( 2 ).TreeCtrlErg__VerfDok.wxObjekt.nimmTooltip( "Doppelklick:\nDokument der gewählten Sicherheitsanforderung zuordnen." )
1123
1124 self.Notebook__Verfuegbar.GetPage( 2 ).TreeCtrlErg__VerfDok.wxObjekt.Bind( wx.EVT_TREE_ITEM_ACTIVATED
1125 , self.__ereignisDokumentZuordnen__ )
1126
1127
1128 self.Notebook__Verfuegbar.AddPage( VerfuegbareProtokolleintraege( parent = self.Notebook__Verfuegbar
1129 , Notizen = self.__Notizen__
1130 , dbVerbindung = self.__dbVerbindung__ )
1131 , u"Protokolleinträge" )
1132
1133 self.Notebook__Verfuegbar.GetPage( 3 ).TreeCtrlErg__VerfProtokolleintraege.wxObjekt.SetBackgroundColour( wx.NamedColour( farbeAuswahlListe ) )
1134
1135 self.Notebook__Verfuegbar.GetPage( 3 ).TreeCtrlErg__VerfProtokolleintraege.wxObjekt.nimmTooltip( u"Doppelklick:\nProtokolleintrag der gewählten Sicherheitsanforderung zuordnen." )
1136
1137 self.Notebook__Verfuegbar.GetPage( 3 ).TreeCtrlErg__VerfProtokolleintraege.wxObjekt.Bind(
1138 wx.EVT_TREE_ITEM_ACTIVATED
1139 , self.__ereignisGefProtZuordnen__ )
1140
1141
1142
1143
1144
1145
1146 self.Notebook__Verfuegbar.Bind( wx.EVT_NOTEBOOK_PAGE_CHANGED
1147 , self.__ereignisKKGewechselt__ )
1148
1149
1150
1151
1152
1153
1154
1155 BoxSizerGes = wx.BoxSizer( wx.HORIZONTAL )
1156
1157 BoxSizerGes.Add( self.SiAnf__SiAnf
1158 , proportion = 1
1159 , flag = wx.ALL|wx.EXPAND
1160 , border = 5 )
1161
1162 BoxSizerGes.Add( self.Notebook__Verfuegbar
1163 , proportion = 1
1164 , flag = wx.ALL|wx.EXPAND
1165 , border = 5 )
1166
1167
1168
1169
1170
1171 self.nimmDialogElemente( BoxSizerGes )
1172
1173
1174
1175
1176
1177 self.__ereignisKKGewechselt__()
1178
1179
1180
1181
1182
1183 self.SiAnf__SiAnf.liesDB()
1184
1185
1186
1187
1188
1189 self.Button__Verwerfen.Enable( False )
1190 self.Button__Sichern.Enable( False )
1191
1192
1193
1194
1195
1196
1197
1198
1199
1201 """
1202 Methode die aufgerufen wird, wenn der Text der Sicherheitsanforderung bearbeitet werden soll.
1203
1204 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
1205 @type ereignis: C{wx - Ereignisobjekt}
1206 """
1207
1208
1209
1210
1211 if( self.Notebook__Verfuegbar.GetCurrentPage() != self.Notebook__Verfuegbar.GetPage( 0 ) ) :
1212
1213 if( ereignis != None ) :
1214
1215 ereignis.Skip( skip = True )
1216 return
1217
1218
1219
1220
1221
1222
1223 if( not( ereignis.GetKeyCode() == wx.WXK_F2 ) ) :
1224
1225 if( ereignis != None ) :
1226
1227 ereignis.Skip( skip = True )
1228 return
1229
1230
1231
1232
1233
1234
1235 if( ereignis.GetEventObject().istHauptknoten() ) :
1236
1237 if( ereignis != None ) :
1238
1239 ereignis.Skip( skip = True )
1240 return
1241
1242
1243
1244
1245
1246
1247 listePrtProtokollId_SiAnf = zk.gibListeTeilmenge( liste = ereignis.GetEventObject().gibZweigDaten() )
1248 prtProtokollId_SiAnf = ereignis.GetEventObject().gibDbId()
1249
1250
1251
1252
1253
1254
1255 dlg = BearbeiteUebersetzung( parent = self
1256 , Notizen = self.__Notizen__
1257 , dbVerbindung = self.__dbVerbindung__
1258 , sprUebvarId = self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt[prtProtokollId_SiAnf][0][3]
1259 , notizen_db = None
1260 , notizenKontext_db = self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt[prtProtokollId_SiAnf][0][1] )
1261
1262
1263 dlg.ShowModal()
1264 dlg.Destroy()
1265
1266
1267
1268
1269
1270
1271
1272 if( dlg.gibWerte()[0]
1273 and ( dlg.gibWerte()[1] != self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt[prtProtokollId_SiAnf][0][3]
1274 or dlg.gibWerte()[2] != self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt[prtProtokollId_SiAnf][0][1] ) ) :
1275
1276 self.__dbVerbindung__.schreibe__prjPPPrtProtokoll( listeWerte = [[
1277
1278
1279 self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt[prtProtokollId_SiAnf][0][4]
1280
1281
1282
1283 , dlg.gibWerte()[2]
1284
1285
1286
1287 , None
1288
1289
1290
1291 , None
1292
1293
1294
1295 , None
1296
1297
1298
1299 , None
1300
1301
1302
1303 , 0
1304
1305
1306
1307 , prtProtokollId_SiAnf
1308
1309
1310
1311 , dlg.gibWerte()[1]
1312
1313
1314
1315 , None
1316
1317
1318
1319 , None ]] )
1320
1321
1322
1323
1324
1325
1326 self.istGeaendert__daten__prtProtokoll_siAnf__Sprache__Projekt = True
1327 self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt.clear()
1328 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt()
1329
1330
1331
1332
1333
1334
1335
1336 self.SiAnf__SiAnf.liesDB()
1337 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
1338
1339 self.Notebook__Verfuegbar.GetPage( 0 ).__ereignisLiesDBVerfSiAnf__()
1340 self.Notebook__Verfuegbar.GetPage( 0 ).SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
1341
1342
1343
1344
1345
1346
1347
1348 self.Button__Verwerfen.Enable( True )
1349 self.Button__Sichern.Enable( True )
1350
1351
1352
1353
1354
1355
1356
1357 if( ereignis != None ) : ereignis.Skip( skip = True )
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1370 """
1371 Das aktuelle Dokument von der gewählten Sicherheitsanforderung lösen.
1372
1373 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
1374 @type ereignis: C{wx - Ereignisobjekt}
1375 """
1376
1377
1378
1379
1380
1381
1382 if( self.Notebook__Verfuegbar.GetCurrentPage() == self.Notebook__Verfuegbar.GetPage( 0 )
1383 or ereignis.GetEventObject().gibBezeichnungHauptknoten( ereignis.GetItem() ) != HK_DOK
1384 or ereignis.GetEventObject().istHauptknoten() ) :
1385
1386 if( ereignis != None ) :
1387
1388 ereignis.Skip( skip = True )
1389 return
1390
1391
1392
1393
1394
1395
1396 dokDokuId = ereignis.GetEventObject().gibDbId()
1397 prtProtokollId_SiAnf = self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.gibDbId()
1398 lfdNr = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt ).index( dokDokuId )
1399
1400
1401
1402
1403
1404
1405 self.__dbVerbindung__.schreibe__prjPlPrtDokDoku( listeWerte = [
1406
1407
1408 self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt[lfdNr][8]
1409
1410
1411
1412 , 'true'
1413
1414
1415
1416 , dokDokuId
1417
1418
1419
1420 , self.__dbVerbindung__.filter__prj_projekte_id
1421
1422
1423
1424 , prtProtokollId_SiAnf ] )
1425
1426
1427
1428
1429
1430
1431 self.istGeaendert__daten__ProtId_DokuId__Projekt = True
1432 self.__dbVerbindung__.daten__ProtId_DokuId__Projekt.clear()
1433 self.__dbVerbindung__.init__ProtId_DokuId__Projekt()
1434
1435
1436
1437
1438
1439
1440 self.SiAnf__SiAnf.liesDB()
1441 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
1442
1443
1444
1445
1446
1447
1448
1449 self.Button__Verwerfen.Enable( True )
1450 self.Button__Sichern.Enable( True )
1451
1452
1453
1454
1455
1456
1457
1458 if( ereignis != None ) : ereignis.Skip( skip = True )
1459
1460
1461
1462
1463
1464
1465
1466
1467
1469 """
1470 Das aktuelle Dokument der gewählten Sicherheitsanforderung zuordnen.
1471
1472 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
1473 @type ereignis: C{wx - Ereignisobjekt}
1474 """
1475
1476
1477
1478
1479
1480 if( ereignis.GetEventObject().istHauptknoten()
1481 or self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.istHauptknoten()
1482 or self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.GetSelection() == self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.GetRootItem() ) :
1483
1484 if( ereignis != None ) : ereignis.Skip( skip = True )
1485 return
1486
1487
1488
1489
1490
1491 dokDokuId = ereignis.GetEventObject().gibDbId()
1492 prtProtokollId_SiAnf = self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.gibDbId()
1493
1494 bereitsZugeordnet = []
1495 if( prtProtokollId_SiAnf in self.__dbVerbindung__.daten__ProtId_DokuId__Projekt ) :
1496 bereitsZugeordnet = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__ProtId_DokuId__Projekt[prtProtokollId_SiAnf] )
1497
1498
1499
1500
1501
1502
1503
1504
1505 if( dokDokuId in bereitsZugeordnet ) :
1506
1507 dlg = wx.MessageDialog( self
1508 , "Das Dokument ist bereits zugeordnet !\n\nDas Verschieben wird abgebrochen."
1509 , "Dokument wird nicht zugeordnet !"
1510 , wx.OK | wx.ICON_ERROR )
1511 dlg.CenterOnScreen()
1512 dlg.ShowModal()
1513 dlg.Destroy()
1514
1515 if( ereignis != None ) :
1516
1517 ereignis.Skip( skip = True )
1518 return
1519
1520
1521
1522
1523
1524
1525 lfdNr = None
1526 notizen = None
1527 nr = None
1528 spr_uebvar_id = None
1529 spr_uebvar_id_zus = None
1530 aspekt = None
1531 if( self.Notebook__Verfuegbar.GetPage( 2 ).__istFlex__ ) :
1532
1533 lfdNr = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt_Flex ).index( dokDokuId )
1534
1535 notizen = self.__dbVerbindung__.daten__dokDoku__Sprache[dokDokuId][0][0]
1536 aspekt = self.__dbVerbindung__.daten__dokDoku__Sprache[dokDokuId][0][2]
1537
1538
1539 else :
1540
1541 lfdNr = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt ).index( dokDokuId )
1542
1543 notizen = self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt[lfdNr][8]
1544 aspekt = self.__dbVerbindung__.daten__dokDoku__Sprache[dokDokuId][0][2]
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557 if( ( aspekt == self.__dbVerbindung__.konstante__dok_doku_aspekt[0] )
1558 and not ( self.__dbVerbindung__.ist__prtTypId( typ = 'D', id = self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt[prtProtokollId_SiAnf][0][2] )
1559 or self.__dbVerbindung__.ist__prtTypId( typ = 'P', id = self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt[prtProtokollId_SiAnf][0][2] ) ) ) :
1560
1561
1562 dlg = wx.MessageDialog( self
1563 , "Quelldokumente (Id Q:) dürfen jeder Sicherheitsanforderung zugeordnet werden.\n\nBeweisdokumente (Id B:), dürfen nur der Dokumentationsanforderung (Id [D]) oder Prüfung (Id [P]) zugeordnet werden !\n\nDas Verschieben wird abgebrochen."
1564 , "Dokument wird nicht zugeordnet !"
1565 , wx.OK | wx.ICON_ERROR )
1566 dlg.CenterOnScreen()
1567 dlg.ShowModal()
1568 dlg.Destroy()
1569
1570 if( ereignis != None ) :
1571
1572 ereignis.Skip( skip = True )
1573 return
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585 if( self.Notebook__Verfuegbar.GetPage( 2 ).__istFlex__ ) :
1586
1587
1588
1589
1590
1591
1592
1593
1594 if( self.__anderesProjektHinweisZeigen__ ) :
1595
1596 dlg = wx.MessageDialog( self
1597 , "Das Dokument befindet sich in einem anderen Projekt.\n\nEs wird nur die Dokument-Id und Dokumentbezeichnung übernommen.\n\nBehalte diesen Hinweis im Kopf. Er wird nicht mehr angezeigt, solange Du dieses Fenster geöffnet hast.\n\nSoll das Dokument in das aktuelle Projekt übernommen werden ?"
1598 , "Dokument in das aktuelle Projekt übernehmen ?"
1599 , style = wx.YES_NO | wx.ICON_QUESTION )
1600
1601 dlg.CenterOnScreen()
1602
1603 if ( dlg.ShowModal() == wx.ID_NO ):
1604
1605 dlg.Destroy()
1606
1607 if( ereignis != None ) :
1608
1609 ereignis.Skip( skip = True )
1610 return
1611
1612 dlg.Destroy()
1613 self.__anderesProjektHinweisZeigen__ = False
1614
1615
1616
1617
1618 self.__dbVerbindung__.schreibe__prjPlDokAusgabe( listeWerte = [
1619
1620
1621 dokDokuId
1622
1623
1624
1625 , '????'
1626
1627
1628
1629 , self.__dbVerbindung__.daten__dokDoku__Sprache[dokDokuId][0][3] ] )
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643 self.__dbVerbindung__.schreibe__prjPlPrtDokDoku( listeWerte = [
1644
1645
1646 notizen
1647
1648
1649
1650 , 'false'
1651
1652
1653
1654 , dokDokuId
1655
1656
1657
1658 , self.__dbVerbindung__.filter__prj_projekte_id
1659
1660
1661
1662 , prtProtokollId_SiAnf ] )
1663
1664
1665
1666
1667
1668
1669 self.istGeaendert__daten__ProtId_DokuId__Projekt = True
1670 self.__dbVerbindung__.daten__ProtId_DokuId__Projekt.clear()
1671 self.__dbVerbindung__.init__ProtId_DokuId__Projekt()
1672
1673
1674 if( self.Notebook__Verfuegbar.GetPage( 2 ).__istFlex__ ) :
1675
1676 self.istGeaendert__daten__dokDoku__Sprache__Projekt = True
1677 self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt = []
1678 self.__dbVerbindung__.init__dokDoku__Sprache__Projekt()
1679
1680
1681
1682
1683
1684
1685 self.SiAnf__SiAnf.liesDB()
1686 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
1687
1688
1689
1690
1691
1692
1693
1694 self.Button__Verwerfen.Enable( True )
1695 self.Button__Sichern.Enable( True )
1696
1697
1698
1699
1700
1701
1702
1703 if( ereignis != None ) : ereignis.Skip( skip = True )
1704
1705
1706
1707
1708
1709
1710
1711
1713 """
1714 Den aktuellen Gefahrenprotokolleintrag von der gewählten Sicherheitsanforderung lösen.
1715
1716 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
1717 @type ereignis: C{wx - Ereignisobjekt}
1718 """
1719
1720
1721
1722
1723
1724
1725 if( self.Notebook__Verfuegbar.GetCurrentPage() == self.Notebook__Verfuegbar.GetPage( 0 )
1726 or ereignis.GetEventObject().gibBezeichnungHauptknoten( ereignis.GetItem() ) != HK_PE
1727 or ereignis.GetEventObject().istHauptknoten() ) :
1728
1729 if( ereignis != None ) :
1730
1731 ereignis.Skip( skip = True )
1732 return
1733
1734
1735
1736
1737
1738
1739 listePrtProtokollId = zk.gibListeTeilmenge( liste = ereignis.GetEventObject().gibZweigDaten() )
1740 prtProtokollId_SiAnf = self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.gibDbId()
1741
1742
1743
1744
1745
1746
1747 for protId in listePrtProtokollId :
1748
1749 self.__dbVerbindung__.schreibe__prjPPrtVerbindung(
1750 prjProjekteId = self.__dbVerbindung__.filter__prj_projekte_id
1751
1752 , prtProtokollIdVorg = prtProtokollId_SiAnf
1753
1754 , prtProtokollIdNachf = protId
1755
1756 , trennen = True )
1757
1758
1759
1760
1761
1762
1763 self.istGeaendert__daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt = True
1764 self.__dbVerbindung__.daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt.clear()
1765 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt()
1766
1767
1768
1769
1770
1771
1772 self.SiAnf__SiAnf.liesDB()
1773 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
1774
1775
1776
1777
1778
1779
1780
1781 self.Button__Verwerfen.Enable( True )
1782 self.Button__Sichern.Enable( True )
1783
1784
1785
1786
1787
1788
1789
1790 if( ereignis != None ) : ereignis.Skip( skip = True )
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1804 """
1805 Den aktuellen Gefahrenprotokolleintrag / die -einträge der gewählten Sicherheitsanforderung zuordnen.
1806
1807 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
1808 @type ereignis: C{wx - Ereignisobjekt}
1809 """
1810
1811
1812
1813
1814
1815 if( ereignis.GetEventObject().istHauptknoten()
1816 or self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.istHauptknoten()
1817 or self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.GetSelection() == self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.GetRootItem() ) :
1818
1819 if( ereignis != None ) : ereignis.Skip( skip = True )
1820 return
1821
1822
1823
1824
1825
1826
1827 listePrtProtokollId = zk.gibListeTeilmenge( liste = ereignis.GetEventObject().gibZweigDaten() )
1828 prtProtokollId = ereignis.GetEventObject().gibDbId()
1829 prtProtokollId_SiAnf = self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.gibDbId()
1830
1831 bereitsZugeordnet = []
1832 if( prtProtokollId_SiAnf in self.__dbVerbindung__.daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt ) :
1833 bereitsZugeordnet = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt[prtProtokollId_SiAnf] )
1834
1835
1836
1837
1838
1839
1840
1841
1842 if( prtProtokollId in bereitsZugeordnet ) :
1843
1844 dlg = wx.MessageDialog( self
1845 , "Der Gefahrenprotokolleintrag ist bereits zugeordnet !\n\nDas Verschieben wird abgebrochen."
1846 , "Gefahrenprotokolleintrag wird nicht zugeordnet !"
1847 , wx.OK | wx.ICON_ERROR )
1848 dlg.CenterOnScreen()
1849 dlg.ShowModal()
1850 dlg.Destroy()
1851
1852 if( ereignis != None ) :
1853
1854 ereignis.Skip( skip = True )
1855 return
1856
1857
1858
1859
1860
1861
1862 for protId in listePrtProtokollId :
1863
1864 self.__dbVerbindung__.schreibe__prjPPrtVerbindung(
1865 prjProjekteId = self.__dbVerbindung__.filter__prj_projekte_id
1866
1867 , prtProtokollIdVorg = prtProtokollId_SiAnf
1868
1869 , prtProtokollIdNachf = protId )
1870
1871
1872
1873
1874
1875
1876 self.istGeaendert__daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt = True
1877 self.__dbVerbindung__.daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt.clear()
1878 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt()
1879
1880
1881
1882
1883
1884
1885 self.SiAnf__SiAnf.liesDB()
1886 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
1887
1888
1889
1890
1891
1892
1893
1894 self.Button__Verwerfen.Enable( True )
1895 self.Button__Sichern.Enable( True )
1896
1897
1898
1899
1900
1901
1902
1903 if( ereignis != None ) : ereignis.Skip( skip = True )
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1915 """
1916 Es wurde zwischen den Karteikarten gewechselt.
1917
1918 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet.
1919 @type ereignis: C{wx - Ereignisobjekt}
1920 """
1921
1922
1923
1924
1925 if( self.Notebook__Verfuegbar.GetCurrentPage() == self.Notebook__Verfuegbar.GetPage( 0 ) ) :
1926
1927
1928
1929
1930 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.SetBackgroundColour( farbeBearbeiten )
1931 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.nimmTooltip( u"Doppelklick:\nVerbindung zwischen Sicherheitsanforderung und Gefahrenszenario aufheben.\n\nF2:\nSicherheitsanforderung bearbeiten." )
1932
1933
1934
1935
1936
1937
1938 self.SiAnf__SiAnf.TreeCtrlErg__Zugeordnet.wxObjekt.SetBackgroundColour( self.GetBackgroundColour() )
1939 self.SiAnf__SiAnf.TreeCtrlErg__Zugeordnet.wxObjekt.nimmTooltip( "" )
1940
1941
1942
1943
1944
1945 else :
1946
1947
1948
1949
1950 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.SetBackgroundColour( 'WHITE' )
1951 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.nimmTooltip( "" )
1952
1953
1954
1955
1956
1957 self.SiAnf__SiAnf.TreeCtrlErg__Zugeordnet.wxObjekt.SetBackgroundColour( farbeBearbeiten )
1958
1959 if( self.Notebook__Verfuegbar.GetCurrentPage() == self.Notebook__Verfuegbar.GetPage( 1 )
1960 or self.Notebook__Verfuegbar.GetCurrentPage() == self.Notebook__Verfuegbar.GetPage( 2 )
1961 or self.Notebook__Verfuegbar.GetCurrentPage() == self.Notebook__Verfuegbar.GetPage( 3 ) ) :
1962
1963 self.SiAnf__SiAnf.TreeCtrlErg__Zugeordnet.wxObjekt.nimmTooltip( u"Doppelklick:\nVerbindung zwischen Sicherheitsanforderung und Strukturpunkt, Dokument oder Protokolleintrag aufheben." )
1964
1965
1966
1967
1968
1969
1970
1971 if( ereignis != None ) : ereignis.Skip( skip = True )
1972
1973
1974
1975
1976
1977
1978
1979
1980
1982 """
1983 Die aktuelle(n) Sicherheitsanforderungen von der Sicherheitsanforderung (Technische Maßnahme) bzw. dem Gefahrenszenario lösen.
1984
1985 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
1986 @type ereignis: C{wx - Ereignisobjekt}
1987 """
1988
1989
1990
1991
1992
1993 if( self.Notebook__Verfuegbar.GetCurrentPage() != self.Notebook__Verfuegbar.GetPage( 0 )
1994 or ereignis.GetEventObject().istHauptknoten() ) :
1995
1996 if( ereignis != None ) :
1997
1998 ereignis.Skip( skip = True )
1999 return
2000
2001
2002
2003
2004
2005
2006
2007
2008 self.__dbVerbindung__.schreibe__prjPlPrtPsGefszenario(
2009 listePrtProtokollId = zk.gibListeTeilmenge( liste = ereignis.GetEventObject().gibZweigDaten() )
2010 , psGefszenarioId = self.__dbVerbindung__.ps_gefszenario_id
2011 , logentfernt = 'true' )
2012
2013
2014
2015
2016
2017
2018 self.istGeaendert__daten__GefszenId_ProtId_siAnf__Projekt = True
2019 self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt.clear()
2020 self.__dbVerbindung__.init__GefszenId_ProtId__Projekt()
2021
2022
2023
2024
2025
2026
2027
2028 self.SiAnf__SiAnf.liesDB()
2029 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
2030
2031 self.Notebook__Verfuegbar.GetPage( 0 ).__ereignisLiesDBVerfSiAnf__()
2032 self.Notebook__Verfuegbar.GetPage( 0 ).SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
2033
2034
2035
2036
2037
2038
2039
2040 self.Button__Verwerfen.Enable( True )
2041 self.Button__Sichern.Enable( True )
2042
2043
2044
2045
2046
2047
2048
2049 if( ereignis != None ) : ereignis.Skip( skip = True )
2050
2051
2052
2053
2054
2055
2056
2057
2058
2060 """
2061 Die aktuelle(n) Sicherheitsanforderungen der gewählten Sicherheitsanforderung (dem Gefahrenszenario) zuordnen.
2062
2063 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
2064 @type ereignis: C{wx - Ereignisobjekt}
2065 """
2066
2067
2068
2069
2070 if( ereignis.GetEventObject().istHauptknoten() ) :
2071
2072 if( ereignis != None ) : ereignis.Skip( skip = True )
2073 return
2074
2075
2076
2077
2078
2079
2080 listePrtProtokollId = zk.gibListeTeilmenge( liste = ereignis.GetEventObject().gibZweigDaten() )
2081 prtProtokollId = ereignis.GetEventObject().gibDbId()
2082 prtProtokollId_Vorg = None
2083
2084 if( not ( self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.istHauptknoten()
2085 or self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.GetSelection() == self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.GetRootItem() ) ) :
2086
2087 prtProtokollId_Vorg = self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.gibDbId()
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098 istFehlermeldung = False
2099
2100
2101 if( prtProtokollId_Vorg is None ) :
2102
2103 istFehlermeldung = ( ( prtProtokollId not in self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt.keys() ) and ( prtProtokollId in zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt[self.__dbVerbindung__.ps_gefszenario_id] ) ) )
2104
2105
2106 else :
2107
2108 istFehlermeldung = ( ( prtProtokollId in self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt ) and ( prtProtokollId_Vorg in zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt[prtProtokollId] ) ) )
2109
2110
2111 if( istFehlermeldung ) :
2112
2113 dlg = wx.MessageDialog( self
2114 , "Die Sicherheitsanforderung ist bereits zugeordnet !\n\nDas Verschieben wird abgebrochen."
2115 , "Sicherheitsanforderung wird nicht zugeordnet !"
2116 , wx.OK | wx.ICON_ERROR )
2117 dlg.CenterOnScreen()
2118 dlg.ShowModal()
2119 dlg.Destroy()
2120
2121 if( ereignis != None ) :
2122
2123 ereignis.Skip( skip = True )
2124 return
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135 if( ( prtProtokollId_Vorg is None )
2136 and ( prtProtokollId in self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt ) ) :
2137
2138 dlg = wx.MessageDialog( self
2139 , "Soll die Verbindung zu sämtlichen Sicherheitsanforderungen aufgehoben und die aktuell gewählte\n\nSicherheitsanforderung-Id\t" + zk.gibIdWertNotizen( id = prtProtokollId, zusInfo = "" ) + "\n\nauf die oberste Ebene geschoben werden ?"
2140 , "Verbindungen aufheben ?"
2141 , style = wx.YES_NO | wx.ICON_QUESTION )
2142
2143 dlg.CenterOnScreen()
2144
2145 if ( dlg.ShowModal() == wx.ID_NO ):
2146
2147 dlg.Destroy()
2148
2149 if( ereignis != None ) :
2150
2151 ereignis.Skip( skip = True )
2152 return
2153
2154 dlg.Destroy()
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166 if( prtProtokollId_Vorg is not None ) :
2167
2168 if( not self.__dbVerbindung__.ist__prtTypId( typ = 'T', id = self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt[prtProtokollId_Vorg][0][2] )
2169 or self.__dbVerbindung__.ist__prtTypId( typ = 'T', id = self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt[prtProtokollId][0][2] ) ) :
2170
2171 dlg = wx.MessageDialog( self
2172 , "Verbindungen können nur zwischen einer technischen Maßnahme (Id [T]) und den restlichen Typen der Sicherheitsanforderungen (Id [D,P,O]) hergestellt werden.\n\nDas Verschieben wird abgebrochen."
2173 , "Sicherheitsanforderung wird nicht zugeordnet !"
2174 , wx.OK | wx.ICON_ERROR )
2175
2176 dlg.CenterOnScreen()
2177 dlg.ShowModal()
2178 dlg.Destroy()
2179
2180 if( ereignis != None ) :
2181
2182 ereignis.Skip( skip = True )
2183 return
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195 if( self.Notebook__Verfuegbar.GetPage( 0 ).SiAnf__VerfSiAnf.istPermDaten_Flex ) :
2196
2197
2198
2199
2200
2201
2202
2203 if( self.__anderesProjektHinweisZeigen__ ) :
2204
2205 dlg = wx.MessageDialog( self
2206 , "Die Sicherheitsanforderung befindet sich in einem anderen Projekt.\n\nBitte beachte, daß die zugeordneten Sicherheitsanforderungen nicht übernommen werden.\nDie zugeordneten Strukturpunkte werden vollständig übernommen. Von den zugeordneten Dokumenten werden nur Dokument-Id und Dokumentbezeichnung übernommen. Gefahrenprotokolleinträge werden nicht übernommen.\n\nBehalte diese Hinweise im Kopf.Sie werden nicht mehr angezeigt, solange Du dieses Fenster geöffnet hast.\n\nSoll die Sicherheitsanforderung in das aktuelle Projekt übernommen werden ?"
2207 , "Sicherheitsanforderung in das aktuelle Projekt übernehmen ?"
2208 , style = wx.YES_NO | wx.ICON_QUESTION )
2209
2210 dlg.CenterOnScreen()
2211
2212 if ( dlg.ShowModal() == wx.ID_NO ):
2213
2214 dlg.Destroy()
2215
2216 if( ereignis != None ) :
2217
2218 ereignis.Skip( skip = True )
2219 return
2220
2221 dlg.Destroy()
2222 self.__anderesProjektHinweisZeigen__ = False
2223
2224
2225
2226
2227
2228
2229
2230
2231 listePrtProtokollId = [prtProtokollId]
2232 if( prtProtokollId not in self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt ) :
2233
2234 self.__dbVerbindung__.schreibe__prjPPPrtProtokoll( listeWerte = [[
2235
2236
2237 None
2238
2239
2240
2241 , self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt_Flex[prtProtokollId][0][1]
2242
2243
2244
2245 , None
2246
2247
2248
2249 , None
2250
2251
2252
2253 , None
2254
2255
2256
2257 , None
2258
2259
2260
2261 , 0
2262
2263
2264
2265 , prtProtokollId
2266
2267
2268
2269 , self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt_Flex[prtProtokollId][0][3]
2270
2271
2272
2273 , None
2274
2275
2276
2277 , None ]] )
2278
2279
2280
2281
2282
2283 self.istGeaendert__daten__prtProtokoll_siAnf__Sprache__Projekt = True
2284 self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt.clear()
2285 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt()
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297 if( prtProtokollId in self.__dbVerbindung__.daten__ProtId_StruktId__Projekt_Flex ) :
2298
2299
2300
2301
2302 bereitsZugeordnet = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt, spalte = 1 )
2303
2304 istAenderungProjekt = False
2305 for strId in zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__ProtId_StruktId__Projekt_Flex[prtProtokollId] ) :
2306
2307 if( bereitsZugeordnet is not None and strId in bereitsZugeordnet ) : continue
2308
2309 istAenderungProjekt = True
2310
2311 lfdNr = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex, spalte = 1 ).index( strId )
2312
2313 self.__dbVerbindung__.schreibe__PrjPpStrStrkt(
2314 prjProjekteId = self.__dbVerbindung__.filter__prj_projekte_id
2315 , strStrktId = strId
2316 , prjPersonenId = "1"
2317 , sprUebvarId = self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex[lfdNr][4]
2318 , fbereignis = ""
2319 , notizen = "" )
2320
2321 if( len( str( self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex[lfdNr][2] ) ) > 0 ) :
2322
2323 self.__dbVerbindung__.schreibe__prjPStrverbindung(
2324 prjProjekteId = self.__dbVerbindung__.filter__prj_projekte_id
2325 , strStrktIdVorg = self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex[lfdNr][2]
2326 , strStrktIdNachf = strId )
2327
2328
2329
2330
2331
2332 bereitsZugeordnet = None
2333 if( prtProtokollId in self.__dbVerbindung__.daten__ProtId_StruktId__Projekt ) :
2334
2335 bereitsZugeordnet = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__ProtId_StruktId__Projekt[prtProtokollId] )
2336
2337 istAenderungSiAnf = False
2338 for strId in zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__ProtId_StruktId__Projekt_Flex[prtProtokollId] ) :
2339
2340 if( bereitsZugeordnet is not None and strId in bereitsZugeordnet ) : continue
2341
2342 istAenderungSiAnf = True
2343
2344 self.__dbVerbindung__.schreibe__PrjPPrtStrStrkt( listeWerte = [
2345
2346
2347 prtProtokollId
2348
2349
2350
2351 , strId ] )
2352
2353
2354
2355
2356 if( istAenderungProjekt ) :
2357
2358 self.istGeaendert__daten__strStrkt__Sprache__Projekt = True
2359 self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt = []
2360 self.__dbVerbindung__.init__strStrkt__Sprache__Projekt()
2361
2362 if( istAenderungSiAnf ) :
2363
2364 self.istGeaendert__daten__ProtId_StruktId__Projekt = True
2365 self.__dbVerbindung__.daten__ProtId_StruktId__Projekt.clear()
2366 self.__dbVerbindung__.init__ProtId_StruktId__Projekt()
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377 if( prtProtokollId in self.__dbVerbindung__.daten__ProtId_DokuId__Projekt_Flex ) :
2378
2379
2380
2381
2382 bereitsZugeordnet = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt )
2383
2384 istAenderungProjekt = False
2385 for dokId in zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__ProtId_DokuId__Projekt_Flex[prtProtokollId] ) :
2386
2387 if( bereitsZugeordnet is not None and dokId in bereitsZugeordnet ) : continue
2388
2389 istAenderungProjekt = True
2390
2391 lfdNr = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt_Flex ).index( dokId )
2392
2393 self.__dbVerbindung__.schreibe__prjPlDokAusgabe( listeWerte = [
2394
2395
2396 dokId
2397
2398
2399
2400 , '????'
2401
2402
2403
2404 , self.__dbVerbindung__.daten__dokDoku__Sprache[dokId][0][3] ] )
2405
2406
2407
2408
2409 bereitsZugeordnet = None
2410 if( prtProtokollId in self.__dbVerbindung__.daten__ProtId_DokuId__Projekt ) :
2411
2412 bereitsZugeordnet = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__ProtId_DokuId__Projekt[prtProtokollId] )
2413
2414 istAenderungSiAnf = False
2415 for dokId in zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__ProtId_DokuId__Projekt_Flex[prtProtokollId] ) :
2416
2417 if( bereitsZugeordnet is not None and dokId in bereitsZugeordnet ) : continue
2418
2419 istAenderungSiAnf = True
2420
2421 lfdNr = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt_Flex ).index( dokId )
2422
2423 self.__dbVerbindung__.schreibe__prjPlPrtDokDoku( listeWerte = [
2424
2425
2426 self.__dbVerbindung__.daten__dokDoku__Sprache[dokId][0][0]
2427
2428
2429
2430 , 'false'
2431
2432
2433
2434 , dokId
2435
2436
2437
2438 , self.__dbVerbindung__.filter__prj_projekte_id
2439
2440
2441
2442 , prtProtokollId ] )
2443
2444
2445
2446
2447 if( istAenderungProjekt ) :
2448
2449 self.istGeaendert__daten__dokDoku__Sprache__Projekt = True
2450 self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt = []
2451 self.__dbVerbindung__.init__dokDoku__Sprache__Projekt()
2452
2453 if( istAenderungSiAnf ) :
2454
2455 self.istGeaendert__daten__ProtId_DokuId__Projekt = True
2456 self.__dbVerbindung__.daten__ProtId_DokuId__Projekt.clear()
2457 self.__dbVerbindung__.init__ProtId_DokuId__Projekt()
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473 self.__dbVerbindung__.schreibe__prjPlPrtPsGefszenario( listePrtProtokollId = listePrtProtokollId
2474 , psGefszenarioId = self.__dbVerbindung__.ps_gefszenario_id )
2475
2476
2477
2478 if( prtProtokollId_Vorg is not None ) :
2479
2480 for gefszenId in self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt.iteritems():
2481
2482 if( prtProtokollId in zk.gibListeTeilmenge( liste = gefszenId[1] ) ) :
2483
2484 self.__dbVerbindung__.schreibe__prjPlPrtPsGefszenario( listePrtProtokollId = [prtProtokollId_Vorg]
2485 , psGefszenarioId = gefszenId[0] )
2486
2487
2488
2489
2490 self.istGeaendert__daten__GefszenId_ProtId_siAnf__Projekt = True
2491 self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt.clear()
2492 self.__dbVerbindung__.init__GefszenId_ProtId__Projekt()
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506 if( prtProtokollId_Vorg is not None ) :
2507
2508 self.__dbVerbindung__.schreibe__prjPPrtVerbindung(
2509 prjProjekteId = self.__dbVerbindung__.filter__prj_projekte_id
2510 , prtProtokollIdVorg = prtProtokollId_Vorg
2511 , prtProtokollIdNachf = prtProtokollId )
2512
2513
2514
2515
2516
2517 self.istGeaendert__daten__prtProtokoll_siAnf_vorg__Sprache__Projekt = True
2518 self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt.clear()
2519 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt()
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534 if( prtProtokollId_Vorg is None
2535 and prtProtokollId in self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt ) :
2536
2537 for prtProtokollId_vorg in self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt[prtProtokollId] :
2538
2539 self.__dbVerbindung__.schreibe__prjPPrtVerbindung(
2540 prjProjekteId = self.__dbVerbindung__.filter__prj_projekte_id
2541 , prtProtokollIdVorg = prtProtokollId_vorg[0]
2542 , prtProtokollIdNachf = prtProtokollId
2543 , trennen = True )
2544
2545
2546
2547
2548
2549 self.istGeaendert__daten__prtProtokoll_siAnf_vorg__Sprache__Projekt = True
2550 self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt.clear()
2551 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt()
2552
2553
2554
2555
2556
2557
2558
2559 self.SiAnf__SiAnf.liesDB()
2560 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
2561
2562 self.Notebook__Verfuegbar.GetPage( 0 ).__ereignisLiesDBVerfSiAnf__()
2563 self.Notebook__Verfuegbar.GetPage( 0 ).SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
2564
2565
2566
2567
2568
2569
2570
2571 self.Button__Verwerfen.Enable( True )
2572 self.Button__Sichern.Enable( True )
2573
2574
2575
2576
2577
2578
2579
2580 if( ereignis != None ) : ereignis.Skip( skip = True )
2581
2582
2583
2584
2585
2586
2587
2588
2589
2591 """
2592 Den aktuellen Strukturpunkt / die Strukturpunkte von der gewählten Sicherheitsanforderung lösen.
2593
2594 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
2595 @type ereignis: C{wx - Ereignisobjekt}
2596 """
2597
2598
2599
2600
2601
2602
2603 if( self.Notebook__Verfuegbar.GetCurrentPage() == self.Notebook__Verfuegbar.GetPage( 0 )
2604 or ereignis.GetEventObject().gibBezeichnungHauptknoten( ereignis.GetItem() ) != HK_STR
2605 or ereignis.GetEventObject().istHauptknoten() ) :
2606
2607 if( ereignis != None ) :
2608
2609 ereignis.Skip( skip = True )
2610 return
2611
2612
2613
2614
2615
2616
2617 listeStrStrktId = zk.gibListeTeilmenge( liste = ereignis.GetEventObject().gibZweigDaten() )
2618 prtProtokollId_SiAnf = self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.gibDbId()
2619
2620
2621
2622
2623
2624
2625
2626 for strId in listeStrStrktId :
2627
2628 self.__dbVerbindung__.schreibe__PrjPPrtStrStrkt( listeWerte = [
2629
2630
2631 prtProtokollId_SiAnf
2632
2633
2634
2635 , strId ]
2636 , entfernen = True )
2637
2638
2639
2640
2641
2642
2643 self.istGeaendert__daten__ProtId_StruktId__Projekt = True
2644 self.__dbVerbindung__.daten__ProtId_StruktId__Projekt.clear()
2645 self.__dbVerbindung__.init__ProtId_StruktId__Projekt()
2646
2647
2648
2649
2650
2651
2652 self.SiAnf__SiAnf.liesDB()
2653 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
2654
2655
2656
2657
2658
2659
2660
2661 self.Button__Verwerfen.Enable( True )
2662 self.Button__Sichern.Enable( True )
2663
2664
2665
2666
2667
2668
2669
2670 if( ereignis != None ) : ereignis.Skip( skip = True )
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2682 """
2683 Den aktuellen Strukturpunkt / die Strukturpunkte der gewählten Sicherheitsanforderung zuordnen.
2684
2685 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
2686 @type ereignis: C{wx - Ereignisobjekt}
2687 """
2688
2689
2690
2691
2692
2693 if( ereignis.GetEventObject().istHauptknoten()
2694 or self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.istHauptknoten()
2695 or self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.GetSelection() == self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.GetRootItem() ) :
2696
2697 if( ereignis != None ) : ereignis.Skip( skip = True )
2698 return
2699
2700
2701
2702
2703
2704
2705 listeStrStrktId = zk.gibListeTeilmenge( liste = ereignis.GetEventObject().gibZweigDaten() )
2706 strStrktId = ereignis.GetEventObject().gibDbId()
2707 prtProtokollId_SiAnf = self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.gibDbId()
2708
2709 bereitsZugeordnet = []
2710 if( prtProtokollId_SiAnf in self.__dbVerbindung__.daten__ProtId_StruktId__Projekt ) :
2711 bereitsZugeordnet = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__ProtId_StruktId__Projekt[prtProtokollId_SiAnf] )
2712
2713
2714
2715
2716
2717
2718
2719
2720 if( strStrktId in bereitsZugeordnet ) :
2721
2722 dlg = wx.MessageDialog( self
2723 , "Der Strukturpunkt ist bereits zugeordnet !\n\nDas Verschieben wird abgebrochen."
2724 , "Strukturpunkt wird nicht zugeordnet !"
2725 , wx.OK | wx.ICON_ERROR )
2726 dlg.CenterOnScreen()
2727 dlg.ShowModal()
2728 dlg.Destroy()
2729
2730 if( ereignis != None ) :
2731
2732 ereignis.Skip( skip = True )
2733 return
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745 if( self.Notebook__Verfuegbar.GetPage( 1 ).__istFlex__ ) :
2746
2747
2748
2749
2750
2751
2752
2753
2754 if( self.__anderesProjektHinweisZeigen__ ) :
2755
2756 dlg = wx.MessageDialog( self
2757 , "Der Strukturpunkt befindet sich in einem anderen Projekt.\n\nEr wird gemeinsam mit seinen untergeordneten Strukturpunkten in das aktuelle Projekt übernommen. Sollte der Vorgänger des Strukturpunktes bereits im Projekt vorhanden sein, wird die Verbindung zwischen beiden Strukturpunkten hergestellt.\n\nBehalte diese Hinweise im Kopf. Sie wedren nicht mehr angezeigt, solange Du dieses Fenster geöffnet hast.\n\nSoll der Strukturpunkt (einschließlich untergeordneter Strukturpunkte) in das aktuelle Projekt übernommen werden ?"
2758 , "Strukturpunkt in das aktuelle Projekt übernehmen ?"
2759 , style = wx.YES_NO | wx.ICON_QUESTION )
2760
2761 dlg.CenterOnScreen()
2762
2763 if ( dlg.ShowModal() == wx.ID_NO ):
2764
2765 dlg.Destroy()
2766
2767 if( ereignis != None ) :
2768
2769 ereignis.Skip( skip = True )
2770 return
2771
2772 dlg.Destroy()
2773 self.__anderesProjektHinweisZeigen__ = False
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783 bereitsVorhanden = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt, spalte = 1 )
2784
2785 istAenderung = False
2786 for strId in listeStrStrktId :
2787
2788 if( bereitsVorhanden is not None and strId in bereitsVorhanden ) : continue
2789
2790 istAenderung = True
2791
2792 lfdNr = zk.gibListeTeilmenge( liste = self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex, spalte = 1 ).index( strId )
2793
2794 self.__dbVerbindung__.schreibe__PrjPpStrStrkt(
2795 prjProjekteId = self.__dbVerbindung__.filter__prj_projekte_id
2796 , strStrktId = strId
2797 , prjPersonenId = "1"
2798 , sprUebvarId = self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex[lfdNr][4]
2799 , fbereignis = ""
2800 , notizen = "" )
2801
2802 if( len( str( self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex[lfdNr][2] ) ) > 0 ) :
2803
2804 self.__dbVerbindung__.schreibe__prjPStrverbindung(
2805 prjProjekteId = self.__dbVerbindung__.filter__prj_projekte_id
2806 , strStrktIdVorg = self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt_Flex[lfdNr][2]
2807 , strStrktIdNachf = strId )
2808
2809
2810
2811
2812
2813 if( istAenderung ) :
2814
2815 self.istGeaendert__daten__strStrkt__Sprache__Projekt = True
2816 self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt = []
2817 self.__dbVerbindung__.init__strStrkt__Sprache__Projekt()
2818
2819
2820
2821
2822
2823
2824
2825
2826 for strId in listeStrStrktId :
2827
2828 if( strId in bereitsZugeordnet ) : continue
2829
2830 self.__dbVerbindung__.schreibe__PrjPPrtStrStrkt( listeWerte = [
2831
2832
2833 prtProtokollId_SiAnf
2834
2835
2836
2837 , strId ] )
2838
2839
2840
2841
2842
2843 self.istGeaendert__daten__ProtId_StruktId__Projekt = True
2844 self.__dbVerbindung__.daten__ProtId_StruktId__Projekt.clear()
2845 self.__dbVerbindung__.init__ProtId_StruktId__Projekt()
2846
2847
2848
2849
2850
2851
2852 self.SiAnf__SiAnf.liesDB()
2853 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
2854
2855
2856
2857
2858
2859
2860
2861 self.Button__Verwerfen.Enable( True )
2862 self.Button__Sichern.Enable( True )
2863
2864
2865
2866
2867
2868
2869
2870 if( ereignis != None ) : ereignis.Skip( skip = True )
2871
2872
2873
2874
2875
2876
2877
2878
2879
2881 """
2882 Methode die von der abgeleiteten Klasse überschrieben werden kann, um spezifische Aktionen beim Speichern der Änderungen auszuführen.
2883 """
2884
2885
2886
2887
2888 self.istGeaendert__daten__ProtId_DokuId__Projekt = False
2889 self.istGeaendert__daten__dokDoku__Sprache__Projekt = False
2890 self.istGeaendert__daten__GefszenId_ProtId_siAnf__Projekt = False
2891 self.istGeaendert__daten__prtProtokoll_siAnf__Sprache__Projekt = False
2892 self.istGeaendert__daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt = False
2893 self.istGeaendert__daten__prtProtokoll_siAnf_vorg__Sprache__Projekt = False
2894 self.istGeaendert__daten__strStrkt__Sprache__Projekt = False
2895 self.istGeaendert__daten__ProtId_StruktId__Projekt = False
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2907 """
2908 Methode die von der abgeleiteten Klasse überschrieben wird, um spezifische Aktionen beim Verwerfen der Änderungen auszuführen.
2909 """
2910
2911
2912
2913
2914 if( self.istGeaendert__daten__ProtId_DokuId__Projekt ) :
2915
2916 self.__dbVerbindung__.daten__ProtId_DokuId__Projekt.clear()
2917 self.__dbVerbindung__.init__ProtId_DokuId__Projekt()
2918
2919 if( self.istGeaendert__daten__dokDoku__Sprache__Projekt ) :
2920
2921 self.__dbVerbindung__.daten__dokDoku__Sprache__Projekt = []
2922 self.__dbVerbindung__.init__dokDoku__Sprache__Projekt()
2923
2924 if( self.istGeaendert__daten__GefszenId_ProtId_siAnf__Projekt ) :
2925
2926 self.__dbVerbindung__.daten__GefszenId_ProtId_siAnf__Projekt.clear()
2927 self.__dbVerbindung__.init__GefszenId_ProtId__Projekt()
2928
2929 if( self.istGeaendert__daten__prtProtokoll_siAnf__Sprache__Projekt ) :
2930
2931 self.__dbVerbindung__.daten__prtProtokoll_siAnf__Sprache__Projekt.clear()
2932 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt()
2933
2934 if( self.istGeaendert__daten__prtProtokoll_siAnf_vorg__Sprache__Projekt ) :
2935
2936 self.__dbVerbindung__.daten__prtProtokoll_siAnf_vorg__Sprache__Projekt.clear()
2937 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt()
2938
2939 if( self.istGeaendert__daten__strStrkt__Sprache__Projekt ) :
2940
2941 self.__dbVerbindung__.daten__strStrkt__Sprache__Projekt = []
2942 self.__dbVerbindung__.init__strStrkt__Sprache__Projekt()
2943
2944 if( self.istGeaendert__daten__ProtId_StruktId__Projekt ) :
2945
2946 self.__dbVerbindung__.daten__ProtId_StruktId__Projekt.clear()
2947 self.__dbVerbindung__.init__ProtId_StruktId__Projekt()
2948
2949 if( self.istGeaendert__daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt ) :
2950
2951 self.__dbVerbindung__.daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt.clear()
2952 self.__dbVerbindung__.init__prtProtokoll__Sprache__Projekt()
2953
2954 self.istGeaendert__daten__ProtId_DokuId__Projekt = False
2955 self.istGeaendert__daten__dokDoku__Sprache__Projekt = False
2956 self.istGeaendert__daten__GefszenId_ProtId_siAnf__Projekt = False
2957 self.istGeaendert__daten__prtProtokoll_siAnf__Sprache__Projekt = False
2958 self.istGeaendert__daten__prtProtokoll_siAnf_gefProt__Sprache__Projekt = False
2959 self.istGeaendert__daten__prtProtokoll_siAnf_vorg__Sprache__Projekt = False
2960 self.istGeaendert__daten__strStrkt__Sprache__Projekt = False
2961 self.istGeaendert__daten__ProtId_StruktId__Projekt = False
2962
2963
2964
2965
2966
2967
2968
2969 self.SiAnf__SiAnf.liesDB()
2970 self.SiAnf__SiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
2971
2972 self.Notebook__Verfuegbar.GetPage( 0 ).__ereignisLiesDBVerfSiAnf__()
2973 self.Notebook__Verfuegbar.GetPage( 0 ).SiAnf__VerfSiAnf.TreeCtrlErg__SiAnf.wxObjekt.ExpandAll()
2974
2975
2976
2977
2978
2979
2980
2981
2983 """
2984 Mit Aufruf dieser Methode wird die Karteikarte 'Protokolleinträge' ausgewählt.
2985
2986 """
2987
2988
2989
2990
2991 self.Notebook__Verfuegbar.ChangeSelection( 3 )
2992 self.__ereignisKKGewechselt__()
2993