1*efeef26fSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*efeef26fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*efeef26fSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*efeef26fSAndrew Rist * distributed with this work for additional information 6*efeef26fSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*efeef26fSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*efeef26fSAndrew Rist * "License"); you may not use this file except in compliance 9*efeef26fSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*efeef26fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*efeef26fSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*efeef26fSAndrew Rist * software distributed under the License is distributed on an 15*efeef26fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*efeef26fSAndrew Rist * KIND, either express or implied. See the License for the 17*efeef26fSAndrew Rist * specific language governing permissions and limitations 18*efeef26fSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*efeef26fSAndrew Rist *************************************************************/ 21*efeef26fSAndrew Rist 22*efeef26fSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 25cdf0e10cSrcweir #include "precompiled_sw.hxx" 26cdf0e10cSrcweir 27cdf0e10cSrcweir 28cdf0e10cSrcweir 29cdf0e10cSrcweir #include "cmdid.h" 30cdf0e10cSrcweir #include <tools/list.hxx> 31cdf0e10cSrcweir #include "swmodule.hxx" 32cdf0e10cSrcweir #include "view.hxx" 33cdf0e10cSrcweir #include "wrtsh.hxx" 34cdf0e10cSrcweir #include "globals.hrc" 35cdf0e10cSrcweir #include "helpid.h" 36cdf0e10cSrcweir 37cdf0e10cSrcweir 38cdf0e10cSrcweir #include <sfx2/styfitem.hxx> 39cdf0e10cSrcweir 40cdf0e10cSrcweir #include "uitool.hxx" 41cdf0e10cSrcweir #include "ccoll.hxx" 42cdf0e10cSrcweir #include "fmtcol.hxx" 43cdf0e10cSrcweir #include "hintids.hxx" 44cdf0e10cSrcweir #include "docsh.hxx" 45cdf0e10cSrcweir #include "docstyle.hxx" 46cdf0e10cSrcweir #include "hints.hxx" 47cdf0e10cSrcweir 48cdf0e10cSrcweir #include "chrdlg.hrc" 49cdf0e10cSrcweir #include "ccoll.hrc" 50cdf0e10cSrcweir #include <vcl/svapp.hxx> 51cdf0e10cSrcweir 52cdf0e10cSrcweir #include <unomid.h> 53cdf0e10cSrcweir 54cdf0e10cSrcweir // ****************************************************************** 55cdf0e10cSrcweir 56cdf0e10cSrcweir //!! order of entries has to be the same as in 57cdf0e10cSrcweir //!! CommandStruct SwCondCollItem::aCmds[] 58cdf0e10cSrcweir 59cdf0e10cSrcweir const char *aCommandContext[COND_COMMAND_COUNT] = 60cdf0e10cSrcweir { 61cdf0e10cSrcweir "TableHeader", 62cdf0e10cSrcweir "Table", 63cdf0e10cSrcweir "Frame", 64cdf0e10cSrcweir "Section", 65cdf0e10cSrcweir "Footnote", 66cdf0e10cSrcweir "Endnote", 67cdf0e10cSrcweir "Header", 68cdf0e10cSrcweir "Footer", 69cdf0e10cSrcweir "OutlineLevel1", 70cdf0e10cSrcweir "OutlineLevel2", 71cdf0e10cSrcweir "OutlineLevel3", 72cdf0e10cSrcweir "OutlineLevel4", 73cdf0e10cSrcweir "OutlineLevel5", 74cdf0e10cSrcweir "OutlineLevel6", 75cdf0e10cSrcweir "OutlineLevel7", 76cdf0e10cSrcweir "OutlineLevel8", 77cdf0e10cSrcweir "OutlineLevel9", 78cdf0e10cSrcweir "OutlineLevel10", 79cdf0e10cSrcweir "NumberingLevel1", 80cdf0e10cSrcweir "NumberingLevel2", 81cdf0e10cSrcweir "NumberingLevel3", 82cdf0e10cSrcweir "NumberingLevel4", 83cdf0e10cSrcweir "NumberingLevel5", 84cdf0e10cSrcweir "NumberingLevel6", 85cdf0e10cSrcweir "NumberingLevel7", 86cdf0e10cSrcweir "NumberingLevel8", 87cdf0e10cSrcweir "NumberingLevel9", 88cdf0e10cSrcweir "NumberingLevel10" 89cdf0e10cSrcweir }; 90cdf0e10cSrcweir 91cdf0e10cSrcweir sal_Int16 GetCommandContextIndex( const rtl::OUString &rContextName ) 92cdf0e10cSrcweir { 93cdf0e10cSrcweir sal_Int16 nRes = -1; 94cdf0e10cSrcweir for (sal_Int16 i = 0; nRes == -1 && i < COND_COMMAND_COUNT; ++i) 95cdf0e10cSrcweir { 96cdf0e10cSrcweir if (rContextName.equalsAscii( aCommandContext[i] )) 97cdf0e10cSrcweir nRes = i; 98cdf0e10cSrcweir } 99cdf0e10cSrcweir return nRes; 100cdf0e10cSrcweir } 101cdf0e10cSrcweir 102cdf0e10cSrcweir rtl::OUString GetCommandContextByIndex( sal_Int16 nIndex ) 103cdf0e10cSrcweir { 104cdf0e10cSrcweir rtl::OUString aRes; 105cdf0e10cSrcweir if (0 <= nIndex && nIndex < COND_COMMAND_COUNT) 106cdf0e10cSrcweir { 107cdf0e10cSrcweir aRes = C2U( aCommandContext[ nIndex ] ); 108cdf0e10cSrcweir } 109cdf0e10cSrcweir return aRes; 110cdf0e10cSrcweir } 111cdf0e10cSrcweir 112cdf0e10cSrcweir // Globals ****************************************************************** 113cdf0e10cSrcweir 114cdf0e10cSrcweir 115cdf0e10cSrcweir CommandStruct SwCondCollItem::aCmds[] = 116cdf0e10cSrcweir { 117cdf0e10cSrcweir { PARA_IN_TABLEHEAD, 0 }, 118cdf0e10cSrcweir { PARA_IN_TABLEBODY, 0 }, 119cdf0e10cSrcweir { PARA_IN_FRAME, 0 }, 120cdf0e10cSrcweir { PARA_IN_SECTION, 0 }, 121cdf0e10cSrcweir { PARA_IN_FOOTENOTE, 0 }, 122cdf0e10cSrcweir { PARA_IN_ENDNOTE, 0 }, 123cdf0e10cSrcweir { PARA_IN_HEADER, 0 }, 124cdf0e10cSrcweir { PARA_IN_FOOTER, 0 }, 125cdf0e10cSrcweir { PARA_IN_OUTLINE, 0 }, 126cdf0e10cSrcweir { PARA_IN_OUTLINE, 1 }, 127cdf0e10cSrcweir { PARA_IN_OUTLINE, 2 }, 128cdf0e10cSrcweir { PARA_IN_OUTLINE, 3 }, 129cdf0e10cSrcweir { PARA_IN_OUTLINE, 4 }, 130cdf0e10cSrcweir { PARA_IN_OUTLINE, 5 }, 131cdf0e10cSrcweir { PARA_IN_OUTLINE, 6 }, 132cdf0e10cSrcweir { PARA_IN_OUTLINE, 7 }, 133cdf0e10cSrcweir { PARA_IN_OUTLINE, 8 }, 134cdf0e10cSrcweir { PARA_IN_OUTLINE, 9 }, 135cdf0e10cSrcweir { PARA_IN_LIST, 0 }, 136cdf0e10cSrcweir { PARA_IN_LIST, 1 }, 137cdf0e10cSrcweir { PARA_IN_LIST, 2 }, 138cdf0e10cSrcweir { PARA_IN_LIST, 3 }, 139cdf0e10cSrcweir { PARA_IN_LIST, 4 }, 140cdf0e10cSrcweir { PARA_IN_LIST, 5 }, 141cdf0e10cSrcweir { PARA_IN_LIST, 6 }, 142cdf0e10cSrcweir { PARA_IN_LIST, 7 }, 143cdf0e10cSrcweir { PARA_IN_LIST, 8 }, 144cdf0e10cSrcweir { PARA_IN_LIST, 9 } 145cdf0e10cSrcweir }; 146cdf0e10cSrcweir 147cdf0e10cSrcweir 148cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SwCondCollItem, SfxPoolItem) 149cdf0e10cSrcweir 150cdf0e10cSrcweir /**************************************************************************** 151cdf0e10cSrcweir Item fuer den Transport der Bedingungstabelle 152cdf0e10cSrcweir ****************************************************************************/ 153cdf0e10cSrcweir 154cdf0e10cSrcweir 155cdf0e10cSrcweir SwCondCollItem::SwCondCollItem(sal_uInt16 _nWhich ) : 156cdf0e10cSrcweir SfxPoolItem(_nWhich) 157cdf0e10cSrcweir { 158cdf0e10cSrcweir 159cdf0e10cSrcweir } 160cdf0e10cSrcweir /**************************************************************************** 161cdf0e10cSrcweir 162cdf0e10cSrcweir ****************************************************************************/ 163cdf0e10cSrcweir 164cdf0e10cSrcweir 165cdf0e10cSrcweir SwCondCollItem::~SwCondCollItem() 166cdf0e10cSrcweir { 167cdf0e10cSrcweir } 168cdf0e10cSrcweir 169cdf0e10cSrcweir /**************************************************************************** 170cdf0e10cSrcweir 171cdf0e10cSrcweir ****************************************************************************/ 172cdf0e10cSrcweir 173cdf0e10cSrcweir 174cdf0e10cSrcweir SfxPoolItem* SwCondCollItem::Clone( SfxItemPool * /*pPool*/ ) const 175cdf0e10cSrcweir { 176cdf0e10cSrcweir return new SwCondCollItem(*this); 177cdf0e10cSrcweir } 178cdf0e10cSrcweir 179cdf0e10cSrcweir /**************************************************************************** 180cdf0e10cSrcweir 181cdf0e10cSrcweir ****************************************************************************/ 182cdf0e10cSrcweir 183cdf0e10cSrcweir 184cdf0e10cSrcweir int SwCondCollItem::operator==( const SfxPoolItem& rItem) const 185cdf0e10cSrcweir { 186cdf0e10cSrcweir DBG_ASSERT( SfxPoolItem::operator==(rItem), "unterschiedliche Typen" ); 187cdf0e10cSrcweir sal_Bool bReturn = sal_True; 188cdf0e10cSrcweir for(sal_uInt16 i = 0; i < COND_COMMAND_COUNT; i++) 189cdf0e10cSrcweir if(sStyles[i] != ((SwCondCollItem&)rItem).sStyles[i]) 190cdf0e10cSrcweir { 191cdf0e10cSrcweir bReturn = sal_False; 192cdf0e10cSrcweir break; 193cdf0e10cSrcweir } 194cdf0e10cSrcweir 195cdf0e10cSrcweir return bReturn; 196cdf0e10cSrcweir } 197cdf0e10cSrcweir 198cdf0e10cSrcweir /**************************************************************************** 199cdf0e10cSrcweir 200cdf0e10cSrcweir ****************************************************************************/ 201cdf0e10cSrcweir 202cdf0e10cSrcweir 203cdf0e10cSrcweir const String& SwCondCollItem::GetStyle(sal_uInt16 nPos) const 204cdf0e10cSrcweir { 205cdf0e10cSrcweir return nPos < COND_COMMAND_COUNT ? sStyles[nPos] : aEmptyStr; 206cdf0e10cSrcweir } 207cdf0e10cSrcweir 208cdf0e10cSrcweir /**************************************************************************** 209cdf0e10cSrcweir 210cdf0e10cSrcweir ****************************************************************************/ 211cdf0e10cSrcweir 212cdf0e10cSrcweir 213cdf0e10cSrcweir void SwCondCollItem::SetStyle(const String* pStyle, sal_uInt16 nPos) 214cdf0e10cSrcweir { 215cdf0e10cSrcweir if( nPos < COND_COMMAND_COUNT ) 216cdf0e10cSrcweir sStyles[nPos] = pStyle ? *pStyle : aEmptyStr; 217cdf0e10cSrcweir } 218cdf0e10cSrcweir 219cdf0e10cSrcweir 220cdf0e10cSrcweir /**************************************************************************** 221cdf0e10cSrcweir 222cdf0e10cSrcweir ****************************************************************************/ 223cdf0e10cSrcweir 224cdf0e10cSrcweir 225cdf0e10cSrcweir const CommandStruct* SwCondCollItem::GetCmds() 226cdf0e10cSrcweir { 227cdf0e10cSrcweir return aCmds; 228cdf0e10cSrcweir } 229cdf0e10cSrcweir 230cdf0e10cSrcweir 231cdf0e10cSrcweir 232cdf0e10cSrcweir 233