blob: 4d801e91f4ff16fda332b54fc465d94ba5958057 [file] [log] [blame]
/**************************************************************
*
* 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_awt_tree_XTreeNode_idl__
#define __com_sun_star_awt_tree_XTreeNode_idl__
#ifndef __com_sun_star_container_XEnumerationAccess_idl__
#include <com/sun/star/container/XEnumerationAccess.idl>
#endif
#ifndef _com_sun_star_lang_IndexOutOfBoundsException_idl_
#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
#endif
//=============================================================================
module com { module sun { module star { module awt { module tree {
//=============================================================================
/** An instance implementing this interface represents the model data for an entry in a
<type>XTreeDataModel</type>.
<p>The <type>TreeControl</type> uses this interface to retrieve the model
information needed to display a hierarchical outline</p>
<p>Each XTreeNode in a <type>XTreeDataModel</type> must be unique.
*/
published interface XTreeNode
{
/** Returns the child tree node at <var>Index</var>.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if <var>Index</var> is less than 0 or equal or greater then <member>getChildCount</member>.
*/
XTreeNode getChildAt( [in] long Index )
raises( com::sun::star::lang::IndexOutOfBoundsException );
/** Returns the number of child nodes. */
long getChildCount();
/** Returns the parent node of this node. */
XTreeNode getParent();
/** Returns the index of <var>Node</Node> in this instances children.
@returns
The child index of <var>Node</Node> , or -1 if <var>Node</Node> is no child of this instance.
*/
long getIndex( [in] XTreeNode Node);
/** Returns <TRUE/> if the children of this node are created on demand.
<p>A <type>TreeControl</type> will handle a node that returns <TRUE/> always
like a node that has child nodes, even if <member>getChildCount</member>
returns 0.</p>
@see TreeExpansionListener;
*/
boolean hasChildrenOnDemand();
/** If not empty, the textual representation of this any is used as the text part of this node.
*/
any getDisplayValue();
/** The URL for a graphic that is rendered before the text part of this node.
<p>If this URL is empty, no graphic is rendered.
*/
string getNodeGraphicURL();
/** The URL for a graphic that is rendered to visualize expanded non leaf nodes.
<p>If <var>URL</var> is empty, <member>XTreeControl::DefaultExpandedGraphicURL</member> is used.
*/
string getExpandedGraphicURL();
/** The URL for a graphic that is rendered to visualize collapsed non leaf nodes.
<p>If <var>URL</var> is empty, <member>XTreeControl::DefaultCollapsedGraphicURL</member> is used.
*/
string getCollapsedGraphicURL();
};
//=============================================================================
}; }; }; }; };
#endif