1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_awt_tree_TreeControlModel_idl__
24#define __com_sun_star_awt_tree_TreeControlModel_idl__
25
26#ifndef __com_sun_star_awt_tree_XTreeDataModel_idl__
27#include <com/sun/star/awt/tree/XTreeDataModel.idl>
28#endif
29
30#ifndef __com_sun_star_awt_UnoControlModel_idl__
31#include <com/sun/star/awt/UnoControlModel.idl>
32#endif
33
34#ifndef __com_sun_star_view_SelectionType_idl__
35#include <com/sun/star/view/SelectionType.idl>
36#endif
37
38//=============================================================================
39
40module com {  module sun {  module star {  module awt { module tree {
41
42//=============================================================================
43
44/** specifies the standard model of a <type>TreeControl</type>.
45 */
46service TreeControlModel
47{
48	/** specifies the standard model of an <type scope="com::sun::star::awt">UnoControl</type>. */
49	service ::com::sun::star::awt::UnoControlModel;
50
51	/** Specifies the selection mode that is enabled for this tree.
52		<p>The default value is <member scope="com::sun::star::view">SelectionType::NONE</member></p>
53	*/
54	[property] ::com::sun::star::view::SelectionType SelectionType;
55
56	/**	Specifies the <type>XTreeDataModel</type> that is providing the hierarchical data.
57
58		<p>You can implement your own instance of <type>XTreeDataModel</type> or use
59		the <type>MutableTreeDataModel</type>.
60	*/
61	[property] XTreeDataModel DataModel;
62
63	/** Specifies if the root node of the tree is displayed.
64		<p>If <var>RootDisplayed</var> is set to <FALSE/>, the root node of a model is no longer
65		a valid node for the <type>XTreeControl</type> and can't be used with any method of
66		<type>XTreeControl</type>.
67		<p>The default value is <TRUE/></p>
68	*/
69	[property] boolean RootDisplayed;
70
71	/** Specifies whether the node handles should be displayed.
72		<p>The handles are doted lines that visualize the tree like hirarchie<p>
73		<p>The default value is <TRUE/></p>
74	*/
75	[property] boolean ShowsHandles;
76
77	/** Specifies whether the node handles should also be displayed at root level.
78		<p>The default value is <TRUE/></p>
79	*/
80	[property] boolean ShowsRootHandles;
81
82	/** Specifies the height of each row, in pixels.
83		<p>If the specified value is less than or equal to zero, the row height is the maximum height
84		of all rows.</p>
85		<p>The default value is 0</p>
86	*/
87	[property] long RowHeight;
88
89	/** Specifies whether the nodes of the tree are editable.
90		<p>The default value is <FALSE/></p>
91
92		@see XTreeControl::startEditingAtNode()
93		@see XTreeEditListener
94	*/
95	[property] boolean Editable;
96
97	/**	Specifies what happens when editing is interrupted by selecting another node in the tree,
98		a change in the tree's data, or by some other means.
99		<p>Setting this property to <TRUE/> causes the changes to be automatically saved when editing
100		is interrupted. <FALSE/> means that editing is canceled and changes are lost
101		<p>The default value is <FALSE/></p>
102	*/
103	[property] boolean InvokesStopNodeEditing;
104};
105
106//=============================================================================
107
108}; }; }; }; };
109
110#endif
111