Difference between revisions of "Zh/Documentation/DevGuide/OfficeDev/Models"
X007007007 (Talk | contribs) |
X007007007 (Talk | contribs) m (→XModel) |
||
Line 15: | Line 15: | ||
<!--<idltopic>com.sun.star.frame.XModel</idltopic>--> | <!--<idltopic>com.sun.star.frame.XModel</idltopic>--> | ||
− | + | 接口<idl>com.sun.star.frame.XModel</idl>继承自<idl>com.sun.star.lang.XComponent</idl> ,介绍一下方法,处理模型的资源描述,管理控制器和检索当前选择. | |
<source lang="idl"> | <source lang="idl"> | ||
string getURL () | string getURL () | ||
Line 32: | Line 32: | ||
com::sun::star::uno::XInterface getCurrentSelection () | com::sun::star::uno::XInterface getCurrentSelection () | ||
</source> | </source> | ||
− | + | <code>getURL()</code>方法返回文档文档被加载的地址URL | |
+ | <code>storeAsURL()</code>返回文档被储存的地址.如果文档仅仅被创建,尚未被储存,则放回字符串为空. | ||
+ | <code>getArgs()</code>方法返回一个属性值的序列 关于返回值的详细信息可以在这里找到<idl>com.sun.star.document.MediaDescriptor</idl>. | ||
+ | <code>toreAsURL</code>方法用于指定加载/保存地址. | ||
+ | <code>attachResource()</code> 被用作框架加载实现,告知模块关于加载内容的URL和<code>MediaDescriptor</code>信息. | ||
− | + | 模块近期动作可以通过<code>getCurrentController()</code>恢复 | |
+ | The current or last active controller for a model is retrieved through <code>getCurrentController()</code>. | ||
− | The currently selected object is retrieved by a call to <code>getCurrentSelection()</code>. This method is an alternative to <code>getSelection()</code> at the <idl>com.sun.star.view.XSelectionSupplier</idl> interface supported by controller services. | + | 相应的<code>setCurrentController()</code>方法为模块设置当下不同的可用控制器 |
+ | 然而,新增的控制器并不能在此时创建可被{{PRODUCTNAME}}使用的组建API | ||
+ | However, additional controllers can not be created at this time for {{PRODUCTNAME}} components using the component API. | ||
+ | <code>connectController()</code>方法被用作框架加载实现,它创建一个模型的控制器,但并未使之成为当前的控制器. | ||
+ | The method <code>connectController()</code> is used by frame loader implementations and provides the model with a new controller that has been created for it, without making it the current controller. | ||
+ | <code>disconnectController()</code>告知模型控制器不再使用 | ||
+ | The <code>disconnectController()</code> tells the model that a controller may no longer be used. | ||
+ | |||
+ | Finally, the model holds back screen updates using <code>lockControllers()</code> and <code>unlockControllers()</code>. | ||
+ | For each call to <code>lockControllers()</code>, there must be a call to <code>unlockControllers()</code> to remove the lock. | ||
+ | The method <code>hasControllersLocked()</code> tells if the controllers are locked. | ||
+ | |||
+ | The currently selected object is retrieved by a call to <code>getCurrentSelection()</code>. | ||
+ | This method is an alternative to <code>getSelection()</code> at the <idl>com.sun.star.view.XSelectionSupplier</idl> interface supported by controller services. | ||
=== XModifiable === | === XModifiable === |
Revision as of 15:33, 18 February 2012
这是一个独立的说明, 在:com.sun.star.frame.XModel 有所有被Writer,Calc,Draw 和Impress支持的接口说明. 本文中, 我们称在:com.sun.star.frame.XModel被支持的模块为 对象模块. 在:com.sun.star.document.OfficeDocument 是所有 OpenOffice.org 文档都共有的服务. 一个 OfficeDocument
有如下接口:
XModel
接口com.sun.star.frame.XModel继承自com.sun.star.lang.XComponent ,介绍一下方法,处理模型的资源描述,管理控制器和检索当前选择.
string getURL () sequence < com::sun::star::beans::PropertyValue > getArgs () boolean attachResource ( [in] string aURL, [in] sequence < com::sun::star::beans::PropertyValue > aArgs ) com::sun::star::frame::XController getCurrentController () void setCurrentController (com::sun::star::frame::XController xController) void connectController (com::sun::star::frame::XController xController) void disconnectController (com::sun::star::frame::XController xController) void lockControllers () void unlockControllers () boolean hasControllersLocked () com::sun::star::uno::XInterface getCurrentSelection ()
getURL()
方法返回文档文档被加载的地址URL
storeAsURL()
返回文档被储存的地址.如果文档仅仅被创建,尚未被储存,则放回字符串为空.
getArgs()
方法返回一个属性值的序列 关于返回值的详细信息可以在这里找到com.sun.star.document.MediaDescriptor.
toreAsURL
方法用于指定加载/保存地址.
attachResource()
被用作框架加载实现,告知模块关于加载内容的URL和MediaDescriptor
信息.
模块近期动作可以通过getCurrentController()
恢复
The current or last active controller for a model is retrieved through getCurrentController()
.
相应的setCurrentController()
方法为模块设置当下不同的可用控制器
然而,新增的控制器并不能在此时创建可被OpenOffice.org使用的组建API
However, additional controllers can not be created at this time for OpenOffice.org components using the component API.
connectController()
方法被用作框架加载实现,它创建一个模型的控制器,但并未使之成为当前的控制器.
The method connectController()
is used by frame loader implementations and provides the model with a new controller that has been created for it, without making it the current controller.
disconnectController()
告知模型控制器不再使用
The disconnectController()
tells the model that a controller may no longer be used.
Finally, the model holds back screen updates usinglockControllers()
andunlockControllers()
.
For each call to lockControllers()
, there must be a call to unlockControllers()
to remove the lock.
The method hasControllersLocked()
tells if the controllers are locked.
The currently selected object is retrieved by a call to getCurrentSelection()
.
This method is an alternative to getSelection()
at the com.sun.star.view.XSelectionSupplier interface supported by controller services.
XModifiable
The interface com.sun.star.util.XModifiable traces the modified status of a document:
void addModifyListener ( [in] com::sun::star::util::XModifyListener aListener) void removeModifyListener ( [in] com::sun::star::util::XModifyListener aListener) boolean isModified () void setModified ( [in] boolean bModified)
XStorable
The interface com.sun.star.frame.XStorable stores a document under an arbitrary URL or its current location. Details about how to use this interface are discussed in the chapter Handling Documents.
XPrintable
The interface com.sun.star.view.XPrintable is used to set and get the printer and its settings, and dispatch print jobs. These methods and special printing features for the various document types are described in the chapters Printing Text Documents, Printing Spreadsheet Documents, Printing Drawing Documents and Printing Presentation Documents.
sequence< com::sun::star::beans::PropertyValue > getPrinter () void setPrinter ( [in] sequence< com::sun::star::beans::PropertyValue > aPrinter ) void print ( [in] sequence< com::sun::star::beans::PropertyValue > xOptions )
XEventBroadcaster
For versions later than 641, the optional interface com.sun.star.document.XEventBroadcaster at office documents enables developers to add listeners for events related to office documents in general, or for events specific for the individual document type.See Document Events).
void addEventListener ( [in] com::sun::star::document::XEventListener xListener) void removeEventListener ( [in] com::sun::star::document::XEventListener xListener)
The XEventListener
must implement a single method, besides disposing()
:
[oneway] void notifyEvent ( [in] com::sun::star::document::EventObject Event )
The struct com.sun.star.document.EventObject has a string member EventName
, that assumes one of the values specified in com.sun.star.document.Events. These events are also on the Events tab of the Tools - Configure dialog.
The general events are the same events as those provided at the XEventBroadcaster
interface of the desktop. While the model is only concerned about its own events, the desktop broadcasts the events for all the loaded documents.
XEventsSupplier
The optional interface com.sun.star.document.XEventsSupplier binds the execution of dispatch URLs to document events, thus providing a configurable event listener as a simplification for the more general event broadcaster or listener mechanism of the com.sun.star.document.XEventBroadcaster interface. This is done programmatically versus manually in Tools - Configure - Events.
XDocumentPropertiesSupplier
The optional interface com.sun.star.document.XDocumentPropertiesSupplier provides access to document information as described in section Document Info. Document information is presented in the File - Properties dialog in the GUI.
XViewDataSupplier
The optional com.sun.star.document.XViewDataSupplier interface sets and restores view data.
com::sun::star::container::XIndexAccess getViewData () void setViewData ( [in] com::sun::star::container::XIndexAccess aData)
The view data are a com.sun.star.container.XIndexAccess to sequences of com.sun.star.beans.PropertyValue structs. Each sequence represents the settings of a view to the model that supplies the view data.
Document Specific Features
Every service specification for real model objects provides more interfaces that constitute the actual model functionality For example, a text document service com.sun.star.text.TextDocument provides text related interfaces. Having received a reference to a model, developers query for these interfaces. The com.sun.star.lang.XServiceInfo interface of a model can be used to ask for supported services. The OpenOffice.org document types support the following services:
Document | Service | Chapter |
---|---|---|
Calc | com.sun.star.sheet.SpreadsheetDocument | Spreadsheet Documents |
Draw | com.sun.star.drawing.DrawingDocument | Drawing Documents and Presentation Documents |
Impress | com.sun.star.presentation.PresentationDocument | Drawing Documents and Presentation Documents |
Math | com.sun.star.formula.FormulaProperties | - |
Writer (all Writer modules) | com.sun.star.text.TextDocument | Text Documents |
Chart | com.sun.star.chart.ChartDocument | Charts |
Refer to the related chapters for additional information about the interfaces of the documents of OpenOffice.org.
Content on this page is licensed under the Public Documentation License (PDL). |