8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import helpers
import enum_strings
import grammalecte.graphspell as sc
from com.sun.star.task import XJobExecutor
from com.sun.star.awt import XActionListener
from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK
# BUTTONS_OK, BUTTONS_OK_CANCEL, BUTTONS_YES_NO, BUTTONS_YES_NO_CANCEL, BUTTONS_RETRY_CANCEL, BUTTONS_ABORT_IGNORE_RETRY
# DEFAULT_BUTTON_OK, DEFAULT_BUTTON_CANCEL, DEFAULT_BUTTON_RETRY, DEFAULT_BUTTON_YES, DEFAULT_BUTTON_NO, DEFAULT_BUTTON_IGNORE
from com.sun.star.awt.MessageBoxType import INFOBOX, ERRORBOX # MESSAGEBOX, INFOBOX, WARNINGBOX, ERRORBOX, QUERYBOX
def MessageBox (xDocument, sMsg, sTitle, nBoxType=INFOBOX, nBoxButtons=BUTTONS_OK):
|
>
|
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import helpers
import enum_strings
import grammalecte.graphspell as sc
from com.sun.star.task import XJobExecutor
from com.sun.star.awt import XActionListener
from com.sun.star.awt import XTopWindowListener
from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK
# BUTTONS_OK, BUTTONS_OK_CANCEL, BUTTONS_YES_NO, BUTTONS_YES_NO_CANCEL, BUTTONS_RETRY_CANCEL, BUTTONS_ABORT_IGNORE_RETRY
# DEFAULT_BUTTON_OK, DEFAULT_BUTTON_CANCEL, DEFAULT_BUTTON_RETRY, DEFAULT_BUTTON_YES, DEFAULT_BUTTON_NO, DEFAULT_BUTTON_IGNORE
from com.sun.star.awt.MessageBoxType import INFOBOX, ERRORBOX # MESSAGEBOX, INFOBOX, WARNINGBOX, ERRORBOX, QUERYBOX
def MessageBox (xDocument, sMsg, sTitle, nBoxType=INFOBOX, nBoxButtons=BUTTONS_OK):
|
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
x.setPointer(xPointer)
self.xContainer.setVisible(True) # seems necessary to refresh the dialog box and text widgets (why?)
# return
return result
return wrapper
class Enumerator (unohelper.Base, XActionListener, XJobExecutor):
def __init__ (self, ctx):
self.ctx = ctx
self.xSvMgr = self.ctx.ServiceManager
self.xDesktop = self.xSvMgr.createInstanceWithContext("com.sun.star.frame.Desktop", self.ctx)
self.xDocument = self.xDesktop.getCurrentComponent()
self.xContainer = None
|
|
|
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
x.setPointer(xPointer)
self.xContainer.setVisible(True) # seems necessary to refresh the dialog box and text widgets (why?)
# return
return result
return wrapper
class Enumerator (unohelper.Base, XActionListener, XTopWindowListener, XJobExecutor):
def __init__ (self, ctx):
self.ctx = ctx
self.xSvMgr = self.ctx.ServiceManager
self.xDesktop = self.xSvMgr.createInstanceWithContext("com.sun.star.frame.Desktop", self.ctx)
self.xDocument = self.xDesktop.getCurrentComponent()
self.xContainer = None
|
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
self.xContainer.getControl('search_button').setActionCommand('Search')
self.xContainer.getControl('export_button').addActionListener(self)
self.xContainer.getControl('export_button').setActionCommand('Export')
self.xContainer.getControl('tag_button').addActionListener(self)
self.xContainer.getControl('tag_button').setActionCommand('Tag')
self.xContainer.getControl('close_button').addActionListener(self)
self.xContainer.getControl('close_button').setActionCommand('Close')
self.xContainer.setVisible(True) # True for non modal dialog
xToolkit = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.ExtToolkit', self.ctx)
self.xContainer.createPeer(xToolkit, None)
#self.xContainer.execute() # Don’t excute for non modal dialog
# XActionListener
def actionPerformed (self, xActionEvent):
|
>
|
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
self.xContainer.getControl('search_button').setActionCommand('Search')
self.xContainer.getControl('export_button').addActionListener(self)
self.xContainer.getControl('export_button').setActionCommand('Export')
self.xContainer.getControl('tag_button').addActionListener(self)
self.xContainer.getControl('tag_button').setActionCommand('Tag')
self.xContainer.getControl('close_button').addActionListener(self)
self.xContainer.getControl('close_button').setActionCommand('Close')
self.xContainer.addTopWindowListener(self) # listener with XTopWindowListener methods
self.xContainer.setVisible(True) # True for non modal dialog
xToolkit = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.ExtToolkit', self.ctx)
self.xContainer.createPeer(xToolkit, None)
#self.xContainer.execute() # Don’t excute for non modal dialog
# XActionListener
def actionPerformed (self, xActionEvent):
|
227
228
229
230
231
232
233
234
235
236
237
238
239
240
|
sAction = "nostyle"
self.tagText(aWord, sAction)
elif xActionEvent.ActionCommand == "Close":
self.xContainer.dispose() # Non modal dialog
#self.xContainer.endExecute() # Modal dialog
except:
traceback.print_exc()
# XJobExecutor
def trigger (self, args):
try:
xDialog = Enumerator(self.ctx)
xDialog.run()
except:
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
|
sAction = "nostyle"
self.tagText(aWord, sAction)
elif xActionEvent.ActionCommand == "Close":
self.xContainer.dispose() # Non modal dialog
#self.xContainer.endExecute() # Modal dialog
except:
traceback.print_exc()
# XTopWindowListener (useful for non modal dialog only)
def windowOpened (self, xEvent):
return
def windowClosing (self, xEvent):
self.xContainer.dispose() # Non modal dialog
def windowClosed (self, xEvent):
return
def windowMinimized (self, xEvent):
return
def windowNormalized (self, xEvent):
return
def windowActivated (self, xEvent):
return
def windowDeactivated (self, xEvent):
return
# XJobExecutor
def trigger (self, args):
try:
xDialog = Enumerator(self.ctx)
xDialog.run()
except:
|