| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef __com_sun_star_drawing_framework_XResourceId_idl__ |
| #define __com_sun_star_drawing_framework_XResourceId_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| #ifndef __com_sun_star_drawing_framework_AnchorBindingMode_idl__ |
| #include <com/sun/star/drawing/framework/AnchorBindingMode.idl> |
| #endif |
| #ifndef __com_sun_star_util_URL_idl__ |
| #include <com/sun/star/util/URL.idl> |
| #endif |
| |
| module com { module sun { module star { module drawing { module framework { |
| |
| /** A resource id uses a set of URLs to unambiguously specify a resource of |
| the drawing framework. |
| <p>Resources of the drawing framework are panes, views, tool bars, and |
| command groups. One URL describes the type of the actual resource. A |
| sequence of URLs (typically one, sometimes two) specifies its anchor, |
| the resource it is bound to. The anchor typically is a pane (for |
| views), or it is empty (for panes).</p> |
| <p>The resource URL may be empty. In this case the anchor is empty, |
| too. Such an empty resource id does not describe a resource but rather |
| the absence of one. Instead of an empty <type>XResourceId</type> object |
| an empty reference can be used in many places.</p> |
| <p>The resource URL may have arguments that are passed to the factory |
| method on its creation. Arguments are only available through the |
| getFullResourceURL(). The getResourceURL() method strips them away.</p> |
| */ |
| published interface XResourceId |
| { |
| /** Return the URL of the resource. Arguments supplied on creation are |
| stripped away. Use getFullResourceURL() to access them. |
| */ |
| string getResourceURL (); |
| |
| /** Return an URL object of the resource URL that may contain arguments. |
| */ |
| com::sun::star::util::URL getFullResourceURL (); |
| |
| /** Return whether there is a non-empty anchor URL. When this method |
| returns <FALSE/> then getAnchorURLs() will return an empty list. |
| */ |
| boolean hasAnchor (); |
| |
| /** Return a new XResourceId that represents the anchor resource. |
| */ |
| XResourceId getAnchor (); |
| |
| /** Return the, possibly empty, list of anchor URLs. The URLs are |
| ordered so that the one in position 0 is the direct anchor of the |
| resource, while the one in position i+1 is the direct anchor of the |
| one in position i. |
| */ |
| sequence<string> getAnchorURLs (); |
| |
| /** Return the type prefix of the resource URL. This includes all up to |
| and including the second slash. |
| */ |
| string getResourceTypePrefix (); |
| |
| /** Compare the called <type>XResourceId</type> object with the given |
| one. |
| <p>The two resource ids A and B are compared so that if A<B (return |
| value is -1) then either A and B are unrelated or A is a direct or |
| indirect anchor of B.</p> |
| <p>The algorithm for this comparison is quite simple. It uses a |
| double lexicographic ordering. On the lower level individual URLs |
| are compared via the lexicographic order defined on strings. On the |
| higher level two resource ids are compared via a lexicographic order |
| defined on the URLS. So when there are two resource ids A1.A2 |
| (A1 being the anchor of A2) and B1.B2 then A1.A2<B1.B2 when A1<B1 or |
| A1==B1 and A2<B2. Resource ids may have different lengths: A1 < |
| B1.B2 when A1<B1 or A1==B1 (anchors first then resources linked to them.</p> |
| @param xId |
| The resource id to which the called resource id is compared. |
| @return |
| Returns <const>0</const> when the called resource id is |
| equivalent to the given resource id. Returns <code>-1</code> or |
| <code>+1</code> when the two compared resource ids differ. |
| */ |
| short compareTo ( |
| [in] XResourceId xId); |
| |
| /** Return whether the anchor of the called resource id object |
| represents the same resource as the given object. |
| <p>Note that not only the anchor of the given object is taken into |
| account. The whole object, including the resource URL, is |
| interpreted as anchor resource.</p> |
| @param xAnchor |
| The resource id of the anchor. |
| @param eMode |
| This mode specifies how the called resource has to be bound to |
| the given anchor in order to have this function return <TRUE/>. |
| <p>If eMode is <const>DIRECT</const> then the anchor of the called resource id |
| has to be identical to the given anchor. If eMode is |
| <const>INDIRECT</const> then the given anchor has to be a part |
| of the anchor of the called resource. |
| */ |
| boolean isBoundTo ( |
| [in] XResourceId xId, |
| [in] AnchorBindingMode eMode); |
| |
| /** Return whether the anchor of the called resource id object |
| represents the same resource as the given anchor URL. This is a |
| convenience variant of the <member>isBoundTo()</member> function |
| that can also be seen as an optimization for the case that the |
| anchor consists of exactly one URL. |
| @param xAnchor |
| The resource URL of the anchor. |
| @param eMode |
| This mode specifies how the called resource has to be bound to |
| the given anchor in order to have this function return. See the |
| description of <member>isBoundTo()</member> for more |
| information. |
| */ |
| boolean isBoundToURL ( |
| [in] string sAnchorURL, |
| [in] AnchorBindingMode eMode); |
| |
| /** Return a copy of the called resource id. The caller becomes the |
| owner of the new object. |
| */ |
| XResourceId clone (); |
| }; |
| |
| }; }; }; }; }; // ::com::sun::star::drawing::framework |
| |
| #endif |