<html> <head> <title>Interface XModel</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../../../../idl.css"> </head> <body> <div id="adc-idlref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="3"> <tr> <td class="navimain"><a href="../module-ix.html" class="navimain">Overview</a></td> <td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td> <td class="navimain"><a href="XModel-xref.html" class="navimain">Use</a></td> <td class="navimain"><a href="#devmanual" class="navimain">Devguide</a></td> <td class="navimain"><a href="../../../../index-files/index-1.html" class="navimain">Index</a></td> </tr> </table> <table class="navisub" border="0" cellpadding="0"> <tr> <td class="navisub"><a href="#MethodsSummary" class="navisub">Methods' Summary</a></td> <td class="navisub"><a href="#MethodsDetails" class="navisub">Methods' Details</a></td> <td class="navisub">Attributes' Summary</td> <td class="navisub">Attributes' Details</td> </tr> </table> <hr> <table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;"> <tr> <td><p class="namechain"><a href="../../../../module-ix.html" class="namechain">::</a> <a href="../../../module-ix.html" class="namechain">com</a> :: <a href="../../module-ix.html" class="namechain">sun</a> :: <a href="../module-ix.html" class="namechain">star</a> :: <a href="module-ix.html" class="namechain">frame</a> :: </p> </td> </tr> <tr> <td class="title">interface XModel</td> </tr> <tr> <td><dl> <dt><b>Base Interfaces</b></dt> <dd><pre style="font-family:monospace;"><strong>XModel</strong> ┗ ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a> </pre></dd> <dd><a name/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="crosstitle"> <tr> <td class="imsum_left">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a></td> <td class="imsum_right"><dl> <dt>(referenced interface's summary:)</dt> <dd>allows to exclicitly free resources and break cyclic references. </dd> </dl> </td> </tr> </table> </dd> </dl> </td> </tr> <tr> <td><dl> <dt><b>Description</b></dt> <dd>represents a component which is created from an URL and arguments. </dd> <dd><p> It is a representation of a resource in the sense that it was created/loaded from the resource. The arguments are passed to the loader to modify its behavior. An example for such an argument is "AsTemplate", which loads the resource as a template for a new document. (see ::com::sun::star::<a href="../document/module-ix.html">document</a>::<a href="../document/MediaDescriptor.html">MediaDescriptor</a> for further details) </p> <p> Models can be controlled by controller components, which are usually views of the model. (see <a href="Controller.html">Controller</a> for further details) </p> <p> If there is at least one controller, there is by definition a current controller. And if that controller supports the interface ::com::sun::star::<a href="../view/module-ix.html">view</a>::<a href="../view/XSelectionSupplier.html">XSelectionSupplier</a>, it has a current selection too. </p> </dd> <dt><b>See also</b></dt> <dd>::com::sun::star::<a href="../document/module-ix.html">document</a>::<a href="../document/MediaDescriptor.html">MediaDescriptor</a>, <a href="Controller.html">Controller</a>, ::com::sun::star::<a href="../view/module-ix.html">view</a>::<a href="../view/XSelectionSupplier.html">XSelectionSupplier</a></dd> </dl> <a name="devmanual"> </a><dl> <dt><b>Developers Guide</b></dt> <dd><a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Component/Models#XModel">OfficeDev - Component - Models - XModel</a></dd> <dd><a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Component/Getting_Frames%2C_Controllers_and_Models_from_Each_Other">OfficeDev - Component - Getting Frames, Controllers and Models from Each Other</a></dd> <dd><a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Text/Text_Document_Controller">Text - Text Document Controller</a></dd> <dd><a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Component/Models">OfficeDev - Component - Models</a></dd> <dd><a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Frame-Controller-Model_Paradigm_in_OpenOffice.org">OfficeDev - Frame-Controller-Model Paradigm in OpenOffice.org</a></dd> </dl> </td> </tr> </table> <hr> <a name="MethodsSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle" colspan="2">Methods' Summary</td> </tr> <tr> <td class="imsum_left"><a href="#attachResource">attachResource</a></td> <td class="imsum_right">informs a model about its resource description. </td> </tr> <tr> <td class="imsum_left"><a href="#getURL">getURL</a></td> <td class="imsum_right">provides information about the location of this model </td> </tr> <tr> <td class="imsum_left"><a href="#getArgs">getArgs</a></td> <td class="imsum_right">provides read acces on currently representation of the ::com::sun::star::<a href="../document/module-ix.html">document</a>::<a href="../document/MediaDescriptor.html">MediaDescriptor</a> of this model which describes the model and his state </td> </tr> <tr> <td class="imsum_left"><a href="#connectController">connectController</a></td> <td class="imsum_right">is called whenever a new controller is created for this model. </td> </tr> <tr> <td class="imsum_left"><a href="#disconnectController">disconnectController</a></td> <td class="imsum_right">is called whenever an existing controller should be deregistered at this model. </td> </tr> <tr> <td class="imsum_left"><a href="#lockControllers">lockControllers</a></td> <td class="imsum_right">suspends some notifications to the controllers which are used for display updates. </td> </tr> <tr> <td class="imsum_left"><a href="#unlockControllers">unlockControllers</a></td> <td class="imsum_right">resumes the notifications which were suspended by <a href="XModel.html">XModel</a>::<a href="XModel.html#lockControllers">lockControllers()</a>. </td> </tr> <tr> <td class="imsum_left"><a href="#hasControllersLocked">hasControllersLocked</a></td> <td class="imsum_right">determines if there is at least one lock remaining. </td> </tr> <tr> <td class="imsum_left"><a href="#getCurrentController">getCurrentController</a></td> <td class="imsum_right">provides access to the controller which currently controls this model </td> </tr> <tr> <td class="imsum_left"><a href="#setCurrentController">setCurrentController</a></td> <td class="imsum_right">sets a registered controller as the current controller. </td> </tr> <tr> <td class="imsum_left"><a href="#getCurrentSelection">getCurrentSelection</a></td> <td class="imsum_right">provides read access on current selection on controller </td> </tr> </table> <a name="MethodsDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle">Methods' Details</td> </tr> <tr> <td class="imdetail"><a name="attachResource" class="membertitle">attachResource</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">boolean</td> </tr> <tr> <td valign="top"><b>attachResource</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> URL,</td> </tr> <tr> <td/><td valign="top">[in] sequence< ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/PropertyValue.html">PropertyValue</a> ></td> <td valign="bottom"> Arguments );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>informs a model about its resource description. </dd> <dt><b>Parameter URL</b></dt> <dd>specifies the ressource </dd> <dt><b>Parameter Arguments</b></dt> <dd>are optional arguments for that ressource (see ::com::sun::star::<a href="../document/module-ix.html">document</a>::<a href="../document/MediaDescriptor.html">MediaDescriptor</a>) </dd> <dt><b>Returns</b></dt> <dd><b>true</b> for success <br> <b>false</b> otherwise </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="getURL" class="membertitle">getURL</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">string</td> </tr> <tr> <td valign="top"><b>getURL</b>();</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>provides information about the location of this model </dd> <dt><b>Returns</b></dt> <dd>the URL of the resource which is represented by this model. </dd> <dt><b>See also</b></dt> <dd><a href="XStorable.html">XStorable</a>::<a href="XStorable.html#getLocation">getLocation()</a></dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="getArgs" class="membertitle">getArgs</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">sequence< ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/PropertyValue.html">PropertyValue</a> ></td> </tr> <tr> <td valign="top"><b>getArgs</b>();</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>provides read acces on currently representation of the ::com::sun::star::<a href="../document/module-ix.html">document</a>::<a href="../document/MediaDescriptor.html">MediaDescriptor</a> of this model which describes the model and his state </dd> <dt><b>Returns</b></dt> <dd>the arguments with which the model was originally created or stored the last time. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="connectController" class="membertitle">connectController</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">[oneway] void</td> </tr> <tr> <td valign="top"><b>connectController</b>(</td> <td valign="top">[in] <a href="XController.html">XController</a></td> <td valign="bottom"> Controller );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>is called whenever a new controller is created for this model. </dd> <dd><p> The ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a> interface of the controller must be used to recognize when it is deleted. </p> </dd> <dt><b>Parameter Controller</b></dt> <dd>a new controller for this model </dd> <dt><b>See also</b></dt> <dd><a href="XModel.html">XModel</a>::<a href="XModel.html#disconnectController">disconnectController()</a></dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="disconnectController" class="membertitle">disconnectController</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">[oneway] void</td> </tr> <tr> <td valign="top"><b>disconnectController</b>(</td> <td valign="top">[in] <a href="XController.html">XController</a></td> <td valign="bottom"> Controller );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>is called whenever an existing controller should be deregistered at this model. </dd> <dd><p> The ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a> interface of the controller must be used to recognize when it is deleted. </p> </dd> <dt><b>Parameter Controller</b></dt> <dd>the existing controller which should be deregistered </dd> <dt><b>See also</b></dt> <dd><a href="XModel.html">XModel</a>::<a href="XModel.html#connectController">connectController()</a></dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="lockControllers" class="membertitle">lockControllers</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">[oneway] void</td> </tr> <tr> <td valign="top"><b>lockControllers</b>();</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>suspends some notifications to the controllers which are used for display updates. </dd> <dd><p> The calls to <a href="XModel.html">XModel</a>::<a href="XModel.html#lockControllers">lockControllers()</a> and <a href="XModel.html">XModel</a>::<a href="XModel.html#unlockControllers">unlockControllers()</a> may be nested and even overlapping, but they must be in pairs. While there is at least one lock remaining, some notifications for display updates are not broadcasted. </p> </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="unlockControllers" class="membertitle">unlockControllers</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">[oneway] void</td> </tr> <tr> <td valign="top"><b>unlockControllers</b>();</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>resumes the notifications which were suspended by <a href="XModel.html">XModel</a>::<a href="XModel.html#lockControllers">lockControllers()</a>. </dd> <dd><p> The calls to <a href="XModel.html">XModel</a>::<a href="XModel.html#lockControllers">lockControllers()</a> and <a href="XModel.html">XModel</a>::<a href="XModel.html#unlockControllers">unlockControllers()</a> may be nested and even overlapping, but they must be in pairs. While there is at least one lock remaining, some notifications for display updates are not broadcasted. </p> </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="hasControllersLocked" class="membertitle">hasControllersLocked</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">boolean</td> </tr> <tr> <td valign="top"><b>hasControllersLocked</b>();</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>determines if there is at least one lock remaining. </dd> <dd><p> While there is at least one lock remaining, some notifications for display updates are not broadcasted to the controllers. </p> </dd> <dt><b>Returns</b></dt> <dd><b>true</b> if any lock exist <br> <b>false</b> otherwise </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="getCurrentController" class="membertitle">getCurrentController</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3"><a href="XController.html">XController</a></td> </tr> <tr> <td valign="top"><b>getCurrentController</b>();</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>provides access to the controller which currently controls this model </dd> <dt><b>Returns</b></dt> <dd>If the controller which is active is a controller of this model, it will be returned. If not, the controller which was the last active of this model is returned. If no controller of this model ever was active, the controller first registered is returned. If no controller is registered for this model, <b>NULL</b> is returned. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="setCurrentController" class="membertitle">setCurrentController</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>setCurrentController</b>(</td> <td valign="top">[in] <a href="XController.html">XController</a></td> <td valign="bottom"> Controller )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2">::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/NoSuchElementException.html">NoSuchElementException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>sets a registered controller as the current controller. </dd> <dt><b>Parameter Controller</b></dt> <dd>reference to an already existing connected controller, which should be the new active one </dd> <dt><b>Throws</b></dt> <dd>com::sun::star::container::NoSuchElementException if <var>xController</var> isn't an already connected controller on this model </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="getCurrentSelection" class="membertitle">getCurrentSelection</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">::com::sun::star::<a href="../uno/module-ix.html">uno</a>::<a href="../uno/XInterface.html">XInterface</a></td> </tr> <tr> <td valign="top"><b>getCurrentSelection</b>();</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>provides read access on current selection on controller </dd> <dt><b>Returns</b></dt> <dd>the current selection in the current controller. If there is no current controller, it returns <b>NULL</b>. </dd> </dl> </td> </tr> </table> </td> </tr> </table> <a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2008 Sun Microsystems, Inc.</p> </div> <!-- id="adc-idlref" --> </body> </html>