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