2010-10-14 08:30:41 +02:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2011-03-31 10:05:04 +02:00
|
|
|
/*
|
|
|
|
* This file is part of the LibreOffice project.
|
|
|
|
*
|
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*
|
|
|
|
* This file incorporates work covered by the following license notice:
|
|
|
|
*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
|
|
* with this work for additional information regarding copyright
|
|
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
|
|
*/
|
2006-07-26 14:50:43 +00:00
|
|
|
#ifndef _SWVIEW_HXX
|
|
|
|
#define _SWVIEW_HXX
|
|
|
|
|
|
|
|
#include <vcl/timer.hxx>
|
|
|
|
#include <vcl/field.hxx>
|
2011-02-10 11:21:11 +01:00
|
|
|
#include <vcl/floatwin.hxx>
|
2010-01-13 22:25:07 +01:00
|
|
|
#include <svtools/htmlcfg.hxx>
|
2006-07-26 14:50:43 +00:00
|
|
|
#include <sfx2/viewfac.hxx>
|
|
|
|
#include <sfx2/viewsh.hxx>
|
2011-01-03 13:40:23 +01:00
|
|
|
#include <sfx2/objsh.hxx>
|
2010-01-08 18:32:51 +01:00
|
|
|
#include <editeng/svxenum.hxx>
|
2012-06-12 19:04:05 +02:00
|
|
|
#include <sfx2/zoomitem.hxx>
|
|
|
|
#include <svx/svxids.hrc>
|
2010-01-08 18:32:51 +01:00
|
|
|
#include <editeng/editstat.hxx>
|
2006-07-26 14:50:43 +00:00
|
|
|
#include "swdllapi.h"
|
|
|
|
#include <swtypes.hxx>
|
|
|
|
#include <shellid.hxx>
|
2009-11-17 12:33:55 +01:00
|
|
|
#include <IMark.hxx>
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
class Button;
|
|
|
|
class ImageButton;
|
|
|
|
class SwTxtFmtColl;
|
|
|
|
class SwPageDesc;
|
|
|
|
class SwFrmFmt;
|
|
|
|
class SwCharFmt;
|
|
|
|
class SwNumRule;
|
|
|
|
class SwGlossaryHdl;
|
|
|
|
class SwDrawBase;
|
|
|
|
class SvxRuler;
|
|
|
|
class SvxLRSpaceItem;
|
|
|
|
class SwDocShell;
|
|
|
|
class SwScrollbar;
|
|
|
|
class SvBorder;
|
|
|
|
class Ruler;
|
|
|
|
class SvxSearchItem;
|
|
|
|
class SearchAttrItemList;
|
|
|
|
class SvxSearchDialog;
|
|
|
|
class SdrView;
|
|
|
|
class Dialog;
|
|
|
|
class SdrObject;
|
|
|
|
class SdrPageView;
|
|
|
|
class SwNaviImageButton;
|
|
|
|
class SwHlpImageButton;
|
|
|
|
class SwView;
|
|
|
|
class SwEditWin;
|
|
|
|
class SwWrtShell;
|
|
|
|
class SwView_Impl;
|
|
|
|
struct SwSearchOptions;
|
|
|
|
class FmFormShell;
|
|
|
|
class CommandEvent;
|
|
|
|
class InsCaptionOpt;
|
|
|
|
class SvGlobalName;
|
|
|
|
class SvtAccessibilityOptions;
|
|
|
|
class SwTransferable;
|
|
|
|
class SwMailMergeConfigItem;
|
|
|
|
class SwTxtNode; // #i23726#
|
|
|
|
class SwFormatClipboard;
|
|
|
|
struct SwConversionArgs;
|
|
|
|
class Graphic;
|
|
|
|
class GraphicFilter;
|
2008-02-19 12:57:20 +00:00
|
|
|
class SwPostItMgr;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
namespace com{ namespace sun { namespace star {
|
|
|
|
namespace view{ class XSelectionSupplier; }
|
|
|
|
}}}
|
2006-11-22 09:27:41 +00:00
|
|
|
namespace sfx2 { class FileDialogHelper; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
const long nLeftOfst = -370;
|
|
|
|
const long nScrollX = 30;
|
|
|
|
const long nScrollY = 30;
|
|
|
|
|
|
|
|
#define MINZOOM 20
|
|
|
|
#define MAXZOOM 600
|
|
|
|
|
|
|
|
#define MAX_MARKS 5
|
|
|
|
|
|
|
|
#define CHILDWIN_LABEL 1
|
|
|
|
#define CHILDWIN_MAILMERGE 2
|
|
|
|
|
|
|
|
enum ShellModes
|
|
|
|
{
|
2007-09-27 11:14:01 +00:00
|
|
|
SHELL_MODE_TEXT,
|
|
|
|
SHELL_MODE_FRAME,
|
|
|
|
SHELL_MODE_GRAPHIC,
|
|
|
|
SHELL_MODE_OBJECT,
|
|
|
|
SHELL_MODE_DRAW,
|
|
|
|
SHELL_MODE_DRAW_CTRL,
|
|
|
|
SHELL_MODE_DRAW_FORM,
|
|
|
|
SHELL_MODE_DRAWTEXT,
|
|
|
|
SHELL_MODE_BEZIER,
|
|
|
|
SHELL_MODE_LIST_TEXT,
|
|
|
|
SHELL_MODE_TABLE_TEXT,
|
|
|
|
SHELL_MODE_TABLE_LIST_TEXT,
|
|
|
|
SHELL_MODE_MEDIA,
|
|
|
|
SHELL_MODE_EXTRUDED_CUSTOMSHAPE,
|
2008-02-19 12:57:20 +00:00
|
|
|
SHELL_MODE_FONTWORK,
|
2011-01-06 12:08:48 +01:00
|
|
|
SHELL_MODE_POSTIT,
|
|
|
|
SHELL_MODE_NAVIGATION
|
2006-07-26 14:50:43 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
2011-04-21 21:52:58 +02:00
|
|
|
Description: apply a template
|
2006-07-26 14:50:43 +00:00
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
struct SwApplyTemplate
|
|
|
|
{
|
|
|
|
union
|
|
|
|
{
|
|
|
|
SwTxtFmtColl* pTxtColl;
|
|
|
|
SwPageDesc* pPageDesc;
|
|
|
|
SwFrmFmt* pFrmFmt;
|
|
|
|
SwCharFmt* pCharFmt;
|
|
|
|
SwNumRule* pNumRule;
|
|
|
|
} aColl;
|
|
|
|
|
|
|
|
int eType;
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_uInt16 nColor;
|
2013-03-23 16:14:56 +01:00
|
|
|
SwFormatClipboard* m_pFormatClipboard;
|
2013-02-20 00:58:47 +09:00
|
|
|
bool bUndo;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
SwApplyTemplate() :
|
|
|
|
eType(0),
|
|
|
|
nColor(0),
|
2013-03-23 16:14:56 +01:00
|
|
|
m_pFormatClipboard(0),
|
2013-02-20 00:58:47 +09:00
|
|
|
bUndo(false)
|
2006-07-26 14:50:43 +00:00
|
|
|
{
|
|
|
|
aColl.pTxtColl = 0;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
2011-04-21 21:52:58 +02:00
|
|
|
Description: view of a document
|
2006-07-26 14:50:43 +00:00
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SW_DLLPUBLIC SwView: public SfxViewShell
|
|
|
|
{
|
|
|
|
friend class SwHHCWrapper;
|
|
|
|
friend class SwHyphWrapper;
|
|
|
|
friend class SwView_Impl;
|
|
|
|
friend class SwClipboardChangeListener;
|
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// search & replace
|
2013-03-23 16:14:56 +01:00
|
|
|
static SvxSearchDialog *m_pSrchDlg;
|
|
|
|
static SvxSearchItem *m_pSrchItem;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
static sal_uInt16 m_nInsertCtrlState;
|
|
|
|
static sal_uInt16 m_nWebInsertCtrlState;
|
|
|
|
static sal_uInt16 m_nInsertObjectCtrlState;
|
|
|
|
static sal_uInt16 m_nInsertFieldCtrlState;
|
|
|
|
static sal_uInt16 m_nMoveType; // for buttons below the scrollbar (viewmdi)
|
|
|
|
static sal_Int32 m_nActMark; // current jump mark for unknown mark
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
static bool m_bExtra;
|
|
|
|
static sal_Bool m_bFound;
|
|
|
|
static bool m_bJustOpened;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
static SearchAttrItemList* m_pSrchList;
|
|
|
|
static SearchAttrItemList* m_pReplList;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SvxHtmlOptions m_aHTMLOpt;
|
|
|
|
Timer m_aTimer; // for delayed ChgLnks during an action
|
|
|
|
String m_aPageStr; // status view, current page
|
|
|
|
String m_sSwViewData,
|
2006-07-26 14:50:43 +00:00
|
|
|
//and the new cursor position if the user double click in the PagePreView
|
2013-03-23 16:14:56 +01:00
|
|
|
m_sNewCrsrPos;
|
2006-07-26 14:50:43 +00:00
|
|
|
// to support keyboard the number of the page to go to can be set too
|
2013-03-23 16:14:56 +01:00
|
|
|
sal_uInt16 m_nNewPage;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
Point m_aTabColFromDocPos; // moving table colmns out of the document
|
|
|
|
SwTxtNode * m_pNumRuleNodeFromDoc; // Moving indent of numrule #i23726#
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
Size m_aDocSz; // current document size
|
|
|
|
Rectangle m_aVisArea; // visible region
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SwEditWin *m_pEditWin;
|
|
|
|
SwWrtShell *m_pWrtShell;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SfxShell *m_pShell; // current SubShell at the dispatcher
|
|
|
|
FmFormShell *m_pFormShell; // DB-FormShell
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SwView_Impl *m_pViewImpl; // Impl-data for UNO + Basic
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SwScrollbar *m_pHScrollbar, // MDI control elements
|
|
|
|
*m_pVScrollbar;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
bool m_bHScrollbarEnabled;
|
|
|
|
bool m_bVScrollbarEnabled;
|
2012-11-08 12:47:21 +04:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
Window *m_pScrollFill; // dummy window for filling the lower right edge
|
2011-04-21 21:52:58 +02:00
|
|
|
// when both scrollbars are active
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SvxRuler *m_pHRuler,
|
|
|
|
*m_pVRuler;
|
|
|
|
ImageButton *m_pTogglePageBtn;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SwHlpImageButton *m_pPageUpBtn,
|
|
|
|
*m_pPageDownBtn;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SwNaviImageButton *m_pNaviBtn;
|
|
|
|
SwGlossaryHdl *m_pGlosHdl; // handle text block
|
|
|
|
SwDrawBase *m_pDrawActual;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
const SwFrmFmt *m_pLastTableFormat;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SwFormatClipboard *m_pFormatClipboard; //holds data for format paintbrush
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SwPostItMgr *m_pPostItMgr;
|
2008-02-19 12:57:20 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
int m_nSelectionType;
|
|
|
|
FloatingWindow *m_pFieldPopup;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
static const int m_nMASTERENUMCOMMANDS = 6;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
String m_aCurrShapeEnumCommand[ m_nMASTERENUMCOMMANDS ];
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
sal_uInt16 m_nPageCnt;
|
2009-02-18 13:14:22 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// current draw mode
|
2013-03-23 16:14:56 +01:00
|
|
|
sal_uInt16 m_nDrawSfxId;
|
|
|
|
String m_sDrawCustom; //some drawing types are marked with strings!
|
|
|
|
sal_uInt16 m_nFormSfxId;
|
|
|
|
sal_uInt16 m_nLastPasteDestination;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
// save the border distance status from SwView::StateTabWin to re-use it in SwView::ExecTabWin()
|
2013-03-23 16:14:56 +01:00
|
|
|
sal_uInt16 m_nLeftBorderDistance;
|
|
|
|
sal_uInt16 m_nRightBorderDistance;
|
|
|
|
|
|
|
|
bool m_bWheelScrollInProgress;
|
|
|
|
|
|
|
|
sal_Bool m_bCenterCrsr : 1,
|
|
|
|
m_bTopCrsr : 1,
|
|
|
|
m_bAlwaysShowSel : 1,
|
|
|
|
m_bTabColFromDoc : 1,
|
|
|
|
m_bNumIndentFromDoc : 1, // #i23726#
|
|
|
|
m_bTabRowFromDoc : 1,
|
|
|
|
m_bSetTabColFromDoc : 1 ,
|
|
|
|
m_bSetTabRowFromDoc : 1,
|
|
|
|
m_bAttrChgNotified : 1,
|
|
|
|
m_bAttrChgNotifiedWithRegistrations : 1,
|
|
|
|
m_bVerbsActive : 1,
|
|
|
|
m_bDrawRotate : 1,
|
|
|
|
m_bDrawSelMode : 1,
|
|
|
|
m_bShowAtResize : 1,
|
|
|
|
m_bInOuterResizePixel : 1,
|
|
|
|
m_bInInnerResizePixel : 1,
|
|
|
|
m_bPasteState : 1,
|
|
|
|
m_bPasteSpecialState : 1,
|
|
|
|
m_bInMailMerge : 1,
|
|
|
|
m_bInDtor : 1, //detect destructor to prevent creating of sub shells while closing
|
|
|
|
m_bOldShellWasPagePreView : 1,
|
|
|
|
m_bIsPreviewDoubleClick : 1, // #i114045#
|
|
|
|
m_bMakeSelectionVisible : 1, // transport the bookmark selection
|
2013-02-14 18:42:52 +01:00
|
|
|
m_bAnnotationMode; ///< The real cursor position is inside an annotation.
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// methods for searching
|
|
|
|
// set search context
|
2011-01-17 15:06:54 +01:00
|
|
|
SW_DLLPRIVATE sal_Bool SearchAndWrap(sal_Bool bApi = sal_False);
|
|
|
|
SW_DLLPRIVATE sal_Bool SearchAll(sal_uInt16* pFound = 0);
|
|
|
|
SW_DLLPRIVATE sal_uLong FUNC_Search( const SwSearchOptions& rOptions );
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE void Replace();
|
|
|
|
|
2013-03-26 22:25:24 +09:00
|
|
|
bool IsDocumentBorder();
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-26 22:25:24 +09:00
|
|
|
SW_DLLPRIVATE bool IsTextTool() const;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// create control elements
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE void CreateBtns();
|
|
|
|
SW_DLLPRIVATE DECL_LINK( BtnPage, Button * );
|
|
|
|
|
2012-03-01 18:00:32 +01:00
|
|
|
SW_DLLPRIVATE DECL_LINK( TimeoutHdl, void* );
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE DECL_LINK( UpdatePercentHdl, GraphicFilter* );
|
|
|
|
|
2012-03-01 18:00:32 +01:00
|
|
|
SW_DLLPRIVATE DECL_LINK( FieldPopupModeEndHdl, void* );
|
2011-02-10 11:21:11 +01:00
|
|
|
|
2006-07-26 14:50:43 +00:00
|
|
|
inline long GetXScroll() const;
|
|
|
|
inline long GetYScroll() const;
|
|
|
|
SW_DLLPRIVATE Point AlignToPixel(const Point& rPt) const;
|
|
|
|
SW_DLLPRIVATE void CalcPt( Point* pPt,const Rectangle& rRect,
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_uInt16 nRangeX = USHRT_MAX,
|
|
|
|
sal_uInt16 nRangeY = USHRT_MAX);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
SW_DLLPRIVATE sal_Bool GetPageScrollUpOffset(SwTwips& rOff) const;
|
|
|
|
SW_DLLPRIVATE sal_Bool GetPageScrollDownOffset(SwTwips& rOff) const;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// scrollbar movements
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE long PageUp();
|
|
|
|
SW_DLLPRIVATE long PageDown();
|
2011-01-17 15:06:54 +01:00
|
|
|
SW_DLLPRIVATE long PageUpCrsr(sal_Bool bSelect);
|
|
|
|
SW_DLLPRIVATE long PageDownCrsr(sal_Bool bSelect);
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE long PhyPageUp();
|
|
|
|
SW_DLLPRIVATE long PhyPageDown();
|
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
SW_DLLPRIVATE int _CreateScrollbar( sal_Bool bHori );
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE DECL_LINK( ScrollHdl, SwScrollbar * );
|
|
|
|
SW_DLLPRIVATE DECL_LINK( EndScrollHdl, SwScrollbar * );
|
2011-01-17 15:06:54 +01:00
|
|
|
SW_DLLPRIVATE sal_Bool UpdateScrollbars();
|
2010-09-15 11:03:16 +02:00
|
|
|
SW_DLLPRIVATE DECL_LINK( WindowChildEventListener, VclSimpleEvent* );
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE void CalcVisArea( const Size &rPixelSz );
|
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
SW_DLLPRIVATE void CreatePageButtons(sal_Bool bShow);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// linguistics functions
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE void HyphenateDocument();
|
2011-01-17 15:06:54 +01:00
|
|
|
SW_DLLPRIVATE sal_Bool IsDrawTextHyphenate();
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE void HyphenateDrawText();
|
|
|
|
SW_DLLPRIVATE void StartThesaurus();
|
|
|
|
|
|
|
|
// text conversion
|
|
|
|
SW_DLLPRIVATE void StartTextConversion( LanguageType nSourceLang, LanguageType nTargetLang, const Font *pTargetFont, sal_Int32 nOptions, sal_Bool bIsInteractive );
|
|
|
|
|
|
|
|
// used for spell checking and text conversion
|
2013-04-21 16:55:25 +02:00
|
|
|
SW_DLLPRIVATE void SpellStart( SvxSpellArea eSpell, bool bStartDone,
|
|
|
|
bool bEndDone, SwConversionArgs *pConvArgs = 0 );
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE void SpellEnd( SwConversionArgs *pConvArgs = 0 );
|
|
|
|
|
|
|
|
SW_DLLPRIVATE void HyphStart( SvxSpellArea eSpell );
|
2012-12-06 21:05:57 +00:00
|
|
|
SW_DLLPRIVATE sal_Bool CheckSpecialCntnt();
|
2011-01-17 15:06:54 +01:00
|
|
|
SW_DLLPRIVATE void SpellKontext(sal_Bool bOn = sal_True)
|
2013-03-23 16:14:56 +01:00
|
|
|
{ m_bCenterCrsr = bOn; m_bAlwaysShowSel = bOn; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// methods for printing
|
2011-01-24 17:22:01 +01:00
|
|
|
SW_DLLPRIVATE virtual SfxPrinter* GetPrinter( sal_Bool bCreate = sal_False );
|
2012-12-06 21:05:57 +00:00
|
|
|
SW_DLLPRIVATE virtual bool HasPrintOptionsPage() const;
|
|
|
|
SW_DLLPRIVATE virtual SfxTabPage* CreatePrintOptionsPage( Window* pParent,
|
2006-07-26 14:50:43 +00:00
|
|
|
const SfxItemSet& rSet);
|
2011-04-21 21:52:58 +02:00
|
|
|
// for readonly switching
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
|
|
|
|
SW_DLLPRIVATE void _CheckReadonlyState();
|
|
|
|
SW_DLLPRIVATE void _CheckReadonlySelection();
|
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// method for rotating PageDesc
|
2006-07-26 14:50:43 +00:00
|
|
|
SW_DLLPRIVATE void SwapPageMargin(const SwPageDesc&, SvxLRSpaceItem& rLR);
|
|
|
|
|
|
|
|
SW_DLLPRIVATE void _SetZoom( const Size &rEditSz,
|
|
|
|
SvxZoomType eZoomType,
|
|
|
|
short nFactor = 100,
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool bViewOnly = sal_False);
|
|
|
|
SW_DLLPRIVATE void CalcAndSetBorderPixel( SvBorder &rToFill, sal_Bool bInner );
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
SW_DLLPRIVATE void ShowAtResize();
|
|
|
|
|
|
|
|
SW_DLLPRIVATE virtual void Move();
|
|
|
|
|
2013-02-13 11:35:13 +00:00
|
|
|
SW_DLLPRIVATE sal_Bool InsertGraphicDlg( SfxRequest& );
|
|
|
|
|
|
|
|
SW_DLLPRIVATE void DocumentStatsChanged();
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
protected:
|
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SwView_Impl* GetViewImpl() {return m_pViewImpl;}
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
void ImpSetVerb( int nSelType );
|
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
int GetSelectionType() const { return m_nSelectionType; }
|
|
|
|
void SetSelectionType(int nSet) { m_nSelectionType = nSet;}
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// for SwWebView
|
2013-03-23 16:14:56 +01:00
|
|
|
void SetShell( SfxShell* pS ) { m_pShell = pS; }
|
|
|
|
void SetFormShell( FmFormShell* pSh ) { m_pFormShell = pSh; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
virtual void SelectShell();
|
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
virtual void Activate(sal_Bool);
|
|
|
|
virtual void Deactivate(sal_Bool);
|
2006-07-26 14:50:43 +00:00
|
|
|
virtual void InnerResizePixel( const Point &rOfs, const Size &rSize );
|
|
|
|
virtual void OuterResizePixel( const Point &rOfs, const Size &rSize );
|
|
|
|
|
|
|
|
void SetImageButtonColor(Color& rColor);
|
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
const SwFrmFmt* GetLastTblFrmFmt() const {return m_pLastTableFormat;}
|
|
|
|
void SetLastTblFrmFmt(const SwFrmFmt* pSet) {m_pLastTableFormat = pSet;}
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
// form letter execution
|
2011-01-17 15:06:54 +01:00
|
|
|
void GenerateFormLetter(sal_Bool bUseCurrentDocument);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2007-10-22 14:24:56 +00:00
|
|
|
using SfxShell::GetDispatcher;
|
|
|
|
|
2006-07-26 14:50:43 +00:00
|
|
|
public:
|
|
|
|
|
|
|
|
SFX_DECL_VIEWFACTORY(SwView);
|
2007-09-27 11:14:01 +00:00
|
|
|
SFX_DECL_INTERFACE(SW_VIEWSHELL)
|
2006-07-26 14:50:43 +00:00
|
|
|
TYPEINFO();
|
|
|
|
|
|
|
|
SfxDispatcher &GetDispatcher();
|
|
|
|
|
|
|
|
void GotFocus() const;
|
|
|
|
virtual SdrView* GetDrawView() const;
|
2007-04-25 13:48:32 +00:00
|
|
|
virtual sal_Bool HasUIFeature( sal_uInt32 nFeature );
|
2011-03-14 16:51:14 +00:00
|
|
|
virtual void ShowCursor( bool bOn = sal_True );
|
2006-07-26 14:50:43 +00:00
|
|
|
virtual ErrCode DoVerb( long nVerb );
|
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
virtual sal_uInt16 SetPrinter( SfxPrinter* pNew,
|
|
|
|
sal_uInt16 nDiff = SFX_PRINTER_ALL, bool bIsAPI=false);
|
2006-07-26 14:50:43 +00:00
|
|
|
ShellModes GetShellMode();
|
|
|
|
|
|
|
|
com::sun::star::view::XSelectionSupplier* GetUNOObject();
|
|
|
|
|
2013-08-13 23:01:07 +04:00
|
|
|
OUString GetSelectionTextParam( bool bCompleteWords,
|
|
|
|
bool bEraseTrail );
|
2011-01-17 15:06:54 +01:00
|
|
|
virtual sal_Bool HasSelection( sal_Bool bText ) const;
|
2013-08-13 23:01:07 +04:00
|
|
|
virtual OUString GetSelectionText( bool bCompleteWords = false );
|
2011-01-17 15:06:54 +01:00
|
|
|
virtual sal_uInt16 PrepareClose( sal_Bool bUI = sal_True, sal_Bool bForBrowsing = sal_False );
|
2006-07-26 14:50:43 +00:00
|
|
|
virtual void MarginChanged();
|
|
|
|
|
2009-11-25 16:52:25 +00:00
|
|
|
// replace word/selection with text from the thesaurus
|
|
|
|
// (this code has special handling for "in word" character)
|
|
|
|
void InsertThesaurusSynonym( const String &rSynonmText, const String &rLookUpText, bool bValidSelection );
|
|
|
|
bool IsValidSelectionForThesaurus() const;
|
|
|
|
String GetThesaurusLookUpText( bool bSelection ) const;
|
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// immediately switch shell -> for GetSelectionObject
|
2006-07-26 14:50:43 +00:00
|
|
|
void StopShellTimer();
|
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
inline SwWrtShell& GetWrtShell () const { return *m_pWrtShell; }
|
|
|
|
inline SwWrtShell* GetWrtShellPtr() const { return m_pWrtShell; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
inline SwEditWin &GetEditWin() { return *m_pEditWin; }
|
|
|
|
inline const SwEditWin &GetEditWin () const { return *m_pEditWin; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2010-06-25 13:15:03 +02:00
|
|
|
#if defined WNT || defined UNX
|
2006-07-26 14:50:43 +00:00
|
|
|
void ScannerEventHdl( const ::com::sun::star::lang::EventObject& rEventObject );
|
|
|
|
#endif
|
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// hand the handler for text blocks to the shell; create if applicable
|
2006-07-26 14:50:43 +00:00
|
|
|
SwGlossaryHdl* GetGlosHdl();
|
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
inline const Rectangle& GetVisArea() const { return m_aVisArea; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool IsScroll(const Rectangle& rRect) const;
|
2006-07-26 14:50:43 +00:00
|
|
|
void Scroll( const Rectangle& rRect,
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_uInt16 nRangeX = USHRT_MAX,
|
|
|
|
sal_uInt16 nRangeY = USHRT_MAX);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
long SetVScrollMax(long lMax);
|
|
|
|
long SetHScrollMax(long lMax);
|
|
|
|
|
2011-12-20 23:08:10 +00:00
|
|
|
void SpellError(LanguageType eLang);
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool ExecSpellPopup( const Point& rPt );
|
2011-03-14 16:51:14 +00:00
|
|
|
void ExecFieldPopup( const Point& rPt, sw::mark::IFieldmark *fieldBM );
|
|
|
|
|
2007-01-02 15:53:33 +00:00
|
|
|
// SMARTTAGS
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool ExecSmartTagPopup( const Point& rPt );
|
2007-01-02 15:53:33 +00:00
|
|
|
|
2008-05-30 08:29:45 +00:00
|
|
|
DECL_LINK( OnlineSpellCallback, SpellCallbackInfo*);
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool ExecDrwTxtSpellPopup(const Point& rPt);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
void SetTabColFromDocPos( const Point &rPt ) { m_aTabColFromDocPos = rPt; }
|
|
|
|
void SetTabColFromDoc( sal_Bool b ) { m_bTabColFromDoc = b; }
|
|
|
|
sal_Bool IsTabColFromDoc() const { return m_bTabColFromDoc; }
|
|
|
|
void SetTabRowFromDoc( sal_Bool b ) { m_bTabRowFromDoc = b; }
|
|
|
|
sal_Bool IsTabRowFromDoc() const { return m_bTabRowFromDoc; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
// -> #i23726#
|
|
|
|
void SetNumRuleNodeFromDoc( SwTxtNode * pNumRuleNode )
|
2013-03-23 16:14:56 +01:00
|
|
|
{ m_pNumRuleNodeFromDoc = pNumRuleNode; }
|
|
|
|
void SetNumIndentFromDoc(sal_Bool b) { m_bNumIndentFromDoc = b; }
|
|
|
|
sal_Bool IsNumIndentFromDoc() const { return NULL != m_pNumRuleNodeFromDoc; }
|
2006-07-26 14:50:43 +00:00
|
|
|
// <- #i23726#
|
|
|
|
|
|
|
|
void DocSzChgd( const Size& rNewSize );
|
2013-03-23 16:14:56 +01:00
|
|
|
const Size& GetDocSz() const { return m_aDocSz; }
|
2011-01-17 15:06:54 +01:00
|
|
|
virtual void SetVisArea( const Rectangle&, sal_Bool bUpdateScrollbar = sal_True);
|
|
|
|
void SetVisArea( const Point&, sal_Bool bUpdateScrollbar = sal_True);
|
2006-07-26 14:50:43 +00:00
|
|
|
void CheckVisArea();
|
|
|
|
|
2010-06-13 15:22:56 +02:00
|
|
|
void RecheckBrowseMode();
|
2011-11-15 15:13:00 +01:00
|
|
|
static Dialog* GetSearchDialog();
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
static sal_uInt16 GetMoveType();
|
|
|
|
static void SetMoveType(sal_uInt16 nSet);
|
2007-07-12 09:50:55 +00:00
|
|
|
DECL_STATIC_LINK( SwView, MoveNavigationHdl, bool* ); // #i75416#
|
CWS-TOOLING: integrate CWS swrefactormarks2
2009-04-09 12:51:41 +0200 b_michaelsen r270689 : #i94949# cleaned up assertions after rebasing
2009-04-08 17:37:08 +0200 b_michaelsen r270658 : fixing sw/source/ui/utlui/makefile.mk
2009-04-07 17:56:54 +0200 b_michaelsen r270606 : added bookctrl.cxx to EXCEPTIONFILES, because this is needed for stl on unxsols4
2009-04-07 17:05:20 +0200 b_michaelsen r270603 : added crbm.cxx to EXCEPTIONFILES, because this is needed for stl on unxsols4
2009-04-02 23:44:38 +0200 b_michaelsen r270436 : CWS-TOOLING: rebase CWS swrefactormarks2 to trunk@270033 (milestone: DEV300:m45)
2009-02-27 16:25:31 +0100 b_michaelsen r268606 : #i94949# fixed Windows buildbreaker
2009-02-25 18:01:13 +0100 b_michaelsen r268464 : #i94949# Bookmarktest document filter roundtrips
2009-02-24 18:23:55 +0100 b_michaelsen r268404 : #i94949# Bookmark unittests
2009-02-23 19:47:44 +0100 b_michaelsen r268370 : #i94949# added unittest for bookmarks
2009-02-23 12:22:07 +0100 b_michaelsen r268348 : #i94949# fixing CheckCrossReferences testcase
2009-02-20 18:12:50 +0100 b_michaelsen r268335 : #i94949# fixing SwXTextRange
2009-02-18 18:32:57 +0100 b_michaelsen r268252 : #i94949# deregistering DdeBookmarks on delete
2009-02-18 18:29:08 +0100 b_michaelsen r268251 : fixing dbgoutsw.cxx for debug builds
2009-02-16 18:42:43 +0100 b_michaelsen r267834 : CWS-TOOLING: rebase CWS swrefactormarks2 to trunk@267171 (milestone: DEV300:m41)
2009-02-12 15:32:02 +0100 b_michaelsen r267667 : #i94949 fixed crossrefbookmark naming
2009-02-11 18:30:08 +0100 b_michaelsen r267624 : #94949# fixing bookmark navigation
2009-02-11 13:55:26 +0100 b_michaelsen r267599 : #i94949# fixed bookmark naming
2009-02-10 17:53:05 +0100 b_michaelsen r267571 : #i94949# renamed HasOtherMarkPos to IsExpanded
2009-02-10 17:23:01 +0100 b_michaelsen r267564 : #i94949# renamed ::sw::bookmark namespace to more fitting ::sw::mark
2009-02-10 16:16:32 +0100 b_michaelsen r267553 : #i94949# creating only CrossRefBookmark per Txtnode
2009-02-10 12:14:05 +0100 b_michaelsen r267547 : #i94949# fixed bookmark count in navigator
2009-02-09 19:12:18 +0100 b_michaelsen r267532 : #i94949# lcl_CopyBookmarks(..) - handle marks on boundaries correctly
2009-02-09 17:32:45 +0100 b_michaelsen r267524 : #i94949# setting the refobject of the DdeBookmark in Sin SwServerObject::SetDdeBookmark(..)
2009-02-09 17:22:15 +0100 b_michaelsen r267523 : #i94949# trying to harden SwServerObject
2009-02-09 16:47:32 +0100 b_michaelsen r267521 : #i94949# lcl_CopyBookmarks(..): try to get the source mark name, if possible
2009-02-09 16:05:42 +0100 b_michaelsen r267519 : #i94949# clearing the OtherMarkPos if PaM has no mark in repositionMark(..), swapping inverted bookmarks without hissing an assertion
2009-02-09 15:55:38 +0100 b_michaelsen r267518 : #i94949# checking for out-of-bounds in SwView::ExecuteStatusLine(..)
2009-02-09 15:23:47 +0100 b_michaelsen r267517 : #i94949# using an UNO_BOOKMARK in ui/dbui/dbinsdlg.cxx
2009-02-09 14:14:47 +0100 b_michaelsen r267514 : #i94949# IDocumentMarkAccess::GetType(..) asserts on unknown type
2009-02-09 14:04:25 +0100 b_michaelsen r267513 : #i94949# using rtl strings instead of tools-strings in CrossRefBookmarks
2009-02-09 13:55:01 +0100 b_michaelsen r267510 : #i94949# using empty string for UnoMark construction
2009-02-09 13:46:46 +0100 b_michaelsen r267509 : #i94949# removed superfluous #includes, removed superfluous member DdeBookmark::bGenerateName, initialized DdeBookmark::m_aRefObj removed superfluous local _FindItem::ClearObj
2009-02-06 14:38:37 +0100 b_michaelsen r267462 : #i94949# fixing FN_STAT_BOOKMARK dispatches
2009-02-05 18:05:07 +0100 b_michaelsen r267436 : #i94949# removing superfluous #includes
2009-02-04 15:51:31 +0100 b_michaelsen r267391 : fixing resync merge error
2009-02-02 19:39:55 +0100 b_michaelsen r267294 : #i94949# bookmark performance
2009-01-30 19:30:51 +0100 b_michaelsen r267229 : #i94949# throwing IllegalArgumentException, if appropriate
2009-01-30 19:29:56 +0100 b_michaelsen r267228 : #i94949# refactored lcl_FillBookmarkArray, comments, constness
2009-01-30 19:23:49 +0100 b_michaelsen r267227 : #i94949# refactored lcl_FillBookmarkArray, comments, constness
2009-01-30 19:16:06 +0100 b_michaelsen r267226 : #i94949# refactored lcl_FillBookmarkArray
2009-01-30 17:59:27 +0100 b_michaelsen r267222 : #i94949# removed superficial #include
2009-01-30 17:50:02 +0100 b_michaelsen r267220 : #i94949# SwXTextRange remembers its UNO bookmark
2009-01-29 20:19:58 +0100 b_michaelsen r267168 : #i94949# implemented IDocumentMarkAccess::findBookmark
2009-01-29 17:22:17 +0100 b_michaelsen r267162 : #i94949# implemented renameMark in Markmanager
2009-01-29 14:17:10 +0100 b_michaelsen r267134 : #i94949# cleanup in SwXBookmark, whitespace
2009-01-29 13:21:54 +0100 b_michaelsen r267125 : #i94949# cleanup in SwXBookmark, whitespace
2009-01-29 13:06:10 +0100 b_michaelsen r267120 : #i94949# cleanup in SwXBookmark, whitespace
2009-01-29 13:00:09 +0100 b_michaelsen r267118 : #i94949# cleanup in SwXBookmark, whitespace
2009-01-29 10:35:10 +0100 b_michaelsen r267101 : #i94949# renamed SetCrsrToBkmk to SetCrsrToMark, moving to start/end of doc if no more bookmarks can be found
2009-01-28 17:05:36 +0100 b_michaelsen r267070 : #i94949# fixed order in aProvNamesId in unocoll.cxx
2009-01-28 15:46:13 +0100 b_michaelsen r267063 : #i94949# documentation
2009-01-28 15:36:59 +0100 b_michaelsen r267062 : #i94949# removing superficial #include
2009-01-28 15:30:36 +0100 b_michaelsen r267061 : #i94949# basic code conventions
2009-01-28 11:14:30 +0100 b_michaelsen r267039 : #i94949# comparing to the actual name of the new mark
2009-01-26 15:22:25 +0100 b_michaelsen r266927 : #i94949# performance fixes
2009-01-14 21:16:56 +0100 b_michaelsen r266332 : #i94949# fixing linux x86-64 compiler warnings
2009-01-14 19:52:06 +0100 b_michaelsen r266331 : #i94949# fixing some compiler warnings
2008-12-15 13:04:49 +0100 b_michaelsen r265474 : #i94949# fixed microsoft compiler warnings
2008-12-12 18:26:02 +0100 b_michaelsen r265434 : #i94949# fixed pro platform buildbreakers
2008-12-11 17:51:24 +0100 b_michaelsen r265342 : CWS-TOOLING: rebase CWS swrefactormarks2 to trunk@264807 (milestone: DEV300:m37)
2008-12-09 18:30:59 +0100 b_michaelsen r265134 : #i94949# fixed IDocumentMarkAccess::GetType for new mark inheritance tree
2008-12-09 16:56:26 +0100 b_michaelsen r265118 : #i94949# fixed deleteMark optimization
2008-12-09 14:55:58 +0100 b_michaelsen r265092 : #i94949# DdeLink and DdeBookmark
2008-12-05 18:28:05 +0100 b_michaelsen r264914 : #i94949# fixed InitDoc in bookmarks
2008-12-02 02:23:51 +0100 b_michaelsen r264649 : #i94949# removed obsolete naming proposal code in SwXTextRange, fixed navigator reminders to forget the oldest reminder when the pool is empty
2008-12-02 02:05:19 +0100 b_michaelsen r264648 : #i94949# using bisect search for delete
2008-12-02 01:58:16 +0100 b_michaelsen r264647 : #i94949# using bisect search for delete
2008-12-02 01:37:33 +0100 b_michaelsen r264646 : #i94949# using bisect search for delete
2008-12-02 01:03:29 +0100 b_michaelsen r264645 : #i94949# fixed deleteMark crash
2008-12-01 20:55:00 +0100 b_michaelsen r264638 : #i94949# removed crossrefs from ui enumerations
2008-12-01 15:48:12 +0100 b_michaelsen r264613 : #i94949# removed superfluous local functions
2008-12-01 15:01:19 +0100 b_michaelsen r264608 : #i94949# optimized insertion of new marks
2008-12-01 14:33:21 +0100 b_michaelsen r264603 : #i94949# simplified code finding Fieldmark for a position
2008-12-01 14:05:55 +0100 b_michaelsen r264598 : #i94949# fixed reverse travelling through marks, removed obsolete getUniqueMarkName()
2008-11-27 18:48:15 +0100 b_michaelsen r264515 : #i94949# fixed _SaveCntntIdx and friends
2008-11-27 15:59:49 +0100 b_michaelsen r264500 : #i94949# fix Mark position only in ctor
2008-11-27 15:52:28 +0100 b_michaelsen r264497 : #i94949# fixed Bug in SwXBookmark, was using pDoc too early
2008-11-26 14:54:22 +0100 b_michaelsen r264396 : #i94949# fixed documentation, simplified navigator reminder code
2008-11-24 20:45:51 +0100 b_michaelsen r264266 : #i94949# removed last obsolete getUniqueMarkName calls
2008-11-24 20:21:35 +0100 b_michaelsen r264265 : #i94949# fixed typo in IDocumentMarkAccess, removed obsolete getUniqueMarkName calls
2008-11-24 18:34:32 +0100 b_michaelsen r264264 : #i94949# repositioning of Marks, removed possibility to delete marks by name in the core, refactoring of navigator reminder generation
2008-11-21 14:08:49 +0100 b_michaelsen r264137 : #i94949# simplified makeMark
2008-11-21 12:07:09 +0100 b_michaelsen r264120 : #i94949# moved ShortName and KeyCode from IMark to IBookmark
2008-11-19 12:50:49 +0100 b_michaelsen r263981 : #i94949# starting refactoring of bookmark naming
2008-11-19 11:31:08 +0100 b_michaelsen r263972 : #i94949# getting rid of obsolete dynamic casts
2008-11-18 19:06:09 +0100 b_michaelsen r263795 : #i94949# getting rid of index based mark access, IDocumentMarkAccess already provides iterators
2008-11-18 17:50:18 +0100 b_michaelsen r263792 : #i94949# getting rid of index based mark access, IDocumentMarkAccess already provides iterators
2008-11-18 16:48:20 +0100 b_michaelsen r263783 : #i94949# removed methods from crsrsh which are already available directly via IDocumentMarkAccess
2008-11-18 11:31:35 +0100 b_michaelsen r263753 : #i94949# cleaning up mark code in crsrsh
2008-11-17 10:15:25 +0100 b_michaelsen r263705 : #i94949# removed possible integer overflow
2008-11-14 18:48:45 +0100 b_michaelsen r263695 : #i94949# management of mark names in MarkManager
2008-11-14 18:23:40 +0100 b_michaelsen r263693 : #i94949# using polymorphism to do mark-specific setup in SwDoc
2008-11-14 16:27:09 +0100 b_michaelsen r263684 : #i94949# got rid of makeCrossRefBookmark
2008-11-14 13:03:32 +0100 b_michaelsen r263674 : #i94949# refactored Correction methods
2008-11-13 12:27:55 +0100 b_michaelsen r263631 : #i94949# got rid of old-style tools assertions in new code
2008-11-12 16:58:16 +0100 b_michaelsen r263608 : #i94949# added assertion for unique names
2008-11-12 16:55:18 +0100 b_michaelsen r263607 : #i94949# maked XFormField deprecated
2008-11-12 13:04:29 +0100 b_michaelsen r263587 : #i94949# replaced IDocumentMarkAccess::GetType with simple dynamic_cast where possible
2008-11-11 18:45:53 +0100 b_michaelsen r263572 : #i94949# cleaned up SwHstryBookmark
2008-11-11 13:48:18 +0100 b_michaelsen r263557 : #i94949# removed dynamic_casts to SwModify by inheriting IMark from it
2008-11-11 11:26:28 +0100 b_michaelsen r263548 : #i94949# fixed SwXBookmark
2008-11-10 17:01:19 +0100 b_michaelsen r263529 : #i94949# fixed DdeBookmarks in clipboard
2008-11-10 16:44:52 +0100 b_michaelsen r263527 : #i94949# formatting
2008-11-10 16:29:16 +0100 b_michaelsen r263526 : #i94949# fixing unoobj.cxx
2008-11-10 16:23:50 +0100 b_michaelsen r263525 : #i94949# cleaning up crossrefbookmark.cxx/.hxx
2008-11-10 16:02:08 +0100 b_michaelsen r263524 : #i94949# Pdf Export should only generate 'real' bookmarks
2008-11-10 15:33:58 +0100 b_michaelsen r263521 : #i94949# removed const_casts
2008-11-10 15:12:06 +0100 b_michaelsen r263520 : #i94949# moved _DelBookmarks into MarksManager
2008-11-07 18:48:38 +0100 b_michaelsen r263480 : #i94949# using iterator interface
2008-11-07 18:41:46 +0100 b_michaelsen r263478 : #i94949# using iterator interface
2008-11-07 18:07:41 +0100 b_michaelsen r263477 : #i94949# using iterator interface
2008-11-07 17:54:41 +0100 b_michaelsen r263476 : #i94949# using iterator interface
2008-11-07 17:44:41 +0100 b_michaelsen r263475 : #i94949# moved correction methods into MarkManager
2008-11-06 18:47:28 +0100 b_michaelsen r263404 : #i94949# getting rid of superfluous const_casts
2008-11-06 17:58:01 +0100 b_michaelsen r263403 : #i94949# no more setting of mark positions outside of the core
2008-11-06 17:08:37 +0100 b_michaelsen r263401 : #i94949# removed setters from IMark
2008-11-06 13:55:25 +0100 b_michaelsen r263383 : #i94949 SwDoc does not implement IDocumentMarkAccess anymore
2008-11-04 18:17:03 +0100 b_michaelsen r263333 : #i94949# began removing IDocumentMarkAccess from SwDoc
2008-11-04 16:48:34 +0100 b_michaelsen r263330 : removing dead code (SwBitArray) found by mst
2008-11-04 16:29:32 +0100 b_michaelsen r263329 : removing dead code (SwBitArray) found by mst
2008-11-04 14:57:48 +0100 b_michaelsen r263326 : removing dead code (SwBitArray) found by mst
2008-11-04 14:50:18 +0100 b_michaelsen r263325 : #i94949# stricter typing in IDocumentMarkAccess
2008-10-24 15:16:27 +0200 b_michaelsen r262647 : #i94949# renamed ::sw::bookmark::SimpleMark to NavigatorReminder to fit the IDocumentMarkAccess enum
2008-10-24 15:10:10 +0200 b_michaelsen r262646 : #i94949# only 'real' bookmark implement IBookmark, Marks also get removed from m_vFieldmarks on delete/clear
2008-10-24 13:06:23 +0200 b_michaelsen r262636 : #i94949# Fieldmark tabnavigation
2008-10-23 12:16:36 +0200 b_michaelsen r262619 : #i94949# Fieldmark classes and filters
2008-10-22 13:17:18 +0200 b_michaelsen r262597 : #i94949# writer import fixes
2008-10-21 11:30:38 +0200 b_michaelsen r262565 : #i94949# renamed methods containing Bookmark in the generic IMark interface
2008-10-20 14:09:02 +0200 b_michaelsen r262318 : #i94949# fixed SwDoc::CorrRel
2008-10-16 22:45:13 +0200 b_michaelsen r262273 : #i94949 simplified Before/After methods
2008-10-16 21:40:57 +0200 b_michaelsen r262271 : #i94949 renamed SimpleMark to NavigatorReminder
2008-10-16 21:15:23 +0200 b_michaelsen r262270 : #i94949 using shared_ptr only in MarkManager
2008-10-16 17:46:37 +0200 b_michaelsen r262269 : #i94949# getFieldmarkBefore and getFieldmarkAfter
2008-10-16 17:12:13 +0200 b_michaelsen r262265 : #i94949# cleanup in crbm.cxx
2008-10-16 12:49:01 +0200 b_michaelsen r262257 : #i94949# fixed usage of invalid iterator, fixed invalid cast
2008-10-15 15:34:20 +0200 b_michaelsen r262239 : #i94949# added moved files
2008-10-15 15:26:45 +0200 b_michaelsen r262237 : #i94949# initial reimplementation of Bookmarks
2009-04-21 15:40:02 +00:00
|
|
|
static void SetActMark(sal_Int32 nSet);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool HandleWheelCommands( const CommandEvent& );
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// insert frames
|
2011-01-17 15:06:54 +01:00
|
|
|
void InsFrmMode(sal_uInt16 nCols);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
void SetZoom( SvxZoomType eZoomType, short nFactor = 100, sal_Bool bViewOnly = sal_False);
|
2006-07-26 14:50:43 +00:00
|
|
|
virtual void SetZoomFactor( const Fraction &rX, const Fraction & );
|
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
void SetViewLayout( sal_uInt16 nColumns, bool bBookMode, sal_Bool bViewOnly = sal_False );
|
2008-03-07 14:05:15 +00:00
|
|
|
|
2006-07-26 14:50:43 +00:00
|
|
|
void ShowHScrollbar(sal_Bool bShow);
|
|
|
|
sal_Bool IsHScrollbarVisible()const;
|
|
|
|
|
|
|
|
void ShowVScrollbar(sal_Bool bShow);
|
|
|
|
sal_Bool IsVScrollbarVisible()const;
|
|
|
|
|
2012-11-08 12:47:21 +04:00
|
|
|
void EnableHScrollbar(bool bEnable);
|
|
|
|
void EnableVScrollbar(bool bEnable);
|
|
|
|
|
2013-03-27 08:56:50 +02:00
|
|
|
int CreateVRuler();
|
|
|
|
int KillVRuler();
|
2006-07-26 14:50:43 +00:00
|
|
|
int CreateTab();
|
|
|
|
int KillTab();
|
|
|
|
|
2013-03-27 08:56:50 +02:00
|
|
|
int StatVRuler() const { return ((Window*)m_pVRuler)->IsVisible(); }
|
|
|
|
void ChangeVRulerMetric(FieldUnit eUnit);
|
|
|
|
void GetVRulerMetric(FieldUnit& rToFill) const;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
int StatTab() const { return ((Window*)m_pHRuler)->IsVisible(); }
|
2013-03-27 08:56:50 +02:00
|
|
|
SvxRuler& GetHRuler() { return *m_pHRuler; }
|
|
|
|
SvxRuler& GetVRuler() { return *m_pVRuler; }
|
2006-07-26 14:50:43 +00:00
|
|
|
void InvalidateRulerPos();
|
|
|
|
void ChangeTabMetric(FieldUnit eUnit);
|
2013-03-27 08:56:50 +02:00
|
|
|
void GetHRulerMetric(FieldUnit& rToFill) const;
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
// Handler
|
|
|
|
void Execute(SfxRequest&);
|
|
|
|
void ExecPageMove(SfxRequest&);
|
|
|
|
void ExecStyle(SfxRequest&);
|
|
|
|
void ExecLingu(SfxRequest&);
|
|
|
|
void ExecDataBase(SfxRequest&);
|
|
|
|
void ExecDlg(SfxRequest&);
|
|
|
|
void ExecDlgExt(SfxRequest&);
|
|
|
|
void ExecDBDlg(SfxRequest &);
|
|
|
|
void ExecColl(SfxRequest&);
|
|
|
|
void ExecutePrint(SfxRequest&);
|
|
|
|
void ExecDraw(SfxRequest&);
|
|
|
|
void ExecTabWin(SfxRequest&);
|
|
|
|
void ExecuteStatusLine(SfxRequest&);
|
|
|
|
DECL_LINK( ExecRulerClick, Ruler * );
|
2011-01-17 15:06:54 +01:00
|
|
|
void ExecSearch(SfxRequest&, sal_Bool bNoMessage = sal_False);
|
2006-07-26 14:50:43 +00:00
|
|
|
void ExecViewOptions(SfxRequest &);
|
|
|
|
|
|
|
|
void StateViewOptions(SfxItemSet &);
|
|
|
|
void StateSearch(SfxItemSet &);
|
|
|
|
void GetState(SfxItemSet&);
|
|
|
|
void StateStatusLine(SfxItemSet&);
|
|
|
|
|
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// functions for drawing
|
2006-07-26 14:50:43 +00:00
|
|
|
void SetDrawFuncPtr(SwDrawBase* pFuncPtr);
|
2013-03-23 16:14:56 +01:00
|
|
|
inline SwDrawBase* GetDrawFuncPtr(/*sal_Bool bBuf = sal_False*/) const { return m_pDrawActual; }
|
2006-07-26 14:50:43 +00:00
|
|
|
void GetDrawState(SfxItemSet &rSet);
|
|
|
|
void ExitDraw();
|
2013-03-23 16:14:56 +01:00
|
|
|
inline sal_Bool IsDrawRotate() { return m_bDrawRotate; }
|
|
|
|
inline void FlipDrawRotate() { m_bDrawRotate = !m_bDrawRotate; }
|
|
|
|
inline sal_Bool IsDrawSelMode() { return m_bDrawSelMode; }
|
2006-07-26 14:50:43 +00:00
|
|
|
void SetSelDrawSlot();
|
2013-03-23 16:14:56 +01:00
|
|
|
inline void FlipDrawSelMode() { m_bDrawSelMode = !m_bDrawSelMode; }
|
2011-04-21 21:52:58 +02:00
|
|
|
void NoRotate(); // turn off rotate mode
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool EnterDrawTextMode(const Point& aDocPos);
|
2013-03-23 16:14:56 +01:00
|
|
|
void LeaveDrawCreate() { m_nDrawSfxId = m_nFormSfxId = USHRT_MAX; m_sDrawCustom.Erase();}
|
|
|
|
sal_Bool IsDrawMode() { return (m_nDrawSfxId != USHRT_MAX || m_nFormSfxId != USHRT_MAX); }
|
2013-02-05 23:42:42 +09:00
|
|
|
bool IsFormMode() const;
|
2013-03-26 22:25:24 +09:00
|
|
|
bool IsBezierEditMode();
|
2013-02-05 23:42:42 +09:00
|
|
|
bool AreOnlyFormsSelected() const;
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool HasDrwObj(SdrObject *pSdrObj) const;
|
|
|
|
sal_Bool HasOnlyObj(SdrObject *pSdrObj, sal_uInt32 eObjInventor) const;
|
|
|
|
sal_Bool BeginTextEdit( SdrObject* pObj, SdrPageView* pPV=NULL,
|
2010-04-22 13:08:19 +02:00
|
|
|
Window* pWin=NULL, bool bIsNewObj=false, bool bSetSelectionToStart=false );
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
void StateTabWin(SfxItemSet&);
|
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// attributes have changed
|
2012-03-01 18:00:32 +01:00
|
|
|
DECL_LINK( AttrChangedNotify, void* );
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
// form control has been activated
|
2012-03-01 18:00:32 +01:00
|
|
|
DECL_LINK( FormControlActivated, void* );
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// edit links
|
2006-07-26 14:50:43 +00:00
|
|
|
void EditLinkDlg();
|
2011-01-17 15:06:54 +01:00
|
|
|
void AutoCaption(const sal_uInt16 nType, const SvGlobalName *pOleId = 0);
|
2006-07-26 14:50:43 +00:00
|
|
|
void InsertCaption(const InsCaptionOpt *pOpt);
|
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// Async call by Core
|
2011-01-17 15:06:54 +01:00
|
|
|
void UpdatePageNums(sal_uInt16 nPhyNum, sal_uInt16 nVirtNum, const String& rPgStr);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
String GetPageStr(sal_uInt16 nPhyNum, sal_uInt16 nVirtNum, const String& rPgStr);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-04-21 21:52:58 +02:00
|
|
|
// hand over Shell
|
2013-03-23 16:14:56 +01:00
|
|
|
SfxShell *GetCurShell() { return m_pShell; }
|
2006-07-26 14:50:43 +00:00
|
|
|
SwDocShell *GetDocShell();
|
|
|
|
inline const SwDocShell *GetDocShell() const;
|
2013-03-23 16:14:56 +01:00
|
|
|
inline FmFormShell *GetFormShell() { return m_pFormShell; }
|
|
|
|
inline const FmFormShell *GetFormShell() const { return m_pFormShell; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
// so that in the SubShells' DTors m_pShell can be reset if applicable
|
|
|
|
void ResetSubShell() { m_pShell = 0; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2013-08-14 18:41:28 +04:00
|
|
|
virtual void WriteUserData(OUString &, bool bBrowse = false);
|
|
|
|
virtual void ReadUserData(const OUString &, bool bBrowse = false);
|
2006-07-26 14:50:43 +00:00
|
|
|
virtual void ReadUserDataSequence ( const com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue >&, sal_Bool bBrowse );
|
|
|
|
virtual void WriteUserDataSequence ( com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue >&, sal_Bool bBrowse );
|
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
void SetCrsrAtTop( sal_Bool bFlag, sal_Bool bCenter = sal_False )
|
2013-03-23 16:14:56 +01:00
|
|
|
{ m_bTopCrsr = bFlag, m_bCenterCrsr = bCenter; }
|
|
|
|
sal_Bool IsCrsrAtTop() const { return m_bTopCrsr; }
|
|
|
|
sal_Bool IsCrsrAtCenter() const { return m_bCenterCrsr; }
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2012-10-30 11:27:06 +09:00
|
|
|
bool JumpToSwMark( const String& rMark );
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2011-01-17 15:06:54 +01:00
|
|
|
long InsertDoc( sal_uInt16 nSlotId, const String& rFileName,
|
|
|
|
const String& rFilterName, sal_Int16 nVersion = 0 );
|
2006-07-26 14:50:43 +00:00
|
|
|
|
2006-11-22 09:27:41 +00:00
|
|
|
void ExecuteInsertDoc( SfxRequest& rRequest, const SfxPoolItem* pItem );
|
2011-01-17 15:06:54 +01:00
|
|
|
long InsertMedium( sal_uInt16 nSlotId, SfxMedium* pMedium, sal_Int16 nVersion );
|
2006-11-22 09:27:41 +00:00
|
|
|
DECL_LINK( DialogClosedHdl, sfx2::FileDialogHelper * );
|
|
|
|
|
2006-07-26 14:50:43 +00:00
|
|
|
// status methods for clipboard.
|
|
|
|
// Status changes now notified from the clipboard.
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool IsPasteAllowed();
|
|
|
|
sal_Bool IsPasteSpecialAllowed();
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
// Enable mail merge - mail merge field dialog enabled
|
2011-01-17 15:06:54 +01:00
|
|
|
void EnableMailMerge(sal_Bool bEnable = sal_True);
|
2006-07-26 14:50:43 +00:00
|
|
|
//apply Accessiblity options
|
|
|
|
void ApplyAccessiblityOptions(SvtAccessibilityOptions& rAccessibilityOptions);
|
|
|
|
|
|
|
|
SwView(SfxViewFrame* pFrame, SfxViewShell*);
|
|
|
|
~SwView();
|
|
|
|
|
|
|
|
void NotifyDBChanged();
|
|
|
|
|
2011-12-21 16:39:22 +01:00
|
|
|
SfxObjectShellLock CreateTmpSelectionDoc();
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
void AddTransferable(SwTransferable& rTransferable);
|
|
|
|
|
|
|
|
// store MailMerge data while "Back to Mail Merge Wizard" FloatingWindow is active
|
|
|
|
// or to support printing
|
|
|
|
void SetMailMergeConfigItem(SwMailMergeConfigItem* pConfigItem, sal_uInt16 nRestart, sal_Bool bIsSource);
|
|
|
|
SwMailMergeConfigItem* GetMailMergeConfigItem();
|
|
|
|
sal_uInt16 GetMailMergeRestartPage() const;
|
|
|
|
sal_Bool IsMailMergeSourceView() const;
|
|
|
|
|
|
|
|
void ExecFormatPaintbrush(SfxRequest &);
|
|
|
|
void StateFormatPaintbrush(SfxItemSet &);
|
|
|
|
|
|
|
|
//public fuer D&D
|
|
|
|
int InsertGraphic( const String &rPath, const String &rFilter,
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool bLink = sal_True, GraphicFilter *pFlt = 0,
|
2006-07-26 14:50:43 +00:00
|
|
|
Graphic* pPreviewGrf = 0,
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool bRule = sal_False );
|
2008-02-19 12:57:20 +00:00
|
|
|
|
2009-01-02 15:51:45 +00:00
|
|
|
void ExecuteScan( SfxRequest& rReq );
|
|
|
|
|
2013-03-23 16:14:56 +01:00
|
|
|
SwPostItMgr* GetPostItMgr() { return m_pPostItMgr;}
|
|
|
|
const SwPostItMgr* GetPostItMgr() const { return m_pPostItMgr;}
|
2012-10-12 16:49:40 +02:00
|
|
|
|
|
|
|
// exhibition hack (MA,MBA)
|
|
|
|
void SelectShellForDrop();
|
2013-02-13 11:35:13 +00:00
|
|
|
|
|
|
|
void UpdateDocStats();
|
2013-02-14 18:42:52 +01:00
|
|
|
/// Where is the real cursor: in the annotation or in the main document?
|
|
|
|
void SetAnnotationMode(bool bMode);
|
2006-07-26 14:50:43 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// ----------------- inline Methoden ----------------------
|
|
|
|
inline long SwView::GetXScroll() const
|
|
|
|
{
|
2013-03-23 16:14:56 +01:00
|
|
|
return m_aVisArea.GetWidth() * nScrollX / 100L;
|
2006-07-26 14:50:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
inline long SwView::GetYScroll() const
|
|
|
|
{
|
2013-03-23 16:14:56 +01:00
|
|
|
return m_aVisArea.GetHeight() * nScrollY / 100L;
|
2006-07-26 14:50:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
inline const SwDocShell *SwView::GetDocShell() const
|
|
|
|
{
|
|
|
|
return ((SwView*)this)->GetDocShell();
|
|
|
|
}
|
|
|
|
|
|
|
|
SfxTabPage* CreatePrintOptionsPage( Window *pParent,
|
|
|
|
const SfxItemSet &rOptions,
|
2011-01-17 15:06:54 +01:00
|
|
|
sal_Bool bPreview);
|
2006-07-26 14:50:43 +00:00
|
|
|
|
|
|
|
#endif
|
2009-09-01 16:31:53 +00:00
|
|
|
|
2010-10-14 08:30:41 +02:00
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|