Module risikoanalyse
[hide private]
[frames] | no frames]

Source Code for Module risikoanalyse

   1  # -*- coding: utf-8 -*- 
   2  # 
   3  # 
   4  #    filename:  risikoanalyse.py 
   5  # 
   6  #    version:   see wxvf.py 
   7  # 
   8  # 
   9  # ---------------------------------------------------------------------------------------- 
  10  # 
  11  # 
  12  #    Copyright (C) 2010  Michael Bellair 
  13  # 
  14  #    This file is part of wxvf. 
  15  # 
  16  #    wxvf is free software: you can redistribute it and/or modify 
  17  #    it under the terms of the GNU General Public License as published by 
  18  #    the Free Software Foundation, either version 3 of the License, or 
  19  #    (at your option) any later version. 
  20  # 
  21  #    wxvf is distributed in the hope that it will be useful, 
  22  #    but WITHOUT ANY WARRANTY; without even the implied warranty of 
  23  #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  24  #    GNU General Public License for more details. 
  25  # 
  26  #    You should have received a copy of the GNU General Public License 
  27  #    along with wxvf.  If not, see <http://www.gnu.org/licenses/>. 
  28  # 
  29  #    Michael Bellair 
  30  #    Sportplatzstrasse 11 
  31  #    01259 Dresden 
  32  # 
  33  #    E-Mail:    bellair@freenet.de 
  34  #    homepage:  http://www.michaelbellair.de/vf/index.html 
  35  # 
  36  # 
  37  # ---------------------------------------------------------------------------------------- 
  38  # 
  39  import wx 
  40   
  41  from bearbeiteanmerkung import BearbeiteAnmerkung               # Eingabeformular für Anmerkungen 
  42  from bearbeitesicherheitsanf import BearbeiteSicherheitsanf     # Eingabeformular für PSAnf 
  43   
  44  from bearbeiteuebersetzung import BearbeiteUebersetzung # Eingabeformular für Übersetzungen 
  45   
  46  from universal import zk                                        # Zeichenketten bearbeiten 
  47   
  48  from wxuniversal import FlexGridSizerWxObjTitel         # wxObjekt mit Titel 
  49  from wxuniversal import ComboBoxErg                     # wx.ComboBox mit Ergänzungen 
  50  from wxuniversal import farbeBearbeiten                 # Farbe der Objekte, die  bearbeitet werden können 
  51  from wxuniversal import ListBoxErg                      # wx.ListBox mit Ergänzungen 
  52  from wxuniversal import ListBoxSpWTitelAL               # ListBox im SplitterWindow m. Titel + AW-Liste 
  53  from wxuniversal import TextCtrlAuswStatisch            # wx.StaticText mit Auswahlliste 
  54  from wxuniversal import SiAnf                           # SiAnf einschl. zugeordneter Strkt, Dok, PE, ... 
  55  from wxuniversal import TextCtrlErg                     # wx.TextCtrl mit Ergänzungen 
  56  from wxuniversal import TreeCtrlErg                     # TreeCtrl mit Ergänzungen 
  57   
  58   
  59   
  60  # 
  61  # 
  62  # 
  63  # ---------------------------------------------------------------------------------------- 
  64  # ---------------------------------------------------------------------------------------- 
  65  # --                                    -------------------------------------------------- 
  66  # --    Offene Punkte / Aufgaben        -------------------------------------------------- 
  67  # --                                    -------------------------------------------------- 
  68  # ---------------------------------------------------------------------------------------- 
  69  # ---------------------------------------------------------------------------------------- 
  70  # 
  71  #  
  72  #       -- siehe TODO 'risikoanalyse.py' -- 
  73  # 
  74  # 
  75  # ---------------------------------------------------------------------------------------- 
  76  # 
  77   
  78   
  79   
  80  # 
  81  # ---------------------------------------------------------------------------------------- 
  82  # ---------------------------------------------------------------------------------------- 
  83  # --                                    -------------------------------------------------- 
  84  # --    Eingabeformular 'Risikoanalyse' -------------------------------------------------- 
  85  # --                                    -------------------------------------------------- 
  86  # ---------------------------------------------------------------------------------------- 
  87  # ---------------------------------------------------------------------------------------- 
  88  # 
89 -class Risikoanalyse( wx.ScrolledWindow ):
90 91 """ 92 Klasse zur Abbildung des Eingabeformulars 'Risikoanalyse' 93 94 @keyword parent: Es ist der Datenbankbenutzername zu übergeben. 95 @type parent: Zeichenkette 96 @keyword id: Es ist das Kennwort des Datenbankbenutzers zu übergeben. 97 @type id: Zeichenkette 98 @keyword size: Es ist die IP-Adresse anzugeben, über die der PostgreSQL-Datenbankserver ansprechbar ist. 99 @type size: Zeichenkette 100 101 @raise Fehler: ?? Fehlermeldung und Programmende, wenn die Datenbankverbindung nicht hergestellt werden kann. ?? 102 """ 103 104 # 105 # ------------------------------------------------------------------------------------ 106 # -- Eingabeformular initialisieren ---------------------------------- 107 # ------------------------------------------------------------------------------------ 108 #
109 - def __init__( self, parent, Statusleiste, dbVerbindung, id = -1, size = wx.DefaultSize ):
110 wx.ScrolledWindow.__init__( self, parent, id, (0, 0), size=size ) 111 112 # 113 # -- Namen setzen (somit Klasse / Objekt erkennen) -------------------------- 114 # 115 self.SetName( name = "Risikoanalyse" ) 116 117 118 # 119 # -- Vorgabewerte für ScrolledWindow ------------------------------------------ 120 # 121 self.SetScrollRate( 20, 20 ) 122 self.EnableScrolling( True, True ) 123 124 125 # 126 # -- Statusleiste übernehmen -------------------------------------------------- 127 # 128 self.Statusleiste = Statusleiste 129 130 131 # 132 # -- Datenbankwerte übernehmen (im Konstruktor werden sie nur zum Füllen der 133 # -- Auswahllisten benötigt ) 134 # 135 self.dbVerbindung = dbVerbindung 136 137 self.txtUebersetzung = u"Doppelklick:\nÜbersetzungen anzeigen/bearbeiten" 138 139 # self.str_name_id___gefahrennetz = 2 140 141 142 143 # 144 # -------------------------------------------------------------------------------- 145 # -- Eingabeobjekte anlegen -------------------------------------------------- 146 # -------------------------------------------------------------------------------- 147 # 148 149 # 150 # -- Enthalten im Gefahrennetz ------------------------------------------ 151 # -- Objekt-Id = -230 ------------------------------------------ 152 # 153 self.ListBoxAL__GefNetz = ListBoxSpWTitelAL( parent = self 154 , titel = u"Enthalten im Gefahrennetz:" 155 , minSize = ( -1, 150 ) 156 , orient = wx.VERTICAL 157 , Statusleiste = self.Statusleiste ) 158 159 # Es muß mindestens ein Element ausgewählt sein ! 160 self.ListBoxAL__GefNetz.ListBoxLiDarfLeerSein = False 161 162 self.ListBoxAL__GefNetz.SplitterWindow.SetSashPosition( 250 ) 163 164 self.ListBoxAL__GefNetz.ListBox__li.nimmWerteStatusleiste( 165 DBSpNameErlaeuterung = u"Welcher Gefahr ist das Gefahrenszenario zugeordnet ?" 166 , DBSpName = "ps.gefstrkt.str_strkt_id" ) 167 168 self.ListBoxAL__GefNetz.ListBox__re.nimmWerteStatusleiste( 169 DBSpNameErlaeuterung = u"Welcher Gefahr ist das Gefahrenszenario zugeordnet ?" 170 , DBSpName = "ps.gefstrkt.str_strkt_id" ) 171 172 173 174 # 175 # -- Gefährdete Personen ------------------------------------------ 176 # -- Objekt-Id = -235 ------------------------------------------ 177 # 178 self.ListBoxAL__GefPersonen = ListBoxSpWTitelAL( parent = self 179 , titel = u"Gefährdete Personen:" 180 , minSize = ( -1, -1 ) 181 , orient = wx.VERTICAL 182 , Statusleiste = self.Statusleiste ) 183 184 self.ListBoxAL__GefPersonen.SplitterWindow.SetSashPosition( 200 ) 185 186 self.ListBoxAL__GefPersonen.ListBox__li.nimmWerteStatusleiste( 187 DBSpNameErlaeuterung = u"Welche Personen sind vom Gefahrenszenario unmittelbar betroffen ?" 188 , DBSpName = "..." ) 189 190 self.ListBoxAL__GefPersonen.ListBox__li.nimmWerteStatusleiste( 191 DBSpNameErlaeuterung = u"Welche Personen sind vom Gefahrenszenario unmittelbar betroffen ?" 192 , DBSpName = "..." ) 193 194 195 196 197 # 198 # -- Gefahrenszenario / Interne Notizen zum Gefahrenszenario ---------- 199 # -- Objekt-Id = -241 / -243 ---------- 200 # 201 self.ListBox__GefSzen = FlexGridSizerWxObjTitel( parent = self 202 , wxObj = ListBoxErg( self 203 , size = ( -1, 100 ) 204 , style = wx.BORDER_SUNKEN | wx.LB_SORT 205 , Statusleiste = self.Statusleiste ) 206 , titel = u"Gefahrenszenario / Interne Notizen zum Gefahrenszenario:" 207 , orient = wx.VERTICAL ) 208 209 self.ListBox__GefSzen.wxObjekt.SetBackgroundColour( farbeBearbeiten ) 210 211 self.ListBox__GefSzen.wxObjekt.nimmWerteStatusleiste( 212 DBSpNameErlaeuterung = u"Allgemeine Beschreibung des Gefahrenszenarios." 213 , DBSpName = "prj.pp_psgefszenario.spr_uebvar_id/notizen" ) 214 215 self.ListBox__GefSzen.wxObjekt.SetToolTip( wx.ToolTip( self.txtUebersetzung ) ) 216 217 self.Bind( wx.EVT_LISTBOX_DCLICK 218 , self.__ereignisUebersezung__ 219 , self.ListBox__GefSzen.wxObjekt ) 220 221 222 223 # 224 # -- Anmerkungen zum Gefahrenszenario / Interne Notizen zu den Anmerkungen -- 225 # -- Objekt-Id = -248 / -249 -- 226 # 227 self.ListBox__GefAnm = FlexGridSizerWxObjTitel( parent = self 228 , wxObj = ListBoxErg( self 229 , size = ( -1, 150 ) 230 , style = wx.BORDER_SUNKEN | wx.LB_SORT 231 , Statusleiste = self.Statusleiste ) 232 , titel = u"Anmerkungen zum Gefahrenszenario / Interne Notizen zu den Anmerkungen:" 233 , orient = wx.VERTICAL ) 234 235 self.ListBox__GefAnm.wxObjekt.SetBackgroundColour( farbeBearbeiten ) 236 237 self.ListBox__GefAnm.wxObjekt.nimmWerteStatusleiste( 238 DBSpNameErlaeuterung = u"Anmerkungen / Randbedingungen zum Gefahrenszenario." 239 , DBSpName = "prj.pl_psgefanm.spr_uebvar_id/notizen" ) 240 241 self.ListBox__GefAnm.wxObjekt.SetToolTip( wx.ToolTip( u"Doppelklick:\nAnmerkungen bearbeiten" ) ) 242 243 self.Bind( wx.EVT_LISTBOX_DCLICK 244 , self.__ereignisAnmerkungen__ 245 , self.ListBox__GefAnm.wxObjekt ) 246 247 248 # 249 # -- Sicherheitsanforderungen ------------------------------------------ 250 # -- Objekt-Id = -255 / -256 ------------------ 251 # 252 self.SiAnf__SiAnf = SiAnf( parent = self 253 , Statusleiste = self.Statusleiste 254 , dbVerbindung = self.dbVerbindung 255 , dlgBearbeiteSicherheitsanf = BearbeiteSicherheitsanf( 256 parent = self 257 , Statusleiste = self.Statusleiste 258 , dbVerbindung = self.dbVerbindung ) ) 259 260 261 262 # 263 # -- Repräsentatives Gefahrenszenario ---------------------------------- 264 # -- Objekt-Id = -265 ---------------------------------- 265 # 266 self.ListBox__ReprGefSzen = FlexGridSizerWxObjTitel( parent = self 267 , wxObj = ListBoxErg( self 268 , size = ( -1, 100 ) 269 , style = wx.BORDER_SUNKEN | wx.LB_SORT 270 , Statusleiste = self.Statusleiste ) 271 , titel = u"Repräsentatives Gefahrenszenario:" 272 , orient = wx.VERTICAL ) 273 274 self.ListBox__ReprGefSzen.wxObjekt.SetBackgroundColour( farbeBearbeiten ) 275 276 self.ListBox__ReprGefSzen.wxObjekt.nimmWerteStatusleiste( 277 DBSpNameErlaeuterung = u"Beschreibung des mit dem größten Risiko verbundenen Gefahrenszenarios (wenn mehrere möglich sind)." 278 , DBSpName = "prj.pp_psgefszenario.spr_uebvar_id_reprgefszen" ) 279 280 self.ListBox__ReprGefSzen.wxObjekt.SetToolTip( wx.ToolTip( self.txtUebersetzung ) ) 281 282 self.Bind( wx.EVT_LISTBOX_DCLICK 283 , self.__ereignisUebersezung__ 284 , self.ListBox__ReprGefSzen.wxObjekt ) 285 286 287 288 # 289 # -- Häufigkeit ------------------------------------------ 290 # -- Objekt-Id = -268 / -272 / -274 ------------------------------------------ 291 # 292 self.ComboBox__Haeufig = FlexGridSizerWxObjTitel( parent = self 293 , wxObj = ComboBoxErg( self 294 , choices = [] 295 , style = wx.CB_DROPDOWN|wx.CB_READONLY 296 , Statusleiste = self.Statusleiste ) 297 , orient = wx.VERTICAL 298 , titel = u"Häufigkeit:" ) 299 300 self.ComboBox__Haeufig.wxObjekt.nimmWerteStatusleiste( 301 DBSpNameErlaeuterung = "Häufigkeit des repräsentativen Gefahrenszenarios." 302 , DBSpName = "..." ) 303 304 self.Bind( wx.EVT_COMBOBOX 305 , self.__ereignisRisikobewertung__ 306 , self.ComboBox__Haeufig.wxObjekt ) 307 308 309 310 self.ListBox__HaeufigBegr = FlexGridSizerWxObjTitel( parent = self 311 , wxObj = ListBoxErg( self 312 , size = ( -1, 100 ) 313 , style = wx.BORDER_SUNKEN | wx.LB_SORT 314 , Statusleiste = self.Statusleiste ) 315 , titel = u"Begründung der Häufigkeit / Interne Notizen zur Häufigkeit:" 316 , orient = wx.VERTICAL ) 317 318 self.ListBox__HaeufigBegr.wxObjekt.SetBackgroundColour( farbeBearbeiten ) 319 320 self.ListBox__HaeufigBegr.wxObjekt.nimmWerteStatusleiste( 321 DBSpNameErlaeuterung = u"Warum tritt das repräsentative Gefahrenszenario mit der genannten Häufigkeit auf ?" 322 , DBSpName = "..." ) 323 324 self.ListBox__HaeufigBegr.wxObjekt.SetToolTip( wx.ToolTip( self.txtUebersetzung ) ) 325 326 self.Bind( wx.EVT_LISTBOX_DCLICK 327 , self.__ereignisUebersezung__ 328 , self.ListBox__HaeufigBegr.wxObjekt ) 329 330 331 332 # 333 # -- Gefahrenstufe ------------------------------------------ 334 # -- Objekt-Id = -277 / -281 / -283 ------------------------------------------ 335 # 336 self.ComboBox__GefStufe = FlexGridSizerWxObjTitel( parent = self 337 , wxObj = ComboBoxErg( self 338 , choices = [] 339 , style = wx.CB_DROPDOWN|wx.CB_READONLY 340 , Statusleiste = self.Statusleiste ) 341 , orient = wx.VERTICAL 342 , titel = u"Gefahrenstufe:" ) 343 344 self.ComboBox__GefStufe.wxObjekt.nimmWerteStatusleiste( 345 DBSpNameErlaeuterung = u"Auswirkung des repräsentativen Gefahrenszenarios." 346 , DBSpName = "..." ) 347 348 self.ComboBox__GefStufe.wxObjekt.Bind( wx.EVT_COMBOBOX, self.__ereignisRisikobewertung__ ) 349 350 351 352 self.ListBox__GefStufeBegr = FlexGridSizerWxObjTitel( parent = self 353 , wxObj = ListBoxErg( self 354 , size = ( -1, 100 ) 355 , style = wx.BORDER_SUNKEN | wx.LB_SORT 356 , Statusleiste = self.Statusleiste ) 357 , titel = u"Begründung der Gefahrenstufe / Interne Notizen zur Gefahrenstufe:" 358 , orient = wx.VERTICAL ) 359 360 self.ListBox__GefStufeBegr.wxObjekt.SetBackgroundColour( farbeBearbeiten ) 361 362 self.ListBox__GefStufeBegr.wxObjekt.nimmWerteStatusleiste( 363 DBSpNameErlaeuterung = u"Warum tritt das repräsentative Gefahrenszenario mit der genannten Häufigkeit auf ?" 364 , DBSpName = "..." ) 365 366 self.ListBox__GefStufeBegr.wxObjekt.SetToolTip( wx.ToolTip( self.txtUebersetzung ) ) 367 368 self.Bind( wx.EVT_LISTBOX_DCLICK 369 , self.__ereignisUebersezung__ 370 , self.ListBox__GefStufeBegr.wxObjekt ) 371 372 373 # 374 # -- Risikostufe ------------------------------------------ 375 # -- Objekt-Id = -286 / -290 / -292 ------------------------------------------ 376 # 377 self.TCASRisikostufe = FlexGridSizerWxObjTitel( parent = self 378 , wxObj = TextCtrlAuswStatisch( 379 parent = self 380 , size = ( -1, -1 ) 381 , Statusleiste = self.Statusleiste ) 382 , orient = wx.VERTICAL 383 , titel = u"Risikostufe:" ) 384 385 self.TCASRisikostufe.wxObjekt.nimmWerteStatusleiste( 386 DBSpNameErlaeuterung = u"Das resultierende Risiko des repräsentativen Gefahrenszenarios." 387 , DBSpName = "prj.pl_psgefabk.ps_abk_id" ) 388 389 390 391 self.ListBox__RisikoStufeBegr = FlexGridSizerWxObjTitel( parent = self 392 , wxObj = ListBoxErg( self 393 , size = ( -1, 100 ) 394 , style = wx.BORDER_SUNKEN | wx.LB_SORT 395 , Statusleiste = self.Statusleiste ) 396 , titel = u"Bewertung der Risikostufe / Interne Notizen zur Risikostufe:" 397 , orient = wx.VERTICAL ) 398 399 self.ListBox__RisikoStufeBegr.wxObjekt.SetBackgroundColour( farbeBearbeiten ) 400 401 self.ListBox__RisikoStufeBegr.wxObjekt.nimmWerteStatusleiste( 402 DBSpNameErlaeuterung = u"Warum tritt das repräsentative Gefahrenszenario mit der genannten Häufigkeit auf ?" 403 , DBSpName = "prj.pl_psgefabk.spr_uebvar_id_zus/notizen" ) 404 405 self.ListBox__RisikoStufeBegr.wxObjekt.SetToolTip( wx.ToolTip( self.txtUebersetzung ) ) 406 407 self.Bind( wx.EVT_LISTBOX_DCLICK 408 , self.__ereignisUebersezung__ 409 , self.ListBox__RisikoStufeBegr.wxObjekt ) 410 411 412 413 414 # 415 # -------------------------------------------------------------------------------- 416 # -- Layout setzen ---------------------------------------------------------- 417 # -------------------------------------------------------------------------------- 418 # 419 420 # 421 # -- Hilfslayout ---------------------------------------------------------- 422 # 423 GridSizer = wx.GridSizer( rows = 1, cols = 2, vgap = 0, hgap = 10 ) 424 425 GridSizer.Add( self.ListBoxAL__GefNetz 426 , flag = wx.EXPAND ) 427 428 GridSizer.Add( self.ListBoxAL__GefPersonen 429 , flag = wx.EXPAND ) 430 431 432 GridBagSizer = wx.GridBagSizer( vgap = 10, hgap = 10 ) 433 GridBagSizer.AddGrowableCol( idx = 1, proportion = 1 ) 434 GridBagSizer.AddGrowableRow( idx = 1, proportion = 1 ) 435 GridBagSizer.AddGrowableRow( idx = 3, proportion = 1 ) 436 GridBagSizer.AddGrowableRow( idx = 5, proportion = 1 ) 437 438 GridBagSizer.Add( self.ComboBox__Haeufig 439 , pos = wx.GBPosition( row = 0, col = 0 ) 440 , flag = wx.EXPAND ) 441 442 GridBagSizer.Add( self.ListBox__HaeufigBegr 443 , pos = wx.GBPosition( row = 0, col = 1 ) 444 , span = wx.GBSpan( rowspan = 2, colspan = 1 ) 445 , flag = wx.EXPAND ) 446 447 # -- Notlösung, wie funktioniert >wx.AddStretchSpacer< ? ------------------ 448 GridBagSizer.Add( wx.StaticText( self ) 449 , pos = wx.GBPosition( row = 1, col = 0 ) 450 , flag = wx.EXPAND ) 451 452 453 GridBagSizer.Add( self.ComboBox__GefStufe 454 , pos = wx.GBPosition( row = 2, col = 0 ) 455 , flag = wx.EXPAND ) 456 457 GridBagSizer.Add( self.ListBox__GefStufeBegr 458 , pos = wx.GBPosition( row = 2, col = 1 ) 459 , span = wx.GBSpan( rowspan = 2, colspan = 1 ) 460 , flag = wx.EXPAND ) 461 462 # -- Notlösung, wie funktioniert >wx.AddStretchSpacer< ? ------------------ 463 GridBagSizer.Add( wx.StaticText( self ) 464 , pos = wx.GBPosition( row = 3, col = 0 ) 465 , flag = wx.EXPAND ) 466 467 468 GridBagSizer.Add( self.TCASRisikostufe 469 , pos = wx.GBPosition( row = 4, col = 0 ) 470 , flag = wx.EXPAND ) 471 472 GridBagSizer.Add( self.ListBox__RisikoStufeBegr 473 , pos = wx.GBPosition( row = 4, col = 1 ) 474 , span = wx.GBSpan( rowspan = 2, colspan = 1 ) 475 , flag = wx.EXPAND ) 476 477 # -- Notlösung, wie funktioniert >wx.AddStretchSpacer< ? ------------------ 478 GridBagSizer.Add( wx.StaticText( self ) 479 , pos = wx.GBPosition( row = 5, col = 0 ) 480 , flag = wx.EXPAND ) 481 482 483 # 484 # -- Hauptlayout ---------------------------------------------------------- 485 # 486 FlexGridSizer = wx.FlexGridSizer( rows = 6, cols = 1, vgap = 10, hgap = 0 ) 487 488 FlexGridSizer.AddGrowableCol( idx = 0, proportion = 1 ) 489 FlexGridSizer.AddGrowableRow( idx = 0, proportion = 0 ) 490 FlexGridSizer.AddGrowableRow( idx = 1, proportion = 0 ) 491 FlexGridSizer.AddGrowableRow( idx = 2, proportion = 0 ) 492 FlexGridSizer.AddGrowableRow( idx = 3, proportion = 0 ) 493 FlexGridSizer.AddGrowableRow( idx = 4, proportion = 0 ) 494 FlexGridSizer.AddGrowableRow( idx = 5, proportion = 0 ) 495 496 497 FlexGridSizer.Add( GridSizer 498 , flag = wx.LEFT|wx.TOP|wx.RIGHT|wx.EXPAND 499 , border = 10 ) 500 501 FlexGridSizer.Add( self.ListBox__GefSzen 502 , flag = wx.LEFT|wx.RIGHT|wx.EXPAND 503 , border = 10 ) 504 505 FlexGridSizer.Add( self.ListBox__GefAnm 506 , flag = wx.LEFT|wx.RIGHT|wx.EXPAND 507 , border = 10 ) 508 509 FlexGridSizer.Add( self.SiAnf__SiAnf 510 , flag = wx.LEFT|wx.RIGHT|wx.EXPAND 511 , border = 10 ) 512 513 FlexGridSizer.Add( self.ListBox__ReprGefSzen 514 , flag = wx.LEFT|wx.RIGHT|wx.EXPAND 515 , border = 10 ) 516 517 FlexGridSizer.Add( GridBagSizer 518 , flag = wx.LEFT|wx.BOTTOM|wx.RIGHT|wx.EXPAND 519 , border = 10 ) 520 521 522 self.SetSizerAndFit( FlexGridSizer ) 523 524 525 # 526 # -- Risikoanalyse initialisieren ---------------------------------- 527 # -- aktuelles Gefahrenszenario auslesen ---------------------------------- 528 # 529 self.init_Risikoanalyse() 530 self.liesDB()
531 532 533 534 535 536 # 537 # ------------------------------------------------------------------------------------ 538 # -- Anmerkungen bearbeiten -------------------------------------------------- 539 # ------------------------------------------------------------------------------------ 540 #
541 - def __ereignisAnmerkungen__( self, ereignis ):
542 """ 543 Anmerkungen zum Gefahrenszenario bearbeiten. 544 545 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet. 546 @type ereignis: C{wx - Ereignisobjekt} 547 """ 548 549 # 550 # -- Meldung ausgeben -------------------------------------------------- 551 # 552 dlg = BearbeiteAnmerkung( parent = self 553 , Statusleiste = self.Statusleiste 554 , dbVerbindung = self.dbVerbindung ) 555 dlg.ShowModal() 556 dlg.Destroy() 557 558 559 # 560 # -- Änderungen in Risikoanalyse übernehmen ---------------------------------- 561 # 562 self.dbVerbindung.selektiere__GefszenId_AnmId__Projekt__Sprache( 563 TreeCtrlErg_ListBoxErg = self.ListBox__GefAnm.wxObjekt )
564 565 566 567 # 568 # ------------------------------------------------------------------------------------ 569 # -- Die Risikobewertung wurde geändert ---------------------------------- 570 # ------------------------------------------------------------------------------------ 571 #
572 - def __ereignisRisikobewertung__( self, ereignis ):
573 """ 574 Ein C{wx - Objekt} der Risikobewertung wurde verändert. 575 576 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet. 577 @type ereignis: C{wx - Ereignisobjekt} 578 """ 579 580 # 581 # -- Begründungen zur Risikobewertung löschen -------------------------- 582 # 583 self.ListBox__RisikoStufeBegr.wxObjekt.loescheAlles() 584 if( ereignis.GetId() == self.ComboBox__Haeufig.wxObjekt.GetId() ) : 585 586 self.ListBox__HaeufigBegr.wxObjekt.loescheAlles() 587 588 else : 589 590 self.ListBox__GefStufeBegr.wxObjekt.loescheAlles() 591 592 593 594 # 595 # -- Risikostufe setzen -------------------------------------------------- 596 # 597 hfgGef = ( str( self.ComboBox__Haeufig.wxObjekt.gibClientData() ) 598 + '-' 599 + str( self.ComboBox__GefStufe.wxObjekt.gibClientData() ) ) 600 601 if( hfgGef not in self.dbVerbindung.daten__psAbk_Risikomatrix ) : 602 603 # 604 # -- Das Ereignis weiterreichen, damit es weiter ------------------ 605 # -- ausgewertet werden kann ------------------ 606 # 607 ereignis.Skip( skip = True ) 608 return 609 610 self.TCASRisikostufe.wxObjekt.selektiereWert( 611 clientDataId = self.dbVerbindung.daten__psAbk_Risikomatrix[hfgGef][0][0] ) 612 613 614 615 # 616 # -- Das Ereignis weiterreichen, damit es weiter -------------------------- 617 # -- ausgewertet werden kann -------------------------- 618 # 619 ereignis.Skip( skip = True )
620 621 622 623 624 # 625 # ------------------------------------------------------------------------------------ 626 # -- Liegt eine Korrektur von Rechtschreibfehlern vor ? ------------------ 627 # ------------------------------------------------------------------------------------ 628 #
629 - def __ereignisUebersezung__( self, ereignis ):
630 """ 631 Übersetzung anzeigen / bearbeiten 632 633 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet. 634 @type ereignis: C{wx - Ereignisobjekt} 635 """ 636 637 # 638 # -- Der Status der Benutzeränderung ist für Textobjekte irrelevant ---------- 639 # -- (ggf. vorliegende Änderungen werden an den Rückgabewerten von ---------- 640 # -- >BearbeiteUebersetzung(...)< erkannt) ---------- 641 # 642 self.ListBox__GefSzen.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 643 self.ListBox__ReprGefSzen.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 644 self.ListBox__HaeufigBegr.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 645 self.ListBox__GefStufeBegr.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 646 self.ListBox__RisikoStufeBegr.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 647 648 649 # 650 # -- Alle bisherigen Änderungen in die DB schreiben -------------------------- 651 # -- (konsistenten Zustand herstellen) -------------------------- 652 # 653 self.schreibDB() 654 655 656 # 657 # -- Notizen ---------------------------------------------------------- 658 # 659 # -- Gefahrenszenario / Notizen ------------------------------------------ 660 # -- Häufigkeit ------------------------------------------ 661 # -- Gefahrenstufe ------------------------------------------ 662 # -- Risikostufe ------------------------------------------ 663 # 664 # 665 notizen = None 666 if( ereignis.GetId() == self.ListBox__GefSzen.wxObjekt.GetId() 667 or ereignis.GetId() == self.ListBox__HaeufigBegr.wxObjekt.GetId() 668 or ereignis.GetId() == self.ListBox__GefStufeBegr.wxObjekt.GetId() 669 or ereignis.GetId() == self.ListBox__RisikoStufeBegr.wxObjekt.GetId() ) : 670 671 notizen = ereignis.GetEventObject().gibClientData( lfdNr = 0 )[1] 672 673 674 # 675 # -- Formular zur Bearbeitung der Übersetzungsvariante aufrufen ---------- 676 # 677 dlg = BearbeiteUebersetzung( parent = self 678 , Statusleiste = self.Statusleiste 679 , dbVerbindung = self.dbVerbindung 680 , sprUebvarId = ereignis.GetEventObject().gibClientData( lfdNr = 0 )[0] 681 , notizen = notizen ) 682 683 684 # 685 # -- Dialog aufrufen ---------------------------------------------------------- 686 # 687 dlg.ShowModal() 688 dlg.Destroy() 689 690 691 692 # 693 # -- Änderungen übernehmen -------------------------------------------------- 694 # 695 if( dlg.gibWerte()[0] ) : 696 697 # 698 # -- >spr.uebvar.id< und/oder >notizen< geändert ------------------ 699 # 700 istAenderungId = dlg.gibWerte()[1] != ereignis.GetEventObject().gibClientData( lfdNr = 0 )[0] 701 istAenderungIdNotizen = ( istAenderungId 702 or dlg.gibWerte()[2] != ereignis.GetEventObject().gibClientData( lfdNr = 0 )[1] ) 703 704 # 705 # -- Falls unverändert ... ------------------------------------------ 706 # 707 # -- Ursprung des Gefahrenszenarios ---------------------------------- 708 # -- Gefahrenszenario / Notizen ---------------------------------- 709 # -- Repräsentatives Gefahrenszenario -------------------------- 710 # 711 listeGefSzen = self.ListBox__GefSzen.wxObjekt.gibClientData( lfdNr = 0 ) 712 spr_uebvar_id_reprgefszen = self.ListBox__ReprGefSzen.wxObjekt.gibClientData( lfdNr = 0 )[0] 713 714 # 715 # -- Gefahrenszenario / Notizen ---------------------------------- 716 # 717 if( ereignis.GetId() == self.ListBox__GefSzen.wxObjekt.GetId() and istAenderungIdNotizen ) : 718 719 # 720 # -- >spr_uebvar_id<, >notizen<, >prj.pp_psgefszenario.id<, >spr_uebvar_id_ursp< 721 # 722 listeGefSzen = [ dlg.gibWerte()[1] 723 , dlg.gibWerte()[2] 724 , self.ListBox__GefSzen.wxObjekt.gibClientData( lfdNr = 0 )[2] 725 , self.ListBox__GefSzen.wxObjekt.gibClientData( lfdNr = 0 )[3] ] 726 727 # 728 # -- Repräsentatives Gefahrenszenario ------------------------------------------ 729 # 730 if( ereignis.GetId() == self.ListBox__ReprGefSzen.wxObjekt.GetId() and istAenderungId ) : 731 732 spr_uebvar_id_reprgefszen = dlg.gibWerte()[1] 733 734 # 735 # -- Häufigkeit -------------------------------------------------- 736 # 737 listeWerte = [] 738 if( ereignis.GetId() == self.ListBox__HaeufigBegr.wxObjekt.GetId() and istAenderungIdNotizen ) : 739 740 # 741 # -- >ps_abk_id<, ... 742 # 743 listeWerte.append( self.ComboBox__Haeufig.wxObjekt.gibClientData() ) 744 745 # 746 # -- Gefahrenstufe -------------------------------------------------- 747 # 748 if( ereignis.GetId() == self.ListBox__GefStufeBegr.wxObjekt.GetId() and istAenderungIdNotizen ) : 749 750 # 751 # -- >ps_abk_id<, ... 752 # 753 listeWerte.append( self.ComboBox__GefStufe.wxObjekt.gibClientData() ) 754 755 # 756 # -- Risikostufe -------------------------------------------------- 757 # 758 if( ereignis.GetId() == self.ListBox__RisikoStufeBegr.wxObjekt.GetId() and istAenderungIdNotizen ) : 759 760 # 761 # -- >ps_abk_id<, ... 762 # 763 listeWerte.append( self.TCASRisikostufe.wxObjekt.gibClientData()[0] ) 764 765 # 766 # -- ... >spr_uebvar_id_zus<, >notizen< -------------------------- 767 # 768 listeWerte.append( dlg.gibWerte()[1] ) 769 listeWerte.append( dlg.gibWerte()[2] ) 770 771 772 773 # 774 # -- Datenbank aktualisieren ---------------------------------- 775 # -- Texte immer aktualisieren ---------------------------------- 776 # 777 if( ereignis.GetId() == self.ListBox__GefSzen.wxObjekt.GetId() 778 or ereignis.GetId() == self.ListBox__ReprGefSzen.wxObjekt.GetId() ) : 779 780 # 781 # -- Ursprung des Gefahrenszenarios ---------------------------------- 782 # -- Gefahrenszenario / Notizen ---------------------------------- 783 # -- Repräsentatives Gefahrenszenario -------------------------- 784 # 785 self.dbVerbindung.schreibe__PrjPpPsGefszenario( 786 listeGefszen = listeGefSzen 787 , spr_uebvar_id_reprgefszen = spr_uebvar_id_reprgefszen ) 788 789 self.dbVerbindung.selektiere__GefszenId_Wortgruppen__Projekt__Sprache( 790 ListBoxErg_Gefszenario = self.ListBox__GefSzen.wxObjekt 791 , ListBoxErg_ReprGefszenario = self.ListBox__ReprGefSzen.wxObjekt ) 792 793 794 else : 795 796 # 797 # -- Häufigkeit -------------------------------------------------- 798 # -- Gefahrenstufe -------------------------------------------------- 799 # -- Risikostufe -------------------------------------------------- 800 # 801 self.dbVerbindung.schreibe__prjPlPsGefsabk( listeWerte = listeWerte ) 802 803 self.dbVerbindung.selektiere__GefszenId_AbkId__Projekt__Sprache( 804 ComboBoxErg_ListBoxSpWTitelAL = self.ListBoxAL__GefPersonen 805 , ListBoxErg = None 806 , psAbkTyp = 'GP' ) 807 808 self.dbVerbindung.selektiere__GefszenId_AbkId__Projekt__Sprache( 809 ComboBoxErg_ListBoxSpWTitelAL = self.ComboBox__Haeufig.wxObjekt 810 , ListBoxErg = self.ListBox__HaeufigBegr.wxObjekt 811 , psAbkTyp = 'RH' ) 812 813 self.dbVerbindung.selektiere__GefszenId_AbkId__Projekt__Sprache( 814 ComboBoxErg_ListBoxSpWTitelAL = self.ComboBox__GefStufe.wxObjekt 815 , ListBoxErg = self.ListBox__GefStufeBegr.wxObjekt 816 , psAbkTyp = 'RG' ) 817 818 self.dbVerbindung.selektiere__GefszenId_AbkId__Projekt__Sprache( 819 ComboBoxErg_ListBoxSpWTitelAL = self.TCASRisikostufe.wxObjekt 820 , ListBoxErg = self.ListBox__RisikoStufeBegr.wxObjekt 821 , psAbkTyp = 'RR' )
822 823 824 825 # 826 # ------------------------------------------------------------------------------------ 827 # -- Auswahlfelder initialisieren ------------------------------------------ 828 # ------------------------------------------------------------------------------------ 829 #
830 - def init_Risikoanalyse( self ):
831 """ 832 Methode die aufgerufen wird, wenn Projekt oder Sprache geändert wurden. 833 """ 834 835 # 836 # -- im Gefahrennetz alle Strukturpunkte eintragen -------------------------- 837 # 838 self.dbVerbindung.init__WxControlWithItemsPerm( permDaten = self.dbVerbindung.daten__strStrkt__Projekt__Sprache 839 , wxObjekt = self.ListBoxAL__GefNetz.ListBox__re 840 , filter = self.dbVerbindung.konstante__str_name_id__gefahrennetz ) 841 842 # 843 # -- Alle Abkürzungen eintragen ------------------------------------------ 844 # 845 self.dbVerbindung.init__psAbk__Projekt__Sprache( ComboBoxErg_ListBoxSpWTitelAL = self.ListBoxAL__GefPersonen 846 , psAbkTyp = "GP" ) 847 self.dbVerbindung.init__psAbk__Projekt__Sprache( ComboBoxErg_ListBoxSpWTitelAL = self.ComboBox__Haeufig.wxObjekt 848 , psAbkTyp = "RH" ) 849 self.dbVerbindung.init__psAbk__Projekt__Sprache( ComboBoxErg_ListBoxSpWTitelAL = self.ComboBox__GefStufe.wxObjekt 850 , psAbkTyp = "RG" ) 851 self.dbVerbindung.init__psAbk__Projekt__Sprache( ComboBoxErg_ListBoxSpWTitelAL = self.TCASRisikostufe.wxObjekt 852 , psAbkTyp = "RR" )
853 854 855 856 857 858 859 # 860 # ------------------------------------------------------------------------------------ 861 # -- Datenbank auslesen -------------------------------------------------- 862 # ------------------------------------------------------------------------------------ 863 #
864 - def liesDB( self ):
865 """ 866 Methode die aufgerufen wird, wenn die Datenbankwerte im Fenster dargestellt werden sollen. 867 """ 868 869 # 870 # -- Sicherheitsanforderungen immer aktualisieren -------------------------- 871 # 872 self.SiAnf__SiAnf.liesDB() 873 874 875 876 # 877 # -------------------------------------------------------------------------------- 878 # -- Gefahrenszenario-Id ist nicht vorhanden -------------------------- 879 # -- -> alles löschen -------------------------- 880 # -------------------------------------------------------------------------------- 881 # 882 if( self.dbVerbindung.gib__PsGefszenarioId() is None ) : 883 884 self.ListBoxAL__GefNetz.schiebeAlleRechts() 885 self.ListBoxAL__GefPersonen.schiebeAlleRechts() 886 self.ListBox__GefSzen.wxObjekt.loescheAlles() 887 self.ListBox__GefAnm.wxObjekt.loescheAlles() 888 self.ListBox__ReprGefSzen.wxObjekt.loescheAlles() 889 self.ComboBox__Haeufig.wxObjekt.SetSelection( 0 ) 890 self.ListBox__HaeufigBegr.wxObjekt.loescheAlles() 891 self.ComboBox__GefStufe.wxObjekt.SetSelection( 0 ) 892 self.ListBox__GefStufeBegr.wxObjekt.loescheAlles() 893 self.TCASRisikostufe.wxObjekt.selektiereWert( clientDataId = 0 ) 894 self.ListBox__RisikoStufeBegr.wxObjekt.loescheAlles() 895 896 return 897 898 899 900 # 901 # -------------------------------------------------------------------------------- 902 # -- Gefahrenszenario darstellen ------------------------------------------ 903 # -------------------------------------------------------------------------------- 904 # 905 # 906 # -- Gefahrenszenario auslesen (>prj.zeige__psgefszenario<) ------------------ 907 # 908 self.dbVerbindung.selektiere__GefszenId_Wortgruppen__Projekt__Sprache( 909 ListBoxErg_Gefszenario = self.ListBox__GefSzen.wxObjekt 910 , ListBoxErg_ReprGefszenario = self.ListBox__ReprGefSzen.wxObjekt ) 911 912 913 # 914 # -------------------------------------------------------------------------------- 915 # -- Enthalten im Gefahrennetz (>prj.zeige__psgefstrkt<) ------------------ 916 # -------------------------------------------------------------------------------- 917 # 918 # -- >self.ListBoxAL__GefNetz = str_strkt_id< 919 # 920 self.ListBoxAL__GefNetz.schiebeAlleRechts() 921 922 if( self.dbVerbindung.ps_gefszenario_id in self.dbVerbindung.daten__GefszenId_StruktId__Projekt ) : 923 924 for i in range( len( self.dbVerbindung.daten__GefszenId_StruktId__Projekt[self.dbVerbindung.ps_gefszenario_id] ) ): 925 926 self.ListBoxAL__GefNetz.schiebeLinks( self.dbVerbindung.daten__GefszenId_StruktId__Projekt[self.dbVerbindung.ps_gefszenario_id][i][0] ) 927 928 929 930 # 931 # -- Anmerkungen zum Gefahrenszenario / Interne Notizen zu den Anmerkungen 932 # 933 # -- >self.ListBox__GefAnm = ps_gefanm_id< 934 # 935 self.dbVerbindung.selektiere__GefszenId_AnmId__Projekt__Sprache( 936 TreeCtrlErg_ListBoxErg = self.ListBox__GefAnm.wxObjekt ) 937 938 939 # 940 # -- Gefährdete Personen ------------------------------------------ 941 # -- Häufigkeit ------------------------------------------ 942 # -- Gefahrenstufe ------------------------------------------ 943 # -- Risikostufe ------------------------------------------ 944 # 945 self.dbVerbindung.selektiere__GefszenId_AbkId__Projekt__Sprache( 946 ComboBoxErg_ListBoxSpWTitelAL = self.ListBoxAL__GefPersonen 947 , ListBoxErg = None 948 , psAbkTyp = 'GP' ) 949 950 self.dbVerbindung.selektiere__GefszenId_AbkId__Projekt__Sprache( 951 ComboBoxErg_ListBoxSpWTitelAL = self.ComboBox__Haeufig.wxObjekt 952 , ListBoxErg = self.ListBox__HaeufigBegr.wxObjekt 953 , psAbkTyp = 'RH' ) 954 955 self.dbVerbindung.selektiere__GefszenId_AbkId__Projekt__Sprache( 956 ComboBoxErg_ListBoxSpWTitelAL = self.ComboBox__GefStufe.wxObjekt 957 , ListBoxErg = self.ListBox__GefStufeBegr.wxObjekt 958 , psAbkTyp = 'RG' ) 959 960 self.dbVerbindung.selektiere__GefszenId_AbkId__Projekt__Sprache( 961 ComboBoxErg_ListBoxSpWTitelAL = self.TCASRisikostufe.wxObjekt 962 , ListBoxErg = self.ListBox__RisikoStufeBegr.wxObjekt 963 , psAbkTyp = 'RR' )
964 965 966 967 968 969 970 971 # 972 # ------------------------------------------------------------------------------------ 973 # -- Datenbank schreiben -------------------------------------------------- 974 # ------------------------------------------------------------------------------------ 975 #
976 - def schreibDB( self ):
977 """ 978 Methode die aufgerufen wird, wenn die Eingabefelder ausgelesen und deren Werte in die Datenbank geschrieben werden sollen. 979 """ 980 981 # 982 # -- ps.gefszenario / prj.ppu_psgefszenario ---------------------------------- 983 # 984 if( self.ListBox__GefSzen.wxObjekt.gibIstVomBenutzerGeaendert() 985 or self.ListBox__ReprGefSzen.wxObjekt.gibIstVomBenutzerGeaendert() ) : 986 987 self.dbVerbindung.schreibe__PrjPpPsGefszenario( 988 listeGefszen = self.ListBox__GefSzen.wxObjekt.gibClientData( lfdNr = 0 ) 989 , spr_uebvar_id_reprgefszen = self.ListBox__ReprGefSzen.wxObjekt.gibClientData( lfdNr = 0 )[0] ) 990 991 992 # 993 # -- ps.gefabk / prj.plu_psgefabk ------------------------------------------ 994 # 995 if( self.ListBoxAL__GefPersonen.ListBox__li.gibIstVomBenutzerGeaendert() 996 or self.ComboBox__Haeufig.wxObjekt.gibIstVomBenutzerGeaendert() 997 or self.ComboBox__GefStufe.wxObjekt.gibIstVomBenutzerGeaendert() 998 or self.TCASRisikostufe.wxObjekt.gibIstVomBenutzerGeaendert() ) : 999 1000 # 1001 # -- Gefährdete Personen ------------------------------------------ 1002 # 1003 if( self.ListBoxAL__GefPersonen.ListBox__li.gibIstVomBenutzerGeaendert() ) : 1004 1005 # 1006 # -- >ps.abk.id< vor der Änderung ermitteln -------------------------- 1007 # 1008 ps_abk_id = self.dbVerbindung.gibListePsAbkId( psAbkTyp = 'GP') 1009 1010 # 1011 # -- >ps.abk.id< entfernen ------------------------------------------ 1012 # 1013 for i in range( len( self.ListBoxAL__GefPersonen.ListBox__re.gibClientData() ) ) : 1014 1015 if( self.ListBoxAL__GefPersonen.ListBox__re.gibClientData( lfdNr = i )[0] in ps_abk_id ) : 1016 1017 # 1018 # -- >ps_abk_id<, >spr_uebvar_id_zus<, >notizen< ---------- 1019 # 1020 listeWerte = [] 1021 listeWerte.append( self.ListBoxAL__GefPersonen.ListBox__re.gibClientData( lfdNr = i )[0] ) 1022 listeWerte.append( 0 ) 1023 listeWerte.append( zk.gibZk( '' ) ) 1024 1025 self.dbVerbindung.schreibe__prjPlPsGefsabk( listeWerte = listeWerte 1026 , logentfernt = 'true' ) 1027 1028 # 1029 # -- >ps.abk.id< hinzufügen ------------------------------------------ 1030 # 1031 for i in range( len( self.ListBoxAL__GefPersonen.ListBox__li.gibClientData() ) ) : 1032 1033 # 1034 # -- bereits zugeordnete >ps.abk.id< überspringen ---------- 1035 # 1036 if( self.ListBoxAL__GefPersonen.ListBox__li.gibClientData( lfdNr = i )[0] in ps_abk_id ) : 1037 1038 continue 1039 1040 # 1041 # -- >ps_abk_id<, >spr_uebvar_id_zus<, >notizen< ---------- 1042 # 1043 listeWerte = [] 1044 listeWerte.append( self.ListBoxAL__GefPersonen.ListBox__li.gibClientData( lfdNr = i )[0] ) 1045 listeWerte.append( 0 ) 1046 listeWerte.append( zk.gibZk( '' ) ) 1047 1048 self.dbVerbindung.schreibe__prjPlPsGefsabk( listeWerte = listeWerte ) 1049 1050 # 1051 # -- Häufigkeit -------------------------------------------------- 1052 # 1053 if( self.ComboBox__Haeufig.wxObjekt.gibIstVomBenutzerGeaendert() ) : 1054 1055 # 1056 # -- >ps.abk.id< vor der Änderung ermitteln -------------------------- 1057 # 1058 ps_abk_id = self.dbVerbindung.gibListePsAbkId( psAbkTyp = 'RH') 1059 1060 # 1061 # -- >ps.abk.id< entfernen ------------------------------------------ 1062 # -- >ps_abk_id<, >spr_uebvar_id_zus<, >notizen< ------------------ 1063 # 1064 listeWerte = [] 1065 listeWerte.append( ps_abk_id[0] ) 1066 listeWerte.append( 0 ) 1067 listeWerte.append( zk.gibZk( '' ) ) 1068 1069 self.dbVerbindung.schreibe__prjPlPsGefsabk( listeWerte = listeWerte 1070 , logentfernt = 'true' ) 1071 1072 # 1073 # -- >ps.abk.id< hinzufügen ------------------------------------------ 1074 # -- >ps_abk_id<, >spr_uebvar_id_zus<, >notizen< ------------------ 1075 # 1076 listeWerte = [] 1077 listeWerte.append( self.ComboBox__Haeufig.wxObjekt.gibClientData() ) 1078 listeWerte.append( self.ListBox__HaeufigBegr.wxObjekt.gibClientData( lfdNr = 0 )[0] ) 1079 listeWerte.append( self.ListBox__HaeufigBegr.wxObjekt.gibClientData( lfdNr = 0 )[1] ) 1080 1081 self.dbVerbindung.schreibe__prjPlPsGefsabk( listeWerte = listeWerte ) 1082 1083 1084 1085 1086 # 1087 # -- Gefahrenstufe -------------------------------------------------- 1088 # 1089 if( self.ComboBox__GefStufe.wxObjekt.gibIstVomBenutzerGeaendert() ) : 1090 1091 # 1092 # -- >ps.abk.id< vor der Änderung ermitteln -------------------------- 1093 # 1094 ps_abk_id = self.dbVerbindung.gibListePsAbkId( psAbkTyp = 'RG') 1095 1096 # 1097 # -- >ps.abk.id< entfernen ------------------------------------------ 1098 # -- >ps_abk_id<, >spr_uebvar_id_zus<, >notizen< ------------------ 1099 # 1100 listeWerte = [] 1101 listeWerte.append( ps_abk_id[0] ) 1102 listeWerte.append( 0 ) 1103 listeWerte.append( zk.gibZk( '' ) ) 1104 1105 self.dbVerbindung.schreibe__prjPlPsGefsabk( listeWerte = listeWerte 1106 , logentfernt = 'true' ) 1107 1108 # 1109 # -- >ps.abk.id< hinzufügen ------------------------------------------ 1110 # -- >ps_abk_id<, >spr_uebvar_id_zus<, >notizen< ------------------ 1111 # 1112 listeWerte = [] 1113 listeWerte.append( self.ComboBox__GefStufe.wxObjekt.gibClientData() ) 1114 listeWerte.append( self.ListBox__GefStufeBegr.wxObjekt.gibClientData( lfdNr = 0 )[0] ) 1115 listeWerte.append( self.ListBox__GefStufeBegr.wxObjekt.gibClientData( lfdNr = 0 )[1] ) 1116 1117 self.dbVerbindung.schreibe__prjPlPsGefsabk( listeWerte = listeWerte ) 1118 1119 1120 # 1121 # -- Risikostufe -------------------------------------------------- 1122 # 1123 if( self.TCASRisikostufe.wxObjekt.gibIstVomBenutzerGeaendert() ) : 1124 1125 # 1126 # -- >ps.abk.id< vor der Änderung ermitteln -------------------------- 1127 # 1128 ps_abk_id = self.dbVerbindung.gibListePsAbkId( psAbkTyp = 'RR') 1129 1130 # 1131 # -- >ps.abk.id< entfernen ------------------------------------------ 1132 # -- >ps_abk_id<, >spr_uebvar_id_zus<, >notizen< ------------------ 1133 # 1134 listeWerte = [] 1135 listeWerte.append( ps_abk_id[0] ) 1136 listeWerte.append( 0 ) 1137 listeWerte.append( zk.gibZk( '' ) ) 1138 1139 self.dbVerbindung.schreibe__prjPlPsGefsabk( listeWerte = listeWerte 1140 , logentfernt = 'true' ) 1141 1142 # 1143 # -- >ps.abk.id< hinzufügen ------------------------------------------ 1144 # -- >ps_abk_id<, >spr_uebvar_id_zus<, >notizen< ------------------ 1145 # 1146 listeWerte = [] 1147 listeWerte.append( self.TCASRisikostufe.wxObjekt.gibClientData()[0] ) 1148 listeWerte.append( self.ListBox__RisikoStufeBegr.wxObjekt.gibClientData( lfdNr = 0 )[0] ) 1149 listeWerte.append( self.ListBox__RisikoStufeBegr.wxObjekt.gibClientData( lfdNr = 0 )[1] ) 1150 1151 self.dbVerbindung.schreibe__prjPlPsGefsabk( listeWerte = listeWerte ) 1152 1153 1154 # 1155 # -- Gefahrennetz ---------------------------------------------------------- 1156 # 1157 if( self.ListBoxAL__GefNetz.ListBox__li.gibIstVomBenutzerGeaendert() ) : 1158 1159 # 1160 # -- >str.strkt.id< vor der Änderung ermitteln -------------------------- 1161 # 1162 str_strkt_id = [] 1163 if( self.dbVerbindung.ps_gefszenario_id in self.dbVerbindung.daten__GefszenId_StruktId__Projekt ) : 1164 1165 str_strkt_id = self.dbVerbindung.daten__GefszenId_StruktId__Projekt[self.dbVerbindung.ps_gefszenario_id][0] 1166 1167 1168 # 1169 # -- >str.strkt.id< entfernen ------------------------------------------ 1170 # 1171 for i in range( len( self.ListBoxAL__GefNetz.ListBox__re.gibClientData() ) ) : 1172 1173 if( self.ListBoxAL__GefNetz.ListBox__re.gibClientData( lfdNr = i )[0] in str_strkt_id ) : 1174 1175 # 1176 # -- >str_strkt_id<, >notizen< -------------------------- 1177 # 1178 listeWerte = [] 1179 listeWerte.append( self.ListBoxAL__GefNetz.ListBox__re.gibClientData( lfdNr = i )[0] ) 1180 listeWerte.append( zk.gibZk( '' ) ) 1181 1182 self.dbVerbindung.schreibe__PrjPlPsGefStrkt( listeWerte = listeWerte 1183 , logentfernt = 'true' ) 1184 1185 1186 # 1187 # -- >str.strkt.id< hinzufügen ---------------------------------- 1188 # 1189 for i in range( len( self.ListBoxAL__GefNetz.ListBox__li.gibClientData() ) ) : 1190 1191 # 1192 # -- bereits zugeordnete >str.strkt.id< überspringen ---------- 1193 # 1194 if( self.ListBoxAL__GefNetz.ListBox__li.gibClientData( lfdNr = i )[0] in str_strkt_id ) : 1195 1196 continue 1197 1198 # 1199 # -- >str_strkt_id<, >notizen< ---------- 1200 # 1201 listeWerte = [] 1202 listeWerte.append( self.ListBoxAL__GefNetz.ListBox__li.gibClientData( lfdNr = i )[0] ) 1203 listeWerte.append( zk.gibZk( '' ) ) 1204 1205 self.dbVerbindung.schreibe__PrjPlPsGefStrkt( listeWerte = listeWerte ) 1206 1207 1208 1209 # 1210 # -- hier ausgewertete Benutzeränderungen zurücksetzen ------------------ 1211 # 1212 self.ListBox__GefSzen.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 1213 self.ListBox__ReprGefSzen.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 1214 self.ListBoxAL__GefPersonen.ListBox__li.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 1215 self.ComboBox__Haeufig.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 1216 self.ComboBox__GefStufe.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 1217 self.TCASRisikostufe.wxObjekt.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False ) 1218 self.ListBoxAL__GefNetz.ListBox__li.nimmIstVomBenutzerGeaendert( istVomBenutzerGeaendert = False )
1219