Grammalecte  Hex Artifact Content

Artifact 65d326e8e47b60ca32ae3fd5476a826f967035756e8e2d71767348be970af717:


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 4d 6f 64 69 66 79 20  f8 -*-.# Modify 
0020: 61 75 74 68 6f 72 20 66 69 65 6c 64 0a 23 20 62  author field.# b
0030: 79 20 4f 6c 69 76 69 65 72 20 52 2e 0a 23 20 4c  y Olivier R..# L
0040: 69 63 65 6e 73 65 3a 20 4d 50 4c 20 32 0a 0a 69  icense: MPL 2..i
0050: 6d 70 6f 72 74 20 75 6e 6f 68 65 6c 70 65 72 0a  mport unohelper.
0060: 69 6d 70 6f 72 74 20 75 6e 6f 0a 69 6d 70 6f 72  import uno.impor
0070: 74 20 72 65 0a 69 6d 70 6f 72 74 20 74 72 61 63  t re.import trac
0080: 65 62 61 63 6b 0a 0a 69 6d 70 6f 72 74 20 63 61  eback..import ca
0090: 5f 73 74 72 69 6e 67 73 0a 69 6d 70 6f 72 74 20  _strings.import 
00a0: 68 65 6c 70 65 72 73 0a 0a 66 72 6f 6d 20 63 6f  helpers..from co
00b0: 6d 2e 73 75 6e 2e 73 74 61 72 2e 61 77 74 20 69  m.sun.star.awt i
00c0: 6d 70 6f 72 74 20 58 41 63 74 69 6f 6e 4c 69 73  mport XActionLis
00d0: 74 65 6e 65 72 0a 66 72 6f 6d 20 63 6f 6d 2e 73  tener.from com.s
00e0: 75 6e 2e 73 74 61 72 2e 62 65 61 6e 73 20 69 6d  un.star.beans im
00f0: 70 6f 72 74 20 50 72 6f 70 65 72 74 79 56 61 6c  port PropertyVal
0100: 75 65 0a 0a 0a 63 6c 61 73 73 20 41 75 74 68 6f  ue...class Autho
0110: 72 20 28 75 6e 6f 68 65 6c 70 65 72 2e 42 61 73  r (unohelper.Bas
0120: 65 2c 20 58 41 63 74 69 6f 6e 4c 69 73 74 65 6e  e, XActionListen
0130: 65 72 29 3a 0a 20 20 20 20 64 65 66 20 5f 5f 69  er):.    def __i
0140: 6e 69 74 5f 5f 20 28 73 65 6c 66 2c 20 63 74 78  nit__ (self, ctx
0150: 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e  ):.        self.
0160: 63 74 78 20 3d 20 63 74 78 0a 20 20 20 20 20 20  ctx = ctx.      
0170: 20 20 73 65 6c 66 2e 78 53 76 4d 67 72 20 3d 20    self.xSvMgr = 
0180: 73 65 6c 66 2e 63 74 78 2e 53 65 72 76 69 63 65  self.ctx.Service
0190: 4d 61 6e 61 67 65 72 0a 20 20 20 20 20 20 20 20  Manager.        
01a0: 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65 72 20  self.xContainer 
01b0: 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 0a  = None.        .
01c0: 20 20 20 20 64 65 66 20 5f 61 64 64 57 69 64 67      def _addWidg
01d0: 65 74 20 28 73 65 6c 66 2c 20 6e 61 6d 65 2c 20  et (self, name, 
01e0: 77 74 79 70 65 2c 20 78 2c 20 79 2c 20 77 2c 20  wtype, x, y, w, 
01f0: 68 2c 20 2a 2a 6b 77 61 72 67 73 29 3a 0a 20 20  h, **kwargs):.  
0200: 20 20 20 20 20 20 78 57 69 64 67 65 74 20 3d 20        xWidget = 
0210: 73 65 6c 66 2e 78 44 69 61 6c 6f 67 2e 63 72 65  self.xDialog.cre
0220: 61 74 65 49 6e 73 74 61 6e 63 65 28 27 63 6f 6d  ateInstance('com
0230: 2e 73 75 6e 2e 73 74 61 72 2e 61 77 74 2e 55 6e  .sun.star.awt.Un
0240: 6f 43 6f 6e 74 72 6f 6c 25 73 4d 6f 64 65 6c 27  oControl%sModel'
0250: 20 25 20 77 74 79 70 65 29 0a 20 20 20 20 20 20   % wtype).      
0260: 20 20 78 57 69 64 67 65 74 2e 4e 61 6d 65 20 3d    xWidget.Name =
0270: 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 78 57   name.        xW
0280: 69 64 67 65 74 2e 50 6f 73 69 74 69 6f 6e 58 20  idget.PositionX 
0290: 3d 20 78 0a 20 20 20 20 20 20 20 20 78 57 69 64  = x.        xWid
02a0: 67 65 74 2e 50 6f 73 69 74 69 6f 6e 59 20 3d 20  get.PositionY = 
02b0: 79 0a 20 20 20 20 20 20 20 20 78 57 69 64 67 65  y.        xWidge
02c0: 74 2e 57 69 64 74 68 20 3d 20 77 0a 20 20 20 20  t.Width = w.    
02d0: 20 20 20 20 78 57 69 64 67 65 74 2e 48 65 69 67      xWidget.Heig
02e0: 68 74 20 3d 20 68 0a 20 20 20 20 20 20 20 20 66  ht = h.        f
02f0: 6f 72 20 6b 2c 20 77 20 69 6e 20 6b 77 61 72 67  or k, w in kwarg
0300: 73 2e 69 74 65 6d 73 28 29 3a 0a 20 20 20 20 20  s.items():.     
0310: 20 20 20 20 20 20 20 73 65 74 61 74 74 72 28 78         setattr(x
0320: 57 69 64 67 65 74 2c 20 6b 2c 20 77 29 0a 20 20  Widget, k, w).  
0330: 20 20 20 20 20 20 73 65 6c 66 2e 78 44 69 61 6c        self.xDial
0340: 6f 67 2e 69 6e 73 65 72 74 42 79 4e 61 6d 65 28  og.insertByName(
0350: 6e 61 6d 65 2c 20 78 57 69 64 67 65 74 29 0a 20  name, xWidget). 
0360: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 78 57         return xW
0370: 69 64 67 65 74 0a 0a 20 20 20 20 64 65 66 20 72  idget..    def r
0380: 75 6e 20 28 73 65 6c 66 2c 20 73 4c 61 6e 67 29  un (self, sLang)
0390: 3a 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20  :.        try:. 
03a0: 20 20 20 20 20 20 20 20 20 20 20 64 55 49 20 3d             dUI =
03b0: 20 63 61 5f 73 74 72 69 6e 67 73 2e 67 65 74 55   ca_strings.getU
03c0: 49 28 73 4c 61 6e 67 29 0a 0a 20 20 20 20 20 20  I(sLang)..      
03d0: 20 20 20 20 20 20 23 20 64 69 61 6c 6f 67 0a 20        # dialog. 
03e0: 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e             self.
03f0: 78 44 69 61 6c 6f 67 20 3d 20 73 65 6c 66 2e 78  xDialog = self.x
0400: 53 76 4d 67 72 2e 63 72 65 61 74 65 49 6e 73 74  SvMgr.createInst
0410: 61 6e 63 65 57 69 74 68 43 6f 6e 74 65 78 74 28  anceWithContext(
0420: 27 63 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e 61 77  'com.sun.star.aw
0430: 74 2e 55 6e 6f 43 6f 6e 74 72 6f 6c 44 69 61 6c  t.UnoControlDial
0440: 6f 67 4d 6f 64 65 6c 27 2c 20 73 65 6c 66 2e 63  ogModel', self.c
0450: 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  tx).            
0460: 73 65 6c 66 2e 78 44 69 61 6c 6f 67 2e 57 69 64  self.xDialog.Wid
0470: 74 68 20 3d 20 31 36 30 0a 20 20 20 20 20 20 20  th = 160.       
0480: 20 20 20 20 20 73 65 6c 66 2e 78 44 69 61 6c 6f       self.xDialo
0490: 67 2e 48 65 69 67 68 74 20 3d 20 38 35 0a 20 20  g.Height = 85.  
04a0: 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78            self.x
04b0: 44 69 61 6c 6f 67 2e 54 69 74 6c 65 20 3d 20 64  Dialog.Title = d
04c0: 55 49 2e 67 65 74 28 27 74 69 74 6c 65 27 2c 20  UI.get('title', 
04d0: 22 23 65 72 72 22 29 0a 20 20 20 20 20 20 20 20  "#err").        
04e0: 20 20 20 20 78 57 69 6e 64 6f 77 53 69 7a 65 20      xWindowSize 
04f0: 3d 20 68 65 6c 70 65 72 73 2e 67 65 74 57 69 6e  = helpers.getWin
0500: 64 6f 77 53 69 7a 65 28 29 0a 20 20 20 20 20 20  dowSize().      
0510: 20 20 20 20 20 20 73 65 6c 66 2e 78 44 69 61 6c        self.xDial
0520: 6f 67 2e 50 6f 73 69 74 69 6f 6e 58 20 3d 20 69  og.PositionX = i
0530: 6e 74 28 28 78 57 69 6e 64 6f 77 53 69 7a 65 2e  nt((xWindowSize.
0540: 57 69 64 74 68 20 2f 20 32 29 20 2d 20 28 73 65  Width / 2) - (se
0550: 6c 66 2e 78 44 69 61 6c 6f 67 2e 57 69 64 74 68  lf.xDialog.Width
0560: 20 2f 20 32 29 29 0a 20 20 20 20 20 20 20 20 20   / 2)).         
0570: 20 20 20 73 65 6c 66 2e 78 44 69 61 6c 6f 67 2e     self.xDialog.
0580: 50 6f 73 69 74 69 6f 6e 59 20 3d 20 69 6e 74 28  PositionY = int(
0590: 28 78 57 69 6e 64 6f 77 53 69 7a 65 2e 48 65 69  (xWindowSize.Hei
05a0: 67 68 74 20 2f 20 32 29 20 2d 20 28 73 65 6c 66  ght / 2) - (self
05b0: 2e 78 44 69 61 6c 6f 67 2e 48 65 69 67 68 74 20  .xDialog.Height 
05c0: 2f 20 32 29 29 0a 0a 20 20 20 20 20 20 20 20 20  / 2))..         
05d0: 20 20 20 23 20 66 6f 6e 74 73 0a 20 20 20 20 20     # fonts.     
05e0: 20 20 20 20 20 20 20 78 46 44 42 75 74 20 3d 20         xFDBut = 
05f0: 75 6e 6f 2e 63 72 65 61 74 65 55 6e 6f 53 74 72  uno.createUnoStr
0600: 75 63 74 28 22 63 6f 6d 2e 73 75 6e 2e 73 74 61  uct("com.sun.sta
0610: 72 2e 61 77 74 2e 46 6f 6e 74 44 65 73 63 72 69  r.awt.FontDescri
0620: 70 74 6f 72 22 29 0a 20 20 20 20 20 20 20 20 20  ptor").         
0630: 20 20 20 78 46 44 42 75 74 2e 48 65 69 67 68 74     xFDBut.Height
0640: 20 3d 20 31 30 0a 20 20 20 20 20 20 20 20 20 20   = 10.          
0650: 20 20 78 46 44 42 75 74 2e 57 65 69 67 68 74 20    xFDBut.Weight 
0660: 3d 20 75 6e 6f 2e 67 65 74 43 6f 6e 73 74 61 6e  = uno.getConstan
0670: 74 42 79 4e 61 6d 65 28 22 63 6f 6d 2e 73 75 6e  tByName("com.sun
0680: 2e 73 74 61 72 2e 61 77 74 2e 46 6f 6e 74 57 65  .star.awt.FontWe
0690: 69 67 68 74 2e 42 4f 4c 44 22 29 0a 20 20 20 20  ight.BOLD").    
06a0: 20 20 20 20 20 20 20 20 78 46 44 42 75 74 2e 4e          xFDBut.N
06b0: 61 6d 65 20 3d 20 22 56 65 72 64 61 6e 61 22 0a  ame = "Verdana".
06c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 64  .            # d
06d0: 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20  ocument.        
06e0: 20 20 20 20 78 44 65 73 6b 74 6f 70 20 3d 20 73      xDesktop = s
06f0: 65 6c 66 2e 63 74 78 2e 53 65 72 76 69 63 65 4d  elf.ctx.ServiceM
0700: 61 6e 61 67 65 72 2e 63 72 65 61 74 65 49 6e 73  anager.createIns
0710: 74 61 6e 63 65 57 69 74 68 43 6f 6e 74 65 78 74  tanceWithContext
0720: 28 22 63 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e 66  ("com.sun.star.f
0730: 72 61 6d 65 2e 44 65 73 6b 74 6f 70 22 2c 20 73  rame.Desktop", s
0740: 65 6c 66 2e 63 74 78 29 0a 20 20 20 20 20 20 20  elf.ctx).       
0750: 20 20 20 20 20 73 65 6c 66 2e 78 44 6f 63 20 3d       self.xDoc =
0760: 20 78 44 65 73 6b 74 6f 70 2e 67 65 74 43 75 72   xDesktop.getCur
0770: 72 65 6e 74 43 6f 6d 70 6f 6e 65 6e 74 28 29 0a  rentComponent().
0780: 20 20 20 20 20 20 20 20 20 20 20 20 73 41 75 74              sAut
0790: 68 6f 72 20 3d 20 73 65 6c 66 2e 78 44 6f 63 2e  hor = self.xDoc.
07a0: 44 6f 63 75 6d 65 6e 74 50 72 6f 70 65 72 74 69  DocumentProperti
07b0: 65 73 2e 41 75 74 68 6f 72 20 20 69 66 20 73 65  es.Author  if se
07c0: 6c 66 2e 78 44 6f 63 2e 44 6f 63 75 6d 65 6e 74  lf.xDoc.Document
07d0: 50 72 6f 70 65 72 74 69 65 73 2e 41 75 74 68 6f  Properties.Autho
07e0: 72 20 20 65 6c 73 65 20 20 64 55 49 2e 67 65 74  r  else  dUI.get
07f0: 28 27 65 6d 70 74 79 27 2c 20 22 23 65 72 72 22  ('empty', "#err"
0800: 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23  )..            #
0810: 20 77 69 64 67 65 74 73 0a 20 20 20 20 20 20 20   widgets.       
0820: 20 20 20 20 20 6e 54 65 78 74 57 69 64 74 68 20       nTextWidth 
0830: 3d 20 73 65 6c 66 2e 78 44 69 61 6c 6f 67 2e 57  = self.xDialog.W
0840: 69 64 74 68 20 2d 20 32 30 0a 20 20 20 20 20 20  idth - 20.      
0850: 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 73 65        state = se
0860: 6c 66 2e 5f 61 64 64 57 69 64 67 65 74 28 27 73  lf._addWidget('s
0870: 74 61 74 65 27 2c 20 27 46 69 78 65 64 54 65 78  tate', 'FixedTex
0880: 74 27 2c 20 31 30 2c 20 31 30 2c 20 6e 54 65 78  t', 10, 10, nTex
0890: 74 57 69 64 74 68 2c 20 31 30 2c 20 4c 61 62 65  tWidth, 10, Labe
08a0: 6c 20 3d 20 64 55 49 2e 67 65 74 28 27 73 74 61  l = dUI.get('sta
08b0: 74 65 27 2c 20 22 23 65 72 72 22 29 29 0a 20 20  te', "#err")).  
08c0: 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20            value 
08d0: 3d 20 73 65 6c 66 2e 5f 61 64 64 57 69 64 67 65  = self._addWidge
08e0: 74 28 27 76 61 6c 75 65 27 2c 20 27 46 69 78 65  t('value', 'Fixe
08f0: 64 54 65 78 74 27 2c 20 31 30 2c 20 32 30 2c 20  dText', 10, 20, 
0900: 6e 54 65 78 74 57 69 64 74 68 2c 20 31 30 2c 20  nTextWidth, 10, 
0910: 4c 61 62 65 6c 20 3d 20 73 41 75 74 68 6f 72 2c  Label = sAuthor,
0920: 20 46 6f 6e 74 53 6c 61 6e 74 20 3d 20 32 2c 20   FontSlant = 2, 
0930: 54 65 78 74 43 6f 6c 6f 72 20 3d 20 30 78 30 30  TextColor = 0x00
0940: 30 30 34 34 29 0a 20 20 20 20 20 20 20 20 20 20  0044).          
0950: 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 69    .            i
0960: 6e 70 75 74 6c 62 6c 20 3d 20 73 65 6c 66 2e 5f  nputlbl = self._
0970: 61 64 64 57 69 64 67 65 74 28 27 69 6e 70 75 74  addWidget('input
0980: 6c 62 6c 27 2c 20 27 46 69 78 65 64 54 65 78 74  lbl', 'FixedText
0990: 27 2c 20 31 30 2c 20 33 34 2c 20 6e 54 65 78 74  ', 10, 34, nText
09a0: 57 69 64 74 68 2c 20 31 30 2c 20 4c 61 62 65 6c  Width, 10, Label
09b0: 20 3d 20 64 55 49 2e 67 65 74 28 27 6e 65 77 76   = dUI.get('newv
09c0: 61 6c 75 65 27 2c 20 22 23 65 72 72 22 29 29 0a  alue', "#err")).
09d0: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66              self
09e0: 2e 69 6e 70 75 74 74 78 74 20 3d 20 73 65 6c 66  .inputtxt = self
09f0: 2e 5f 61 64 64 57 69 64 67 65 74 28 27 69 6e 70  ._addWidget('inp
0a00: 75 74 27 2c 20 27 45 64 69 74 27 2c 20 31 30 2c  ut', 'Edit', 10,
0a10: 20 34 35 2c 20 6e 54 65 78 74 57 69 64 74 68 2d   45, nTextWidth-
0a20: 32 30 2c 20 31 32 2c 20 54 65 78 74 3d 73 65 6c  20, 12, Text=sel
0a30: 66 2e 78 44 6f 63 2e 44 6f 63 75 6d 65 6e 74 50  f.xDoc.DocumentP
0a40: 72 6f 70 65 72 74 69 65 73 2e 41 75 74 68 6f 72  roperties.Author
0a50: 2c 20 4d 61 78 54 65 78 74 4c 65 6e 3d 31 35 30  , MaxTextLen=150
0a60: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 75  ).            bu
0a70: 74 30 20 3d 20 73 65 6c 66 2e 5f 61 64 64 57 69  t0 = self._addWi
0a80: 64 67 65 74 28 27 72 65 73 65 74 27 2c 20 27 42  dget('reset', 'B
0a90: 75 74 74 6f 6e 27 2c 20 73 65 6c 66 2e 78 44 69  utton', self.xDi
0aa0: 61 6c 6f 67 2e 57 69 64 74 68 2d 32 35 2c 20 34  alog.Width-25, 4
0ab0: 35 2c 20 31 35 2c 20 31 32 2c 20 4c 61 62 65 6c  5, 15, 12, Label
0ac0: 20 3d 20 75 22 c3 97 22 2c 20 46 6f 6e 74 44 65   = u"..", FontDe
0ad0: 73 63 72 69 70 74 6f 72 20 3d 20 78 46 44 42 75  scriptor = xFDBu
0ae0: 74 2c 20 54 65 78 74 43 6f 6c 6f 72 20 3d 20 30  t, TextColor = 0
0af0: 78 34 34 30 30 30 30 29 0a 0a 20 20 20 20 20 20  x440000)..      
0b00: 20 20 20 20 20 20 62 75 74 31 20 3d 20 73 65 6c        but1 = sel
0b10: 66 2e 5f 61 64 64 57 69 64 67 65 74 28 27 6d 6f  f._addWidget('mo
0b20: 64 69 66 79 27 2c 20 27 42 75 74 74 6f 6e 27 2c  dify', 'Button',
0b30: 20 73 65 6c 66 2e 78 44 69 61 6c 6f 67 2e 57 69   self.xDialog.Wi
0b40: 64 74 68 2d 31 31 35 2c 20 73 65 6c 66 2e 78 44  dth-115, self.xD
0b50: 69 61 6c 6f 67 2e 48 65 69 67 68 74 2d 32 30 2c  ialog.Height-20,
0b60: 20 35 30 2c 20 31 34 2c 20 5c 0a 20 20 20 20 20   50, 14, \.     
0b70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0b80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 61                La
0b90: 62 65 6c 20 3d 20 64 55 49 2e 67 65 74 28 27 6d  bel = dUI.get('m
0ba0: 6f 64 69 66 79 27 2c 20 22 23 65 72 72 22 29 2c  odify', "#err"),
0bb0: 20 46 6f 6e 74 44 65 73 63 72 69 70 74 6f 72 20   FontDescriptor 
0bc0: 3d 20 78 46 44 42 75 74 2c 20 54 65 78 74 43 6f  = xFDBut, TextCo
0bd0: 6c 6f 72 20 3d 20 30 78 30 30 34 34 30 30 29 0a  lor = 0x004400).
0be0: 20 20 20 20 20 20 20 20 20 20 20 20 62 75 74 32              but2
0bf0: 20 3d 20 73 65 6c 66 2e 5f 61 64 64 57 69 64 67   = self._addWidg
0c00: 65 74 28 27 63 61 6e 63 65 6c 27 2c 20 27 42 75  et('cancel', 'Bu
0c10: 74 74 6f 6e 27 2c 20 73 65 6c 66 2e 78 44 69 61  tton', self.xDia
0c20: 6c 6f 67 2e 57 69 64 74 68 2d 36 30 2c 20 73 65  log.Width-60, se
0c30: 6c 66 2e 78 44 69 61 6c 6f 67 2e 48 65 69 67 68  lf.xDialog.Heigh
0c40: 74 2d 32 30 2c 20 35 30 2c 20 31 34 2c 20 5c 0a  t-20, 50, 14, \.
0c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c70: 20 20 20 4c 61 62 65 6c 20 3d 20 64 55 49 2e 67     Label = dUI.g
0c80: 65 74 28 27 63 61 6e 63 65 6c 27 2c 20 22 23 65  et('cancel', "#e
0c90: 72 72 22 29 2c 20 46 6f 6e 74 44 65 73 63 72 69  rr"), FontDescri
0ca0: 70 74 6f 72 20 3d 20 78 46 44 42 75 74 2c 20 54  ptor = xFDBut, T
0cb0: 65 78 74 43 6f 6c 6f 72 20 3d 20 30 78 34 34 30  extColor = 0x440
0cc0: 30 30 30 29 0a 0a 20 20 20 20 20 20 20 20 20 20  000)..          
0cd0: 20 20 23 20 63 6f 6e 74 61 69 6e 65 72 0a 20 20    # container.  
0ce0: 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78            self.x
0cf0: 43 6f 6e 74 61 69 6e 65 72 20 3d 20 73 65 6c 66  Container = self
0d00: 2e 78 53 76 4d 67 72 2e 63 72 65 61 74 65 49 6e  .xSvMgr.createIn
0d10: 73 74 61 6e 63 65 57 69 74 68 43 6f 6e 74 65 78  stanceWithContex
0d20: 74 28 27 63 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e  t('com.sun.star.
0d30: 61 77 74 2e 55 6e 6f 43 6f 6e 74 72 6f 6c 44 69  awt.UnoControlDi
0d40: 61 6c 6f 67 27 2c 20 73 65 6c 66 2e 63 74 78 29  alog', self.ctx)
0d50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c  .            sel
0d60: 66 2e 78 43 6f 6e 74 61 69 6e 65 72 2e 73 65 74  f.xContainer.set
0d70: 4d 6f 64 65 6c 28 73 65 6c 66 2e 78 44 69 61 6c  Model(self.xDial
0d80: 6f 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  og).            
0d90: 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65 72 2e  self.xContainer.
0da0: 67 65 74 43 6f 6e 74 72 6f 6c 28 27 72 65 73 65  getControl('rese
0db0: 74 27 29 2e 61 64 64 41 63 74 69 6f 6e 4c 69 73  t').addActionLis
0dc0: 74 65 6e 65 72 28 73 65 6c 66 29 0a 20 20 20 20  tener(self).    
0dd0: 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 43 6f          self.xCo
0de0: 6e 74 61 69 6e 65 72 2e 67 65 74 43 6f 6e 74 72  ntainer.getContr
0df0: 6f 6c 28 27 72 65 73 65 74 27 29 2e 73 65 74 41  ol('reset').setA
0e00: 63 74 69 6f 6e 43 6f 6d 6d 61 6e 64 28 27 52 65  ctionCommand('Re
0e10: 73 65 74 27 29 0a 20 20 20 20 20 20 20 20 20 20  set').          
0e20: 20 20 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65    self.xContaine
0e30: 72 2e 67 65 74 43 6f 6e 74 72 6f 6c 28 27 6d 6f  r.getControl('mo
0e40: 64 69 66 79 27 29 2e 61 64 64 41 63 74 69 6f 6e  dify').addAction
0e50: 4c 69 73 74 65 6e 65 72 28 73 65 6c 66 29 0a 20  Listener(self). 
0e60: 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e             self.
0e70: 78 43 6f 6e 74 61 69 6e 65 72 2e 67 65 74 43 6f  xContainer.getCo
0e80: 6e 74 72 6f 6c 28 27 6d 6f 64 69 66 79 27 29 2e  ntrol('modify').
0e90: 73 65 74 41 63 74 69 6f 6e 43 6f 6d 6d 61 6e 64  setActionCommand
0ea0: 28 27 4d 6f 64 69 66 79 27 29 0a 20 20 20 20 20  ('Modify').     
0eb0: 20 20 20 20 20 20 20 73 65 6c 66 2e 78 43 6f 6e         self.xCon
0ec0: 74 61 69 6e 65 72 2e 67 65 74 43 6f 6e 74 72 6f  tainer.getContro
0ed0: 6c 28 27 63 61 6e 63 65 6c 27 29 2e 61 64 64 41  l('cancel').addA
0ee0: 63 74 69 6f 6e 4c 69 73 74 65 6e 65 72 28 73 65  ctionListener(se
0ef0: 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  lf).            
0f00: 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65 72 2e  self.xContainer.
0f10: 67 65 74 43 6f 6e 74 72 6f 6c 28 27 63 61 6e 63  getControl('canc
0f20: 65 6c 27 29 2e 73 65 74 41 63 74 69 6f 6e 43 6f  el').setActionCo
0f30: 6d 6d 61 6e 64 28 27 43 61 6e 63 65 6c 27 29 0a  mmand('Cancel').
0f40: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66              self
0f50: 2e 78 43 6f 6e 74 61 69 6e 65 72 2e 73 65 74 56  .xContainer.setV
0f60: 69 73 69 62 6c 65 28 46 61 6c 73 65 29 0a 20 20  isible(False).  
0f70: 20 20 20 20 20 20 20 20 20 20 78 54 6f 6f 6c 6b            xToolk
0f80: 69 74 20 3d 20 73 65 6c 66 2e 78 53 76 4d 67 72  it = self.xSvMgr
0f90: 2e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 57  .createInstanceW
0fa0: 69 74 68 43 6f 6e 74 65 78 74 28 27 63 6f 6d 2e  ithContext('com.
0fb0: 73 75 6e 2e 73 74 61 72 2e 61 77 74 2e 45 78 74  sun.star.awt.Ext
0fc0: 54 6f 6f 6c 6b 69 74 27 2c 20 73 65 6c 66 2e 63  Toolkit', self.c
0fd0: 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  tx).            
0fe0: 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65 72 2e  self.xContainer.
0ff0: 63 72 65 61 74 65 50 65 65 72 28 78 54 6f 6f 6c  createPeer(xTool
1000: 6b 69 74 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20  kit, None).     
1010: 20 20 20 20 20 20 20 73 65 6c 66 2e 78 43 6f 6e         self.xCon
1020: 74 61 69 6e 65 72 2e 65 78 65 63 75 74 65 28 29  tainer.execute()
1030: 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a  .        except:
1040: 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 61  .            tra
1050: 63 65 62 61 63 6b 2e 70 72 69 6e 74 5f 65 78 63  ceback.print_exc
1060: 28 29 0a 20 20 20 20 0a 20 20 20 20 23 20 58 41  ().    .    # XA
1070: 63 74 69 6f 6e 4c 69 73 74 65 6e 65 72 0a 20 20  ctionListener.  
1080: 20 20 64 65 66 20 61 63 74 69 6f 6e 50 65 72 66    def actionPerf
1090: 6f 72 6d 65 64 20 28 73 65 6c 66 2c 20 78 41 63  ormed (self, xAc
10a0: 74 69 6f 6e 45 76 65 6e 74 29 3a 0a 20 20 20 20  tionEvent):.    
10b0: 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20      try:.       
10c0: 20 20 20 20 20 69 66 20 78 41 63 74 69 6f 6e 45       if xActionE
10d0: 76 65 6e 74 2e 41 63 74 69 6f 6e 43 6f 6d 6d 61  vent.ActionComma
10e0: 6e 64 20 3d 3d 20 27 52 65 73 65 74 27 3a 0a 20  nd == 'Reset':. 
10f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73                 s
1100: 65 6c 66 2e 69 6e 70 75 74 74 78 74 2e 54 65 78  elf.inputtxt.Tex
1110: 74 20 3d 20 22 22 0a 20 20 20 20 20 20 20 20 20  t = "".         
1120: 20 20 20 65 6c 69 66 20 78 41 63 74 69 6f 6e 45     elif xActionE
1130: 76 65 6e 74 2e 41 63 74 69 6f 6e 43 6f 6d 6d 61  vent.ActionComma
1140: 6e 64 20 3d 3d 20 27 4d 6f 64 69 66 79 27 3a 0a  nd == 'Modify':.
1150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1160: 73 65 6c 66 2e 78 44 6f 63 2e 44 6f 63 75 6d 65  self.xDoc.Docume
1170: 6e 74 50 72 6f 70 65 72 74 69 65 73 2e 41 75 74  ntProperties.Aut
1180: 68 6f 72 20 3d 20 73 65 6c 66 2e 69 6e 70 75 74  hor = self.input
1190: 74 78 74 2e 54 65 78 74 2e 73 74 72 69 70 28 29  txt.Text.strip()
11a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11b0: 20 73 65 6c 66 2e 78 43 6f 6e 74 61 69 6e 65 72   self.xContainer
11c0: 2e 65 6e 64 45 78 65 63 75 74 65 28 29 0a 20 20  .endExecute().  
11d0: 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 78            elif x
11e0: 41 63 74 69 6f 6e 45 76 65 6e 74 2e 41 63 74 69  ActionEvent.Acti
11f0: 6f 6e 43 6f 6d 6d 61 6e 64 20 3d 3d 20 27 43 61  onCommand == 'Ca
1200: 6e 63 65 6c 27 3a 0a 20 20 20 20 20 20 20 20 20  ncel':.         
1210: 20 20 20 20 20 20 20 73 65 6c 66 2e 78 43 6f 6e         self.xCon
1220: 74 61 69 6e 65 72 2e 65 6e 64 45 78 65 63 75 74  tainer.endExecut
1230: 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  e().            
1240: 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20  else:.          
1250: 20 20 20 20 20 20 70 72 69 6e 74 28 22 57 72 6f        print("Wro
1260: 6e 67 20 63 6f 6d 6d 61 6e 64 3a 20 22 20 2b 20  ng command: " + 
1270: 78 41 63 74 69 6f 6e 45 76 65 6e 74 2e 41 63 74  xActionEvent.Act
1280: 69 6f 6e 43 6f 6d 6d 61 6e 64 29 0a 20 20 20 20  ionCommand).    
1290: 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20      except:.    
12a0: 20 20 20 20 20 20 20 20 74 72 61 63 65 62 61 63          tracebac
12b0: 6b 2e 70 72 69 6e 74 5f 65 78 63 28 29 0a        k.print_exc().