/************************************************************** * * 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 #endif #ifndef _com_sun_star_lang_IndexOutOfBoundsException_idl_ #include #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 XTreeDataModel.

The TreeControl uses this interface to retrieve the model information needed to display a hierarchical outline

Each XTreeNode in a XTreeDataModel must be unique. */ published interface XTreeNode { /** Returns the child tree node at Index. @throws ::com::sun::star::lang::IndexOutOfBoundsException if Index is less than 0 or equal or greater then getChildCount. */ 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 Node in this instances children. @returns The child index of Node , or -1 if Node is no child of this instance. */ long getIndex( [in] XTreeNode Node); /** Returns if the children of this node are created on demand.

A TreeControl will handle a node that returns always like a node that has child nodes, even if getChildCount returns 0.

@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.

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.

If URL is empty, XTreeControl::DefaultExpandedGraphicURL is used. */ string getExpandedGraphicURL(); /** The URL for a graphic that is rendered to visualize collapsed non leaf nodes.

If URL is empty, XTreeControl::DefaultCollapsedGraphicURL is used. */ string getCollapsedGraphicURL(); }; //============================================================================= }; }; }; }; }; #endif