Grammalecte  Hex Artifact Content

Artifact 4ef478c592dbeb5267fc1dd23949c9a76ac79c28127d54c552ee31d8b6c0dde0:


0000: 23 20 2d 2a 2d 20 63 6f 64 69 6e 67 3a 20 75 74  # -*- coding: ut
0010: 66 38 20 2d 2a 2d 0a 23 20 41 62 6f 75 74 20 64  f8 -*-.# About d
0020: 69 61 6c 6f 67 0a 23 20 62 79 20 4f 6c 69 76 69  ialog.# by Olivi
0030: 65 72 20 52 2e 0a 23 20 4c 69 63 65 6e 73 65 3a  er R..# License:
0040: 20 4d 50 4c 20 32 0a 0a 69 6d 70 6f 72 74 20 75   MPL 2..import u
0050: 6e 6f 68 65 6c 70 65 72 0a 69 6d 70 6f 72 74 20  nohelper.import 
0060: 75 6e 6f 0a 69 6d 70 6f 72 74 20 74 72 61 63 65  uno.import trace
0070: 62 61 63 6b 0a 69 6d 70 6f 72 74 20 73 79 73 0a  back.import sys.
0080: 0a 69 6d 70 6f 72 74 20 61 62 5f 73 74 72 69 6e  .import ab_strin
0090: 67 73 0a 69 6d 70 6f 72 74 20 68 65 6c 70 65 72  gs.import helper
00a0: 73 0a 0a 66 72 6f 6d 20 63 6f 6d 2e 73 75 6e 2e  s..from com.sun.
00b0: 73 74 61 72 2e 61 77 74 20 69 6d 70 6f 72 74 20  star.awt import 
00c0: 58 41 63 74 69 6f 6e 4c 69 73 74 65 6e 65 72 0a  XActionListener.
00d0: 66 72 6f 6d 20 63 6f 6d 2e 73 75 6e 2e 73 74 61  from com.sun.sta
00e0: 72 2e 62 65 61 6e 73 20 69 6d 70 6f 72 74 20 50  r.beans import P
00f0: 72 6f 70 65 72 74 79 56 61 6c 75 65 0a 0a 0a 63  ropertyValue...c
0100: 6c 61 73 73 20 41 62 6f 75 74 47 72 61 6d 6d 61  lass AboutGramma
0110: 6c 65 63 74 65 20 28 75 6e 6f 68 65 6c 70 65 72  lecte (unohelper
0120: 2e 42 61 73 65 2c 20 58 41 63 74 69 6f 6e 4c 69  .Base, XActionLi
0130: 73 74 65 6e 65 72 29 3a 0a 20 20 20 20 64 65 66  stener):.    def
0140: 20 5f 5f 69 6e 69 74 5f 5f 20 28 73 65 6c 66 2c   __init__ (self,
0150: 20 63 74 78 29 3a 0a 20 20 20 20 20 20 20 20 73   ctx):.        s
0160: 65 6c 66 2e 63 74 78 20 3d 20 63 74 78 0a 20 20  elf.ctx = ctx.  
0170: 20 20 20 20 20 20 73 65 6c 66 2e 78 53 76 4d 67        self.xSvMg
0180: 72 20 3d 20 73 65 6c 66 2e 63 74 78 2e 53 65 72  r = self.ctx.Ser
0190: 76 69 63 65 4d 61 6e 61 67 65 72 0a 20 20 20 20  viceManager.    
01a0: 20 20 20 20 73 65 6c 66 2e 78 43 6f 6e 74 61 69      self.xContai
01b0: 6e 65 72 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20  ner = None.     
01c0: 20 20 20 73 65 6c 66 2e 78 44 69 61 6c 6f 67 20     self.xDialog 
01d0: 3d 20 4e 6f 6e 65 0a 0a 20 20 20 20 64 65 66 20  = None..    def 
01e0: 5f 61 64 64 57 69 64 67 65 74 20 28 73 65 6c 66  _addWidget (self
01f0: 2c 20 6e 61 6d 65 2c 20 77 74 79 70 65 2c 20 78  , name, wtype, x
0200: 2c 20 79 2c 20 77 2c 20 68 2c 20 2a 2a 6b 77 61  , y, w, h, **kwa
0210: 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 78 57  rgs):.        xW
0220: 69 64 67 65 74 20 3d 20 73 65 6c 66 2e 78 44 69  idget = self.xDi
0230: 61 6c 6f 67 2e 63 72 65 61 74 65 49 6e 73 74 61  alog.createInsta
0240: 6e 63 65 28 27 63 6f 6d 2e 73 75 6e 2e 73 74 61  nce('com.sun.sta
0250: 72 2e 61 77 74 2e 55 6e 6f 43 6f 6e 74 72 6f 6c  r.awt.UnoControl
0260: 25 73 4d 6f 64 65 6c 27 20 25 20 77 74 79 70 65  %sModel' % wtype
0270: 29 0a 20 20 20 20 20 20 20 20 78 57 69 64 67 65  ).        xWidge
0280: 74 2e 4e 61 6d 65 20 3d 20 6e 61 6d 65 0a 20 20  t.Name = name.  
0290: 20 20 20 20 20 20 78 57 69 64 67 65 74 2e 50 6f        xWidget.Po
02a0: 73 69 74 69 6f 6e 58 20 3d 20 78 0a 20 20 20 20  sitionX = x.    
02b0: 20 20 20 20 78 57 69 64 67 65 74 2e 50 6f 73 69      xWidget.Posi
02c0: 74 69 6f 6e 59 20 3d 20 79 0a 20 20 20 20 20 20  tionY = y.      
02d0: 20 20 78 57 69 64 67 65 74 2e 57 69 64 74 68 20    xWidget.Width 
02e0: 3d 20 77 0a 20 20 20 20 20 20 20 20 78 57 69 64  = w.        xWid
02f0: 67 65 74 2e 48 65 69 67 68 74 20 3d 20 68 0a 20  get.Height = h. 
0300: 20 20 20 20 20 20 20 66 6f 72 20 6b 2c 20 77 20         for k, w 
0310: 69 6e 20 6b 77 61 72 67 73 2e 69 74 65 6d 73 28  in kwargs.items(
0320: 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73  ):.            s
0330: 65 74 61 74 74 72 28 78 57 69 64 67 65 74 2c 20  etattr(xWidget, 
0340: 6b 2c 20 77 29 0a 20 20 20 20 20 20 20 20 73 65  k, w).        se
0350: 6c 66 2e 78 44 69 61 6c 6f 67 2e 69 6e 73 65 72  lf.xDialog.inser
0360: 74 42 79 4e 61 6d 65 28 6e 61 6d 65 2c 20 78 57  tByName(name, xW
0370: 69 64 67 65 74 29 0a 20 20 20 20 20 20 20 20 72  idget).        r
0380: 65 74 75 72 6e 20 78 57 69 64 67 65 74 0a 0a 20  eturn xWidget.. 
0390: 20 20 20 64 65 66 20 72 75 6e 20 28 73 65 6c 66     def run (self
03a0: 2c 20 73 4c 61 6e 67 29 3a 0a 20 20 20 20 20 20  , sLang):.      
03b0: 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20    try:.         
03c0: 20 20 20 64 55 49 20 3d 20 61 62 5f 73 74 72 69     dUI = ab_stri
03d0: 6e 67 73 2e 67 65 74 55 49 28 73 4c 61 6e 67 29  ngs.getUI(sLang)
03e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c  .            sel
03f0: 66 2e 78 47 4c 4f 70 74 69 6f 6e 4e 6f 64 65 20  f.xGLOptionNode 
0400: 3d 20 68 65 6c 70 65 72 73 2e 67 65 74 43 6f 6e  = helpers.getCon
0410: 66 69 67 53 65 74 74 69 6e 67 28 22 2f 6f 72 67  figSetting("/org
0420: 2e 6f 70 65 6e 6f 66 66 69 63 65 2e 4c 69 67 68  .openoffice.Ligh
0430: 74 70 72 6f 6f 66 5f 67 72 61 6d 6d 61 6c 65 63  tproof_grammalec
0440: 74 65 2f 4f 74 68 65 72 2f 22 2c 20 54 72 75 65  te/Other/", True
0450: 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23  )..            #
0460: 20 64 69 61 6c 6f 67 0a 20 20 20 20 20 20 20 20   dialog.        
0470: 20 20 20 20 73 65 6c 66 2e 78 44 69 61 6c 6f 67      self.xDialog
0480: 20 3d 20 73 65 6c 66 2e 78 53 76 4d 67 72 2e 63   = self.xSvMgr.c
0490: 72 65 61 74 65 49 6e 73 74 61 6e 63 65 57 69 74  reateInstanceWit
04a0: 68 43 6f 6e 74 65 78 74 28 27 63 6f 6d 2e 73 75  hContext('com.su
04b0: 6e 2e 73 74 61 72 2e 61 77 74 2e 55 6e 6f 43 6f  n.star.awt.UnoCo
04c0: 6e 74 72 6f 6c 44 69 61 6c 6f 67 4d 6f 64 65 6c  ntrolDialogModel
04d0: 27 2c 20 73 65 6c 66 2e 63 74 78 29 0a 20 20 20  ', self.ctx).   
04e0: 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 44           self.xD
04f0: 69 61 6c 6f 67 2e 57 69 64 74 68 20 3d 20 31 36  ialog.Width = 16
0500: 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65  0.            se
0510: 6c 66 2e 78 44 69 61 6c 6f 67 2e 48 65 69 67 68  lf.xDialog.Heigh
0520: 74 20 3d 20 33 32 30 0a 20 20 20 20 20 20 20 20  t = 320.        
0530: 20 20 20 20 73 65 6c 66 2e 78 44 69 61 6c 6f 67      self.xDialog
0540: 2e 54 69 74 6c 65 20 3d 20 64 55 49 2e 67 65 74  .Title = dUI.get
0550: 28 27 77 69 6e 64 6f 77 74 69 74 6c 65 27 2c 20  ('windowtitle', 
0560: 22 23 65 72 72 22 29 0a 20 20 20 20 20 20 20 20  "#err").        
0570: 20 20 20 20 78 57 69 6e 64 6f 77 53 69 7a 65 20      xWindowSize 
0580: 3d 20 68 65 6c 70 65 72 73 2e 67 65 74 57 69 6e  = helpers.getWin
0590: 64 6f 77 53 69 7a 65 28 29 0a 20 20 20 20 20 20  dowSize().      
05a0: 20 20 20 20 20 20 73 65 6c 66 2e 78 44 69 61 6c        self.xDial
05b0: 6f 67 2e 50 6f 73 69 74 69 6f 6e 58 20 3d 20 69  og.PositionX = i
05c0: 6e 74 28 28 78 57 69 6e 64 6f 77 53 69 7a 65 2e  nt((xWindowSize.
05d0: 57 69 64 74 68 20 2f 20 32 29 20 2d 20 28 73 65  Width / 2) - (se
05e0: 6c 66 2e 78 44 69 61 6c 6f 67 2e 57 69 64 74 68  lf.xDialog.Width
05f0: 20 2f 20 32 29 29 0a 20 20 20 20 20 20 20 20 20   / 2)).         
0600: 20 20 20 73 65 6c 66 2e 78 44 69 61 6c 6f 67 2e     self.xDialog.
0610: 50 6f 73 69 74 69 6f 6e 59 20 3d 20 69 6e 74 28  PositionY = int(
0620: 28 78 57 69 6e 64 6f 77 53 69 7a 65 2e 48 65 69  (xWindowSize.Hei
0630: 67 68 74 20 2f 20 32 29 20 2d 20 28 73 65 6c 66  ght / 2) - (self
0640: 2e 78 44 69 61 6c 6f 67 2e 48 65 69 67 68 74 20  .xDialog.Height 
0650: 2f 20 32 29 29 0a 0a 20 20 20 20 20 20 20 20 20  / 2))..         
0660: 20 20 20 23 20 78 57 69 64 67 65 74 73 0a 20 20     # xWidgets.  
0670: 20 20 20 20 20 20 20 20 20 20 6e 4c 62 6c 57 69            nLblWi
0680: 64 74 68 20 3d 20 31 34 30 0a 20 20 20 20 20 20  dth = 140.      
0690: 20 20 20 20 20 20 6e 55 52 4c 63 6f 6c 6f 72 20        nURLcolor 
06a0: 3d 20 30 78 34 34 34 34 46 46 0a 0a 20 20 20 20  = 0x4444FF..    
06b0: 20 20 20 20 20 20 20 20 78 46 44 31 20 3d 20 75          xFD1 = u
06c0: 6e 6f 2e 63 72 65 61 74 65 55 6e 6f 53 74 72 75  no.createUnoStru
06d0: 63 74 28 22 63 6f 6d 2e 73 75 6e 2e 73 74 61 72  ct("com.sun.star
06e0: 2e 61 77 74 2e 46 6f 6e 74 44 65 73 63 72 69 70  .awt.FontDescrip
06f0: 74 6f 72 22 29 0a 20 20 20 20 20 20 20 20 20 20  tor").          
0700: 20 20 78 46 44 31 2e 48 65 69 67 68 74 20 3d 20    xFD1.Height = 
0710: 31 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 78  10.            x
0720: 46 44 31 2e 57 65 69 67 68 74 20 3d 20 75 6e 6f  FD1.Weight = uno
0730: 2e 67 65 74 43 6f 6e 73 74 61 6e 74 42 79 4e 61  .getConstantByNa
0740: 6d 65 28 22 63 6f 6d 2e 73 75 6e 2e 73 74 61 72  me("com.sun.star
0750: 2e 61 77 74 2e 46 6f 6e 74 57 65 69 67 68 74 2e  .awt.FontWeight.
0760: 42 4f 4c 44 22 29 0a 20 20 20 20 20 20 20 20 20  BOLD").         
0770: 20 20 20 78 46 44 31 2e 4e 61 6d 65 20 3d 20 22     xFD1.Name = "
0780: 56 65 72 64 61 6e 61 22 0a 0a 20 20 20 20 20 20  Verdana"..      
0790: 20 20 20 20 20 20 78 46 44 32 20 3d 20 75 6e 6f        xFD2 = uno
07a0: 2e 63 72 65 61 74 65 55 6e 6f 53 74 72 75 63 74  .createUnoStruct
07b0: 28 22 63 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e 61  ("com.sun.star.a
07c0: 77 74 2e 46 6f 6e 74 44 65 73 63 72 69 70 74 6f  wt.FontDescripto
07d0: 72 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  r").            
07e0: 78 46 44 32 2e 48 65 69 67 68 74 20 3d 20 31 30  xFD2.Height = 10
07f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 46 44  .            xFD
0800: 32 2e 4e 61 6d 65 20 3d 20 22 56 65 72 64 61 6e  2.Name = "Verdan
0810: 61 22 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20  a"..            
0820: 78 46 44 33 20 3d 20 75 6e 6f 2e 63 72 65 61 74  xFD3 = uno.creat
0830: 65 55 6e 6f 53 74 72 75 63 74 28 22 63 6f 6d 2e  eUnoStruct("com.
0840: 73 75 6e 2e 73 74 61 72 2e 61 77 74 2e 46 6f 6e  sun.star.awt.Fon
0850: 74 44 65 73 63 72 69 70 74 6f 72 22 29 0a 20 20  tDescriptor").  
0860: 20 20 20 20 20 20 20 20 20 20 78 46 44 33 2e 48            xFD3.H
0870: 65 69 67 68 74 20 3d 20 31 32 0a 20 20 20 20 20  eight = 12.     
0880: 20 20 20 20 20 20 20 78 46 44 33 2e 57 65 69 67         xFD3.Weig
0890: 68 74 20 3d 20 75 6e 6f 2e 67 65 74 43 6f 6e 73  ht = uno.getCons
08a0: 74 61 6e 74 42 79 4e 61 6d 65 28 22 63 6f 6d 2e  tantByName("com.
08b0: 73 75 6e 2e 73 74 61 72 2e 61 77 74 2e 46 6f 6e  sun.star.awt.Fon
08c0: 74 57 65 69 67 68 74 2e 42 4f 4c 44 22 29 0a 20  tWeight.BOLD"). 
08d0: 20 20 20 20 20 20 20 20 20 20 20 78 46 44 33 2e             xFD3.
08e0: 4e 61 6d 65 20 3d 20 22 56 65 72 64 61 6e 61 22  Name = "Verdana"
08f0: 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20  ..            # 
0900: 6c 6f 67 6f 0a 20 20 20 20 20 20 20 20 20 20 20  logo.           
0910: 20 78 44 65 66 61 75 6c 74 43 6f 6e 74 65 78 74   xDefaultContext
0920: 20 3d 20 73 65 6c 66 2e 63 74 78 2e 53 65 72 76   = self.ctx.Serv
0930: 69 63 65 4d 61 6e 61 67 65 72 2e 44 65 66 61 75  iceManager.Defau
0940: 6c 74 43 6f 6e 74 65 78 74 0a 20 20 20 20 20 20  ltContext.      
0950: 20 20 20 20 20 20 78 50 61 63 6b 61 67 65 49 6e        xPackageIn
0960: 66 6f 50 72 6f 76 69 64 65 72 20 3d 20 78 44 65  foProvider = xDe
0970: 66 61 75 6c 74 43 6f 6e 74 65 78 74 2e 67 65 74  faultContext.get
0980: 56 61 6c 75 65 42 79 4e 61 6d 65 28 22 2f 73 69  ValueByName("/si
0990: 6e 67 6c 65 74 6f 6e 73 2f 63 6f 6d 2e 73 75 6e  ngletons/com.sun
09a0: 2e 73 74 61 72 2e 64 65 70 6c 6f 79 6d 65 6e 74  .star.deployment
09b0: 2e 50 61 63 6b 61 67 65 49 6e 66 6f 72 6d 61 74  .PackageInformat
09c0: 69 6f 6e 50 72 6f 76 69 64 65 72 22 29 0a 20 20  ionProvider").  
09d0: 20 20 20 20 20 20 20 20 20 20 73 45 78 74 50 61            sExtPa
09e0: 74 68 20 3d 20 78 50 61 63 6b 61 67 65 49 6e 66  th = xPackageInf
09f0: 6f 50 72 6f 76 69 64 65 72 2e 67 65 74 50 61 63  oProvider.getPac
0a00: 6b 61 67 65 4c 6f 63 61 74 69 6f 6e 28 22 46 72  kageLocation("Fr
0a10: 65 6e 63 68 2e 6c 69 6e 67 75 69 73 74 69 63 2e  ench.linguistic.
0a20: 72 65 73 6f 75 72 63 65 73 2e 66 72 6f 6d 2e 44  resources.from.D
0a30: 69 63 6f 6c 6c 65 63 74 65 2e 62 79 2e 4f 6c 69  icollecte.by.Oli
0a40: 76 69 65 72 52 22 29 0a 20 20 20 20 20 20 20 20  vierR").        
0a50: 20 20 20 20 73 65 6c 66 2e 5f 61 64 64 57 69 64      self._addWid
0a60: 67 65 74 28 27 69 6d 67 4d 61 69 6e 4c 6f 67 6f  get('imgMainLogo
0a70: 27 2c 20 27 49 6d 61 67 65 43 6f 6e 74 72 6f 6c  ', 'ImageControl
0a80: 27 2c 20 35 2c 20 35 2c 20 31 35 30 2c 20 38 30  ', 5, 5, 150, 80
0a90: 2c 20 49 6d 61 67 65 55 52 4c 20 3d 20 73 45 78  , ImageURL = sEx
0aa0: 74 50 61 74 68 2b 22 2f 69 6d 67 2f 6c 6f 67 6f  tPath+"/img/logo
0ab0: 31 32 30 5f 74 65 78 74 2e 70 6e 67 22 2c 20 42  120_text.png", B
0ac0: 6f 72 64 65 72 20 3d 20 30 2c 20 53 63 61 6c 65  order = 0, Scale
0ad0: 4d 6f 64 65 20 3d 20 31 29 0a 0a 20 20 20 20 20  Mode = 1)..     
0ae0: 20 20 20 20 20 20 20 23 20 49 6e 66 6f 73 0a 20         # Infos. 
0af0: 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e             self.
0b00: 5f 61 64 64 57 69 64 67 65 74 28 27 6c 62 6c 56  _addWidget('lblV
0b10: 65 72 73 69 6f 6e 27 2c 20 27 46 69 78 65 64 54  ersion', 'FixedT
0b20: 65 78 74 27 2c 20 31 30 2c 20 39 30 2c 20 6e 4c  ext', 10, 90, nL
0b30: 62 6c 57 69 64 74 68 2c 20 31 30 2c 20 4c 61 62  blWidth, 10, Lab
0b40: 65 6c 20 3d 20 64 55 49 2e 67 65 74 28 27 76 65  el = dUI.get('ve
0b50: 72 73 69 6f 6e 27 2c 20 22 23 65 72 72 22 29 2c  rsion', "#err"),
0b60: 20 41 6c 69 67 6e 20 3d 20 31 2c 20 46 6f 6e 74   Align = 1, Font
0b70: 44 65 73 63 72 69 70 74 6f 72 20 3d 20 78 46 44  Descriptor = xFD
0b80: 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73  2).            s
0b90: 65 6c 66 2e 5f 61 64 64 57 69 64 67 65 74 28 27  elf._addWidget('
0ba0: 6c 62 6c 4c 69 63 65 6e 63 65 27 2c 20 27 46 69  lblLicence', 'Fi
0bb0: 78 65 64 54 65 78 74 27 2c 20 31 30 2c 20 31 30  xedText', 10, 10
0bc0: 30 2c 20 6e 4c 62 6c 57 69 64 74 68 2c 20 31 30  0, nLblWidth, 10
0bd0: 2c 20 4c 61 62 65 6c 20 3d 20 64 55 49 2e 67 65  , Label = dUI.ge
0be0: 74 28 27 6c 69 63 65 6e 73 65 27 2c 20 22 23 65  t('license', "#e
0bf0: 72 72 22 29 2c 20 41 6c 69 67 6e 20 3d 20 31 2c  rr"), Align = 1,
0c00: 20 46 6f 6e 74 44 65 73 63 72 69 70 74 6f 72 20   FontDescriptor 
0c10: 3d 20 78 46 44 32 29 0a 20 20 20 20 20 20 20 20  = xFD2).        
0c20: 20 20 20 20 73 65 6c 66 2e 5f 61 64 64 57 69 64      self._addWid
0c30: 67 65 74 28 27 6c 62 6c 57 65 62 73 69 74 65 27  get('lblWebsite'
0c40: 2c 20 27 46 69 78 65 64 48 79 70 65 72 6c 69 6e  , 'FixedHyperlin
0c50: 6b 27 2c 20 31 30 2c 20 31 31 30 2c 20 6e 4c 62  k', 10, 110, nLb
0c60: 6c 57 69 64 74 68 2c 20 31 30 2c 20 4c 61 62 65  lWidth, 10, Labe
0c70: 6c 20 3d 20 64 55 49 2e 67 65 74 28 27 77 65 62  l = dUI.get('web
0c80: 73 69 74 65 27 2c 20 22 23 65 72 72 22 29 2c 20  site', "#err"), 
0c90: 41 6c 69 67 6e 20 3d 20 31 2c 20 5c 0a 20 20 20  Align = 1, \.   
0ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0cb0: 20 20 20 20 20 20 20 20 20 55 52 4c 3d 22 68 74           URL="ht
0cc0: 74 70 73 3a 2f 2f 67 72 61 6d 6d 61 6c 65 63 74  tps://grammalect
0cd0: 65 2e 6e 65 74 2f 3f 66 72 6f 6d 3d 67 72 61 6d  e.net/?from=gram
0ce0: 6d 61 6c 65 63 74 65 2d 6c 6f 22 2c 20 46 6f 6e  malecte-lo", Fon
0cf0: 74 44 65 73 63 72 69 70 74 6f 72 20 3d 20 78 46  tDescriptor = xF
0d00: 44 31 2c 20 54 65 78 74 43 6f 6c 6f 72 20 3d 20  D1, TextColor = 
0d10: 6e 55 52 4c 63 6f 6c 6f 72 29 0a 0a 20 20 20 20  nURLcolor)..    
0d20: 20 20 20 20 20 20 20 20 23 20 50 79 74 68 6f 6e          # Python
0d30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c  .            sel
0d40: 66 2e 5f 61 64 64 57 69 64 67 65 74 28 27 6c 62  f._addWidget('lb
0d50: 6c 70 79 74 68 6f 6e 27 2c 20 27 46 69 78 65 64  lpython', 'Fixed
0d60: 54 65 78 74 27 2c 20 31 30 2c 20 31 32 35 2c 20  Text', 10, 125, 
0d70: 36 30 2c 20 31 30 2c 20 41 6c 69 67 6e 20 3d 20  60, 10, Align = 
0d80: 31 2c 20 54 65 78 74 43 6f 6c 6f 72 20 3d 20 30  1, TextColor = 0
0d90: 78 36 36 36 36 36 36 2c 20 46 6f 6e 74 44 65 73  x666666, FontDes
0da0: 63 72 69 70 74 6f 72 20 3d 20 78 46 44 32 2c 20  criptor = xFD2, 
0db0: 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  \.              
0dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 61                La
0dd0: 62 65 6c 20 3d 20 64 55 49 2e 67 65 74 28 27 70  bel = dUI.get('p
0de0: 79 74 68 6f 6e 76 65 72 27 2c 20 22 23 65 72 72  ythonver', "#err
0df0: 22 29 20 2b 20 22 7b 30 5b 30 5d 7d 2e 7b 30 5b  ") + "{0[0]}.{0[
0e00: 31 5d 7d 2e 7b 30 5b 32 5d 7d 22 2e 66 6f 72 6d  1]}.{0[2]}".form
0e10: 61 74 28 73 79 73 2e 76 65 72 73 69 6f 6e 5f 69  at(sys.version_i
0e20: 6e 66 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20  nfo)).          
0e30: 20 20 73 65 6c 66 2e 5f 61 64 64 57 69 64 67 65    self._addWidge
0e40: 74 28 27 63 6f 6e 73 6f 6c 65 5f 62 75 74 74 6f  t('console_butto
0e50: 6e 27 2c 20 27 42 75 74 74 6f 6e 27 2c 20 37 30  n', 'Button', 70
0e60: 2c 20 31 32 34 2c 20 34 30 2c 20 31 30 2c 20 5c  , 124, 40, 10, \
0e70: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 61 62               Lab
0e90: 65 6c 20 3d 20 64 55 49 2e 67 65 74 28 27 63 6f  el = dUI.get('co
0ea0: 6e 73 6f 6c 65 27 2c 20 22 23 65 72 72 22 29 2c  nsole', "#err"),
0eb0: 20 46 6f 6e 74 44 65 73 63 72 69 70 74 6f 72 20   FontDescriptor 
0ec0: 3d 20 78 46 44 32 2c 20 54 65 78 74 43 6f 6c 6f  = xFD2, TextColo
0ed0: 72 20 3d 20 30 78 36 36 36 36 36 36 29 0a 20 20  r = 0x666666).  
0ee0: 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78            self.x
0ef0: 41 75 74 6f 43 6f 6e 73 6f 6c 65 20 3d 20 73 65  AutoConsole = se
0f00: 6c 66 2e 5f 61 64 64 57 69 64 67 65 74 28 27 61  lf._addWidget('a
0f10: 75 74 6f 63 6f 6e 73 6f 6c 65 27 2c 20 27 43 68  utoconsole', 'Ch
0f20: 65 63 6b 42 6f 78 27 2c 20 31 32 30 2c 20 31 32  eckBox', 120, 12
0f30: 35 2c 20 34 30 2c 20 31 30 2c 20 5c 0a 20 20 20  5, 40, 10, \.   
0f40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0f60: 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 61 62               Lab
0f70: 65 6c 20 3d 20 64 55 49 2e 67 65 74 28 27 61 75  el = dUI.get('au
0f80: 74 6f 63 6f 6e 73 6f 6c 65 27 2c 20 22 23 65 72  toconsole', "#er
0f90: 72 22 29 2c 20 48 65 6c 70 54 65 78 74 20 3d 20  r"), HelpText = 
0fa0: 64 55 49 2e 67 65 74 28 22 61 75 74 6f 63 6f 6e  dUI.get("autocon
0fb0: 73 6f 6c 65 5f 64 65 73 63 72 22 2c 20 22 23 65  sole_descr", "#e
0fc0: 72 72 22 29 29 0a 0a 20 20 20 20 20 20 20 20 20  rr"))..         
0fd0: 20 20 20 23 20 6f 74 68 65 72 0a 20 20 20 20 20     # other.     
0fe0: 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 61 64 64         self._add
0ff0: 57 69 64 67 65 74 28 27 6c 69 6e 65 27 2c 20 27  Widget('line', '
1000: 46 69 78 65 64 4c 69 6e 65 27 2c 20 31 30 2c 20  FixedLine', 10, 
1010: 31 34 30 2c 20 6e 4c 62 6c 57 69 64 74 68 2c 20  140, nLblWidth, 
1020: 31 30 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20  10)..           
1030: 20 23 20 73 70 6f 6e 73 6f 72 73 0a 20 20 20 20   # sponsors.    
1040: 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 61 64          self._ad
1050: 64 57 69 64 67 65 74 28 27 6c 62 6c 4d 73 67 27  dWidget('lblMsg'
1060: 2c 20 27 46 69 78 65 64 54 65 78 74 27 2c 20 31  , 'FixedText', 1
1070: 30 2c 20 31 35 35 2c 20 6e 4c 62 6c 57 69 64 74  0, 155, nLblWidt
1080: 68 2c 20 31 30 2c 20 4c 61 62 65 6c 20 3d 20 64  h, 10, Label = d
1090: 55 49 2e 67 65 74 28 27 6d 65 73 73 61 67 65 27  UI.get('message'
10a0: 2c 20 22 23 65 72 72 22 29 2c 20 46 6f 6e 74 44  , "#err"), FontD
10b0: 65 73 63 72 69 70 74 6f 72 20 3d 20 78 46 44 32  escriptor = xFD2
10c0: 2c 20 41 6c 69 67 6e 20 3d 20 31 29 0a 20 20 20  , Align = 1).   
10d0: 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 61           self._a
10e0: 64 64 57 69 64 67 65 74 28 27 6c 62 6c 55 52 4c  ddWidget('lblURL
10f0: 31 27 2c 20 27 46 69 78 65 64 48 79 70 65 72 6c  1', 'FixedHyperl
1100: 69 6e 6b 27 2c 20 31 30 2c 20 31 37 30 2c 20 6e  ink', 10, 170, n
1110: 4c 62 6c 57 69 64 74 68 2c 20 31 30 2c 20 4c 61  LblWidth, 10, La
1120: 62 65 6c 20 3d 20 64 55 49 2e 67 65 74 28 27 73  bel = dUI.get('s
1130: 70 6f 6e 73 6f 72 27 2c 20 22 23 65 72 72 22 29  ponsor', "#err")
1140: 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20  , \.            
1150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1160: 41 6c 69 67 6e 20 3d 20 31 2c 20 55 52 4c 3d 22  Align = 1, URL="
1170: 68 74 74 70 3a 2f 2f 6c 61 6d 6f 75 65 74 74 65  http://lamouette
1180: 2e 6f 72 67 2f 3f 66 72 6f 6d 3d 67 72 61 6d 6d  .org/?from=gramm
1190: 61 6c 65 63 74 65 2d 6c 6f 22 2c 20 46 6f 6e 74  alecte-lo", Font
11a0: 44 65 73 63 72 69 70 74 6f 72 20 3d 20 78 46 44  Descriptor = xFD
11b0: 33 2c 20 54 65 78 74 43 6f 6c 6f 72 20 3d 20 6e  3, TextColor = n
11c0: 55 52 4c 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20  URLcolor).      
11d0: 20 20 20 20 20 20 73 65 6c 66 2e 5f 61 64 64 57        self._addW
11e0: 69 64 67 65 74 28 27 69 6d 67 53 70 6f 6e 73 6f  idget('imgSponso
11f0: 72 27 2c 20 27 49 6d 61 67 65 43 6f 6e 74 72 6f  r', 'ImageContro
1200: 6c 27 2c 20 35 2c 20 31 38 30 2c 20 31 35 30 2c  l', 5, 180, 150,
1210: 20 35 30 2c 20 49 6d 61 67 65 55 52 4c 20 3d 20   50, ImageURL = 
1220: 73 45 78 74 50 61 74 68 2b 22 2f 69 6d 67 2f 4c  sExtPath+"/img/L
1230: 61 4d 6f 75 65 74 74 65 5f 73 6d 61 6c 6c 2e 70  aMouette_small.p
1240: 6e 67 22 2c 20 42 6f 72 64 65 72 20 3d 20 30 2c  ng", Border = 0,
1250: 20 53 63 61 6c 65 4d 6f 64 65 20 3d 20 31 29 0a   ScaleMode = 1).
1260: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66              self
1270: 2e 5f 61 64 64 57 69 64 67 65 74 28 27 6c 62 6c  ._addWidget('lbl
1280: 55 52 4c 32 27 2c 20 27 46 69 78 65 64 48 79 70  URL2', 'FixedHyp
1290: 65 72 6c 69 6e 6b 27 2c 20 31 30 2c 20 32 33 35  erlink', 10, 235
12a0: 2c 20 6e 4c 62 6c 57 69 64 74 68 2c 20 31 30 2c  , nLblWidth, 10,
12b0: 20 4c 61 62 65 6c 20 3d 20 64 55 49 2e 67 65 74   Label = dUI.get
12c0: 28 27 73 70 6f 6e 73 6f 72 32 27 2c 20 22 23 65  ('sponsor2', "#e
12d0: 72 72 22 29 2c 20 5c 0a 20 20 20 20 20 20 20 20  rr"), \.        
12e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12f0: 20 20 20 20 41 6c 69 67 6e 20 3d 20 31 2c 20 55      Align = 1, U
1300: 52 4c 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  RL="https://www.
1310: 61 6c 67 6f 6f 2e 66 72 2f 3f 66 72 6f 6d 3d 67  algoo.fr/?from=g
1320: 72 61 6d 6d 61 6c 65 63 74 65 2d 6c 6f 22 2c 20  rammalecte-lo", 
1330: 46 6f 6e 74 44 65 73 63 72 69 70 74 6f 72 20 3d  FontDescriptor =
1340: 20 78 46 44 33 2c 20 54 65 78 74 43 6f 6c 6f 72   xFD3, TextColor
1350: 20 3d 20 6e 55 52 4c 63 6f 6c 6f 72 29 0a 20 20   = nURLcolor).  
1360: 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f            self._
1370: 61 64 64 57 69 64 67 65 74 28 27 69 6d 67 53 70  addWidget('imgSp
1380: 6f 6e 73 6f 72 32 27 2c 20 27 49 6d 61 67 65 43  onsor2', 'ImageC
1390: 6f 6e 74 72 6f 6c 27 2c 20 35 2c 20 32 34 35 2c  ontrol', 5, 245,
13a0: 20 31 35 30 2c 20 35 30 2c 20 49 6d 61 67 65 55   150, 50, ImageU
13b0: 52 4c 20 3d 20 73 45 78 74 50 61 74 68 2b 22 2f  RL = sExtPath+"/
13c0: 69 6d 67 2f 41 6c 67 6f 6f 5f 6c 6f 67 6f 2e 70  img/Algoo_logo.p
13d0: 6e 67 22 2c 20 42 6f 72 64 65 72 20 3d 20 30 2c  ng", Border = 0,
13e0: 20 53 63 61 6c 65 4d 6f 64 65 20 3d 20 31 29 0a   ScaleMode = 1).
13f0: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66              self
1400: 2e 5f 61 64 64 57 69 64 67 65 74 28 27 6c 62 6c  ._addWidget('lbl
1410: 55 52 4c 33 27 2c 20 27 46 69 78 65 64 48 79 70  URL3', 'FixedHyp
1420: 65 72 6c 69 6e 6b 27 2c 20 31 30 2c 20 33 30 30  erlink', 10, 300
1430: 2c 20 6e 4c 62 6c 57 69 64 74 68 2c 20 31 30 2c  , nLblWidth, 10,
1440: 20 4c 61 62 65 6c 20 3d 20 64 55 49 2e 67 65 74   Label = dUI.get
1450: 28 27 6c 69 6e 6b 27 2c 20 22 23 65 72 72 22 29  ('link', "#err")
1460: 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20  , \.            
1470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1480: 41 6c 69 67 6e 20 3d 20 31 2c 20 55 52 4c 3d 22  Align = 1, URL="
1490: 68 74 74 70 73 3a 2f 2f 67 72 61 6d 6d 61 6c 65  https://grammale
14a0: 63 74 65 2e 6e 65 74 2f 23 74 68 61 6e 6b 73 22  cte.net/#thanks"
14b0: 2c 20 46 6f 6e 74 44 65 73 63 72 69 70 74 6f 72  , FontDescriptor
14c0: 20 3d 20 78 46 44 31 2c 20 54 65 78 74 43 6f 6c   = xFD1, TextCol
14d0: 6f 72 20 3d 20 6e 55 52 4c 63 6f 6c 6f 72 29 0a  or = nURLcolor).
14e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c  .            sel
14f0: 66 2e 5f 6c 6f 61 64 4f 70 74 69 6f 6e 73 28 29  f._loadOptions()
1500: 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20  ..            # 
1510: 63 6f 6e 74 61 69 6e 65 72 0a 20 20 20 20 20 20  container.      
1520: 20 20 20 20 20 20 73 65 6c 66 2e 78 43 6f 6e 74        self.xCont
1530: 61 69 6e 65 72 20 3d 20 73 65 6c 66 2e 78 53 76  ainer = self.xSv
1540: 4d 67 72 2e 63 72 65 61 74 65 49 6e 73 74 61 6e  Mgr.createInstan
1550: 63 65 57 69 74 68 43 6f 6e 74 65 78 74 28 27 63  ceWithContext('c
1560: 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e 61 77 74 2e  om.sun.star.awt.
1570: 55 6e 6f 43 6f 6e 74 72 6f 6c 44 69 61 6c 6f 67  UnoControlDialog
1580: 27 2c 20 73 65 6c 66 2e 63 74 78 29 0a 20 20 20  ', self.ctx).   
1590: 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 43           self.xC
15a0: 6f 6e 74 61 69 6e 65 72 2e 73 65 74 4d 6f 64 65  ontainer.setMode
15b0: 6c 28 73 65 6c 66 2e 78 44 69 61 6c 6f 67 29 0a  l(self.xDialog).
15c0: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66              self
15d0: 2e 78 43 6f 6e 74 61 69 6e 65 72 2e 67 65 74 43  .xContainer.getC
15e0: 6f 6e 74 72 6f 6c 28 27 63 6f 6e 73 6f 6c 65 5f  ontrol('console_
15f0: 62 75 74 74 6f 6e 27 29 2e 61 64 64 41 63 74 69  button').addActi
1600: 6f 6e 4c 69 73 74 65 6e 65 72 28 73 65 6c 66 29  onListener(self)
1610: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c  .            sel
1620: 66 2e 78 43 6f 6e 74 61 69 6e 65 72 2e 67 65 74  f.xContainer.get
1630: 43 6f 6e 74 72 6f 6c 28 27 63 6f 6e 73 6f 6c 65  Control('console
1640: 5f 62 75 74 74 6f 6e 27 29 2e 73 65 74 41 63 74  _button').setAct
1650: 69 6f 6e 43 6f 6d 6d 61 6e 64 28 27 43 6f 6e 73  ionCommand('Cons
1660: 6f 6c 65 27 29 0a 20 20 20 20 20 20 20 20 20 20  ole').          
1670: 20 20 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65    self.xContaine
1680: 72 2e 67 65 74 43 6f 6e 74 72 6f 6c 28 27 61 75  r.getControl('au
1690: 74 6f 63 6f 6e 73 6f 6c 65 27 29 2e 61 64 64 41  toconsole').addA
16a0: 63 74 69 6f 6e 4c 69 73 74 65 6e 65 72 28 73 65  ctionListener(se
16b0: 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  lf).            
16c0: 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65 72 2e  self.xContainer.
16d0: 67 65 74 43 6f 6e 74 72 6f 6c 28 27 61 75 74 6f  getControl('auto
16e0: 63 6f 6e 73 6f 6c 65 27 29 2e 73 65 74 41 63 74  console').setAct
16f0: 69 6f 6e 43 6f 6d 6d 61 6e 64 28 27 41 75 74 6f  ionCommand('Auto
1700: 43 6f 6e 73 6f 6c 65 27 29 0a 20 20 20 20 20 20  Console').      
1710: 20 20 20 20 20 20 73 65 6c 66 2e 78 43 6f 6e 74        self.xCont
1720: 61 69 6e 65 72 2e 73 65 74 56 69 73 69 62 6c 65  ainer.setVisible
1730: 28 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20  (False).        
1740: 20 20 20 20 78 54 6f 6f 6c 6b 69 74 20 3d 20 73      xToolkit = s
1750: 65 6c 66 2e 78 53 76 4d 67 72 2e 63 72 65 61 74  elf.xSvMgr.creat
1760: 65 49 6e 73 74 61 6e 63 65 57 69 74 68 43 6f 6e  eInstanceWithCon
1770: 74 65 78 74 28 27 63 6f 6d 2e 73 75 6e 2e 73 74  text('com.sun.st
1780: 61 72 2e 61 77 74 2e 45 78 74 54 6f 6f 6c 6b 69  ar.awt.ExtToolki
1790: 74 27 2c 20 73 65 6c 66 2e 63 74 78 29 0a 20 20  t', self.ctx).  
17a0: 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78            self.x
17b0: 43 6f 6e 74 61 69 6e 65 72 2e 63 72 65 61 74 65  Container.create
17c0: 50 65 65 72 28 78 54 6f 6f 6c 6b 69 74 2c 20 4e  Peer(xToolkit, N
17d0: 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20  one).           
17e0: 20 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65 72   self.xContainer
17f0: 2e 65 78 65 63 75 74 65 28 29 0a 20 20 20 20 20  .execute().     
1800: 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20     except:.     
1810: 20 20 20 20 20 20 20 74 72 61 63 65 62 61 63 6b         traceback
1820: 2e 70 72 69 6e 74 5f 65 78 63 28 29 0a 0a 20 20  .print_exc()..  
1830: 20 20 23 20 58 41 63 74 69 6f 6e 4c 69 73 74 65    # XActionListe
1840: 6e 65 72 0a 20 20 20 20 64 65 66 20 61 63 74 69  ner.    def acti
1850: 6f 6e 50 65 72 66 6f 72 6d 65 64 20 28 73 65 6c  onPerformed (sel
1860: 66 2c 20 78 41 63 74 69 6f 6e 45 76 65 6e 74 29  f, xActionEvent)
1870: 3a 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20  :.        try:. 
1880: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 78 41             if xA
1890: 63 74 69 6f 6e 45 76 65 6e 74 2e 41 63 74 69 6f  ctionEvent.Actio
18a0: 6e 43 6f 6d 6d 61 6e 64 20 3d 3d 20 27 43 6f 6e  nCommand == 'Con
18b0: 73 6f 6c 65 27 3a 0a 20 20 20 20 20 20 20 20 20  sole':.         
18c0: 20 20 20 20 20 20 20 68 65 6c 70 65 72 73 2e 73         helpers.s
18d0: 74 61 72 74 43 6f 6e 73 6f 6c 65 28 29 0a 20 20  tartConsole().  
18e0: 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 78            elif x
18f0: 41 63 74 69 6f 6e 45 76 65 6e 74 2e 41 63 74 69  ActionEvent.Acti
1900: 6f 6e 43 6f 6d 6d 61 6e 64 20 3d 3d 20 22 41 75  onCommand == "Au
1910: 74 6f 43 6f 6e 73 6f 6c 65 22 3a 0a 20 20 20 20  toConsole":.    
1920: 20 20 20 20 20 20 20 20 20 20 20 20 78 43 68 69              xChi
1930: 6c 64 20 3d 20 73 65 6c 66 2e 78 47 4c 4f 70 74  ld = self.xGLOpt
1940: 69 6f 6e 4e 6f 64 65 2e 67 65 74 42 79 4e 61 6d  ionNode.getByNam
1950: 65 28 22 6f 5f 66 72 22 29 0a 20 20 20 20 20 20  e("o_fr").      
1960: 20 20 20 20 20 20 20 20 20 20 78 43 68 69 6c 64            xChild
1970: 2e 73 65 74 50 72 6f 70 65 72 74 79 56 61 6c 75  .setPropertyValu
1980: 65 28 22 73 74 61 72 74 5f 63 6f 6e 73 6f 6c 65  e("start_console
1990: 22 2c 20 73 65 6c 66 2e 78 41 75 74 6f 43 6f 6e  ", self.xAutoCon
19a0: 73 6f 6c 65 2e 53 74 61 74 65 29 0a 20 20 20 20  sole.State).    
19b0: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66              self
19c0: 2e 78 47 4c 4f 70 74 69 6f 6e 4e 6f 64 65 2e 63  .xGLOptionNode.c
19d0: 6f 6d 6d 69 74 43 68 61 6e 67 65 73 28 29 0a 20  ommitChanges(). 
19e0: 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a             else:
19f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1a00: 20 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65 72   self.xContainer
1a10: 2e 65 6e 64 45 78 65 63 75 74 65 28 29 0a 20 20  .endExecute().  
1a20: 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20        except:.  
1a30: 20 20 20 20 20 20 20 20 20 20 74 72 61 63 65 62            traceb
1a40: 61 63 6b 2e 70 72 69 6e 74 5f 65 78 63 28 29 0a  ack.print_exc().
1a50: 0a 20 20 20 20 64 65 66 20 5f 6c 6f 61 64 4f 70  .    def _loadOp
1a60: 74 69 6f 6e 73 20 28 73 65 6c 66 29 3a 0a 20 20  tions (self):.  
1a70: 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20        try:.     
1a80: 20 20 20 20 20 20 20 78 43 68 69 6c 64 20 3d 20         xChild = 
1a90: 73 65 6c 66 2e 78 47 4c 4f 70 74 69 6f 6e 4e 6f  self.xGLOptionNo
1aa0: 64 65 2e 67 65 74 42 79 4e 61 6d 65 28 22 6f 5f  de.getByName("o_
1ab0: 66 72 22 29 0a 20 20 20 20 20 20 20 20 20 20 20  fr").           
1ac0: 20 73 65 6c 66 2e 78 41 75 74 6f 43 6f 6e 73 6f   self.xAutoConso
1ad0: 6c 65 2e 53 74 61 74 65 20 3d 20 78 43 68 69 6c  le.State = xChil
1ae0: 64 2e 67 65 74 50 72 6f 70 65 72 74 79 56 61 6c  d.getPropertyVal
1af0: 75 65 28 22 73 74 61 72 74 5f 63 6f 6e 73 6f 6c  ue("start_consol
1b00: 65 22 29 0a 20 20 20 20 20 20 20 20 65 78 63 65  e").        exce
1b10: 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20  pt:.            
1b20: 74 72 61 63 65 62 61 63 6b 2e 70 72 69 6e 74 5f  traceback.print_
1b30: 65 78 63 28 29 0a                                exc().