create a new page, using OOoBasic/Dialog/Wizard as a template.
Front page
Search
掲示板
Reload
Help
Browse Log
掲示板の使い方
OOo 掲示板3
OOo 掲示板2
OOo 掲示板
掲示板
雑談掲示板
New
List of pages
Recent changes
Backup
簡単ヘルプ
整形ルール
Start:
* ウィザード [#qc052e4a]
OOo 3.3 から com.sun.star.ui.dialogs.Wizard サービスが利...
ウィザードダイアログの全体のサイズは中のウィンドウのサイ...
以下の例ではダイアログエディタで作成したファイルから生成...
#code(python){{
# Python
import uno
import unohelper
from com.sun.star.ui.dialogs import XWizardController, XW...
class ComponentBase(object):
def dispose(self): pass
def addEventListener(self, ev): pass
def removeEventListener(self, ev): pass
class WizardPage(ComponentBase, unohelper.Base, XWizardPa...
def __init__(self, wizard, id, page):
self.wizard = wizard
self.id = id
self.page = page
def dispose(self):
self.wizard = None
self.page = None
# XWizardPage
def activatePage(self):
# initialize page
pass
def commitPage(self, reason):
# asked before page proceed. Next page is shown if True...
return True
def canAdvance(self):
return True
@property
def Window(self):
return self.page
@property
def PageId(self):
return self.id
class Wizard(object, unohelper.Base, XWizardController):
URI_PAGE_1 = "vnd.sun.star.script:Standard.Page1?locatio...
URI_PAGE_2 = "vnd.sun.star.script:Standard.Page2?locatio...
TITLE_PAGE_1 = "Page 1"
TITLE_PAGE_2 = "Page 2"
def __init__(self, ctx, title=None, help_url=None):
self.ctx = ctx
self.title = title
self.pages = {} # id: page
self.cwp = self.create_service("com.sun.star.awt.Contai...
wizard = self.create_service("com.sun.star.ui.dialogs.W...
uno.invoke(wizard, "initialize", ((uno.Any("[]short", (...
self.wizard = wizard
if self.title:
wizard.setTitle(title)
if help_url:
wizard.HelpURL = help_url
def create_service(self, name, args=None):
if args:
return self.ctx.getServiceManager().\
createInstanceWithArgumentsAndContext(name, args, sel...
else:
return self.ctx.getServiceManager().\
createInstanceWithContext(name, self.ctx)
def dispose(self):
self.wizard.dispose()
def execute(self):
if self.wizard.execute():
return
return None
# XWizardController
def createPage(self, parent, id):
uri = getattr(self, "URI_PAGE_%s" % id)
#title = getattr(self, "TITLE_PAGE_%s" % id)
page = self.cwp.createContainerWindow(uri, "", parent, ...
wizard_page = WizardPage(self, id, page)
self.pages[id] = wizard_page
return wizard_page
def getPageTitle(self, id):
# called before pages are created
#if id in self.pages:
# wizard_page = self.pages[id]
# return wizard_page.get_title()
return getattr(self, "TITLE_PAGE_%s" % id)
def canAdvance(self):
return True
def onActivatePage(self, id):
pass
def onDeactivatePage(self, id):
pass
def confirmFinish(self):
# asked before close by OK. If False returned, dialog c...
return True
def wizard(*args):
ctx = XSCRIPTCONTEXT.getComponentContext()
try:
wizard = Wizard(ctx)
result = wizard.execute()
print(result)
except Exception, e:
print(e)
import traceback
traceback.print_exc()
}}
End:
* ウィザード [#qc052e4a]
OOo 3.3 から com.sun.star.ui.dialogs.Wizard サービスが利...
ウィザードダイアログの全体のサイズは中のウィンドウのサイ...
以下の例ではダイアログエディタで作成したファイルから生成...
#code(python){{
# Python
import uno
import unohelper
from com.sun.star.ui.dialogs import XWizardController, XW...
class ComponentBase(object):
def dispose(self): pass
def addEventListener(self, ev): pass
def removeEventListener(self, ev): pass
class WizardPage(ComponentBase, unohelper.Base, XWizardPa...
def __init__(self, wizard, id, page):
self.wizard = wizard
self.id = id
self.page = page
def dispose(self):
self.wizard = None
self.page = None
# XWizardPage
def activatePage(self):
# initialize page
pass
def commitPage(self, reason):
# asked before page proceed. Next page is shown if True...
return True
def canAdvance(self):
return True
@property
def Window(self):
return self.page
@property
def PageId(self):
return self.id
class Wizard(object, unohelper.Base, XWizardController):
URI_PAGE_1 = "vnd.sun.star.script:Standard.Page1?locatio...
URI_PAGE_2 = "vnd.sun.star.script:Standard.Page2?locatio...
TITLE_PAGE_1 = "Page 1"
TITLE_PAGE_2 = "Page 2"
def __init__(self, ctx, title=None, help_url=None):
self.ctx = ctx
self.title = title
self.pages = {} # id: page
self.cwp = self.create_service("com.sun.star.awt.Contai...
wizard = self.create_service("com.sun.star.ui.dialogs.W...
uno.invoke(wizard, "initialize", ((uno.Any("[]short", (...
self.wizard = wizard
if self.title:
wizard.setTitle(title)
if help_url:
wizard.HelpURL = help_url
def create_service(self, name, args=None):
if args:
return self.ctx.getServiceManager().\
createInstanceWithArgumentsAndContext(name, args, sel...
else:
return self.ctx.getServiceManager().\
createInstanceWithContext(name, self.ctx)
def dispose(self):
self.wizard.dispose()
def execute(self):
if self.wizard.execute():
return
return None
# XWizardController
def createPage(self, parent, id):
uri = getattr(self, "URI_PAGE_%s" % id)
#title = getattr(self, "TITLE_PAGE_%s" % id)
page = self.cwp.createContainerWindow(uri, "", parent, ...
wizard_page = WizardPage(self, id, page)
self.pages[id] = wizard_page
return wizard_page
def getPageTitle(self, id):
# called before pages are created
#if id in self.pages:
# wizard_page = self.pages[id]
# return wizard_page.get_title()
return getattr(self, "TITLE_PAGE_%s" % id)
def canAdvance(self):
return True
def onActivatePage(self, id):
pass
def onDeactivatePage(self, id):
pass
def confirmFinish(self):
# asked before close by OK. If False returned, dialog c...
return True
def wizard(*args):
ctx = XSCRIPTCONTEXT.getComponentContext()
try:
wizard = Wizard(ctx)
result = wizard.execute()
print(result)
except Exception, e:
print(e)
import traceback
traceback.print_exc()
}}
Page: