xref: /aoo41x/main/sc/source/ui/inc/viewfunc.hxx (revision 52f1c2ee)
138d50f7bSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
338d50f7bSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
438d50f7bSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
538d50f7bSAndrew Rist  * distributed with this work for additional information
638d50f7bSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
738d50f7bSAndrew Rist  * to you under the Apache License, Version 2.0 (the
838d50f7bSAndrew Rist  * "License"); you may not use this file except in compliance
938d50f7bSAndrew Rist  * with the License.  You may obtain a copy of the License at
1038d50f7bSAndrew Rist  *
1138d50f7bSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
1238d50f7bSAndrew Rist  *
1338d50f7bSAndrew Rist  * Unless required by applicable law or agreed to in writing,
1438d50f7bSAndrew Rist  * software distributed under the License is distributed on an
1538d50f7bSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
1638d50f7bSAndrew Rist  * KIND, either express or implied.  See the License for the
1738d50f7bSAndrew Rist  * specific language governing permissions and limitations
1838d50f7bSAndrew Rist  * under the License.
1938d50f7bSAndrew Rist  *
2038d50f7bSAndrew Rist  *************************************************************/
2138d50f7bSAndrew Rist 
2238d50f7bSAndrew Rist 
23cdf0e10cSrcweir #ifndef SC_VIEWFUNC_HXX
24cdf0e10cSrcweir #define SC_VIEWFUNC_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include "tabview.hxx"
27cdf0e10cSrcweir 
28cdf0e10cSrcweir #include "tabbgcolor.hxx"
29cdf0e10cSrcweir 
30cdf0e10cSrcweir #ifndef _SVSTDARR_SHORTS
31cdf0e10cSrcweir #define _SVSTDARR_SHORTS
32cdf0e10cSrcweir #include <svl/svstdarr.hxx>
33cdf0e10cSrcweir 
34cdf0e10cSrcweir #endif
35cdf0e10cSrcweir 
36cdf0e10cSrcweir #ifndef _SVSTDARR_STRINGS
37cdf0e10cSrcweir 
38cdf0e10cSrcweir #define _SVSTDARR_STRINGS
39cdf0e10cSrcweir #include <svl/svstdarr.hxx>
40cdf0e10cSrcweir 
41cdf0e10cSrcweir #endif
42cdf0e10cSrcweir #include <com/sun/star/embed/XEmbeddedObject.hpp>
43cdf0e10cSrcweir #include <com/sun/star/embed/Aspects.hpp>
44cdf0e10cSrcweir 
45cdf0e10cSrcweir class ScPatternAttr;
46cdf0e10cSrcweir class ScAutoFormatData;
47cdf0e10cSrcweir class SvxSearchItem;
48cdf0e10cSrcweir class SfxItemSet;
49cdf0e10cSrcweir class SvxBorderLine;
50cdf0e10cSrcweir class SvxBoxItem;
51cdf0e10cSrcweir class SvxBoxInfoItem;
52cdf0e10cSrcweir class SfxStyleSheetBase;
53cdf0e10cSrcweir class SfxStyleSheet;
54cdf0e10cSrcweir class SfxPoolItem;
55cdf0e10cSrcweir class EditTextObject;
56cdf0e10cSrcweir struct ScSolveParam;
57cdf0e10cSrcweir struct ScTabOpParam;
58cdf0e10cSrcweir class ScPostIt;
59cdf0e10cSrcweir class ScConditionalFormat;
60cdf0e10cSrcweir class ScValidationData;
61cdf0e10cSrcweir class ScConversionParam;
62cdf0e10cSrcweir class SdrModel;
63cdf0e10cSrcweir class Graphic;
64cdf0e10cSrcweir class Exchange;
65cdf0e10cSrcweir class ScRangeList;
66cdf0e10cSrcweir class SvxHyperlinkItem;
67cdf0e10cSrcweir class ScTransferObj;
68cdf0e10cSrcweir class ScTableProtection;
69cdf0e10cSrcweir 
70cdf0e10cSrcweir namespace com { namespace sun { namespace star { namespace datatransfer { class XTransferable; } } } }
71cdf0e10cSrcweir 
72cdf0e10cSrcweir //==================================================================
73cdf0e10cSrcweir 
74cdf0e10cSrcweir class ScViewFunc : public ScTabView
75cdf0e10cSrcweir {
76cdf0e10cSrcweir private:
77cdf0e10cSrcweir 	ScAddress	aFormatSource;		// fuer automatisches Erweitern von Formatierung
78cdf0e10cSrcweir 	ScRange		aFormatArea;
79cdf0e10cSrcweir 	sal_Bool		bFormatValid;
80cdf0e10cSrcweir 
81cdf0e10cSrcweir public:
82cdf0e10cSrcweir 					ScViewFunc( Window* pParent, ScDocShell& rDocSh, ScTabViewShell* pViewShell );
83cdf0e10cSrcweir //UNUSED2008-05     ScViewFunc( Window* pParent, const ScViewFunc& rViewFunc, ScTabViewShell* pViewShell );
84cdf0e10cSrcweir 					~ScViewFunc();
85cdf0e10cSrcweir 
86cdf0e10cSrcweir 	const ScPatternAttr*    GetSelectionPattern	();
87cdf0e10cSrcweir 	void					GetSelectionFrame	( SvxBoxItem&		rLineOuter,
88cdf0e10cSrcweir 												  SvxBoxInfoItem&	rLineInner );
89cdf0e10cSrcweir 
90cdf0e10cSrcweir 	sal_uInt8			GetSelectionScriptType();
91cdf0e10cSrcweir 
92cdf0e10cSrcweir 	sal_Bool			GetAutoSumArea(ScRangeList& rRangeList);
93cdf0e10cSrcweir 	void			EnterAutoSum(const ScRangeList& rRangeList, sal_Bool bSubTotal);
94cdf0e10cSrcweir     bool            AutoSum( const ScRange& rRange, bool bSubTotal, bool bSetCursor, bool bContinue );
95cdf0e10cSrcweir     String          GetAutoSumFormula( const ScRangeList& rRangeList, bool bSubTotal );
96cdf0e10cSrcweir 
97cdf0e10cSrcweir 	void			EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, const String& rString,
98cdf0e10cSrcweir                                sal_Bool bRecord = sal_True, const EditTextObject* pData = NULL );
99cdf0e10cSrcweir 	void			EnterValue( SCCOL nCol, SCROW nRow, SCTAB nTab, const double& rValue );
100cdf0e10cSrcweir 	void			EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, const EditTextObject* pData,
101cdf0e10cSrcweir 								sal_Bool bRecord = sal_True, sal_Bool bTestSimple = sal_False );
102cdf0e10cSrcweir 
103cdf0e10cSrcweir 	void			EnterMatrix( const String& rString );
104cdf0e10cSrcweir 	void			EnterBlock( const String& rString, const EditTextObject* pData );
105cdf0e10cSrcweir 
106cdf0e10cSrcweir 	void			EnterDataAtCursor( const String& rString );			//! nicht benutzt ?
107cdf0e10cSrcweir 
108cdf0e10cSrcweir 	SC_DLLPUBLIC void			CutToClip( ScDocument* pClipDoc = NULL, sal_Bool bIncludeObjects = sal_False );
109cdf0e10cSrcweir 	SC_DLLPUBLIC sal_Bool			CopyToClip( ScDocument* pClipDoc = NULL, sal_Bool bCut = sal_False, sal_Bool bApi = sal_False,
110cdf0e10cSrcweir 								sal_Bool bIncludeObjects = sal_False, sal_Bool bStopEdit = sal_True );
111cdf0e10cSrcweir     ScTransferObj*              CopyToTransferable();
112cdf0e10cSrcweir 	SC_DLLPUBLIC sal_Bool			PasteFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc,
113cdf0e10cSrcweir 									sal_uInt16 nFunction = PASTE_NOFUNC, sal_Bool bSkipEmpty = sal_False,
114cdf0e10cSrcweir 									sal_Bool bTranspose = sal_False, sal_Bool bAsLink = sal_False,
115cdf0e10cSrcweir 									InsCellCmd eMoveMode = INS_NONE,
116cdf0e10cSrcweir 									sal_uInt16 nUndoExtraFlags = IDF_NONE,
117cdf0e10cSrcweir 									sal_Bool bAllowDialogs = sal_False );
118cdf0e10cSrcweir 
119cdf0e10cSrcweir 	void			FillTab( sal_uInt16 nFlags, sal_uInt16 nFunction, sal_Bool bSkipEmpty, sal_Bool bAsLink );
120cdf0e10cSrcweir 
121cdf0e10cSrcweir 	SC_DLLPUBLIC void			PasteFromSystem();
122cdf0e10cSrcweir 	SC_DLLPUBLIC sal_Bool			PasteFromSystem( sal_uLong nFormatId, sal_Bool bApi = sal_False );
123cdf0e10cSrcweir     void                        PasteFromTransferable( const ::com::sun::star::uno::Reference<
124cdf0e10cSrcweir                                                        ::com::sun::star::datatransfer::XTransferable >& rxTransferable );
125cdf0e10cSrcweir 
126cdf0e10cSrcweir 	void			PasteDraw();
127cdf0e10cSrcweir 	void			PasteDraw( const Point& rLogicPos, SdrModel* pModel,
128cdf0e10cSrcweir                                 sal_Bool bGroup = sal_False, sal_Bool bSameDocClipboard = sal_False );
129cdf0e10cSrcweir 
130*52f1c2eeSArmin Le Grand     sal_Bool PasteOnDrawObjectLinked(
131*52f1c2eeSArmin Le Grand         const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& rxTransferable,
132*52f1c2eeSArmin Le Grand         SdrObject& rHitObj);
133cdf0e10cSrcweir 
134cdf0e10cSrcweir 	sal_Bool			PasteDataFormat( sal_uLong nFormatId,
135cdf0e10cSrcweir 										const ::com::sun::star::uno::Reference<
136cdf0e10cSrcweir 											::com::sun::star::datatransfer::XTransferable >& rxTransferable,
137cdf0e10cSrcweir 										SCCOL nPosX, SCROW nPosY, Point* pLogicPos = NULL,
138cdf0e10cSrcweir 										sal_Bool bLink = sal_False, sal_Bool bAllowDialogs = sal_False );
139cdf0e10cSrcweir 
140cdf0e10cSrcweir 	sal_Bool			PasteFile( const Point&, const String&, sal_Bool bLink=sal_False );
141cdf0e10cSrcweir     sal_Bool            PasteObject( const Point&, const com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject >&, const Size* = NULL, const Graphic* = NULL, const ::rtl::OUString& = ::rtl::OUString(), sal_Int64 nAspect = ::com::sun::star::embed::Aspects::MSOLE_CONTENT );
14245fd3b9aSArmin Le Grand 	sal_Bool			PasteBitmapEx( const Point&, const BitmapEx& );
143cdf0e10cSrcweir 	sal_Bool			PasteMetaFile( const Point&, const GDIMetaFile& );
144cdf0e10cSrcweir 	sal_Bool			PasteGraphic( const Point& rPos, const Graphic& rGraphic,
145cdf0e10cSrcweir 									const String& rFile, const String& rFilter );
146cdf0e10cSrcweir 	sal_Bool			PasteBookmark( sal_uLong nFormatId,
147cdf0e10cSrcweir 								const ::com::sun::star::uno::Reference<
148cdf0e10cSrcweir 									::com::sun::star::datatransfer::XTransferable >& rxTransferable,
149cdf0e10cSrcweir 								SCCOL nPosX, SCROW nPosY );
150cdf0e10cSrcweir 	sal_Bool			PasteDDE( const ::com::sun::star::uno::Reference<
151cdf0e10cSrcweir 								::com::sun::star::datatransfer::XTransferable >& rxTransferable );
152cdf0e10cSrcweir 
153cdf0e10cSrcweir 	void			InsertBookmark( const String& rDescription, const String& rURL,
154cdf0e10cSrcweir 									SCCOL nPosX, SCROW nPosY, const String* pTarget = NULL,
155cdf0e10cSrcweir 									sal_Bool bTryReplace = sal_False );
156cdf0e10cSrcweir 	sal_Bool			HasBookmarkAtCursor( SvxHyperlinkItem* pContent );
157cdf0e10cSrcweir 
158cdf0e10cSrcweir 	long			DropRequestHdl( Exchange* pExchange );
159cdf0e10cSrcweir 	sal_Bool			MoveBlockTo( const ScRange& rSource, const ScAddress& rDestPos,
160cdf0e10cSrcweir 									sal_Bool bCut, sal_Bool bRecord, sal_Bool bPaint, sal_Bool bApi );
161cdf0e10cSrcweir 
162cdf0e10cSrcweir 	sal_Bool			LinkBlock( const ScRange& rSource, const ScAddress& rDestPos, sal_Bool bApi );
163cdf0e10cSrcweir 
164cdf0e10cSrcweir 	void			CreateNames( sal_uInt16 nFlags );
165cdf0e10cSrcweir 	sal_uInt16			GetCreateNameFlags();
166cdf0e10cSrcweir 	void			InsertNameList();
167cdf0e10cSrcweir 	sal_Bool			InsertName( const String& rName, const String& rSymbol,
168cdf0e10cSrcweir 								const String& rType );
169cdf0e10cSrcweir 
170cdf0e10cSrcweir 	void			ApplyAttributes( const SfxItemSet* pDialogSet, const SfxItemSet* pOldSet,
171cdf0e10cSrcweir 										sal_Bool bRecord = sal_True );
172cdf0e10cSrcweir 	void			ApplyAttr( const SfxPoolItem& rAttrItem );
173cdf0e10cSrcweir 	void			ApplySelectionPattern( const ScPatternAttr& rAttr,
174cdf0e10cSrcweir 											sal_Bool bRecord = sal_True,
175cdf0e10cSrcweir 											sal_Bool bCursorOnly = sal_False );
176cdf0e10cSrcweir 	void			ApplyPatternLines( const ScPatternAttr& rAttr,
177cdf0e10cSrcweir 										const SvxBoxItem* pNewOuter,
178cdf0e10cSrcweir 										const SvxBoxInfoItem* pNewInner, sal_Bool bRecord = sal_True );
179cdf0e10cSrcweir 
180cdf0e10cSrcweir 	void			ApplyUserItemSet( const SfxItemSet& rItemSet );
181cdf0e10cSrcweir 
182cdf0e10cSrcweir 	const SfxStyleSheet*	GetStyleSheetFromMarked();
183cdf0e10cSrcweir 	void					SetStyleSheetToMarked( SfxStyleSheet* pStyleSheet,
184cdf0e10cSrcweir 														sal_Bool bRecord = sal_True );
185cdf0e10cSrcweir     void                    RemoveStyleSheetInUse( const SfxStyleSheetBase* pStyleSheet );
186cdf0e10cSrcweir     void                    UpdateStyleSheetInUse( const SfxStyleSheetBase* pStyleSheet );
187cdf0e10cSrcweir 
188cdf0e10cSrcweir 	void			SetNumberFormat( short nFormatType, sal_uLong nAdd = 0 );
189cdf0e10cSrcweir 	void			SetNumFmtByStr( const String& rCode );
190cdf0e10cSrcweir 	void			ChangeNumFmtDecimals( sal_Bool bIncrement );
191cdf0e10cSrcweir 
192cdf0e10cSrcweir 	void			SetConditionalFormat( const ScConditionalFormat& rNew );
193cdf0e10cSrcweir 	void			SetValidation( const ScValidationData& rNew );
194cdf0e10cSrcweir 
195cdf0e10cSrcweir 	void			ChangeIndent( sal_Bool bIncrement );
196cdf0e10cSrcweir 
197cdf0e10cSrcweir 	void			ProtectSheet( SCTAB nTab, const ScTableProtection& rProtect );
198cdf0e10cSrcweir 
199cdf0e10cSrcweir 	void			Protect( SCTAB nTab, const String& rPassword );
200cdf0e10cSrcweir 	sal_Bool			Unprotect( SCTAB nTab, const String& rPassword );
201cdf0e10cSrcweir 
202cdf0e10cSrcweir 	void			DeleteCells( DelCellCmd eCmd, sal_Bool bRecord = sal_True );
203cdf0e10cSrcweir 	sal_Bool			InsertCells( InsCellCmd eCmd, sal_Bool bRecord = sal_True, sal_Bool bPartOfPaste = sal_False );
204cdf0e10cSrcweir 	void			DeleteMulti( sal_Bool bRows, sal_Bool bRecord = sal_True );
205cdf0e10cSrcweir 
206cdf0e10cSrcweir 	void			DeleteContents( sal_uInt16 nFlags, sal_Bool bRecord = sal_True );
207cdf0e10cSrcweir 
208cdf0e10cSrcweir 	void			SetWidthOrHeight( sal_Bool bWidth, SCCOLROW nRangeCnt, SCCOLROW* pRanges,
209cdf0e10cSrcweir 										ScSizeMode eMode, sal_uInt16 nSizeTwips,
210cdf0e10cSrcweir 										sal_Bool bRecord = sal_True, sal_Bool bPaint = sal_True,
211cdf0e10cSrcweir 										ScMarkData* pMarkData = NULL );
212cdf0e10cSrcweir 	void			SetMarkedWidthOrHeight( sal_Bool bWidth, ScSizeMode eMode, sal_uInt16 nSizeTwips,
213cdf0e10cSrcweir 										sal_Bool bRecord = sal_True, sal_Bool bPaint = sal_True );
214cdf0e10cSrcweir 	void			ShowMarkedColumns( sal_Bool bShow, sal_Bool bRecord = sal_True );
215cdf0e10cSrcweir 	void			ShowMarkedRows( sal_Bool bShow, sal_Bool bRecord = sal_True );
216cdf0e10cSrcweir 
217cdf0e10cSrcweir 	sal_Bool			AdjustBlockHeight( sal_Bool bPaint = sal_True, ScMarkData* pMarkData = NULL );
218cdf0e10cSrcweir 	sal_Bool			AdjustRowHeight( SCROW nStartRow, SCROW nEndRow, sal_Bool bPaint = sal_True );
219cdf0e10cSrcweir 
220cdf0e10cSrcweir 	void			ModifyCellSize( ScDirection eDir, sal_Bool bOptimal );
221cdf0e10cSrcweir 
222cdf0e10cSrcweir 	SC_DLLPUBLIC void			InsertPageBreak( sal_Bool bColumn, sal_Bool bRecord = sal_True,
223cdf0e10cSrcweir 										const ScAddress* pPos = NULL,
224cdf0e10cSrcweir 										sal_Bool bSetModified = sal_True );
225cdf0e10cSrcweir 	SC_DLLPUBLIC void			DeletePageBreak( sal_Bool bColumn, sal_Bool bRecord = sal_True,
226cdf0e10cSrcweir 										const ScAddress* pPos = NULL,
227cdf0e10cSrcweir 										sal_Bool bSetModified = sal_True );
228cdf0e10cSrcweir 
229cdf0e10cSrcweir 	void			RemoveManualBreaks();
230cdf0e10cSrcweir 
231cdf0e10cSrcweir 	void			SetPrintZoom(sal_uInt16 nScale, sal_uInt16 nPages);
232cdf0e10cSrcweir 	void			AdjustPrintZoom();
233cdf0e10cSrcweir 
234cdf0e10cSrcweir 	sal_Bool			TestMergeCells();
235cdf0e10cSrcweir 	sal_Bool			TestRemoveMerge();
236cdf0e10cSrcweir 
237cdf0e10cSrcweir 	sal_Bool			MergeCells( sal_Bool bApi, sal_Bool& rDoContents, sal_Bool bRecord = sal_True );
238cdf0e10cSrcweir 	sal_Bool			RemoveMerge( sal_Bool bRecord = sal_True );
239cdf0e10cSrcweir 
240cdf0e10cSrcweir 	void			FillSimple( FillDir eDir, sal_Bool bRecord = sal_True );
241cdf0e10cSrcweir 	void			FillSeries( FillDir	eDir, FillCmd eCmd, FillDateCmd	eDateCmd,
242cdf0e10cSrcweir 								double fStart, double fStep, double fMax, sal_Bool bRecord = sal_True );
243cdf0e10cSrcweir 	void			FillAuto( FillDir eDir, SCCOL nStartCol, SCROW nStartRow,
244cdf0e10cSrcweir 								SCCOL nEndCol, SCROW nEndRow, sal_uLong nCount, sal_Bool bRecord = sal_True );
245cdf0e10cSrcweir 	void			FillCrossDblClick();
246cdf0e10cSrcweir 
247cdf0e10cSrcweir 	void			TransliterateText( sal_Int32 nType );
248cdf0e10cSrcweir 
249cdf0e10cSrcweir 	ScAutoFormatData* CreateAutoFormatData();
250cdf0e10cSrcweir 	void			AutoFormat( sal_uInt16 nFormatNo, sal_Bool bRecord = sal_True );
251cdf0e10cSrcweir 
2520deba7fbSSteve Yin //	void			SearchAndReplace( const SvxSearchItem* pSearchItem,
2530deba7fbSSteve Yin 	sal_Bool			SearchAndReplace( const SvxSearchItem* pSearchItem,
254cdf0e10cSrcweir 										sal_Bool bAddUndo, sal_Bool bIsApi );
255cdf0e10cSrcweir 
256cdf0e10cSrcweir 	void			Solve( const ScSolveParam& rParam );
257cdf0e10cSrcweir 	void			TabOp( const ScTabOpParam& rParam,  sal_Bool bRecord = sal_True );
258cdf0e10cSrcweir 
259cdf0e10cSrcweir 	sal_Bool			InsertTable( const String& rName, SCTAB nTabNr, sal_Bool bRecord = sal_True );
260cdf0e10cSrcweir 	sal_Bool			InsertTables(SvStrings *pNames, SCTAB nTab, SCTAB nCount, sal_Bool bRecord = sal_True);
261cdf0e10cSrcweir 
262cdf0e10cSrcweir 
263cdf0e10cSrcweir 	sal_Bool			AppendTable( const String& rName, sal_Bool bRecord = sal_True );
264cdf0e10cSrcweir 
265cdf0e10cSrcweir 	sal_Bool			DeleteTable( SCTAB nTabNr, sal_Bool bRecord = sal_True );
266cdf0e10cSrcweir 	sal_Bool			DeleteTables(const SvShorts &TheTabs, sal_Bool bRecord = sal_True );
267cdf0e10cSrcweir 
268cdf0e10cSrcweir 	sal_Bool			RenameTable( const String& rName, SCTAB nTabNr );
269cdf0e10cSrcweir 	void			MoveTable( sal_uInt16 nDestDocNo, SCTAB nDestTab, sal_Bool bCopy );
270cdf0e10cSrcweir 	void			ImportTables( ScDocShell* pSrcShell,
271cdf0e10cSrcweir 									SCTAB nCount, const SCTAB* pSrcTabs,
272cdf0e10cSrcweir 									sal_Bool bLink,SCTAB nTab);
273cdf0e10cSrcweir 
274cdf0e10cSrcweir     bool            SetTabBgColor( const Color& rColor, SCTAB nTabNr );
275cdf0e10cSrcweir     bool            SetTabBgColor( ScUndoTabColorInfo::List& rUndoSetTabBgColorInfoList );
276cdf0e10cSrcweir 
277cdf0e10cSrcweir 	void			InsertTableLink( const String& rFile,
278cdf0e10cSrcweir 										const String& rFilter, const String& rOptions,
279cdf0e10cSrcweir 										const String& rTabName );
280cdf0e10cSrcweir 	void			InsertAreaLink( const String& rFile,
281cdf0e10cSrcweir 										const String& rFilter, const String& rOptions,
282cdf0e10cSrcweir 										const String& rSource, sal_uLong nRefresh );
283cdf0e10cSrcweir 
284cdf0e10cSrcweir 	void			ShowTable( const String& rName );
285cdf0e10cSrcweir 	void			HideTable( SCTAB nTabNr );
286cdf0e10cSrcweir 
287cdf0e10cSrcweir 	void			MakeScenario( const String& rName, const String& rComment,
288cdf0e10cSrcweir 									const Color& rColor, sal_uInt16 nFlags );
289cdf0e10cSrcweir 	void			ExtendScenario();
290cdf0e10cSrcweir 	void			UseScenario( const String& rName );
291cdf0e10cSrcweir 
292cdf0e10cSrcweir 	void			InsertSpecialChar( const String& rStr, const Font& rFont );
293cdf0e10cSrcweir 
294cdf0e10cSrcweir 	void			InsertDummyObject();
295cdf0e10cSrcweir 	void			InsertOleObject();
296cdf0e10cSrcweir 
297cdf0e10cSrcweir 	void			InsertDraw();
298cdf0e10cSrcweir 
299cdf0e10cSrcweir 	void			SetSelectionFrameLines( const SvxBorderLine* pLine,
300cdf0e10cSrcweir 											sal_Bool bColorOnly );
301cdf0e10cSrcweir 
302cdf0e10cSrcweir     void            SetNoteText( const ScAddress& rPos, const String& rNoteText );
303cdf0e10cSrcweir     void            ReplaceNote( const ScAddress& rPos, const String& rNoteText, const String* pAuthor, const String* pDate );
304cdf0e10cSrcweir     void            DoRefConversion( sal_Bool bRecord = sal_True );
305cdf0e10cSrcweir 
306cdf0e10cSrcweir //UNUSED2008-05  void            DoSpellingChecker( sal_Bool bRecord = sal_True );
307cdf0e10cSrcweir     void            DoHangulHanjaConversion( sal_Bool bRecord = sal_True );
308cdf0e10cSrcweir 	void			DoThesaurus( sal_Bool bRecord = sal_True );
309cdf0e10cSrcweir //UNUSED2008-05  DECL_LINK( SpellError, void * );
310cdf0e10cSrcweir 
311cdf0e10cSrcweir     /** Generic implementation of sheet conversion functions. */
312cdf0e10cSrcweir     void            DoSheetConversion( const ScConversionParam& rParam, sal_Bool bRecord = sal_True );
313cdf0e10cSrcweir 
314cdf0e10cSrcweir     void            SetPrintRanges( sal_Bool bEntireSheet,
315cdf0e10cSrcweir                                     const String* pPrint,
316cdf0e10cSrcweir 									const String* pRepCol, const String* pRepRow,
317cdf0e10cSrcweir 									sal_Bool bAddPrint );
318cdf0e10cSrcweir 
319cdf0e10cSrcweir 	void			DetectiveAddPred();
320cdf0e10cSrcweir 	void			DetectiveDelPred();
321cdf0e10cSrcweir 	void			DetectiveAddSucc();
322cdf0e10cSrcweir 	void			DetectiveDelSucc();
323cdf0e10cSrcweir 	void			DetectiveAddError();
324cdf0e10cSrcweir 	void			DetectiveMarkInvalid();
325cdf0e10cSrcweir 	void			DetectiveDelAll();
326cdf0e10cSrcweir 	void			DetectiveRefresh();
327cdf0e10cSrcweir 
328cdf0e10cSrcweir 	void			ShowNote( bool bShow = true );
HideNote()329cdf0e10cSrcweir 	inline void		HideNote() { ShowNote( false ); }
330cdf0e10cSrcweir 	void			EditNote();
331cdf0e10cSrcweir 
ForgetFormatArea()332cdf0e10cSrcweir 	void			ForgetFormatArea()		{ bFormatValid = sal_False; }
333cdf0e10cSrcweir 	sal_Bool			SelectionEditable( sal_Bool* pOnlyNotBecauseOfMatrix = NULL );
334cdf0e10cSrcweir 
335cdf0e10cSrcweir 												// interne Hilfsfunktionen
336cdf0e10cSrcweir protected:
337cdf0e10cSrcweir 	void			UpdateLineAttrs( SvxBorderLine&		  rLine,
338cdf0e10cSrcweir 									 const SvxBorderLine* pDestLine,
339cdf0e10cSrcweir 									 const SvxBorderLine* pSrcLine,
340cdf0e10cSrcweir 									 sal_Bool 				  bColor );
341cdf0e10cSrcweir 
342cdf0e10cSrcweir //UNUSED2008-05  void            PaintWidthHeight( sal_Bool bColumns, SCCOLROW nStart, SCCOLROW nEnd );
343cdf0e10cSrcweir 
344cdf0e10cSrcweir 
345cdf0e10cSrcweir private:
346cdf0e10cSrcweir 	void			PasteRTF( SCCOL nCol, SCROW nStartRow,
347cdf0e10cSrcweir 								const ::com::sun::star::uno::Reference<
348cdf0e10cSrcweir 										::com::sun::star::datatransfer::XTransferable >& rxTransferable );
349cdf0e10cSrcweir     bool            PasteMultiRangesFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction,
350cdf0e10cSrcweir                                               bool bSkipEmpty, bool bTranspos, bool bAsLink, bool bAllowDialogs,
351cdf0e10cSrcweir                                               InsCellCmd eMoveMode, sal_uInt16 nCondFlags, sal_uInt16 nUndoFlags );
352cdf0e10cSrcweir     void            PostPasteFromClip(const ScRange& rPasteRange, const ScMarkData& rMark);
353cdf0e10cSrcweir 
354cdf0e10cSrcweir 	sal_uInt16			GetOptimalColWidth( SCCOL nCol, SCTAB nTab, sal_Bool bFormula );
355cdf0e10cSrcweir 
356cdf0e10cSrcweir 	void			StartFormatArea();
357cdf0e10cSrcweir 	sal_Bool			TestFormatArea( SCCOL nCol, SCROW nRow, SCTAB nTab, sal_Bool bAttrChanged );
358cdf0e10cSrcweir 	void			DoAutoAttributes( SCCOL nCol, SCROW nRow, SCTAB nTab,
359cdf0e10cSrcweir 										sal_Bool bAttrChanged, sal_Bool bAddUndo );
360cdf0e10cSrcweir };
361cdf0e10cSrcweir 
362cdf0e10cSrcweir 
363cdf0e10cSrcweir 
364cdf0e10cSrcweir #endif
365cdf0e10cSrcweir 
366