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_sc.hxx" 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #undef SC_DLLIMPLEMENTATION 32*cdf0e10cSrcweir 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir 35*cdf0e10cSrcweir //------------------------------------------------------------------ 36*cdf0e10cSrcweir 37*cdf0e10cSrcweir #define _TPHFEDIT_CXX 38*cdf0e10cSrcweir #include "scitems.hxx" 39*cdf0e10cSrcweir #include <editeng/eeitem.hxx> 40*cdf0e10cSrcweir 41*cdf0e10cSrcweir //CHINA001 #include <svx/chardlg.hxx> 42*cdf0e10cSrcweir #include <editeng/editobj.hxx> 43*cdf0e10cSrcweir #include <editeng/editstat.hxx> 44*cdf0e10cSrcweir #include <editeng/editview.hxx> 45*cdf0e10cSrcweir #include <editeng/flditem.hxx> 46*cdf0e10cSrcweir #include <sfx2/basedlgs.hxx> 47*cdf0e10cSrcweir #include <sfx2/objsh.hxx> 48*cdf0e10cSrcweir #include <vcl/msgbox.hxx> 49*cdf0e10cSrcweir #include <vcl/svapp.hxx> 50*cdf0e10cSrcweir #include <unotools/useroptions.hxx> 51*cdf0e10cSrcweir #define _SVSTDARR_USHORTS 52*cdf0e10cSrcweir #include <svl/svstdarr.hxx> 53*cdf0e10cSrcweir 54*cdf0e10cSrcweir //CHINA001 #include "tphfedit.hxx" 55*cdf0e10cSrcweir #include "editutil.hxx" 56*cdf0e10cSrcweir #include "global.hxx" 57*cdf0e10cSrcweir #include "attrib.hxx" 58*cdf0e10cSrcweir #include "patattr.hxx" 59*cdf0e10cSrcweir #include "scresid.hxx" 60*cdf0e10cSrcweir #include "sc.hrc" 61*cdf0e10cSrcweir #include "globstr.hrc" 62*cdf0e10cSrcweir #include "tabvwsh.hxx" 63*cdf0e10cSrcweir #include "prevwsh.hxx" 64*cdf0e10cSrcweir #include "hfedtdlg.hrc" 65*cdf0e10cSrcweir #include "textdlgs.hxx" 66*cdf0e10cSrcweir #include "AccessibleEditObject.hxx" 67*cdf0e10cSrcweir 68*cdf0e10cSrcweir #include "scuitphfedit.hxx" //CHINA001 69*cdf0e10cSrcweir #include <memory> // header file for auto_ptr 70*cdf0e10cSrcweir 71*cdf0e10cSrcweir // STATIC DATA ----------------------------------------------------------- 72*cdf0e10cSrcweir 73*cdf0e10cSrcweir static sal_uInt16 pPageRightHeaderRanges[] = { SID_SCATTR_PAGE_HEADERRIGHT, 74*cdf0e10cSrcweir SID_SCATTR_PAGE_HEADERRIGHT, 75*cdf0e10cSrcweir 0 }; 76*cdf0e10cSrcweir 77*cdf0e10cSrcweir static sal_uInt16 pPageRightFooterRanges[] = { SID_SCATTR_PAGE_FOOTERRIGHT, 78*cdf0e10cSrcweir SID_SCATTR_PAGE_FOOTERRIGHT, 79*cdf0e10cSrcweir 0 }; 80*cdf0e10cSrcweir 81*cdf0e10cSrcweir static sal_uInt16 pPageLeftHeaderRanges[] = { SID_SCATTR_PAGE_HEADERLEFT, 82*cdf0e10cSrcweir SID_SCATTR_PAGE_HEADERLEFT, 83*cdf0e10cSrcweir 0 }; 84*cdf0e10cSrcweir 85*cdf0e10cSrcweir static sal_uInt16 pPageLeftFooterRanges[] = { SID_SCATTR_PAGE_FOOTERLEFT, 86*cdf0e10cSrcweir SID_SCATTR_PAGE_FOOTERLEFT, 87*cdf0e10cSrcweir 0 }; 88*cdf0e10cSrcweir 89*cdf0e10cSrcweir 90*cdf0e10cSrcweir static ScEditWindow* pActiveEdWnd = NULL; 91*cdf0e10cSrcweir 92*cdf0e10cSrcweir 93*cdf0e10cSrcweir //======================================================================== 94*cdf0e10cSrcweir // class ScHFEditPage 95*cdf0e10cSrcweir // 96*cdf0e10cSrcweir 97*cdf0e10cSrcweir ScHFEditPage::ScHFEditPage( Window* pParent, 98*cdf0e10cSrcweir sal_uInt16 nResId, 99*cdf0e10cSrcweir const SfxItemSet& rCoreAttrs, 100*cdf0e10cSrcweir sal_uInt16 nWhichId, 101*cdf0e10cSrcweir bool bHeader ) 102*cdf0e10cSrcweir 103*cdf0e10cSrcweir : SfxTabPage ( pParent, ScResId( nResId ), rCoreAttrs ), 104*cdf0e10cSrcweir 105*cdf0e10cSrcweir aFtLeft ( this, ScResId( FT_LEFT ) ), 106*cdf0e10cSrcweir aWndLeft ( this, ScResId( WND_LEFT ), Left ), 107*cdf0e10cSrcweir aFtCenter ( this, ScResId( FT_CENTER ) ), 108*cdf0e10cSrcweir aWndCenter ( this, ScResId( WND_CENTER ), Center ), 109*cdf0e10cSrcweir aFtRight ( this, ScResId( FT_RIGHT ) ), 110*cdf0e10cSrcweir aWndRight ( this, ScResId( WND_RIGHT ), Right ), 111*cdf0e10cSrcweir maFtDefinedHF ( this, ScResId( FT_HF_DEFINED ) ), 112*cdf0e10cSrcweir maLbDefined ( this, ScResId( LB_DEFINED ) ), 113*cdf0e10cSrcweir maFtCustomHF ( this, ScResId( FT_HF_CUSTOM ) ), 114*cdf0e10cSrcweir aBtnText ( this, ScResId( BTN_TEXT ) ), 115*cdf0e10cSrcweir aBtnFile ( this, ScResId( BTN_FILE ) ), 116*cdf0e10cSrcweir aBtnTable ( this, ScResId( BTN_TABLE ) ), 117*cdf0e10cSrcweir aBtnPage ( this, ScResId( BTN_PAGE ) ), 118*cdf0e10cSrcweir aBtnLastPage ( this, ScResId( BTN_PAGES ) ), 119*cdf0e10cSrcweir aBtnDate ( this, ScResId( BTN_DATE ) ), 120*cdf0e10cSrcweir aBtnTime ( this, ScResId( BTN_TIME ) ), 121*cdf0e10cSrcweir aFlInfo ( this, ScResId( FL_INFO ) ), 122*cdf0e10cSrcweir aFtInfo ( this, ScResId( FT_INFO ) ), 123*cdf0e10cSrcweir aPopUpFile ( ScResId( RID_POPUP_FCOMMAND) ), 124*cdf0e10cSrcweir nWhich ( nWhichId ) 125*cdf0e10cSrcweir { 126*cdf0e10cSrcweir //! use default style from current document? 127*cdf0e10cSrcweir //! if font color is used, header/footer background color must be set 128*cdf0e10cSrcweir 129*cdf0e10cSrcweir ScPatternAttr aPatAttr( rCoreAttrs.GetPool() ); 130*cdf0e10cSrcweir 131*cdf0e10cSrcweir 132*cdf0e10cSrcweir aBtnFile.SetPopupMenu(&aPopUpFile); 133*cdf0e10cSrcweir 134*cdf0e10cSrcweir maLbDefined.SetSelectHdl( LINK( this, ScHFEditPage, ListHdl_Impl ) ); 135*cdf0e10cSrcweir aBtnFile.SetMenuHdl( LINK( this, ScHFEditPage, MenuHdl ) ); 136*cdf0e10cSrcweir aBtnText .SetClickHdl( LINK( this, ScHFEditPage, ClickHdl ) ); 137*cdf0e10cSrcweir aBtnPage .SetClickHdl( LINK( this, ScHFEditPage, ClickHdl ) ); 138*cdf0e10cSrcweir aBtnLastPage.SetClickHdl( LINK( this, ScHFEditPage, ClickHdl ) ); 139*cdf0e10cSrcweir aBtnDate .SetClickHdl( LINK( this, ScHFEditPage, ClickHdl ) ); 140*cdf0e10cSrcweir aBtnTime .SetClickHdl( LINK( this, ScHFEditPage, ClickHdl ) ); 141*cdf0e10cSrcweir aBtnFile .SetClickHdl( LINK( this, ScHFEditPage, ClickHdl ) ); 142*cdf0e10cSrcweir aBtnTable .SetClickHdl( LINK( this, ScHFEditPage, ClickHdl ) ); 143*cdf0e10cSrcweir 144*cdf0e10cSrcweir aBtnText .SetModeImage( Image( ScResId( IMG_TEXT_H ) ), BMP_COLOR_HIGHCONTRAST ); 145*cdf0e10cSrcweir aBtnFile .SetModeImage( Image( ScResId( IMG_FILE_H ) ), BMP_COLOR_HIGHCONTRAST ); 146*cdf0e10cSrcweir aBtnTable .SetModeImage( Image( ScResId( IMG_TABLE_H ) ), BMP_COLOR_HIGHCONTRAST ); 147*cdf0e10cSrcweir aBtnPage .SetModeImage( Image( ScResId( IMG_PAGE_H ) ), BMP_COLOR_HIGHCONTRAST ); 148*cdf0e10cSrcweir aBtnLastPage.SetModeImage( Image( ScResId( IMG_PAGES_H ) ), BMP_COLOR_HIGHCONTRAST ); 149*cdf0e10cSrcweir aBtnDate .SetModeImage( Image( ScResId( IMG_DATE_H ) ), BMP_COLOR_HIGHCONTRAST ); 150*cdf0e10cSrcweir aBtnTime .SetModeImage( Image( ScResId( IMG_TIME_H ) ), BMP_COLOR_HIGHCONTRAST ); 151*cdf0e10cSrcweir 152*cdf0e10cSrcweir if(!bHeader) 153*cdf0e10cSrcweir { 154*cdf0e10cSrcweir maFtDefinedHF.SetText(ScGlobal::GetRscString( STR_FOOTER )); 155*cdf0e10cSrcweir maFtCustomHF.SetText(ScGlobal::GetRscString( STR_HF_CUSTOM_FOOTER )); 156*cdf0e10cSrcweir } 157*cdf0e10cSrcweir if( Application::GetSettings().GetLayoutRTL() ) 158*cdf0e10cSrcweir { 159*cdf0e10cSrcweir Point pt1 = aWndLeft.GetPosPixel(); 160*cdf0e10cSrcweir Point pt2 = aWndRight.GetPosPixel(); 161*cdf0e10cSrcweir aWndLeft.SetPosPixel(pt2); 162*cdf0e10cSrcweir aWndRight.SetPosPixel(pt1); 163*cdf0e10cSrcweir 164*cdf0e10cSrcweir pt1 = aFtLeft.GetPosPixel(); 165*cdf0e10cSrcweir pt2 = aFtRight.GetPosPixel(); 166*cdf0e10cSrcweir aFtLeft.SetPosPixel(pt2); 167*cdf0e10cSrcweir aFtRight.SetPosPixel(pt1); 168*cdf0e10cSrcweir } 169*cdf0e10cSrcweir aWndLeft. SetFont( aPatAttr ); 170*cdf0e10cSrcweir aWndCenter. SetFont( aPatAttr ); 171*cdf0e10cSrcweir aWndRight. SetFont( aPatAttr ); 172*cdf0e10cSrcweir 173*cdf0e10cSrcweir FillCmdArr(); 174*cdf0e10cSrcweir 175*cdf0e10cSrcweir aWndLeft.GrabFocus(); 176*cdf0e10cSrcweir 177*cdf0e10cSrcweir InitPreDefinedList(); 178*cdf0e10cSrcweir 179*cdf0e10cSrcweir FreeResource(); 180*cdf0e10cSrcweir } 181*cdf0e10cSrcweir 182*cdf0e10cSrcweir // ----------------------------------------------------------------------- 183*cdf0e10cSrcweir 184*cdf0e10cSrcweir __EXPORT ScHFEditPage::~ScHFEditPage() 185*cdf0e10cSrcweir { 186*cdf0e10cSrcweir } 187*cdf0e10cSrcweir 188*cdf0e10cSrcweir void ScHFEditPage::SetNumType(SvxNumType eNumType) 189*cdf0e10cSrcweir { 190*cdf0e10cSrcweir aWndLeft.SetNumType(eNumType); 191*cdf0e10cSrcweir aWndCenter.SetNumType(eNumType); 192*cdf0e10cSrcweir aWndRight.SetNumType(eNumType); 193*cdf0e10cSrcweir } 194*cdf0e10cSrcweir 195*cdf0e10cSrcweir // ----------------------------------------------------------------------- 196*cdf0e10cSrcweir 197*cdf0e10cSrcweir #define IS_AVAILABLE(w)(rCoreSet.GetItemState( (w) ) >= SFX_ITEM_AVAILABLE) 198*cdf0e10cSrcweir 199*cdf0e10cSrcweir void __EXPORT ScHFEditPage::Reset( const SfxItemSet& rCoreSet ) 200*cdf0e10cSrcweir { 201*cdf0e10cSrcweir if ( IS_AVAILABLE( nWhich ) ) 202*cdf0e10cSrcweir { 203*cdf0e10cSrcweir const ScPageHFItem& rItem = (const ScPageHFItem&)(rCoreSet.Get( nWhich )); 204*cdf0e10cSrcweir 205*cdf0e10cSrcweir if( const EditTextObject* pLeft = rItem.GetLeftArea() ) 206*cdf0e10cSrcweir aWndLeft.SetText( *pLeft ); 207*cdf0e10cSrcweir if( const EditTextObject* pCenter = rItem.GetCenterArea() ) 208*cdf0e10cSrcweir aWndCenter.SetText( *pCenter ); 209*cdf0e10cSrcweir if( const EditTextObject* pRight = rItem.GetRightArea() ) 210*cdf0e10cSrcweir aWndRight.SetText( *pRight ); 211*cdf0e10cSrcweir 212*cdf0e10cSrcweir SetSelectDefinedList(); 213*cdf0e10cSrcweir } 214*cdf0e10cSrcweir } 215*cdf0e10cSrcweir 216*cdf0e10cSrcweir #undef IS_AVAILABLE 217*cdf0e10cSrcweir 218*cdf0e10cSrcweir // ----------------------------------------------------------------------- 219*cdf0e10cSrcweir 220*cdf0e10cSrcweir sal_Bool __EXPORT ScHFEditPage::FillItemSet( SfxItemSet& rCoreSet ) 221*cdf0e10cSrcweir { 222*cdf0e10cSrcweir ScPageHFItem aItem( nWhich ); 223*cdf0e10cSrcweir EditTextObject* pLeft = aWndLeft .CreateTextObject(); 224*cdf0e10cSrcweir EditTextObject* pCenter = aWndCenter.CreateTextObject(); 225*cdf0e10cSrcweir EditTextObject* pRight = aWndRight .CreateTextObject(); 226*cdf0e10cSrcweir 227*cdf0e10cSrcweir aItem.SetLeftArea ( *pLeft ); 228*cdf0e10cSrcweir aItem.SetCenterArea( *pCenter ); 229*cdf0e10cSrcweir aItem.SetRightArea ( *pRight ); 230*cdf0e10cSrcweir delete pLeft; 231*cdf0e10cSrcweir delete pCenter; 232*cdf0e10cSrcweir delete pRight; 233*cdf0e10cSrcweir 234*cdf0e10cSrcweir rCoreSet.Put( aItem ); 235*cdf0e10cSrcweir 236*cdf0e10cSrcweir return sal_True; 237*cdf0e10cSrcweir } 238*cdf0e10cSrcweir 239*cdf0e10cSrcweir // ----------------------------------------------------------------------- 240*cdf0e10cSrcweir 241*cdf0e10cSrcweir #define SET_CMD(i,id) \ 242*cdf0e10cSrcweir aCmd = aDel; \ 243*cdf0e10cSrcweir aCmd += ScGlobal::GetRscString( id ); \ 244*cdf0e10cSrcweir aCmd += aDel; \ 245*cdf0e10cSrcweir aCmdArr[i] = aCmd; 246*cdf0e10cSrcweir 247*cdf0e10cSrcweir // ----------------------------------------------------------------------- 248*cdf0e10cSrcweir 249*cdf0e10cSrcweir void ScHFEditPage::FillCmdArr() 250*cdf0e10cSrcweir { 251*cdf0e10cSrcweir String aDel( ScGlobal::GetRscString( STR_HFCMD_DELIMITER ) ); 252*cdf0e10cSrcweir String aCmd; 253*cdf0e10cSrcweir 254*cdf0e10cSrcweir SET_CMD( 0, STR_HFCMD_PAGE ) 255*cdf0e10cSrcweir SET_CMD( 1, STR_HFCMD_PAGES ) 256*cdf0e10cSrcweir SET_CMD( 2, STR_HFCMD_DATE ) 257*cdf0e10cSrcweir SET_CMD( 3, STR_HFCMD_TIME ) 258*cdf0e10cSrcweir SET_CMD( 4, STR_HFCMD_FILE ) 259*cdf0e10cSrcweir SET_CMD( 5, STR_HFCMD_TABLE ) 260*cdf0e10cSrcweir } 261*cdf0e10cSrcweir 262*cdf0e10cSrcweir #undef SET_CMD 263*cdf0e10cSrcweir 264*cdf0e10cSrcweir void ScHFEditPage::InitPreDefinedList() 265*cdf0e10cSrcweir { 266*cdf0e10cSrcweir SvtUserOptions aUserOpt; 267*cdf0e10cSrcweir 268*cdf0e10cSrcweir Color* pTxtColour = NULL; 269*cdf0e10cSrcweir Color* pFldColour = NULL; 270*cdf0e10cSrcweir 271*cdf0e10cSrcweir // Get the all field values at the outset. 272*cdf0e10cSrcweir String aPageFieldValue(aWndLeft.GetEditEngine()->CalcFieldValue(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), 0,0, pTxtColour, pFldColour)); 273*cdf0e10cSrcweir String aSheetFieldValue(aWndLeft.GetEditEngine()->CalcFieldValue(SvxFieldItem(SvxTableField(), EE_FEATURE_FIELD), 0,0, pTxtColour, pFldColour)); 274*cdf0e10cSrcweir String aFileFieldValue(aWndLeft.GetEditEngine()->CalcFieldValue(SvxFieldItem(SvxFileField(), EE_FEATURE_FIELD), 0,0, pTxtColour, pFldColour)); 275*cdf0e10cSrcweir String aExtFileFieldValue(aWndLeft.GetEditEngine()->CalcFieldValue(SvxFieldItem(SvxExtFileField(), EE_FEATURE_FIELD), 0,0, pTxtColour, pFldColour)); 276*cdf0e10cSrcweir String aDateFieldValue(aWndLeft.GetEditEngine()->CalcFieldValue(SvxFieldItem(SvxDateField(), EE_FEATURE_FIELD), 0,0, pTxtColour, pFldColour)); 277*cdf0e10cSrcweir 278*cdf0e10cSrcweir maLbDefined.Clear(); 279*cdf0e10cSrcweir 280*cdf0e10cSrcweir maLbDefined.InsertEntry( ScGlobal::GetRscString( STR_HF_NONE_IN_BRACKETS )); 281*cdf0e10cSrcweir 282*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 283*cdf0e10cSrcweir aPageEntry += ' '; 284*cdf0e10cSrcweir aPageEntry += aPageFieldValue; 285*cdf0e10cSrcweir maLbDefined.InsertEntry(aPageEntry); 286*cdf0e10cSrcweir 287*cdf0e10cSrcweir String aPageOfEntry(aPageEntry); 288*cdf0e10cSrcweir aPageOfEntry += ' '; 289*cdf0e10cSrcweir aPageOfEntry += ScGlobal::GetRscString( STR_HF_OF_QUESTION ); 290*cdf0e10cSrcweir maLbDefined.InsertEntry( aPageOfEntry); 291*cdf0e10cSrcweir 292*cdf0e10cSrcweir maLbDefined.InsertEntry(aSheetFieldValue); 293*cdf0e10cSrcweir 294*cdf0e10cSrcweir String aConfidentialEntry(aUserOpt.GetCompany()); 295*cdf0e10cSrcweir aConfidentialEntry += ' '; 296*cdf0e10cSrcweir aConfidentialEntry += ScGlobal::GetRscString( STR_HF_CONFIDENTIAL ); 297*cdf0e10cSrcweir aConfidentialEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 298*cdf0e10cSrcweir aConfidentialEntry += aDateFieldValue; 299*cdf0e10cSrcweir aConfidentialEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 300*cdf0e10cSrcweir aConfidentialEntry += aPageEntry; 301*cdf0e10cSrcweir maLbDefined.InsertEntry( aConfidentialEntry); 302*cdf0e10cSrcweir 303*cdf0e10cSrcweir String aFileNamePageEntry(aFileFieldValue); 304*cdf0e10cSrcweir aFileNamePageEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 305*cdf0e10cSrcweir aFileNamePageEntry += aPageEntry; 306*cdf0e10cSrcweir maLbDefined.InsertEntry( aFileNamePageEntry); 307*cdf0e10cSrcweir 308*cdf0e10cSrcweir maLbDefined.InsertEntry( aExtFileFieldValue); 309*cdf0e10cSrcweir 310*cdf0e10cSrcweir String aPageSheetNameEntry(aPageEntry); 311*cdf0e10cSrcweir aPageSheetNameEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 312*cdf0e10cSrcweir aPageSheetNameEntry += aSheetFieldValue; 313*cdf0e10cSrcweir maLbDefined.InsertEntry( aPageSheetNameEntry); 314*cdf0e10cSrcweir 315*cdf0e10cSrcweir String aPageFileNameEntry(aPageEntry); 316*cdf0e10cSrcweir aPageFileNameEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 317*cdf0e10cSrcweir aPageFileNameEntry += aFileFieldValue; 318*cdf0e10cSrcweir maLbDefined.InsertEntry( aPageFileNameEntry); 319*cdf0e10cSrcweir 320*cdf0e10cSrcweir String aPagePathNameEntry(aPageEntry); 321*cdf0e10cSrcweir aPagePathNameEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 322*cdf0e10cSrcweir aPagePathNameEntry += aExtFileFieldValue; 323*cdf0e10cSrcweir maLbDefined.InsertEntry( aPagePathNameEntry); 324*cdf0e10cSrcweir 325*cdf0e10cSrcweir String aUserNameEntry(aUserOpt.GetFirstName()); 326*cdf0e10cSrcweir aUserNameEntry += ' '; 327*cdf0e10cSrcweir aUserNameEntry += (String)aUserOpt.GetLastName(); 328*cdf0e10cSrcweir aUserNameEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 329*cdf0e10cSrcweir aUserNameEntry += aPageEntry; 330*cdf0e10cSrcweir aUserNameEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 331*cdf0e10cSrcweir aUserNameEntry += aDateFieldValue; 332*cdf0e10cSrcweir maLbDefined.InsertEntry( aUserNameEntry); 333*cdf0e10cSrcweir 334*cdf0e10cSrcweir String aCreatedByEntry(ScGlobal::GetRscString( STR_HF_CREATED_BY ) ); 335*cdf0e10cSrcweir aCreatedByEntry += ' '; 336*cdf0e10cSrcweir aCreatedByEntry += (String)aUserOpt.GetFirstName(); 337*cdf0e10cSrcweir aCreatedByEntry += ' '; 338*cdf0e10cSrcweir aCreatedByEntry += (String)aUserOpt.GetLastName(); 339*cdf0e10cSrcweir aCreatedByEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 340*cdf0e10cSrcweir aCreatedByEntry += aDateFieldValue; 341*cdf0e10cSrcweir aCreatedByEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); 342*cdf0e10cSrcweir aCreatedByEntry += aPageEntry; 343*cdf0e10cSrcweir maLbDefined.InsertEntry( aCreatedByEntry); 344*cdf0e10cSrcweir } 345*cdf0e10cSrcweir 346*cdf0e10cSrcweir void ScHFEditPage::InsertToDefinedList() 347*cdf0e10cSrcweir { 348*cdf0e10cSrcweir sal_uInt16 nCount = maLbDefined.GetEntryCount(); 349*cdf0e10cSrcweir if(nCount == eEntryCount) 350*cdf0e10cSrcweir { 351*cdf0e10cSrcweir String aCustomizedEntry(ScGlobal::GetRscString( STR_HF_CUSTOMIZED ) ); 352*cdf0e10cSrcweir maLbDefined.InsertEntry( aCustomizedEntry); 353*cdf0e10cSrcweir maLbDefined.SelectEntryPos(eEntryCount); 354*cdf0e10cSrcweir } 355*cdf0e10cSrcweir } 356*cdf0e10cSrcweir 357*cdf0e10cSrcweir void ScHFEditPage::RemoveFromDefinedList() 358*cdf0e10cSrcweir { 359*cdf0e10cSrcweir sal_uInt16 nCount = maLbDefined.GetEntryCount(); 360*cdf0e10cSrcweir if(nCount > eEntryCount ) 361*cdf0e10cSrcweir maLbDefined.RemoveEntry( nCount-1); 362*cdf0e10cSrcweir } 363*cdf0e10cSrcweir 364*cdf0e10cSrcweir // determine if the header/footer exists in our predefined list and set select to it. 365*cdf0e10cSrcweir void ScHFEditPage::SetSelectDefinedList() 366*cdf0e10cSrcweir { 367*cdf0e10cSrcweir SvtUserOptions aUserOpt; 368*cdf0e10cSrcweir 369*cdf0e10cSrcweir // default to customized 370*cdf0e10cSrcweir ScHFEntryId eSelectEntry = eEntryCount; 371*cdf0e10cSrcweir 372*cdf0e10cSrcweir ::std::auto_ptr< EditTextObject > pLeftObj; 373*cdf0e10cSrcweir ::std::auto_ptr< EditTextObject > pCenterObj; 374*cdf0e10cSrcweir ::std::auto_ptr< EditTextObject > pRightObj; 375*cdf0e10cSrcweir 376*cdf0e10cSrcweir XubString aLeftEntry; 377*cdf0e10cSrcweir XubString aCenterEntry; 378*cdf0e10cSrcweir XubString aRightEntry; 379*cdf0e10cSrcweir 380*cdf0e10cSrcweir pLeftObj.reset(aWndLeft.GetEditEngine()->CreateTextObject()); 381*cdf0e10cSrcweir pCenterObj.reset(aWndCenter.GetEditEngine()->CreateTextObject()); 382*cdf0e10cSrcweir pRightObj.reset(aWndRight.GetEditEngine()->CreateTextObject()); 383*cdf0e10cSrcweir 384*cdf0e10cSrcweir bool bFound = false; 385*cdf0e10cSrcweir 386*cdf0e10cSrcweir sal_uInt16 i; 387*cdf0e10cSrcweir sal_uInt16 nCount = maLbDefined.GetEntryCount(); 388*cdf0e10cSrcweir for(i = 0; i < nCount && !bFound; i++) 389*cdf0e10cSrcweir { 390*cdf0e10cSrcweir switch(static_cast<ScHFEntryId>(i)) 391*cdf0e10cSrcweir { 392*cdf0e10cSrcweir case eNoneEntry: 393*cdf0e10cSrcweir { 394*cdf0e10cSrcweir aLeftEntry = pLeftObj->GetText(0); 395*cdf0e10cSrcweir aCenterEntry = pCenterObj->GetText(0); 396*cdf0e10cSrcweir aRightEntry = pRightObj->GetText(0); 397*cdf0e10cSrcweir if(aLeftEntry == EMPTY_STRING && aCenterEntry == EMPTY_STRING 398*cdf0e10cSrcweir && aRightEntry == EMPTY_STRING) 399*cdf0e10cSrcweir { 400*cdf0e10cSrcweir eSelectEntry = eNoneEntry; 401*cdf0e10cSrcweir bFound = true; 402*cdf0e10cSrcweir } 403*cdf0e10cSrcweir } 404*cdf0e10cSrcweir break; 405*cdf0e10cSrcweir 406*cdf0e10cSrcweir case ePageEntry: 407*cdf0e10cSrcweir { 408*cdf0e10cSrcweir aLeftEntry = pLeftObj->GetText(0); 409*cdf0e10cSrcweir aRightEntry = pRightObj->GetText(0); 410*cdf0e10cSrcweir if(aLeftEntry == EMPTY_STRING && aRightEntry == EMPTY_STRING) 411*cdf0e10cSrcweir { 412*cdf0e10cSrcweir if(IsPageEntry(aWndCenter.GetEditEngine(), pCenterObj.get())) 413*cdf0e10cSrcweir { 414*cdf0e10cSrcweir eSelectEntry = ePageEntry; 415*cdf0e10cSrcweir bFound = true; 416*cdf0e10cSrcweir } 417*cdf0e10cSrcweir } 418*cdf0e10cSrcweir } 419*cdf0e10cSrcweir break; 420*cdf0e10cSrcweir 421*cdf0e10cSrcweir 422*cdf0e10cSrcweir //TODO 423*cdf0e10cSrcweir case ePagesEntry: 424*cdf0e10cSrcweir { 425*cdf0e10cSrcweir } 426*cdf0e10cSrcweir break; 427*cdf0e10cSrcweir 428*cdf0e10cSrcweir case eSheetEntry: 429*cdf0e10cSrcweir { 430*cdf0e10cSrcweir aLeftEntry = pLeftObj->GetText(0); 431*cdf0e10cSrcweir aRightEntry = pRightObj->GetText(0); 432*cdf0e10cSrcweir if(aLeftEntry == EMPTY_STRING && aRightEntry == EMPTY_STRING) 433*cdf0e10cSrcweir { 434*cdf0e10cSrcweir if(pCenterObj->IsFieldObject()) 435*cdf0e10cSrcweir { 436*cdf0e10cSrcweir const SvxFieldItem* pFieldItem = pCenterObj->GetField(); 437*cdf0e10cSrcweir if(pFieldItem) 438*cdf0e10cSrcweir { 439*cdf0e10cSrcweir const SvxFieldData* pField = pFieldItem->GetField(); 440*cdf0e10cSrcweir if(pField && pField->ISA(SvxTableField)) 441*cdf0e10cSrcweir { 442*cdf0e10cSrcweir eSelectEntry = eSheetEntry; 443*cdf0e10cSrcweir bFound = true; 444*cdf0e10cSrcweir } 445*cdf0e10cSrcweir } 446*cdf0e10cSrcweir } 447*cdf0e10cSrcweir } 448*cdf0e10cSrcweir } 449*cdf0e10cSrcweir break; 450*cdf0e10cSrcweir 451*cdf0e10cSrcweir case eConfidentialEntry: 452*cdf0e10cSrcweir { 453*cdf0e10cSrcweir if(IsDateEntry(pCenterObj.get()) && IsPageEntry(aWndRight.GetEditEngine(), pRightObj.get())) 454*cdf0e10cSrcweir { 455*cdf0e10cSrcweir String aConfidentialEntry(aUserOpt.GetCompany()); 456*cdf0e10cSrcweir aConfidentialEntry += ' '; 457*cdf0e10cSrcweir aConfidentialEntry += ScGlobal::GetRscString( STR_HF_CONFIDENTIAL ); 458*cdf0e10cSrcweir if(aConfidentialEntry == aWndLeft.GetEditEngine()->GetText(0)) 459*cdf0e10cSrcweir { 460*cdf0e10cSrcweir eSelectEntry = eConfidentialEntry; 461*cdf0e10cSrcweir bFound = true; 462*cdf0e10cSrcweir } 463*cdf0e10cSrcweir } 464*cdf0e10cSrcweir } 465*cdf0e10cSrcweir break; 466*cdf0e10cSrcweir 467*cdf0e10cSrcweir //TODO 468*cdf0e10cSrcweir case eFileNamePageEntry: 469*cdf0e10cSrcweir { 470*cdf0e10cSrcweir } 471*cdf0e10cSrcweir break; 472*cdf0e10cSrcweir 473*cdf0e10cSrcweir case eExtFileNameEntry: 474*cdf0e10cSrcweir { 475*cdf0e10cSrcweir aLeftEntry = pLeftObj->GetText(0); 476*cdf0e10cSrcweir aRightEntry = pRightObj->GetText(0); 477*cdf0e10cSrcweir if(IsExtFileNameEntry(pCenterObj.get()) && aLeftEntry == EMPTY_STRING 478*cdf0e10cSrcweir && aRightEntry == EMPTY_STRING) 479*cdf0e10cSrcweir { 480*cdf0e10cSrcweir eSelectEntry = eExtFileNameEntry; 481*cdf0e10cSrcweir bFound = true; 482*cdf0e10cSrcweir } 483*cdf0e10cSrcweir } 484*cdf0e10cSrcweir break; 485*cdf0e10cSrcweir 486*cdf0e10cSrcweir //TODO 487*cdf0e10cSrcweir case ePageSheetEntry: 488*cdf0e10cSrcweir { 489*cdf0e10cSrcweir } 490*cdf0e10cSrcweir break; 491*cdf0e10cSrcweir 492*cdf0e10cSrcweir //TODO 493*cdf0e10cSrcweir case ePageFileNameEntry: 494*cdf0e10cSrcweir { 495*cdf0e10cSrcweir } 496*cdf0e10cSrcweir break; 497*cdf0e10cSrcweir 498*cdf0e10cSrcweir case ePageExtFileNameEntry: 499*cdf0e10cSrcweir { 500*cdf0e10cSrcweir aLeftEntry = pLeftObj->GetText(0); 501*cdf0e10cSrcweir if(IsPageEntry(aWndCenter.GetEditEngine(), pCenterObj.get()) && 502*cdf0e10cSrcweir IsExtFileNameEntry(pRightObj.get()) && aLeftEntry == EMPTY_STRING) 503*cdf0e10cSrcweir { 504*cdf0e10cSrcweir eSelectEntry = ePageExtFileNameEntry; 505*cdf0e10cSrcweir bFound = true; 506*cdf0e10cSrcweir } 507*cdf0e10cSrcweir } 508*cdf0e10cSrcweir break; 509*cdf0e10cSrcweir 510*cdf0e10cSrcweir case eUserNameEntry: 511*cdf0e10cSrcweir { 512*cdf0e10cSrcweir if(IsDateEntry(pRightObj.get()) && IsPageEntry(aWndCenter.GetEditEngine(), pCenterObj.get())) 513*cdf0e10cSrcweir { 514*cdf0e10cSrcweir String aUserNameEntry(aUserOpt.GetFirstName()); 515*cdf0e10cSrcweir aUserNameEntry += ' '; 516*cdf0e10cSrcweir aUserNameEntry += (String)aUserOpt.GetLastName(); 517*cdf0e10cSrcweir if(aUserNameEntry == aWndLeft.GetEditEngine()->GetText(0)) 518*cdf0e10cSrcweir { 519*cdf0e10cSrcweir eSelectEntry = eUserNameEntry; 520*cdf0e10cSrcweir bFound = true; 521*cdf0e10cSrcweir } 522*cdf0e10cSrcweir } 523*cdf0e10cSrcweir } 524*cdf0e10cSrcweir break; 525*cdf0e10cSrcweir 526*cdf0e10cSrcweir case eCreatedByEntry: 527*cdf0e10cSrcweir { 528*cdf0e10cSrcweir if(IsDateEntry(pCenterObj.get()) && IsPageEntry(aWndRight.GetEditEngine(), pRightObj.get())) 529*cdf0e10cSrcweir { 530*cdf0e10cSrcweir String aCreatedByEntry(ScGlobal::GetRscString( STR_HF_CREATED_BY ) ); 531*cdf0e10cSrcweir aCreatedByEntry += ' '; 532*cdf0e10cSrcweir aCreatedByEntry += (String)aUserOpt.GetFirstName(); 533*cdf0e10cSrcweir aCreatedByEntry += ' '; 534*cdf0e10cSrcweir aCreatedByEntry += (String)aUserOpt.GetLastName(); 535*cdf0e10cSrcweir if(aCreatedByEntry == aWndLeft.GetEditEngine()->GetText(0)) 536*cdf0e10cSrcweir { 537*cdf0e10cSrcweir eSelectEntry = eCreatedByEntry; 538*cdf0e10cSrcweir bFound = true; 539*cdf0e10cSrcweir } 540*cdf0e10cSrcweir } 541*cdf0e10cSrcweir } 542*cdf0e10cSrcweir break; 543*cdf0e10cSrcweir 544*cdf0e10cSrcweir default: 545*cdf0e10cSrcweir { 546*cdf0e10cSrcweir // added to avoid warnings 547*cdf0e10cSrcweir } 548*cdf0e10cSrcweir } 549*cdf0e10cSrcweir } 550*cdf0e10cSrcweir 551*cdf0e10cSrcweir if(eSelectEntry == eEntryCount) 552*cdf0e10cSrcweir InsertToDefinedList(); 553*cdf0e10cSrcweir 554*cdf0e10cSrcweir maLbDefined.SelectEntryPos( sal::static_int_cast<sal_uInt16>( eSelectEntry ) ); 555*cdf0e10cSrcweir } 556*cdf0e10cSrcweir 557*cdf0e10cSrcweir bool ScHFEditPage::IsPageEntry(EditEngine*pEngine, EditTextObject* pTextObj) 558*cdf0e10cSrcweir { 559*cdf0e10cSrcweir if(!pEngine && !pTextObj) 560*cdf0e10cSrcweir return false; 561*cdf0e10cSrcweir 562*cdf0e10cSrcweir bool bReturn = false; 563*cdf0e10cSrcweir 564*cdf0e10cSrcweir if(!pTextObj->IsFieldObject()) 565*cdf0e10cSrcweir { 566*cdf0e10cSrcweir SvUShorts aPosList; 567*cdf0e10cSrcweir pEngine->GetPortions(0,aPosList); 568*cdf0e10cSrcweir if(aPosList.Count() == 2) 569*cdf0e10cSrcweir { 570*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 571*cdf0e10cSrcweir aPageEntry += ' '; 572*cdf0e10cSrcweir ESelection aSel(0,0,0,0); 573*cdf0e10cSrcweir aSel.nEndPos = aPageEntry.Len(); 574*cdf0e10cSrcweir if(aPageEntry == pEngine->GetText(aSel)) 575*cdf0e10cSrcweir { 576*cdf0e10cSrcweir aSel.nStartPos = aSel.nEndPos; 577*cdf0e10cSrcweir aSel.nEndPos++; 578*cdf0e10cSrcweir ::std::auto_ptr< EditTextObject > pPageObj; 579*cdf0e10cSrcweir pPageObj.reset(pEngine->CreateTextObject(aSel)); 580*cdf0e10cSrcweir if(pPageObj.get() && pPageObj->IsFieldObject() ) 581*cdf0e10cSrcweir { 582*cdf0e10cSrcweir const SvxFieldItem* pFieldItem = pPageObj->GetField(); 583*cdf0e10cSrcweir if(pFieldItem) 584*cdf0e10cSrcweir { 585*cdf0e10cSrcweir const SvxFieldData* pField = pFieldItem->GetField(); 586*cdf0e10cSrcweir if(pField && pField->ISA(SvxPageField)) 587*cdf0e10cSrcweir bReturn = true; 588*cdf0e10cSrcweir } 589*cdf0e10cSrcweir } 590*cdf0e10cSrcweir } 591*cdf0e10cSrcweir } 592*cdf0e10cSrcweir } 593*cdf0e10cSrcweir return bReturn; 594*cdf0e10cSrcweir } 595*cdf0e10cSrcweir 596*cdf0e10cSrcweir bool ScHFEditPage::IsDateEntry(EditTextObject* pTextObj) 597*cdf0e10cSrcweir { 598*cdf0e10cSrcweir if(!pTextObj) 599*cdf0e10cSrcweir return false; 600*cdf0e10cSrcweir 601*cdf0e10cSrcweir bool bReturn = false; 602*cdf0e10cSrcweir if(pTextObj->IsFieldObject()) 603*cdf0e10cSrcweir { 604*cdf0e10cSrcweir const SvxFieldItem* pFieldItem = pTextObj->GetField(); 605*cdf0e10cSrcweir if(pFieldItem) 606*cdf0e10cSrcweir { 607*cdf0e10cSrcweir const SvxFieldData* pField = pFieldItem->GetField(); 608*cdf0e10cSrcweir if(pField && pField->ISA(SvxDateField)) 609*cdf0e10cSrcweir bReturn = true; 610*cdf0e10cSrcweir } 611*cdf0e10cSrcweir } 612*cdf0e10cSrcweir return bReturn; 613*cdf0e10cSrcweir } 614*cdf0e10cSrcweir 615*cdf0e10cSrcweir bool ScHFEditPage::IsExtFileNameEntry(EditTextObject* pTextObj) 616*cdf0e10cSrcweir { 617*cdf0e10cSrcweir if(!pTextObj) 618*cdf0e10cSrcweir return false; 619*cdf0e10cSrcweir bool bReturn = false; 620*cdf0e10cSrcweir if(pTextObj->IsFieldObject()) 621*cdf0e10cSrcweir { 622*cdf0e10cSrcweir const SvxFieldItem* pFieldItem = pTextObj->GetField(); 623*cdf0e10cSrcweir if(pFieldItem) 624*cdf0e10cSrcweir { 625*cdf0e10cSrcweir const SvxFieldData* pField = pFieldItem->GetField(); 626*cdf0e10cSrcweir if(pField && pField->ISA(SvxExtFileField)) 627*cdf0e10cSrcweir bReturn = true; 628*cdf0e10cSrcweir } 629*cdf0e10cSrcweir } 630*cdf0e10cSrcweir return bReturn; 631*cdf0e10cSrcweir } 632*cdf0e10cSrcweir 633*cdf0e10cSrcweir void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling) 634*cdf0e10cSrcweir { 635*cdf0e10cSrcweir SvtUserOptions aUserOpt; 636*cdf0e10cSrcweir ::std::auto_ptr< EditTextObject > pTextObj; 637*cdf0e10cSrcweir 638*cdf0e10cSrcweir switch(eSel) 639*cdf0e10cSrcweir { 640*cdf0e10cSrcweir case eNoneEntry: 641*cdf0e10cSrcweir ClearTextAreas(); 642*cdf0e10cSrcweir if(!bTravelling) 643*cdf0e10cSrcweir aWndLeft.GrabFocus(); 644*cdf0e10cSrcweir break; 645*cdf0e10cSrcweir 646*cdf0e10cSrcweir case ePageEntry: 647*cdf0e10cSrcweir { 648*cdf0e10cSrcweir ClearTextAreas(); 649*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 650*cdf0e10cSrcweir aPageEntry += ' '; 651*cdf0e10cSrcweir aWndCenter.GetEditEngine()->SetText(aPageEntry); 652*cdf0e10cSrcweir aWndCenter.InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) ); 653*cdf0e10cSrcweir if(!bTravelling) 654*cdf0e10cSrcweir aWndCenter.GrabFocus(); 655*cdf0e10cSrcweir } 656*cdf0e10cSrcweir break; 657*cdf0e10cSrcweir 658*cdf0e10cSrcweir case ePagesEntry: 659*cdf0e10cSrcweir { 660*cdf0e10cSrcweir ClearTextAreas(); 661*cdf0e10cSrcweir ESelection aSel(0,0,0,0); 662*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 663*cdf0e10cSrcweir aPageEntry += ' '; 664*cdf0e10cSrcweir aWndCenter.GetEditEngine()->SetText(aPageEntry); 665*cdf0e10cSrcweir aSel.nEndPos = aPageEntry.Len(); 666*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 667*cdf0e10cSrcweir ++aSel.nEndPos; 668*cdf0e10cSrcweir String aPageOfEntry = ' '; 669*cdf0e10cSrcweir aPageOfEntry += ScGlobal::GetRscString( STR_HF_OF ); 670*cdf0e10cSrcweir aPageOfEntry += ' '; 671*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertText(aPageOfEntry,ESelection(aSel.nEndPara,aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 672*cdf0e10cSrcweir aSel.nEndPos = sal::static_int_cast<xub_StrLen>( aSel.nEndPos + aPageOfEntry.Len() ); 673*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPagesField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara,aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 674*cdf0e10cSrcweir pTextObj.reset(aWndCenter.GetEditEngine()->CreateTextObject()); 675*cdf0e10cSrcweir aWndCenter.SetText(*pTextObj); 676*cdf0e10cSrcweir XubString aEntry(pTextObj.get()->GetText(0)); 677*cdf0e10cSrcweir if(!bTravelling) 678*cdf0e10cSrcweir aWndCenter.GrabFocus(); 679*cdf0e10cSrcweir } 680*cdf0e10cSrcweir break; 681*cdf0e10cSrcweir 682*cdf0e10cSrcweir case eSheetEntry: 683*cdf0e10cSrcweir ClearTextAreas(); 684*cdf0e10cSrcweir aWndCenter.InsertField( SvxFieldItem(SvxTableField(), EE_FEATURE_FIELD) ); 685*cdf0e10cSrcweir if(!bTravelling) 686*cdf0e10cSrcweir aWndCenter.GrabFocus(); 687*cdf0e10cSrcweir break; 688*cdf0e10cSrcweir 689*cdf0e10cSrcweir case eConfidentialEntry: 690*cdf0e10cSrcweir { 691*cdf0e10cSrcweir ClearTextAreas(); 692*cdf0e10cSrcweir String aConfidentialEntry(aUserOpt.GetCompany()); 693*cdf0e10cSrcweir aConfidentialEntry += ' '; 694*cdf0e10cSrcweir aConfidentialEntry += ScGlobal::GetRscString( STR_HF_CONFIDENTIAL ); 695*cdf0e10cSrcweir aWndLeft.GetEditEngine()->SetText(aConfidentialEntry); 696*cdf0e10cSrcweir aWndCenter.InsertField( SvxFieldItem(SvxDateField(Date(),SVXDATETYPE_VAR), EE_FEATURE_FIELD) ); 697*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 698*cdf0e10cSrcweir aPageEntry += ' '; 699*cdf0e10cSrcweir aWndRight.GetEditEngine()->SetText(aPageEntry); 700*cdf0e10cSrcweir aWndRight.InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) ); 701*cdf0e10cSrcweir if(!bTravelling) 702*cdf0e10cSrcweir aWndRight.GrabFocus(); 703*cdf0e10cSrcweir } 704*cdf0e10cSrcweir break; 705*cdf0e10cSrcweir 706*cdf0e10cSrcweir case eFileNamePageEntry: 707*cdf0e10cSrcweir { 708*cdf0e10cSrcweir ClearTextAreas(); 709*cdf0e10cSrcweir ESelection aSel(0,0,0,0); 710*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertField(SvxFieldItem( SvxFileField(), EE_FEATURE_FIELD ), aSel ); 711*cdf0e10cSrcweir ++aSel.nEndPos; 712*cdf0e10cSrcweir String aPageEntry(RTL_CONSTASCII_STRINGPARAM(", ")); 713*cdf0e10cSrcweir aPageEntry += ScGlobal::GetRscString( STR_PAGE ) ; 714*cdf0e10cSrcweir aPageEntry += ' '; 715*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertText(aPageEntry, ESelection(aSel.nEndPara,aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 716*cdf0e10cSrcweir aSel.nStartPos = aSel.nEndPos; 717*cdf0e10cSrcweir aSel.nEndPos = sal::static_int_cast<xub_StrLen>( aSel.nEndPos + aPageEntry.Len() ); 718*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara,aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 719*cdf0e10cSrcweir pTextObj.reset(aWndCenter.GetEditEngine()->CreateTextObject()); 720*cdf0e10cSrcweir aWndCenter.SetText(*pTextObj); 721*cdf0e10cSrcweir XubString aEntry2(pTextObj.get()->GetText(0)); 722*cdf0e10cSrcweir if(!bTravelling) 723*cdf0e10cSrcweir aWndCenter.GrabFocus(); 724*cdf0e10cSrcweir } 725*cdf0e10cSrcweir break; 726*cdf0e10cSrcweir 727*cdf0e10cSrcweir case eExtFileNameEntry: 728*cdf0e10cSrcweir ClearTextAreas(); 729*cdf0e10cSrcweir aWndCenter.InsertField( SvxFieldItem( SvxExtFileField( 730*cdf0e10cSrcweir EMPTY_STRING, SVXFILETYPE_VAR, SVXFILEFORMAT_FULLPATH ), EE_FEATURE_FIELD ) ); 731*cdf0e10cSrcweir if(!bTravelling) 732*cdf0e10cSrcweir aWndCenter.GrabFocus(); 733*cdf0e10cSrcweir break; 734*cdf0e10cSrcweir 735*cdf0e10cSrcweir case ePageSheetEntry: 736*cdf0e10cSrcweir { 737*cdf0e10cSrcweir ClearTextAreas(); 738*cdf0e10cSrcweir ESelection aSel(0,0,0,0); 739*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 740*cdf0e10cSrcweir aPageEntry += ' '; 741*cdf0e10cSrcweir aWndCenter.GetEditEngine()->SetText(aPageEntry); 742*cdf0e10cSrcweir aSel.nEndPos = aPageEntry.Len(); 743*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 744*cdf0e10cSrcweir ++aSel.nEndPos; 745*cdf0e10cSrcweir String aCommaSpace(RTL_CONSTASCII_STRINGPARAM(", ")); 746*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertText(aCommaSpace,ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 747*cdf0e10cSrcweir aSel.nEndPos = sal::static_int_cast<xub_StrLen>( aSel.nEndPos + aCommaSpace.Len() ); 748*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertField( SvxFieldItem(SvxTableField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 749*cdf0e10cSrcweir pTextObj.reset(aWndCenter.GetEditEngine()->CreateTextObject()); 750*cdf0e10cSrcweir aWndCenter.SetText(*pTextObj); 751*cdf0e10cSrcweir if(!bTravelling) 752*cdf0e10cSrcweir aWndCenter.GrabFocus(); 753*cdf0e10cSrcweir } 754*cdf0e10cSrcweir break; 755*cdf0e10cSrcweir 756*cdf0e10cSrcweir case ePageFileNameEntry: 757*cdf0e10cSrcweir { 758*cdf0e10cSrcweir ClearTextAreas(); 759*cdf0e10cSrcweir ESelection aSel(0,0,0,0); 760*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 761*cdf0e10cSrcweir aPageEntry += ' '; 762*cdf0e10cSrcweir aWndCenter.GetEditEngine()->SetText(aPageEntry); 763*cdf0e10cSrcweir aSel.nEndPos = aPageEntry.Len(); 764*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 765*cdf0e10cSrcweir ++aSel.nEndPos; 766*cdf0e10cSrcweir String aCommaSpace(RTL_CONSTASCII_STRINGPARAM(", ")); 767*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertText(aCommaSpace,ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 768*cdf0e10cSrcweir aSel.nEndPos = sal::static_int_cast<xub_StrLen>( aSel.nEndPos + aCommaSpace.Len() ); 769*cdf0e10cSrcweir aWndCenter.GetEditEngine()->QuickInsertField( SvxFieldItem(SvxFileField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos)); 770*cdf0e10cSrcweir pTextObj.reset(aWndCenter.GetEditEngine()->CreateTextObject()); 771*cdf0e10cSrcweir aWndCenter.SetText(*pTextObj); 772*cdf0e10cSrcweir if(!bTravelling) 773*cdf0e10cSrcweir aWndCenter.GrabFocus(); 774*cdf0e10cSrcweir } 775*cdf0e10cSrcweir break; 776*cdf0e10cSrcweir 777*cdf0e10cSrcweir case ePageExtFileNameEntry: 778*cdf0e10cSrcweir { 779*cdf0e10cSrcweir ClearTextAreas(); 780*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 781*cdf0e10cSrcweir aPageEntry += ' '; 782*cdf0e10cSrcweir aWndCenter.GetEditEngine()->SetText(aPageEntry); 783*cdf0e10cSrcweir aWndCenter.InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) ); 784*cdf0e10cSrcweir aWndRight.InsertField( SvxFieldItem( SvxExtFileField( 785*cdf0e10cSrcweir EMPTY_STRING, SVXFILETYPE_VAR, SVXFILEFORMAT_FULLPATH ), EE_FEATURE_FIELD ) ); 786*cdf0e10cSrcweir if(!bTravelling) 787*cdf0e10cSrcweir aWndRight.GrabFocus(); 788*cdf0e10cSrcweir } 789*cdf0e10cSrcweir break; 790*cdf0e10cSrcweir 791*cdf0e10cSrcweir case eUserNameEntry: 792*cdf0e10cSrcweir { 793*cdf0e10cSrcweir ClearTextAreas(); 794*cdf0e10cSrcweir String aUserNameEntry(aUserOpt.GetFirstName()); 795*cdf0e10cSrcweir aUserNameEntry += ' '; 796*cdf0e10cSrcweir aUserNameEntry += (String)aUserOpt.GetLastName(); 797*cdf0e10cSrcweir aWndLeft.GetEditEngine()->SetText(aUserNameEntry); 798*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 799*cdf0e10cSrcweir aPageEntry += ' '; 800*cdf0e10cSrcweir aWndCenter.GetEditEngine()->SetText(aPageEntry); 801*cdf0e10cSrcweir aWndCenter.InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) ); 802*cdf0e10cSrcweir aWndRight.InsertField( SvxFieldItem(SvxDateField(Date(),SVXDATETYPE_VAR), EE_FEATURE_FIELD) ); 803*cdf0e10cSrcweir if(!bTravelling) 804*cdf0e10cSrcweir aWndRight.GrabFocus(); 805*cdf0e10cSrcweir } 806*cdf0e10cSrcweir break; 807*cdf0e10cSrcweir 808*cdf0e10cSrcweir case eCreatedByEntry: 809*cdf0e10cSrcweir { 810*cdf0e10cSrcweir ClearTextAreas(); 811*cdf0e10cSrcweir String aCreatedByEntry(ScGlobal::GetRscString( STR_HF_CREATED_BY ) ); 812*cdf0e10cSrcweir aCreatedByEntry += ' '; 813*cdf0e10cSrcweir aCreatedByEntry += (String)aUserOpt.GetFirstName(); 814*cdf0e10cSrcweir aCreatedByEntry += ' '; 815*cdf0e10cSrcweir aCreatedByEntry += (String)aUserOpt.GetLastName(); 816*cdf0e10cSrcweir aWndLeft.GetEditEngine()->SetText(aCreatedByEntry); 817*cdf0e10cSrcweir aWndCenter.InsertField( SvxFieldItem(SvxDateField(Date(),SVXDATETYPE_VAR), EE_FEATURE_FIELD) ); 818*cdf0e10cSrcweir String aPageEntry(ScGlobal::GetRscString( STR_PAGE ) ); 819*cdf0e10cSrcweir aPageEntry += ' '; 820*cdf0e10cSrcweir aWndRight.GetEditEngine()->SetText(aPageEntry); 821*cdf0e10cSrcweir aWndRight.InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) ); 822*cdf0e10cSrcweir if(!bTravelling) 823*cdf0e10cSrcweir aWndRight.GrabFocus(); 824*cdf0e10cSrcweir } 825*cdf0e10cSrcweir break; 826*cdf0e10cSrcweir 827*cdf0e10cSrcweir default : 828*cdf0e10cSrcweir break; 829*cdf0e10cSrcweir } 830*cdf0e10cSrcweir } 831*cdf0e10cSrcweir 832*cdf0e10cSrcweir void ScHFEditPage::ClearTextAreas() 833*cdf0e10cSrcweir { 834*cdf0e10cSrcweir aWndLeft.GetEditEngine()->SetText(EMPTY_STRING); 835*cdf0e10cSrcweir aWndLeft.Invalidate(); 836*cdf0e10cSrcweir aWndCenter.GetEditEngine()->SetText(EMPTY_STRING); 837*cdf0e10cSrcweir aWndCenter.Invalidate(); 838*cdf0e10cSrcweir aWndRight.GetEditEngine()->SetText(EMPTY_STRING); 839*cdf0e10cSrcweir aWndRight.Invalidate(); 840*cdf0e10cSrcweir } 841*cdf0e10cSrcweir 842*cdf0e10cSrcweir //----------------------------------------------------------------------- 843*cdf0e10cSrcweir // Handler: 844*cdf0e10cSrcweir //----------------------------------------------------------------------- 845*cdf0e10cSrcweir 846*cdf0e10cSrcweir IMPL_LINK( ScHFEditPage, ListHdl_Impl, ListBox*, pList ) 847*cdf0e10cSrcweir { 848*cdf0e10cSrcweir if ( pList && pList == &maLbDefined ) 849*cdf0e10cSrcweir { 850*cdf0e10cSrcweir ScHFEntryId eSel = static_cast<ScHFEntryId>(maLbDefined.GetSelectEntryPos()); 851*cdf0e10cSrcweir if(!maLbDefined.IsTravelSelect()) 852*cdf0e10cSrcweir { 853*cdf0e10cSrcweir ProcessDefinedListSel(eSel); 854*cdf0e10cSrcweir 855*cdf0e10cSrcweir // check if we need to remove the customized entry. 856*cdf0e10cSrcweir if(eSel < eEntryCount) 857*cdf0e10cSrcweir RemoveFromDefinedList(); 858*cdf0e10cSrcweir } 859*cdf0e10cSrcweir else 860*cdf0e10cSrcweir { 861*cdf0e10cSrcweir ProcessDefinedListSel(eSel, true); 862*cdf0e10cSrcweir } 863*cdf0e10cSrcweir } 864*cdf0e10cSrcweir return 0; 865*cdf0e10cSrcweir } 866*cdf0e10cSrcweir 867*cdf0e10cSrcweir IMPL_LINK( ScHFEditPage, ClickHdl, ImageButton*, pBtn ) 868*cdf0e10cSrcweir { 869*cdf0e10cSrcweir pActiveEdWnd = ::GetScEditWindow(); //CHINA001 870*cdf0e10cSrcweir if ( !pActiveEdWnd ) 871*cdf0e10cSrcweir return 0; 872*cdf0e10cSrcweir 873*cdf0e10cSrcweir if ( pBtn == &aBtnText ) 874*cdf0e10cSrcweir { 875*cdf0e10cSrcweir pActiveEdWnd->SetCharAttriutes(); 876*cdf0e10cSrcweir } 877*cdf0e10cSrcweir else 878*cdf0e10cSrcweir { 879*cdf0e10cSrcweir if ( pBtn == &aBtnPage ) 880*cdf0e10cSrcweir pActiveEdWnd->InsertField( SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD) ); 881*cdf0e10cSrcweir else if ( pBtn == &aBtnLastPage ) 882*cdf0e10cSrcweir pActiveEdWnd->InsertField( SvxFieldItem(SvxPagesField(), EE_FEATURE_FIELD) ); 883*cdf0e10cSrcweir else if ( pBtn == &aBtnDate ) 884*cdf0e10cSrcweir pActiveEdWnd->InsertField( SvxFieldItem(SvxDateField(Date(),SVXDATETYPE_VAR), EE_FEATURE_FIELD) ); 885*cdf0e10cSrcweir else if ( pBtn == &aBtnTime ) 886*cdf0e10cSrcweir pActiveEdWnd->InsertField( SvxFieldItem(SvxTimeField(), EE_FEATURE_FIELD) ); 887*cdf0e10cSrcweir else if ( pBtn == &aBtnFile ) 888*cdf0e10cSrcweir { 889*cdf0e10cSrcweir pActiveEdWnd->InsertField( SvxFieldItem( SvxFileField(), EE_FEATURE_FIELD ) ); 890*cdf0e10cSrcweir } 891*cdf0e10cSrcweir else if ( pBtn == &aBtnTable ) 892*cdf0e10cSrcweir pActiveEdWnd->InsertField( SvxFieldItem(SvxTableField(), EE_FEATURE_FIELD) ); 893*cdf0e10cSrcweir } 894*cdf0e10cSrcweir InsertToDefinedList(); 895*cdf0e10cSrcweir pActiveEdWnd->GrabFocus(); 896*cdf0e10cSrcweir 897*cdf0e10cSrcweir return 0; 898*cdf0e10cSrcweir } 899*cdf0e10cSrcweir 900*cdf0e10cSrcweir IMPL_LINK( ScHFEditPage, MenuHdl, ScExtIButton*, pBtn ) 901*cdf0e10cSrcweir { 902*cdf0e10cSrcweir pActiveEdWnd = ::GetScEditWindow(); //CHINA001 903*cdf0e10cSrcweir if ( !pActiveEdWnd ) 904*cdf0e10cSrcweir return 0; 905*cdf0e10cSrcweir 906*cdf0e10cSrcweir if(pBtn!=NULL) 907*cdf0e10cSrcweir { 908*cdf0e10cSrcweir switch(pBtn->GetSelected()) 909*cdf0e10cSrcweir { 910*cdf0e10cSrcweir case FILE_COMMAND_TITEL: 911*cdf0e10cSrcweir pActiveEdWnd->InsertField( SvxFieldItem( SvxFileField(), EE_FEATURE_FIELD ) ); 912*cdf0e10cSrcweir break; 913*cdf0e10cSrcweir case FILE_COMMAND_FILENAME: 914*cdf0e10cSrcweir pActiveEdWnd->InsertField( SvxFieldItem( SvxExtFileField( 915*cdf0e10cSrcweir EMPTY_STRING, SVXFILETYPE_VAR, SVXFILEFORMAT_NAME_EXT ), EE_FEATURE_FIELD ) ); 916*cdf0e10cSrcweir break; 917*cdf0e10cSrcweir case FILE_COMMAND_PATH: 918*cdf0e10cSrcweir pActiveEdWnd->InsertField( SvxFieldItem( SvxExtFileField( 919*cdf0e10cSrcweir EMPTY_STRING, SVXFILETYPE_VAR, SVXFILEFORMAT_FULLPATH ), EE_FEATURE_FIELD ) ); 920*cdf0e10cSrcweir break; 921*cdf0e10cSrcweir } 922*cdf0e10cSrcweir } 923*cdf0e10cSrcweir return 0; 924*cdf0e10cSrcweir } 925*cdf0e10cSrcweir 926*cdf0e10cSrcweir //======================================================================== 927*cdf0e10cSrcweir // class ScRightHeaderEditPage 928*cdf0e10cSrcweir //======================================================================== 929*cdf0e10cSrcweir 930*cdf0e10cSrcweir ScRightHeaderEditPage::ScRightHeaderEditPage( Window* pParent, const SfxItemSet& rCoreSet ) 931*cdf0e10cSrcweir : ScHFEditPage( pParent, RID_SCPAGE_HFED_HR, rCoreSet, 932*cdf0e10cSrcweir rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_HEADERRIGHT ), true ) 933*cdf0e10cSrcweir {} 934*cdf0e10cSrcweir 935*cdf0e10cSrcweir // ----------------------------------------------------------------------- 936*cdf0e10cSrcweir 937*cdf0e10cSrcweir sal_uInt16* __EXPORT ScRightHeaderEditPage::GetRanges() 938*cdf0e10cSrcweir { return pPageRightHeaderRanges; } 939*cdf0e10cSrcweir 940*cdf0e10cSrcweir // ----------------------------------------------------------------------- 941*cdf0e10cSrcweir 942*cdf0e10cSrcweir SfxTabPage* __EXPORT ScRightHeaderEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet ) 943*cdf0e10cSrcweir { return ( new ScRightHeaderEditPage( pParent, rCoreSet ) ); }; 944*cdf0e10cSrcweir 945*cdf0e10cSrcweir 946*cdf0e10cSrcweir //======================================================================== 947*cdf0e10cSrcweir // class ScLeftHeaderEditPage 948*cdf0e10cSrcweir //======================================================================== 949*cdf0e10cSrcweir 950*cdf0e10cSrcweir ScLeftHeaderEditPage::ScLeftHeaderEditPage( Window* pParent, const SfxItemSet& rCoreSet ) 951*cdf0e10cSrcweir : ScHFEditPage( pParent, RID_SCPAGE_HFED_HL, rCoreSet, 952*cdf0e10cSrcweir rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_HEADERLEFT ), true ) 953*cdf0e10cSrcweir {} 954*cdf0e10cSrcweir 955*cdf0e10cSrcweir // ----------------------------------------------------------------------- 956*cdf0e10cSrcweir 957*cdf0e10cSrcweir sal_uInt16* __EXPORT ScLeftHeaderEditPage::GetRanges() 958*cdf0e10cSrcweir { return pPageLeftHeaderRanges; } 959*cdf0e10cSrcweir 960*cdf0e10cSrcweir // ----------------------------------------------------------------------- 961*cdf0e10cSrcweir 962*cdf0e10cSrcweir SfxTabPage* __EXPORT ScLeftHeaderEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet ) 963*cdf0e10cSrcweir { return ( new ScLeftHeaderEditPage( pParent, rCoreSet ) ); }; 964*cdf0e10cSrcweir 965*cdf0e10cSrcweir //======================================================================== 966*cdf0e10cSrcweir // class ScRightFooterEditPage 967*cdf0e10cSrcweir //======================================================================== 968*cdf0e10cSrcweir 969*cdf0e10cSrcweir ScRightFooterEditPage::ScRightFooterEditPage( Window* pParent, const SfxItemSet& rCoreSet ) 970*cdf0e10cSrcweir : ScHFEditPage( pParent, RID_SCPAGE_HFED_FR, rCoreSet, 971*cdf0e10cSrcweir rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_FOOTERRIGHT ), false ) 972*cdf0e10cSrcweir {} 973*cdf0e10cSrcweir 974*cdf0e10cSrcweir // ----------------------------------------------------------------------- 975*cdf0e10cSrcweir 976*cdf0e10cSrcweir sal_uInt16* __EXPORT ScRightFooterEditPage::GetRanges() 977*cdf0e10cSrcweir { return pPageRightFooterRanges; } 978*cdf0e10cSrcweir 979*cdf0e10cSrcweir // ----------------------------------------------------------------------- 980*cdf0e10cSrcweir 981*cdf0e10cSrcweir SfxTabPage* __EXPORT ScRightFooterEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet ) 982*cdf0e10cSrcweir { return ( new ScRightFooterEditPage( pParent, rCoreSet ) ); }; 983*cdf0e10cSrcweir 984*cdf0e10cSrcweir //======================================================================== 985*cdf0e10cSrcweir // class ScLeftFooterEditPage 986*cdf0e10cSrcweir //======================================================================== 987*cdf0e10cSrcweir 988*cdf0e10cSrcweir ScLeftFooterEditPage::ScLeftFooterEditPage( Window* pParent, const SfxItemSet& rCoreSet ) 989*cdf0e10cSrcweir : ScHFEditPage( pParent, RID_SCPAGE_HFED_FL, rCoreSet, 990*cdf0e10cSrcweir rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_FOOTERLEFT ), false ) 991*cdf0e10cSrcweir {} 992*cdf0e10cSrcweir 993*cdf0e10cSrcweir // ----------------------------------------------------------------------- 994*cdf0e10cSrcweir 995*cdf0e10cSrcweir sal_uInt16* __EXPORT ScLeftFooterEditPage::GetRanges() 996*cdf0e10cSrcweir { return pPageLeftFooterRanges; } 997*cdf0e10cSrcweir 998*cdf0e10cSrcweir // ----------------------------------------------------------------------- 999*cdf0e10cSrcweir 1000*cdf0e10cSrcweir SfxTabPage* __EXPORT ScLeftFooterEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet ) 1001*cdf0e10cSrcweir { return ( new ScLeftFooterEditPage( pParent, rCoreSet ) ); }; 1002