/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2008 by Sun Microsystems, Inc. * * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: XTreeNode.idl,v $ * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 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. */ 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