xref: /aoo42x/main/sw/source/ui/chrdlg/ccoll.cxx (revision cdf0e10c)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
29*cdf0e10cSrcweir #include "precompiled_sw.hxx"
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir 
32*cdf0e10cSrcweir 
33*cdf0e10cSrcweir #include "cmdid.h"
34*cdf0e10cSrcweir #include <tools/list.hxx>
35*cdf0e10cSrcweir #include "swmodule.hxx"
36*cdf0e10cSrcweir #include "view.hxx"
37*cdf0e10cSrcweir #include "wrtsh.hxx"
38*cdf0e10cSrcweir #include "globals.hrc"
39*cdf0e10cSrcweir #include "helpid.h"
40*cdf0e10cSrcweir 
41*cdf0e10cSrcweir 
42*cdf0e10cSrcweir #include <sfx2/styfitem.hxx>
43*cdf0e10cSrcweir 
44*cdf0e10cSrcweir #include "uitool.hxx"
45*cdf0e10cSrcweir #include "ccoll.hxx"
46*cdf0e10cSrcweir #include "fmtcol.hxx"
47*cdf0e10cSrcweir #include "hintids.hxx"
48*cdf0e10cSrcweir #include "docsh.hxx"
49*cdf0e10cSrcweir #include "docstyle.hxx"
50*cdf0e10cSrcweir #include "hints.hxx"
51*cdf0e10cSrcweir 
52*cdf0e10cSrcweir #include "chrdlg.hrc"
53*cdf0e10cSrcweir #include "ccoll.hrc"
54*cdf0e10cSrcweir #include <vcl/svapp.hxx>
55*cdf0e10cSrcweir 
56*cdf0e10cSrcweir #include <unomid.h>
57*cdf0e10cSrcweir 
58*cdf0e10cSrcweir // ******************************************************************
59*cdf0e10cSrcweir 
60*cdf0e10cSrcweir //!! order of entries has to be the same as in
61*cdf0e10cSrcweir //!! CommandStruct SwCondCollItem::aCmds[]
62*cdf0e10cSrcweir 
63*cdf0e10cSrcweir const char *aCommandContext[COND_COMMAND_COUNT] =
64*cdf0e10cSrcweir {
65*cdf0e10cSrcweir     "TableHeader",
66*cdf0e10cSrcweir     "Table",
67*cdf0e10cSrcweir     "Frame",
68*cdf0e10cSrcweir     "Section",
69*cdf0e10cSrcweir     "Footnote",
70*cdf0e10cSrcweir     "Endnote",
71*cdf0e10cSrcweir     "Header",
72*cdf0e10cSrcweir     "Footer",
73*cdf0e10cSrcweir     "OutlineLevel1",
74*cdf0e10cSrcweir     "OutlineLevel2",
75*cdf0e10cSrcweir     "OutlineLevel3",
76*cdf0e10cSrcweir     "OutlineLevel4",
77*cdf0e10cSrcweir     "OutlineLevel5",
78*cdf0e10cSrcweir     "OutlineLevel6",
79*cdf0e10cSrcweir     "OutlineLevel7",
80*cdf0e10cSrcweir     "OutlineLevel8",
81*cdf0e10cSrcweir     "OutlineLevel9",
82*cdf0e10cSrcweir     "OutlineLevel10",
83*cdf0e10cSrcweir     "NumberingLevel1",
84*cdf0e10cSrcweir     "NumberingLevel2",
85*cdf0e10cSrcweir     "NumberingLevel3",
86*cdf0e10cSrcweir     "NumberingLevel4",
87*cdf0e10cSrcweir     "NumberingLevel5",
88*cdf0e10cSrcweir     "NumberingLevel6",
89*cdf0e10cSrcweir     "NumberingLevel7",
90*cdf0e10cSrcweir     "NumberingLevel8",
91*cdf0e10cSrcweir     "NumberingLevel9",
92*cdf0e10cSrcweir     "NumberingLevel10"
93*cdf0e10cSrcweir };
94*cdf0e10cSrcweir 
95*cdf0e10cSrcweir sal_Int16 GetCommandContextIndex( const rtl::OUString &rContextName )
96*cdf0e10cSrcweir {
97*cdf0e10cSrcweir     sal_Int16 nRes = -1;
98*cdf0e10cSrcweir     for (sal_Int16 i = 0;  nRes == -1 && i < COND_COMMAND_COUNT;  ++i)
99*cdf0e10cSrcweir     {
100*cdf0e10cSrcweir         if (rContextName.equalsAscii( aCommandContext[i] ))
101*cdf0e10cSrcweir             nRes = i;
102*cdf0e10cSrcweir     }
103*cdf0e10cSrcweir     return nRes;
104*cdf0e10cSrcweir }
105*cdf0e10cSrcweir 
106*cdf0e10cSrcweir rtl::OUString GetCommandContextByIndex( sal_Int16 nIndex )
107*cdf0e10cSrcweir {
108*cdf0e10cSrcweir     rtl::OUString aRes;
109*cdf0e10cSrcweir     if (0 <= nIndex  &&  nIndex < COND_COMMAND_COUNT)
110*cdf0e10cSrcweir     {
111*cdf0e10cSrcweir         aRes = C2U( aCommandContext[ nIndex ] );
112*cdf0e10cSrcweir     }
113*cdf0e10cSrcweir     return aRes;
114*cdf0e10cSrcweir }
115*cdf0e10cSrcweir 
116*cdf0e10cSrcweir // Globals ******************************************************************
117*cdf0e10cSrcweir 
118*cdf0e10cSrcweir 
119*cdf0e10cSrcweir CommandStruct SwCondCollItem::aCmds[] =
120*cdf0e10cSrcweir {
121*cdf0e10cSrcweir 	{ PARA_IN_TABLEHEAD,	0 },
122*cdf0e10cSrcweir 	{ PARA_IN_TABLEBODY, 	0 },
123*cdf0e10cSrcweir 	{ PARA_IN_FRAME, 		0 },
124*cdf0e10cSrcweir 	{ PARA_IN_SECTION, 		0 },
125*cdf0e10cSrcweir 	{ PARA_IN_FOOTENOTE,	0 },
126*cdf0e10cSrcweir 	{ PARA_IN_ENDNOTE,		0 },
127*cdf0e10cSrcweir 	{ PARA_IN_HEADER, 		0 },
128*cdf0e10cSrcweir 	{ PARA_IN_FOOTER, 		0 },
129*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		0 },
130*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		1 },
131*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		2 },
132*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		3 },
133*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		4 },
134*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		5 },
135*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		6 },
136*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		7 },
137*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		8 },
138*cdf0e10cSrcweir 	{ PARA_IN_OUTLINE, 		9 },
139*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		0 },
140*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		1 },
141*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		2 },
142*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		3 },
143*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		4 },
144*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		5 },
145*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		6 },
146*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		7 },
147*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		8 },
148*cdf0e10cSrcweir 	{ PARA_IN_LIST, 		9 }
149*cdf0e10cSrcweir };
150*cdf0e10cSrcweir 
151*cdf0e10cSrcweir 
152*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SwCondCollItem, SfxPoolItem)
153*cdf0e10cSrcweir 
154*cdf0e10cSrcweir /****************************************************************************
155*cdf0e10cSrcweir 	Item fuer den Transport der Bedingungstabelle
156*cdf0e10cSrcweir ****************************************************************************/
157*cdf0e10cSrcweir 
158*cdf0e10cSrcweir 
159*cdf0e10cSrcweir SwCondCollItem::SwCondCollItem(sal_uInt16 _nWhich ) :
160*cdf0e10cSrcweir     SfxPoolItem(_nWhich)
161*cdf0e10cSrcweir {
162*cdf0e10cSrcweir 
163*cdf0e10cSrcweir }
164*cdf0e10cSrcweir /****************************************************************************
165*cdf0e10cSrcweir 
166*cdf0e10cSrcweir ****************************************************************************/
167*cdf0e10cSrcweir 
168*cdf0e10cSrcweir 
169*cdf0e10cSrcweir SwCondCollItem::~SwCondCollItem()
170*cdf0e10cSrcweir {
171*cdf0e10cSrcweir }
172*cdf0e10cSrcweir 
173*cdf0e10cSrcweir /****************************************************************************
174*cdf0e10cSrcweir 
175*cdf0e10cSrcweir ****************************************************************************/
176*cdf0e10cSrcweir 
177*cdf0e10cSrcweir 
178*cdf0e10cSrcweir SfxPoolItem*   SwCondCollItem::Clone( SfxItemPool * /*pPool*/ ) const
179*cdf0e10cSrcweir {
180*cdf0e10cSrcweir 	return new SwCondCollItem(*this);
181*cdf0e10cSrcweir }
182*cdf0e10cSrcweir 
183*cdf0e10cSrcweir /****************************************************************************
184*cdf0e10cSrcweir 
185*cdf0e10cSrcweir ****************************************************************************/
186*cdf0e10cSrcweir 
187*cdf0e10cSrcweir 
188*cdf0e10cSrcweir int SwCondCollItem::operator==( const SfxPoolItem& rItem) const
189*cdf0e10cSrcweir {
190*cdf0e10cSrcweir 	DBG_ASSERT( SfxPoolItem::operator==(rItem), "unterschiedliche Typen" );
191*cdf0e10cSrcweir 	sal_Bool bReturn = sal_True;
192*cdf0e10cSrcweir 	for(sal_uInt16 i = 0; i < COND_COMMAND_COUNT; i++)
193*cdf0e10cSrcweir 		if(sStyles[i] != ((SwCondCollItem&)rItem).sStyles[i])
194*cdf0e10cSrcweir 		{
195*cdf0e10cSrcweir 			bReturn = sal_False;
196*cdf0e10cSrcweir 			break;
197*cdf0e10cSrcweir 		}
198*cdf0e10cSrcweir 
199*cdf0e10cSrcweir 	return bReturn;
200*cdf0e10cSrcweir }
201*cdf0e10cSrcweir 
202*cdf0e10cSrcweir /****************************************************************************
203*cdf0e10cSrcweir 
204*cdf0e10cSrcweir ****************************************************************************/
205*cdf0e10cSrcweir 
206*cdf0e10cSrcweir 
207*cdf0e10cSrcweir const String&	SwCondCollItem::GetStyle(sal_uInt16 nPos) const
208*cdf0e10cSrcweir {
209*cdf0e10cSrcweir 	return nPos < COND_COMMAND_COUNT ? sStyles[nPos] : aEmptyStr;
210*cdf0e10cSrcweir }
211*cdf0e10cSrcweir 
212*cdf0e10cSrcweir /****************************************************************************
213*cdf0e10cSrcweir 
214*cdf0e10cSrcweir ****************************************************************************/
215*cdf0e10cSrcweir 
216*cdf0e10cSrcweir 
217*cdf0e10cSrcweir void SwCondCollItem::SetStyle(const String* pStyle, sal_uInt16 nPos)
218*cdf0e10cSrcweir {
219*cdf0e10cSrcweir 	if( nPos < COND_COMMAND_COUNT )
220*cdf0e10cSrcweir 		sStyles[nPos] = pStyle ? *pStyle : aEmptyStr;
221*cdf0e10cSrcweir }
222*cdf0e10cSrcweir 
223*cdf0e10cSrcweir 
224*cdf0e10cSrcweir /****************************************************************************
225*cdf0e10cSrcweir 
226*cdf0e10cSrcweir ****************************************************************************/
227*cdf0e10cSrcweir 
228*cdf0e10cSrcweir 
229*cdf0e10cSrcweir const CommandStruct* SwCondCollItem::GetCmds()
230*cdf0e10cSrcweir {
231*cdf0e10cSrcweir 	return aCmds;
232*cdf0e10cSrcweir }
233*cdf0e10cSrcweir 
234*cdf0e10cSrcweir 
235*cdf0e10cSrcweir 
236*cdf0e10cSrcweir 
237