xref: /trunk/main/sw/source/ui/chrdlg/ccoll.cxx (revision efeef26f)
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 
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_sw.hxx"
26 
27 
28 
29 #include "cmdid.h"
30 #include <tools/list.hxx>
31 #include "swmodule.hxx"
32 #include "view.hxx"
33 #include "wrtsh.hxx"
34 #include "globals.hrc"
35 #include "helpid.h"
36 
37 
38 #include <sfx2/styfitem.hxx>
39 
40 #include "uitool.hxx"
41 #include "ccoll.hxx"
42 #include "fmtcol.hxx"
43 #include "hintids.hxx"
44 #include "docsh.hxx"
45 #include "docstyle.hxx"
46 #include "hints.hxx"
47 
48 #include "chrdlg.hrc"
49 #include "ccoll.hrc"
50 #include <vcl/svapp.hxx>
51 
52 #include <unomid.h>
53 
54 // ******************************************************************
55 
56 //!! order of entries has to be the same as in
57 //!! CommandStruct SwCondCollItem::aCmds[]
58 
59 const char *aCommandContext[COND_COMMAND_COUNT] =
60 {
61     "TableHeader",
62     "Table",
63     "Frame",
64     "Section",
65     "Footnote",
66     "Endnote",
67     "Header",
68     "Footer",
69     "OutlineLevel1",
70     "OutlineLevel2",
71     "OutlineLevel3",
72     "OutlineLevel4",
73     "OutlineLevel5",
74     "OutlineLevel6",
75     "OutlineLevel7",
76     "OutlineLevel8",
77     "OutlineLevel9",
78     "OutlineLevel10",
79     "NumberingLevel1",
80     "NumberingLevel2",
81     "NumberingLevel3",
82     "NumberingLevel4",
83     "NumberingLevel5",
84     "NumberingLevel6",
85     "NumberingLevel7",
86     "NumberingLevel8",
87     "NumberingLevel9",
88     "NumberingLevel10"
89 };
90 
GetCommandContextIndex(const rtl::OUString & rContextName)91 sal_Int16 GetCommandContextIndex( const rtl::OUString &rContextName )
92 {
93     sal_Int16 nRes = -1;
94     for (sal_Int16 i = 0;  nRes == -1 && i < COND_COMMAND_COUNT;  ++i)
95     {
96         if (rContextName.equalsAscii( aCommandContext[i] ))
97             nRes = i;
98     }
99     return nRes;
100 }
101 
GetCommandContextByIndex(sal_Int16 nIndex)102 rtl::OUString GetCommandContextByIndex( sal_Int16 nIndex )
103 {
104     rtl::OUString aRes;
105     if (0 <= nIndex  &&  nIndex < COND_COMMAND_COUNT)
106     {
107         aRes = C2U( aCommandContext[ nIndex ] );
108     }
109     return aRes;
110 }
111 
112 // Globals ******************************************************************
113 
114 
115 CommandStruct SwCondCollItem::aCmds[] =
116 {
117 	{ PARA_IN_TABLEHEAD,	0 },
118 	{ PARA_IN_TABLEBODY, 	0 },
119 	{ PARA_IN_FRAME, 		0 },
120 	{ PARA_IN_SECTION, 		0 },
121 	{ PARA_IN_FOOTENOTE,	0 },
122 	{ PARA_IN_ENDNOTE,		0 },
123 	{ PARA_IN_HEADER, 		0 },
124 	{ PARA_IN_FOOTER, 		0 },
125 	{ PARA_IN_OUTLINE, 		0 },
126 	{ PARA_IN_OUTLINE, 		1 },
127 	{ PARA_IN_OUTLINE, 		2 },
128 	{ PARA_IN_OUTLINE, 		3 },
129 	{ PARA_IN_OUTLINE, 		4 },
130 	{ PARA_IN_OUTLINE, 		5 },
131 	{ PARA_IN_OUTLINE, 		6 },
132 	{ PARA_IN_OUTLINE, 		7 },
133 	{ PARA_IN_OUTLINE, 		8 },
134 	{ PARA_IN_OUTLINE, 		9 },
135 	{ PARA_IN_LIST, 		0 },
136 	{ PARA_IN_LIST, 		1 },
137 	{ PARA_IN_LIST, 		2 },
138 	{ PARA_IN_LIST, 		3 },
139 	{ PARA_IN_LIST, 		4 },
140 	{ PARA_IN_LIST, 		5 },
141 	{ PARA_IN_LIST, 		6 },
142 	{ PARA_IN_LIST, 		7 },
143 	{ PARA_IN_LIST, 		8 },
144 	{ PARA_IN_LIST, 		9 }
145 };
146 
147 
TYPEINIT1_AUTOFACTORY(SwCondCollItem,SfxPoolItem)148 TYPEINIT1_AUTOFACTORY(SwCondCollItem, SfxPoolItem)
149 
150 /****************************************************************************
151 	Item fuer den Transport der Bedingungstabelle
152 ****************************************************************************/
153 
154 
155 SwCondCollItem::SwCondCollItem(sal_uInt16 _nWhich ) :
156     SfxPoolItem(_nWhich)
157 {
158 
159 }
160 /****************************************************************************
161 
162 ****************************************************************************/
163 
164 
~SwCondCollItem()165 SwCondCollItem::~SwCondCollItem()
166 {
167 }
168 
169 /****************************************************************************
170 
171 ****************************************************************************/
172 
173 
Clone(SfxItemPool *) const174 SfxPoolItem*   SwCondCollItem::Clone( SfxItemPool * /*pPool*/ ) const
175 {
176 	return new SwCondCollItem(*this);
177 }
178 
179 /****************************************************************************
180 
181 ****************************************************************************/
182 
183 
operator ==(const SfxPoolItem & rItem) const184 int SwCondCollItem::operator==( const SfxPoolItem& rItem) const
185 {
186 	DBG_ASSERT( SfxPoolItem::operator==(rItem), "unterschiedliche Typen" );
187 	sal_Bool bReturn = sal_True;
188 	for(sal_uInt16 i = 0; i < COND_COMMAND_COUNT; i++)
189 		if(sStyles[i] != ((SwCondCollItem&)rItem).sStyles[i])
190 		{
191 			bReturn = sal_False;
192 			break;
193 		}
194 
195 	return bReturn;
196 }
197 
198 /****************************************************************************
199 
200 ****************************************************************************/
201 
202 
GetStyle(sal_uInt16 nPos) const203 const String&	SwCondCollItem::GetStyle(sal_uInt16 nPos) const
204 {
205 	return nPos < COND_COMMAND_COUNT ? sStyles[nPos] : aEmptyStr;
206 }
207 
208 /****************************************************************************
209 
210 ****************************************************************************/
211 
212 
SetStyle(const String * pStyle,sal_uInt16 nPos)213 void SwCondCollItem::SetStyle(const String* pStyle, sal_uInt16 nPos)
214 {
215 	if( nPos < COND_COMMAND_COUNT )
216 		sStyles[nPos] = pStyle ? *pStyle : aEmptyStr;
217 }
218 
219 
220 /****************************************************************************
221 
222 ****************************************************************************/
223 
224 
GetCmds()225 const CommandStruct* SwCondCollItem::GetCmds()
226 {
227 	return aCmds;
228 }
229 
230 
231 
232 
233