diff options
Diffstat (limited to 'sw/source/ui/inc')
200 files changed, 23905 insertions, 0 deletions
diff --git a/sw/source/ui/inc/DropDownFieldDialog.hxx b/sw/source/ui/inc/DropDownFieldDialog.hxx new file mode 100644 index 000000000000..26b01ae4accb --- /dev/null +++ b/sw/source/ui/inc/DropDownFieldDialog.hxx @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SW_DROPDOWNFIELDDIALOG_HXX +#define _SW_DROPDOWNFIELDDIALOG_HXX + +#include <svx/stddlg.hxx> +#include <vcl/fixed.hxx> +#include <vcl/lstbox.hxx> +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +class SwDropDownField; +class SwField; +class SwWrtShell; + +/*-------------------------------------------------------------------- + Dialog to edit drop down field selection + --------------------------------------------------------------------*/ +namespace sw +{ +class DropDownFieldDialog : public SvxStandardDialog +{ + FixedLine aItemsFL; + ListBox aListItemsLB; + + OKButton aOKPB; + CancelButton aCancelPB; + PushButton aNextPB; + HelpButton aHelpPB; + + PushButton aEditPB; + + SwWrtShell &rSh; + SwDropDownField* pDropField; + + DECL_LINK(ButtonHdl, PushButton*); + virtual void Apply(); +public: + DropDownFieldDialog( Window *pParent, SwWrtShell &rSh, + SwField* pField, BOOL bNextButton = FALSE ); + ~DropDownFieldDialog(); +}; +} //namespace sw + + +#endif diff --git a/sw/source/ui/inc/SidebarWindowsConsts.hxx b/sw/source/ui/inc/SidebarWindowsConsts.hxx new file mode 100644 index 000000000000..378b2be0790a --- /dev/null +++ b/sw/source/ui/inc/SidebarWindowsConsts.hxx @@ -0,0 +1,41 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: $ + * + * $Revision: $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SIDEBARWINDOWSCONSTS_HXX +#define _SIDEBARWINDOWSCONSTS_HXX + +namespace sw { namespace sidebarwindows { + +const sal_Int8 ANCHORLINE_WIDTH = 1; + +} } // end of namespace sw::sidebarwindows + +#endif diff --git a/sw/source/ui/inc/SwSpellDialogChildWindow.hxx b/sw/source/ui/inc/SwSpellDialogChildWindow.hxx new file mode 100644 index 000000000000..3ab86b3469d7 --- /dev/null +++ b/sw/source/ui/inc/SwSpellDialogChildWindow.hxx @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SW_SPELL_DIALOG_CHILD_WINDOW_HXX +#define SW_SPELL_DIALOG_CHILD_WINDOW_HXX + +#include <svx/SpellDialogChildWindow.hxx> +#ifndef _VIEW_HXX +#include <view.hxx> +#endif + +class SwWrtShell; +struct SpellState; +class SwSpellDialogChildWindow + : public ::svx::SpellDialogChildWindow +{ + bool m_bIsGrammarCheckingOn; + SpellState* m_pSpellState; + + SwWrtShell* GetWrtShell_Impl(); + bool MakeTextSelection_Impl(SwWrtShell& rSh, ShellModes eSelMode); + bool FindNextDrawTextError_Impl(SwWrtShell& rSh); + bool SpellDrawText_Impl(SwWrtShell& rSh, ::svx::SpellPortions& rPortions); + void LockFocusNotification(bool bLock); + +protected: + virtual svx::SpellPortions GetNextWrongSentence (void); + virtual void ApplyChangedSentence(const svx::SpellPortions& rChanged); + virtual void AddAutoCorrection(const String& rOld, const String& rNew, LanguageType eLanguage); + virtual bool HasAutoCorrection(); + virtual bool HasGrammarChecking(); + virtual bool IsGrammarChecking(); + virtual void SetGrammarChecking(bool bOn); + virtual void GetFocus(); + virtual void LoseFocus(); + +public: + SwSpellDialogChildWindow ( + Window*pParent, + USHORT nId, + SfxBindings* pBindings, + SfxChildWinInfo* pInfo); + ~SwSpellDialogChildWindow(); + + SFX_DECL_CHILDWINDOW(SwSpellDialogChildWindow); + + void InvalidateSpellDialog(); + +}; + +#endif + diff --git a/sw/source/ui/inc/SwXFilterOptions.hxx b/sw/source/ui/inc/SwXFilterOptions.hxx new file mode 100644 index 000000000000..c1dcc3676447 --- /dev/null +++ b/sw/source/ui/inc/SwXFilterOptions.hxx @@ -0,0 +1,113 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWXFILTEROPTIONS_HXX +#define _SWXFILTEROPTIONS_HXX + +#include <com/sun/star/beans/XPropertyAccess.hpp> +#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp> +#include <com/sun/star/document/XImporter.hpp> +#include <com/sun/star/document/XExporter.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> +#include <cppuhelper/implbase5.hxx> + +namespace com { namespace sun { namespace star { namespace io { + class XInputStream; +} } } } + + +/* -----------------------------2002/06/21 12:07------------------------------ + + ---------------------------------------------------------------------------*/ +class SwXFilterOptions : public ::cppu::WeakImplHelper5< + ::com::sun::star::beans::XPropertyAccess, + ::com::sun::star::ui::dialogs::XExecutableDialog, + ::com::sun::star::document::XImporter, + ::com::sun::star::document::XExporter, + ::com::sun::star::lang::XServiceInfo > +{ + ::rtl::OUString sFilterName; + ::rtl::OUString sFilterOptions; + + ::com::sun::star::uno::Reference< + ::com::sun::star::io::XInputStream > xInputStream; + ::com::sun::star::uno::Reference< + ::com::sun::star::lang::XComponent > xModel; + sal_Bool bExport; + +public: + SwXFilterOptions(); + virtual ~SwXFilterOptions(); + + static ::rtl::OUString getImplementationName_Static(); + static ::com::sun::star::uno::Sequence< ::rtl::OUString> getSupportedServiceNames_Static(); + + // XPropertyAccess + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > + SAL_CALL getPropertyValues() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< + ::com::sun::star::beans::PropertyValue >& aProps ) + throw (::com::sun::star::beans::UnknownPropertyException, + ::com::sun::star::beans::PropertyVetoException, + ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::lang::WrappedTargetException, + ::com::sun::star::uno::RuntimeException); + + // XExecutableDialog + virtual void SAL_CALL setTitle( const ::rtl::OUString& aTitle ) + throw (::com::sun::star::uno::RuntimeException); + virtual sal_Int16 SAL_CALL execute() throw (::com::sun::star::uno::RuntimeException); + + // XImporter + virtual void SAL_CALL setTargetDocument( const ::com::sun::star::uno::Reference< + ::com::sun::star::lang::XComponent >& xDoc ) + throw (::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::uno::RuntimeException); + + // XExporter + virtual void SAL_CALL setSourceDocument( const ::com::sun::star::uno::Reference< + ::com::sun::star::lang::XComponent >& xDoc ) + throw (::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::uno::RuntimeException); + + // XServiceInfo + virtual ::rtl::OUString SAL_CALL getImplementationName() + throw(::com::sun::star::uno::RuntimeException); + virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) + throw(::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() + throw(::com::sun::star::uno::RuntimeException); + +}; + +::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL + SwXFilterOptions_createInstance( + const ::com::sun::star::uno::Reference< + ::com::sun::star::lang::XMultiServiceFactory >& ); + +#endif + + diff --git a/sw/source/ui/inc/abstract.hxx b/sw/source/ui/inc/abstract.hxx new file mode 100644 index 000000000000..6700212aa0c3 --- /dev/null +++ b/sw/source/ui/inc/abstract.hxx @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _ABSTRACT_HXX +#define _ABSTRACT_HXX + +#include <sfx2/basedlgs.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + + +/*-----------------22.02.97 15.06------------------- + +--------------------------------------------------*/ +class SwInsertAbstractDlg : public SfxModalDialog +{ + FixedLine aFL; + FixedText aLevelFT; + NumericField aLevelNF; + FixedText aParaFT; + NumericField aParaNF; + FixedText aDescFT; + OKButton aOkPB; + CancelButton aCancelPB; + HelpButton aHelpPB; + +protected: + +public: + SwInsertAbstractDlg( Window* pParent ); + ~SwInsertAbstractDlg(); + + BYTE GetLevel() const; + BYTE GetPara() const; +}; + +#endif + + + diff --git a/sw/source/ui/inc/actctrl.hxx b/sw/source/ui/inc/actctrl.hxx new file mode 100644 index 000000000000..d1e9a3d82907 --- /dev/null +++ b/sw/source/ui/inc/actctrl.hxx @@ -0,0 +1,98 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _ACTCTRL_HXX +#define _ACTCTRL_HXX + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#include "swdllapi.h" + +/*-------------------------------------------------------------------- + Beschreibung: numerische Eingabe + --------------------------------------------------------------------*/ + +class SW_DLLPUBLIC NumEditAction: public NumericField +{ + Link aActionLink; + +protected: + virtual void Action(); + virtual long Notify( NotifyEvent& rNEvt ); +public: + NumEditAction( Window* pParent, const ResId& rResId ) : + NumericField(pParent, rResId) {} + + void SetActionHdl( const Link& rLink ) { aActionLink = rLink;} + const Link& GetActionHdl() const { return aActionLink; } +}; + + +/* -----------------21.04.98 08:11------------------- + * Edit, dass keine Spaces akzeptiert + * --------------------------------------------------*/ +class SW_DLLPUBLIC NoSpaceEdit : public Edit +{ + String sForbiddenChars; +protected: + virtual void KeyInput( const KeyEvent& ); + virtual void Modify(); + +public: + NoSpaceEdit( Window* pParent, const ResId& rResId); + virtual ~NoSpaceEdit(); + void SetForbiddenChars(const String& rSet){sForbiddenChars = rSet;} + const String& GetForbiddenChars(){return sForbiddenChars;} +}; + +/* -----------------21.04.98 08:33------------------- + * Kein Space und kein Punkt + * --------------------------------------------------*/ +class TableNameEdit : public NoSpaceEdit +{ +public: + TableNameEdit(Window* pWin, const ResId& rResId) : + NoSpaceEdit(pWin, rResId) + {SetForbiddenChars(String::CreateFromAscii(" .<>"));} +}; +/* -----------------25.06.2003 15:55----------------- + call a link when KEY_RETURN is pressed + --------------------------------------------------*/ +class SW_DLLPUBLIC ReturnActionEdit : public Edit +{ + Link aReturnActionLink; +public: + ReturnActionEdit( Window* pParent, const ResId& rResId) + : Edit(pParent, rResId){} + ~ReturnActionEdit(); + virtual void KeyInput( const KeyEvent& ); + + void SetReturnActionLink(const Link& rLink) + { aReturnActionLink = rLink;} +}; + +#endif diff --git a/sw/source/ui/inc/addrdlg.hxx b/sw/source/ui/inc/addrdlg.hxx new file mode 100644 index 000000000000..9e8370d1e2fc --- /dev/null +++ b/sw/source/ui/inc/addrdlg.hxx @@ -0,0 +1,44 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _ADDRDLG_HXX +#define _ADDRDLG_HXX + +#include <sfx2/basedlgs.hxx> + +class SwAddrDlg : public SfxSingleTabDialog +{ +public: + + SwAddrDlg( Window* pParent, const SfxItemSet& rSet ); + ~SwAddrDlg(); +}; + +#endif + + + + diff --git a/sw/source/ui/inc/annotsh.hxx b/sw/source/ui/inc/annotsh.hxx new file mode 100755 index 000000000000..979e1374e004 --- /dev/null +++ b/sw/source/ui/inc/annotsh.hxx @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWANNOTSH_HXX +#define _SWANNOTSH_HXX + +#include <sfx2/shell.hxx> +#include "shellid.hxx" +#include "swmodule.hxx" + +class SwView; +class SwAnnotationShell: public SfxShell +{ + SwView& rView; + +public: + SFX_DECL_INTERFACE(SW_ANNOTATIONSHELL) + TYPEINFO(); + + SwAnnotationShell(SwView&); + virtual ~SwAnnotationShell(); + + void StateDisableItems(SfxItemSet &); + void Exec(SfxRequest &); + + void GetState(SfxItemSet &); + void StateInsert(SfxItemSet &rSet); + + void NoteExec(SfxRequest &); + void GetNoteState(SfxItemSet &); + + void ExecLingu(SfxRequest &rReq); + void GetLinguState(SfxItemSet &); + + void ExecClpbrd(SfxRequest &rReq); + void StateClpbrd(SfxItemSet &rSet); + + void ExecTransliteration(SfxRequest &); + + void ExecUndo(SfxRequest &rReq); + void StateUndo(SfxItemSet &rSet); + + void StateStatusLine(SfxItemSet &rSet); + + void InsertSymbol(SfxRequest& rReq); + + void ExecSearch(SfxRequest&, BOOL bNoMessage = FALSE); + void StateSearch(SfxItemSet &); + + + virtual SfxUndoManager* GetUndoManager(); +}; + +#endif diff --git a/sw/source/ui/inc/app.hrc b/sw/source/ui/inc/app.hrc new file mode 100644 index 000000000000..edf7014a4e4f --- /dev/null +++ b/sw/source/ui/inc/app.hrc @@ -0,0 +1,183 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _APP_HRC +#define _APP_HRC + +#include "rcid.hrc" + +// Default Bitmap fuer ToolBox +#define BMP_FEHLT (RC_APP_BEGIN + 1) + +// Document-Icon +#define RC_DOC_ICON (RC_APP_BEGIN + 2) + +//Soll das Clipboard fuer andere Applikationen... +#define MSG_CLPBRD_CLEAR (RC_APP_BEGIN + 3) + +#define STR_CANTCREATE (RC_APP_BEGIN + 4) +#define STR_CANTOPEN (RC_APP_BEGIN + 5) + +// Messages +#define MSG_ERROR_SEND_MAIL ( RC_APP_BEGIN + 6) +#define MSG_SAVE_HTML_QUERY ( RC_APP_BEGIN + 7) + +//Fuer das Interface, weil der RID_APP_BEGIN jetzt Desktop ist. +#define RID_SW_NAME ( RC_APP_BEGIN + 8) +#define MSG_SAVEAS_HTML_QUERY ( RC_APP_BEGIN + 9) + + +#define STR_UNBENANNT (RC_APP_BEGIN + 13) +#define STR_VERSION (RC_APP_BEGIN + 14) +#define STR_PRINT_MERGE_MACRO (RC_APP_BEGIN + 15) +#define STR_PAGE_COUNT_MACRO (RC_APP_BEGIN + 16) + +// Bitmap fuer die NumerierungsVorlagen im Organizer +#define BMP_STYLES_FAMILY_NUM (RC_APP_BEGIN + 17) +#define BMP_STYLES_FAMILY_NUM_HC (RC_APP_BEGIN + 18) + +// Strings fuer Bereiche in der Konfiguration +#define STR_GRP_FILE (RC_APP_BEGIN + 56) +#define STR_GRP_EDIT (RC_APP_BEGIN + 57) +#define STR_GRP_TRAVELLING (RC_APP_BEGIN + 58) +#define STR_GRP_VIEW (RC_APP_BEGIN + 59) +#define STR_GRP_INSERT (RC_APP_BEGIN + 60) +#define STR_GRP_FORMAT (RC_APP_BEGIN + 61) +#define STR_GRP_STYLE (RC_APP_BEGIN + 62) +#define STR_GRP_TEXT (RC_APP_BEGIN + 63) +#define STR_GRP_FRAME (RC_APP_BEGIN + 64) +#define STR_GRP_GRAPHIC (RC_APP_BEGIN + 65) +#define STR_GRP_TABLE (RC_APP_BEGIN + 66) +#define STR_GRP_TOOLS (RC_APP_BEGIN + 67) +#define STR_GRP_NUMBERING (RC_APP_BEGIN + 68) +#define STR_GRP_WINDOW (RC_APP_BEGIN + 69) +#define STR_GRP_MISC (RC_APP_BEGIN + 70) +#define STR_GRP_MACRO (RC_APP_BEGIN + 71) +#define RES_EXT_HELP_STRING (RC_APP_BEGIN + 72) +#define RES_STD_HELP_STRING (RC_APP_BEGIN + 73) +#define STR_PAGEOFFSET (RC_APP_BEGIN + 74) +#define STR_PAGEBREAK (RC_APP_BEGIN + 75) +#define STR_REDLINE_UNKNOWN_AUTHOR (RC_APP_BEGIN + 76) +#define STR_WESTERN_FONT (RC_APP_BEGIN + 77) +#define STR_CJK_FONT (RC_APP_BEGIN + 78) +//#define MSG_INS_MERGE_FIELDS (RC_APP_BEGIN + 79) +#define MSG_PRINT_AS_MERGE (RC_APP_BEGIN + 80) +#define MSG_DATA_SOURCES_UNAVAILABLE (RC_APP_BEGIN + 82) +#define DLG_MERGE_SOURCE_UNAVAILABLE (RC_APP_BEGIN + 83) +#define ST_MERGE_SOURCE_UNAVAILABLE 1 +#define PB_MERGE_OK 2 +#define PB_MERGE_CANCEL 3 +#define IMG_MERGE 4 +#define SID_TOGGLETOOLBOX (RC_APP_BEGIN + 89) + +#define STR_ENV_TITLE (RC_APP_BEGIN + 91) +#define STR_LAB_TITLE (RC_APP_BEGIN + 92) + +#define STR_HUMAN_SWDOC_NAME (RC_APP_BEGIN + 93) + +#define RID_SW_ERRHDL (RC_APP_BEGIN + 95) + +#define STR_FDLG_TEMPLATE_BUTTON (RC_APP_BEGIN + 1) +#define STR_FDLG_TEMPLATE_NAME (RC_APP_BEGIN + 2) + + +// Ids fuer die einzelnen PopUpMenues +//#define MN_WIZARD (RC_APP_BEGIN + 9) +//#define MN_INDEX (RC_APP_BEGIN + 10) +//#define MN_FILE (RC_APP_BEGIN + 11) +//#define MN_EDIT (RC_APP_BEGIN + 12) +//#define MN_VIEW (RC_APP_BEGIN + 13) +//#define MN_INS (RC_APP_BEGIN + 14) +//#define MN_TEXT (RC_APP_BEGIN + 15) +//#define MN_FORMAT (RC_APP_BEGIN + 16) +#define MN_FORMAT_STYLE (RC_APP_BEGIN + 17) +#define MN_FORMAT_ALGN (RC_APP_BEGIN + 18) +#define MN_FORMAT_LINESPACE (RC_APP_BEGIN + 19) +//#define MN_EXTRA (RC_APP_BEGIN + 20) +//#define MN_WIN (RC_APP_BEGIN + 21) +//#define MN_HELP (RC_APP_BEGIN + 22) +#define MN_FORMAT_FRM_HORZ (RC_APP_BEGIN + 23) +//#define MN_FORMAT_FRM_VERT (RC_APP_BEGIN + 24) +//#define MN_PICKLIST (RC_APP_BEGIN + 25) +//#define MN_WINLIST (RC_APP_BEGIN + 26) +//#define MN_MACRO (RC_APP_BEGIN + 27) +//#define MN_FORMAT_HIERARCHY (RC_APP_BEGIN + 28) +#define MN_CELL (RC_APP_BEGIN + 29) +//#define MN_HELP_TIP (RC_APP_BEGIN + 30) +//#define MN_HELP_SEARCH (RC_APP_BEGIN + 31) +//#define MN_HELP_ACTIVE (RC_APP_BEGIN + 32) +//#define MN_HELP_INDEX (RC_APP_BEGIN + 33) +//#define MN_OBJECT (RC_APP_BEGIN + 34) +//#define MN_DATABASE (RC_APP_BEGIN + 35) +//#define MN_DIRSUBMENU (RC_APP_BEGIN + 36) +//#define MN_MAIL (RC_APP_BEGIN + 37) +#define MN_WRAP (RC_APP_BEGIN + 38) +#define MN_SUB_TBLROW (RC_APP_BEGIN + 39) +#define MN_SUB_TBLCOL (RC_APP_BEGIN + 40) +//#define MN_SUB_AUTOFORMAT (RC_APP_BEGIN + 41) +//#define MN_SUB_TOOLBAR (RC_APP_BEGIN + 42) +//#define MN_SUB_FIELD (RC_APP_BEGIN + 43) +//#define MN_SUB_GRAPHIC (RC_APP_BEGIN + 44) +//#define MN_SUB_TEMPLATES (RC_APP_BEGIN + 45) +#define MN_SUB_ARRANGE (RC_APP_BEGIN + 46) + +//#define MN_SUB_UPDATE (RC_APP_BEGIN + 48) +//#define MN_SUB_MIRROR (RC_APP_BEGIN + 49) +#define MN_SUB_ALIGN (RC_APP_BEGIN + 50) +//#define MN_SUB_OPTIONS (RC_APP_BEGIN + 51) +//#define MN_SUB_SENDTO (RC_APP_BEGIN + 52) +//#define MN_SUB_REVISE (RC_APP_BEGIN + 53) +//#define MN_TEMPLATES (RC_APP_BEGIN + 54) +//#define MN_FILE_PORT (RC_APP_BEGIN + 55) +//#define MN_EDIT_PORT (RC_APP_BEGIN + 56) +//#define MN_VIEW_PORT (RC_APP_BEGIN + 57) +//#define MN_INS_PORT (RC_APP_BEGIN + 58) +//#define MN_FORMAT_PORT (RC_APP_BEGIN + 59) +//#define MN_EXTRA_PORT (RC_APP_BEGIN + 60) +//#define MN_WIN_PORT (RC_APP_BEGIN + 61) +//#define MN_HELP_PORT (RC_APP_BEGIN + 62) +//#define MN_SUB_TRANSLITERATE (RC_APP_BEGIN + 63) +//#define MN_SUB_MACRO (RC_APP_BEGIN + 64) + +#define STR_WRITER_DOCUMENT_FULLTYPE (RC_APP_BEGIN + 100) +#define STR_ABSTRACT_TITLE (RC_APP_BEGIN + 102) +#define STR_DONT_ASK_AGAIN (RC_APP_BEGIN + 103) +// --> OD 2008-04-14 #outlinelevel# +#define STR_OUTLINE_NUMBERING (RC_APP_BEGIN + 104) +// <-- +//#outline level,zhaojianwei +#define STR_FDLG_OUTLINE_LEVEL (RC_APP_BEGIN + 105) +#define STR_FDLG_STYLE (RC_APP_BEGIN + 106) +//<-end,zhaojianwei + +#define APP_ACT_END STR_FDLG_STYLE + +#if APP_ACT_END > RC_APP_END +#error Resource-Id Ueberlauf in #file, #line +#endif + +#endif diff --git a/sw/source/ui/inc/ascfldlg.hxx b/sw/source/ui/inc/ascfldlg.hxx new file mode 100644 index 000000000000..18eb19228fee --- /dev/null +++ b/sw/source/ui/inc/ascfldlg.hxx @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _ASCFLDLG_HXX +#define _ASCFLDLG_HXX +#include <vcl/fixed.hxx> + +#ifndef _SV_BUTTON_HXX +#include <vcl/button.hxx> +#endif +#include <vcl/lstbox.hxx> +#include <sfx2/basedlgs.hxx> +#include <svx/txencbox.hxx> +#include <svx/langbox.hxx> + +class SwAsciiOptions; +class SvStream; +class SwDocShell; + +class SwAsciiFilterDlg : public SfxModalDialog +{ + FixedLine aFL; + FixedText aCharSetFT; + SvxTextEncodingBox aCharSetLB; + FixedText aFontFT; + ListBox aFontLB; + FixedText aLanguageFT; + SvxLanguageBox aLanguageLB; + FixedText aCRLF_FT; + RadioButton aCRLF_RB, aCR_RB, aLF_RB; + OKButton aOkPB; + CancelButton aCancelPB; + HelpButton aHelpPB; + String sSystemCharSet; + BOOL bSaveLineStatus; + + DECL_LINK( CharSetSelHdl, SvxTextEncodingBox* ); + DECL_LINK( LineEndHdl, RadioButton* ); + void SetCRLF( LineEnd eEnd ); + LineEnd GetCRLF() const; + +public: + // CTOR: for import - pStream is the inputstream + // for export - pStream must be 0 + SwAsciiFilterDlg( Window* pParent, SwDocShell& rDocSh, + SvStream* pStream ); + virtual ~SwAsciiFilterDlg(); + + void FillOptions( SwAsciiOptions& rOptions ); +}; + + + +#endif + diff --git a/sw/source/ui/inc/autoedit.hxx b/sw/source/ui/inc/autoedit.hxx new file mode 100644 index 000000000000..535bc04bf9ca --- /dev/null +++ b/sw/source/ui/inc/autoedit.hxx @@ -0,0 +1,50 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _AUTOEDIT_HXX +#define _AUTOEDIT_HXX + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + + +class AutoEdit : public Edit +{ +public: + AutoEdit( Window* pParent, ResId aResId ) : Edit( pParent, aResId ){} + +protected: + virtual void KeyInput( const KeyEvent& rEvent ); +}; + +// Implementieriung im autocorr.cxx + + + +#endif + + diff --git a/sw/source/ui/inc/barcfg.hxx b/sw/source/ui/inc/barcfg.hxx new file mode 100644 index 000000000000..6b88039eddbe --- /dev/null +++ b/sw/source/ui/inc/barcfg.hxx @@ -0,0 +1,47 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef SW_BARCFG_HXX +#define SW_BARCFG_HXX +#include <unotools/configitem.hxx> + +class SwToolbarConfigItem : public utl::ConfigItem +{ + sal_Int32 aTbxIdArray[5]; + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); + +public: + SwToolbarConfigItem( sal_Bool bWeb ); + ~SwToolbarConfigItem(); + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + + void SetTopToolbar( sal_Int32 nSelType, sal_Int32 nBarId ); +}; + +#endif diff --git a/sw/source/ui/inc/basesh.hxx b/sw/source/ui/inc/basesh.hxx new file mode 100644 index 000000000000..8c8b6eb98b7a --- /dev/null +++ b/sw/source/ui/inc/basesh.hxx @@ -0,0 +1,127 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWBASESH_HXX +#define _SWBASESH_HXX + + +#include <shellid.hxx> + +#define _SVSTDARR_USHORTSSORT +#define _SVSTDARR_USHORTS +#include <tools/link.hxx> +#include <vcl/timer.hxx> +#include <sfx2/module.hxx> +#include <sfx2/shell.hxx> +#include <svl/svstdarr.hxx> + +#include <mdiexp.hxx> + +class SwWrtShell; +class SwCrsrShell; +class SwView; +class SfxItemSet; +class Graphic; + +struct DBTextStruct_Impl; +class SwBaseShell: public SfxShell +{ + SwView &rView; + + // DragModus + static FlyMode eFrameMode; + + // Bug 75078 - if in GetState the asynch call of GetGraphic returns + // synch, the set the state directly into the itemset + SfxItemSet* pGetStateSet; + + //Update-Timer fuer Graphic + SvUShortsSort aGrfUpdateSlots; + + DECL_LINK( GraphicArrivedHdl, SwCrsrShell* ); + +protected: + SwWrtShell& GetShell(); + SwWrtShell* GetShellPtr(); + + inline SwView& GetView() { return rView; } + inline void SetGetStateSet( SfxItemSet* p ) { pGetStateSet = p; } + inline BOOL AddGrfUpdateSlot( USHORT nSlot ){ return aGrfUpdateSlots.Insert( nSlot ); } + + DECL_STATIC_LINK( SwBaseShell, InsertDBTextHdl, DBTextStruct_Impl* ); + + void InsertURLButton( const String& rURL, const String& rTarget, const String& rTxt ); + void InsertTable( SfxRequest& _rRequest ); + +public: + SwBaseShell(SwView &rShell); + virtual ~SwBaseShell(); + + SFX_DECL_INTERFACE(SW_BASESHELL) + TYPEINFO(); + + void ExecDelete(SfxRequest &); + + void ExecClpbrd(SfxRequest &); + void StateClpbrd(SfxItemSet &); + + void ExecUndo(SfxRequest &); + void StateUndo(SfxItemSet &); + + void Execute(SfxRequest &); + void GetState(SfxItemSet &); + void StateStyle(SfxItemSet &); + + void ExecuteGallery(SfxRequest&); + void GetGalleryState(SfxItemSet&); + + void ExecDlg(SfxRequest &); + + void StateStatusLine(SfxItemSet &rSet); + void ExecTxtCtrl(SfxRequest& rReq); + void GetTxtFontCtrlState(SfxItemSet& rSet); + void GetTxtCtrlState(SfxItemSet& rSet); + void GetBorderState(SfxItemSet &rSet); + void GetBckColState(SfxItemSet &rSet); + + void ExecBckCol(SfxRequest& rReq); + void SetWrapMode( USHORT nSlot ); + + void StateDisableItems(SfxItemSet &); + + void EditRegionDialog(SfxRequest& rReq); + void InsertRegionDialog(SfxRequest& rReq); + + void ExecField(SfxRequest& rReq); + + static void SetFrmMode( FlyMode eMode, SwWrtShell *pShell ); //Mit Update! + static void _SetFrmMode( FlyMode eMode ) { eFrameMode = eMode; } + static FlyMode GetFrmMode() { return eFrameMode; } + +}; + + +#endif diff --git a/sw/source/ui/inc/beziersh.hxx b/sw/source/ui/inc/beziersh.hxx new file mode 100644 index 000000000000..c9c88adb441e --- /dev/null +++ b/sw/source/ui/inc/beziersh.hxx @@ -0,0 +1,44 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWBEZIERSH_HXX +#define _SWBEZIERSH_HXX + +#include "basesh.hxx" + +class SwBezierShell: public SwBaseShell +{ +public: + SFX_DECL_INTERFACE(SW_BEZIERSHELL) + TYPEINFO(); + + SwBezierShell(SwView &rView); + + void GetState(SfxItemSet &); + void Execute(SfxRequest &); +}; + +#endif diff --git a/sw/source/ui/inc/bmpwin.hxx b/sw/source/ui/inc/bmpwin.hxx new file mode 100644 index 000000000000..e09ae625534d --- /dev/null +++ b/sw/source/ui/inc/bmpwin.hxx @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _BMPWIN_HXX +#define _BMPWIN_HXX + +#ifndef _GRAPH_HXX //autogen +#include <vcl/graph.hxx> +#endif +#ifndef _BITMAPEX_HXX +#include <vcl/bitmapex.hxx> +#endif +#include <vcl/window.hxx> + +/*-------------------------------------------------------------------- + Beschreibung: Extended Page fuer Grafiken + --------------------------------------------------------------------*/ + +class BmpWindow : public Window +{ +private: + Graphic aGraphic; + BitmapEx aBmp; + BitmapEx aBmpHC; + + BOOL bHorz : 1; + BOOL bVert : 1; + BOOL bGraphic : 1; + BOOL bLeftAlign : 1; + + void Paint(const Rectangle& rRect); + +public: + BmpWindow(Window* pPar, USHORT nId, + const Graphic& rGraphic, const BitmapEx& rBmp, const BitmapEx& rBmpHC); + BmpWindow(Window* pParent, const ResId rResId) : + Window(pParent, rResId), + bHorz(FALSE), bVert(FALSE),bGraphic(FALSE), bLeftAlign(TRUE) {} + ~BmpWindow(); + void MirrorVert(BOOL bMirror) { bVert = bMirror; Invalidate(); } + void MirrorHorz(BOOL bMirror) { bHorz = bMirror; Invalidate(); } + void SetGraphic(const Graphic& rGrf); +}; + +#endif diff --git a/sw/source/ui/inc/bookctrl.hxx b/sw/source/ui/inc/bookctrl.hxx new file mode 100644 index 000000000000..a41fb5262e64 --- /dev/null +++ b/sw/source/ui/inc/bookctrl.hxx @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _BOOKCTRL_HXX +#define _BOOKCTRL_HXX + +// include --------------------------------------------------------------- + +#include <sfx2/stbitem.hxx> +#include <tools/string.hxx> + +// class BookmarkToolBoxControl ------------------------------------------- + +class SwBookmarkControl : public SfxStatusBarControl +{ + virtual void Command( const CommandEvent& rCEvt ); + +public: + virtual void StateChanged( USHORT nSID, SfxItemState eState, + const SfxPoolItem* pState ); + virtual void Paint( const UserDrawEvent& rEvt ); + + SFX_DECL_STATUSBAR_CONTROL(); + + SwBookmarkControl( USHORT nSlotId, USHORT nId, StatusBar& rStb ); + ~SwBookmarkControl(); + +private: + String sPageNumber; +}; + + +#endif + diff --git a/sw/source/ui/inc/bookmark.hxx b/sw/source/ui/inc/bookmark.hxx new file mode 100644 index 000000000000..29c3173787a9 --- /dev/null +++ b/sw/source/ui/inc/bookmark.hxx @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _BOOKMARK_HXX +#define _BOOKMARK_HXX + +#include <svx/stddlg.hxx> +#include <vcl/fixed.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#include "swlbox.hxx" // SwComboBox + +class SwWrtShell; +class SfxRequest; + +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class BookmarkCombo : public SwComboBox +{ + USHORT GetFirstSelEntryPos() const; + USHORT GetNextSelEntryPos(USHORT nPos) const; + USHORT GetSelEntryPos(USHORT nPos) const; + + virtual long PreNotify(NotifyEvent& rNEvt); +public: + BookmarkCombo( Window* pWin, const ResId& rResId ); + + USHORT GetSelectEntryCount() const; + USHORT GetSelectEntryPos( USHORT nSelIndex = 0 ) const; + + static const String aForbiddenChars; +}; + +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class SwInsertBookmarkDlg: public SvxStandardDialog +{ + BookmarkCombo aBookmarkBox; + FixedLine aBookmarkFl; + OKButton aOkBtn; + CancelButton aCancelBtn; + PushButton aDeleteBtn; + + String sRemoveWarning; + SwWrtShell &rSh; + SfxRequest& rReq; + + DECL_LINK( ModifyHdl, BookmarkCombo * ); + DECL_LINK( DeleteHdl, Button * ); + + virtual void Apply(); + +public: + SwInsertBookmarkDlg( Window *pParent, SwWrtShell &rSh, SfxRequest& rReq ); + ~SwInsertBookmarkDlg(); +}; + +#endif diff --git a/sw/source/ui/inc/break.hxx b/sw/source/ui/inc/break.hxx new file mode 100644 index 000000000000..447afd8ca567 --- /dev/null +++ b/sw/source/ui/inc/break.hxx @@ -0,0 +1,92 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _BREAK_HXX +#define _BREAK_HXX + +#include <svx/stddlg.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +class SwWrtShell; + +class SwBreakDlg: public SvxStandardDialog +{ + SwWrtShell &rSh; + RadioButton aLineBtn; + RadioButton aColumnBtn; + RadioButton aPageBtn; + FixedText aPageCollText; + ListBox aPageCollBox; + CheckBox aPageNumBox; + NumericField aPageNumEdit; + FixedLine aBreakFL; + + OKButton aOkBtn; + CancelButton aCancelBtn; + HelpButton aHelpBtn; + + String aTemplate; + USHORT nKind; + USHORT nPgNum; + + BOOL bHtmlMode; + + DECL_LINK( ClickHdl, void * ); + DECL_LINK( PageNumHdl, CheckBox * ); + DECL_LINK( PageNumModifyHdl, Edit * ); + DECL_LINK( OkHdl, Button * ); + + void CheckEnable(); + +protected: + virtual void Apply(); + +public: + SwBreakDlg( Window *pParent, SwWrtShell &rSh ); + ~SwBreakDlg(); + + String GetTemplateName() { return aTemplate; } + USHORT GetKind() { return nKind; } + USHORT GetPageNumber() { return nPgNum; } +}; + +#endif + diff --git a/sw/source/ui/inc/caption.hxx b/sw/source/ui/inc/caption.hxx new file mode 100644 index 000000000000..c56f70364596 --- /dev/null +++ b/sw/source/ui/inc/caption.hxx @@ -0,0 +1,118 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CAPTION_HXX +#define _CAPTION_HXX + +#include <tools/string.hxx> +//#ifndef _STREAM_HXX //autogen +//#include <tools/stream.hxx> +//#endif +#include <tools/globname.hxx> +#include <SwCapObjType.hxx> +#include "swdllapi.h" + +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class SW_DLLPUBLIC InsCaptionOpt +{ +private: + BOOL bUseCaption; + SwCapObjType eObjType; + SvGlobalName aOleId; + String sCategory; + USHORT nNumType; + ::rtl::OUString sNumberSeparator; + String sCaption; + USHORT nPos; + USHORT nLevel; +// sal_Unicode cSeparator; + String sSeparator; + String sCharacterStyle; + + BOOL bIgnoreSeqOpts; // wird nicht gespeichert + BOOL bCopyAttributes; // -""- + +public: + InsCaptionOpt(const SwCapObjType eType = FRAME_CAP, const SvGlobalName* pOleId = 0); + InsCaptionOpt(const InsCaptionOpt&); + ~InsCaptionOpt(); + + inline BOOL& UseCaption() { return bUseCaption; } + inline BOOL UseCaption() const { return bUseCaption; } + + inline SwCapObjType GetObjType() const { return eObjType; } + inline void SetObjType(const SwCapObjType eType) { eObjType = eType; } + + inline const SvGlobalName& GetOleId() const { return aOleId; } + inline void SetOleId(const SvGlobalName &rId) { aOleId = rId; } + + inline const String& GetCategory() const { return sCategory; } + inline void SetCategory(const String& rCat) { sCategory = rCat; } + + inline USHORT GetNumType() const { return nNumType; } + inline void SetNumType(const USHORT nNT) { nNumType = nNT; } + + const ::rtl::OUString& GetNumSeparator() const { return sNumberSeparator; } + void SetNumSeparator(const ::rtl::OUString& rSet) {sNumberSeparator = rSet;} + + inline const String& GetCaption() const { return sCaption; } + inline void SetCaption(const String& rCap) { sCaption = rCap; } + + inline USHORT GetPos() const { return nPos; } + inline void SetPos(const USHORT nP) { nPos = nP; } + + inline USHORT GetLevel() const { return nLevel; } + inline void SetLevel(const USHORT nLvl) { nLevel = nLvl; } + +// inline sal_Unicode GetSeparator() const { return cSeparator; } +// inline void SetSeparator(const sal_Unicode cSep){ cSeparator = cSep; } + inline const String& GetSeparator() const { return sSeparator; } + inline void SetSeparator(const String& rSep) { sSeparator = rSep; } + + const String& GetCharacterStyle() const { return sCharacterStyle; } + void SetCharacterStyle(const String& rStyle) + { sCharacterStyle = rStyle; } + + inline BOOL& IgnoreSeqOpts() { return bIgnoreSeqOpts; } + inline BOOL IgnoreSeqOpts() const { return bIgnoreSeqOpts; } + + inline BOOL& CopyAttributes() { return bCopyAttributes; } + inline BOOL CopyAttributes() const { return bCopyAttributes; } + + BOOL operator==( const InsCaptionOpt& rOpt ) const; + InsCaptionOpt& operator= ( const InsCaptionOpt& rOpt ); + inline BOOL operator< ( const InsCaptionOpt & rObj ) const + { return aOleId < rObj.aOleId; } +// friend SvStream& operator>>( SvStream& rIStream, InsCaptionOpt& rCapOpt ); +// friend SvStream& operator<<( SvStream& rOStream, const InsCaptionOpt& rCapOpt ); +}; + +#endif + + diff --git a/sw/source/ui/inc/cfgdesc.hxx b/sw/source/ui/inc/cfgdesc.hxx new file mode 100644 index 000000000000..81732b05c208 --- /dev/null +++ b/sw/source/ui/inc/cfgdesc.hxx @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CFGDESC_HXX +#define _CFGDESC_HXX + +#include <tools/string.hxx> + +class SwCfgDesc +{ +protected: + String aFuncText; + String aLibName; + USHORT nEvent; + + SwCfgDesc(const String &rFuncName, USHORT nId); + SwCfgDesc(const String &rLib,const String &rMacro); + ~SwCfgDesc(); + +public: + void SetEvent(USHORT nE); // inline + void SetFuncText(const String &rStr); // inline + void SetMacro(const String &rLib, const String &rMac); + BOOL IsMacro() const; + USHORT GetEvent() const; // inline + String GetFuncText() const; // inline + String GetMacro() const; // inline + String GetLib() const; // inline +}; + +// INLINE METHODE -------------------------------------------------------- +inline void SwCfgDesc::SetEvent(USHORT nE) { + nEvent = nE; +} + +inline void SwCfgDesc::SetFuncText(const String &rStr) { + aFuncText = rStr; +} + +inline USHORT SwCfgDesc::GetEvent() const { return nEvent; } +inline String SwCfgDesc::GetFuncText() const { return aFuncText; } +inline String SwCfgDesc::GetMacro() const { return aFuncText; } +inline String SwCfgDesc::GetLib() const { return aLibName; } + + +#endif diff --git a/sw/source/ui/inc/cfgid.h b/sw/source/ui/inc/cfgid.h new file mode 100644 index 000000000000..71f061e7b094 --- /dev/null +++ b/sw/source/ui/inc/cfgid.h @@ -0,0 +1,40 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CFGID_H +#define _CFGID_H + +#include <sfx2/sfx.hrc> + +#define CFG_STATUSBAR (SFX_ITEMTYPE_SW_BEGIN +13) +#define CFG_SW_MENU (SFX_ITEMTYPE_SW_BEGIN +16) +#define CFG_SW_ACCEL (SFX_ITEMTYPE_SW_BEGIN +17) +#define CFG_SWWEB_MENU (SFX_ITEMTYPE_SW_BEGIN +19) +#define CFG_SWWEB_ACCEL (SFX_ITEMTYPE_SW_BEGIN +20) +#define CFG_INSERT_DBCOLUMN_ITEM (SFX_ITEMTYPE_SW_BEGIN +25) +#define CFG_SWGLOBAL_MENU (SFX_ITEMTYPE_SW_BEGIN +29) + +#endif diff --git a/sw/source/ui/inc/cfgitems.hxx b/sw/source/ui/inc/cfgitems.hxx new file mode 100644 index 000000000000..d80df8672cfd --- /dev/null +++ b/sw/source/ui/inc/cfgitems.hxx @@ -0,0 +1,242 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CFGITEMS_HXX +#define _CFGITEMS_HXX + +#include <tools/color.hxx> +#include <svl/poolitem.hxx> +#include "swdllapi.h" +#include <printdata.hxx> + +#include <cmdid.h> + +class SwWriterApp; +class SwModule; +#ifdef DBG_UTIL +class SwTestTabPage; +#endif +class SwAddPrinterTabPage; +class SfxPrinter; +class ViewShell; +class SwViewOption; +class SwContentOptPage; +class SwShdwCrsrOptionsTabPage; +class SwDocEditDialog; + +SfxPrinter* GetPrt( ViewShell* ); +void SetPrt( SfxPrinter* ); + + +/*--------OS 12.01.95 ----------------------------------- +Item fuer Einstellungsdialog - Dokumentanzeige +--------------------------------------------------------- */ +class SW_DLLPUBLIC SwDocDisplayItem : public SfxPoolItem +{ + friend class SwWriterApp; + friend class SwShdwCrsrOptionsTabPage; + friend class SwModule; + + BOOL bParagraphEnd :1; + BOOL bTab :1; + BOOL bSpace :1; + BOOL bNonbreakingSpace :1; + BOOL bSoftHyphen :1; + BOOL bCharHiddenText :1; + BOOL bFldHiddenText :1; + BOOL bManualBreak :1; + BOOL bShowHiddenPara :1; + + Color aIndexBackgrndCol; + + +public: + TYPEINFO(); + SwDocDisplayItem( USHORT nWhich = FN_PARAM_DOCDISP ); + SwDocDisplayItem( + const SwDocDisplayItem& rSwDocDisplayItem ); + SwDocDisplayItem( const SwViewOption& rVOpt, + USHORT nWhich ); + + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual int operator==( const SfxPoolItem& ) const; + void operator=( const SwDocDisplayItem& ); + void FillViewOptions( SwViewOption& rVOpt) const; +}; +/*--------OS 12.01.95 ----------------------------------- +Item fuer Einstellungsdialog, Elementeseite +--------------------------------------------------------- */ +class SW_DLLPUBLIC SwElemItem : public SfxPoolItem +{ + //view + BOOL bHorzScrollbar :1; + BOOL bVertScrollbar :1; + BOOL bAnyRuler : 1; + BOOL bHorzRuler :1; + BOOL bVertRuler :1; + BOOL bVertRulerRight:1; + BOOL bSmoothScroll :1; + //visual aids + BOOL bCrosshair :1; + BOOL bHandles :1; + BOOL bBigHandles :1; + //display + BOOL bTable :1; + BOOL bGraphic :1; + BOOL bDrawing :1; + BOOL bFieldName :1; + BOOL bNotes :1; + + friend class SwContentOptPage; + +public: + TYPEINFO(); + SwElemItem( USHORT nWhich = FN_PARAM_ELEM ); + SwElemItem(const SwElemItem& rElemItem); + SwElemItem(const SwViewOption& rVOpt, USHORT nWhich); + + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual int operator==( const SfxPoolItem& ) const; + void operator=( const SwElemItem& ); + + void FillViewOptions( SwViewOption& rVOpt) const; + +}; +/*--------OS 12.01.95 ----------------------------------- +Item fuer Einstellungsdialog - Drucker/Zusaetze +--------------------------------------------------------- */ + +class SW_DLLPUBLIC SwAddPrinterItem : public SfxPoolItem, public SwPrintData +{ + friend class SwAddPrinterTabPage; + + using SwPrintData::operator ==; + +public: + TYPEINFO(); + SwAddPrinterItem( USHORT nWhich = FN_PARAM_ADDPRINTER ); + SwAddPrinterItem( USHORT nWhich, const SwPrintData& rPrtData ); + SwAddPrinterItem( const SwAddPrinterItem& rAddPrinterItem); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + virtual int operator==( const SfxPoolItem& ) const; + + const rtl::OUString &GetFax() const { return sFaxName; } + void SetFax( const String& rFax) { sFaxName = rFax; } + + + BOOL IsPrintProspect() const { return bPrintProspect; } + BOOL IsPrintProspectRTL() const { return bPrintProspectRTL; } + void SetPrintProspect(BOOL bFlag ){ bPrintProspect = bFlag; } + void SetPrintProspectRTL(BOOL bFlag ){ bPrintProspectRTL = bFlag; } + BOOL IsPrintGraphic () const { return bPrintGraphic; } + BOOL IsPrintTable () const { return bPrintTable; } + BOOL IsPrintDraw () const { return bPrintDraw; } + BOOL IsPrintControl () const { return bPrintControl; } + BOOL IsPrintLeftPage () const { return bPrintLeftPages; } + BOOL IsPrintRightPage() const { return bPrintRightPages; } + BOOL IsPrintReverse () const { return bPrintReverse; } + BOOL IsPaperFromSetup() const { return bPaperFromSetup; } + BOOL IsPrintEmptyPages() const { return bPrintEmptyPages; } + BOOL IsPrintPageBackground() const { return bPrintPageBackground; } + BOOL IsPrintBlackFont() const { return bPrintBlackFont; } + //#i81434# - printing of hidden text + sal_Bool IsPrintHiddenText() const { return bPrintHiddenText; } + sal_Bool IsPrintTextPlaceholder() const { return bPrintTextPlaceholder; } + + BOOL IsPrintSingleJobs() const { return bPrintSingleJobs; } + ULONG GetPrintPostIts () const { return nPrintPostIts; } + +}; + + +/*--------OS 12.01.95 ----------------------------------- +Item fuer Einstellungsdialog, ShadowCursorSeite +--------------------------------------------------------- */ + +class SW_DLLPUBLIC SwShadowCursorItem : public SfxPoolItem +{ + BYTE eMode; + BOOL bOn; +public: + TYPEINFO(); + SwShadowCursorItem( USHORT nWhich = FN_PARAM_SHADOWCURSOR ); + SwShadowCursorItem( const SwShadowCursorItem& rElemItem ); + SwShadowCursorItem( const SwViewOption& rVOpt, USHORT nWhich ); + + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual int operator==( const SfxPoolItem& ) const; + void operator=( const SwShadowCursorItem& ); + + void FillViewOptions( SwViewOption& rVOpt) const; + + BYTE GetMode() const { return eMode; } + BOOL IsOn() const { return bOn; } + + void SetMode( BYTE eM ) { eMode = eM; } + void SetOn( BOOL bFlag ) { bOn = bFlag; } +}; + +#ifdef DBG_UTIL +/*--------OS 12.01.95 ----------------------------------- +Item fuer Einstellungsdialog - Testeinstellungen +--------------------------------------------------------- */ +class SW_DLLPUBLIC SwTestItem : public SfxPoolItem +{ + friend class SwModule; + friend class SwWriterApp; + friend class SwTestTabPage; + friend class SwDocEditDialog; + + BOOL bTest1:1; + BOOL bTest2:1; + BOOL bTest3:1; + BOOL bTest4:1; + BOOL bTest5:1; + BOOL bTest6:1; + BOOL bTest7:1; + BOOL bTest8:1; + BOOL bTest9:1; + BOOL bTest10:1; + +public: + SwTestItem( USHORT _nWhich): + SfxPoolItem(_nWhich){}; + SwTestItem( const SwTestItem& pTestItem); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual int operator==( const SfxPoolItem& ) const; + +}; +#endif + +#endif + + diff --git a/sw/source/ui/inc/changedb.hxx b/sw/source/ui/inc/changedb.hxx new file mode 100644 index 000000000000..210f81907cc5 --- /dev/null +++ b/sw/source/ui/inc/changedb.hxx @@ -0,0 +1,92 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CHANGEDB_HXX +#define _CHANGEDB_HXX + + +#ifndef _BITMAP_HXX //autogen +#include <vcl/bitmap.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#include <svtools/stdctrl.hxx> +#include <svtools/svtreebx.hxx> +#include <svx/stddlg.hxx> +#include "dbtree.hxx" +#include <vcl/fixed.hxx> + +class SwFldMgr; +class SwView; +class SwWrtShell; +struct SwDBData; + +/*-------------------------------------------------------------------- + Beschreibung: Datenbank an Feldern austauschen + --------------------------------------------------------------------*/ + +class SwChangeDBDlg: public SvxStandardDialog +{ + FixedLine aDBListFL; + FixedText aUsedDBFT; + FixedText aAvailDBFT; + SvTreeListBox aUsedDBTLB; + SwDBTreeList aAvailDBTLB; + PushButton aAddDBPB; + FixedInfo aDescFT; + FixedText aDocDBTextFT; + FixedText aDocDBNameFT; + OKButton aOKBT; + CancelButton aCancelBT; + HelpButton aHelpBT; +// PushButton aChangeBT; + + ImageList aImageList; + ImageList aImageListHC; + + SwWrtShell *pSh; + SwFldMgr *pMgr; + + DECL_LINK(TreeSelectHdl, SvTreeListBox* pBox = 0); + DECL_LINK(ButtonHdl, Button* pBtn); + DECL_LINK(AddDBHdl, PushButton*); + + virtual void Apply(); + void UpdateFlds(); + void FillDBPopup(); + SvLBoxEntry* Insert(const String& rDBName); + void ShowDBName(const SwDBData& rDBData); + +public: + SwChangeDBDlg(SwView& rVw); + ~SwChangeDBDlg(); +}; + +#endif diff --git a/sw/source/ui/inc/chartins.hxx b/sw/source/ui/inc/chartins.hxx new file mode 100644 index 000000000000..15050f946227 --- /dev/null +++ b/sw/source/ui/inc/chartins.hxx @@ -0,0 +1,35 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CHARTINS_HXX +#define _CHARTINS_HXX + + +Point SwGetChartDialogPos( const Window *pParentWin, const Size& rDialogSize, const Rectangle& rLogicChart ); +void SwInsertChart( Window *pParent, SfxBindings *pBindings ); + +#endif /*_CHARTINS_HXX*/ + diff --git a/sw/source/ui/inc/chldwrap.hxx b/sw/source/ui/inc/chldwrap.hxx new file mode 100644 index 000000000000..67009b0a8d2f --- /dev/null +++ b/sw/source/ui/inc/chldwrap.hxx @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CHLDWRAP_HXX +#define _CHLDWRAP_HXX + +#include <sfx2/childwin.hxx> +#include <vcl/timer.hxx> + +class SwDocShell; + +class SwChildWinWrapper : public SfxChildWindow +{ + Timer m_aUpdateTimer; + SwDocShell* m_pDocSh; + + DECL_LINK( UpdateHdl, void* ); + + // Implementation in fldtdlg.cxx +protected: + SwChildWinWrapper(Window *pParentWindow, USHORT nId); + +public: + virtual BOOL ReInitDlg(SwDocShell *pDocSh); + + inline SwDocShell* GetOldDocShell() { return m_pDocSh; } + inline void SetOldDocShell(SwDocShell *pDcSh) { m_pDocSh = pDcSh; } +}; + + +#endif + diff --git a/sw/source/ui/inc/chrdlg.hxx b/sw/source/ui/inc/chrdlg.hxx new file mode 100644 index 000000000000..85248baeed8b --- /dev/null +++ b/sw/source/ui/inc/chrdlg.hxx @@ -0,0 +1,119 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWCHARDLG_HXX +#define _SWCHARDLG_HXX +#include <sfx2/tabdlg.hxx> + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +class SwView; +class SvxMacroItem; + +/*-------------------------------------------------------------------- + Beschreibung: Der Tabdialog Traeger der TabPages + --------------------------------------------------------------------*/ + +class SwCharDlg: public SfxTabDialog +{ + SwView& rView; + BOOL bIsDrwTxtMode; + +public: + SwCharDlg(Window* pParent, SwView& pVw, const SfxItemSet& rCoreSet, + const String* pFmtStr = 0, BOOL bIsDrwTxtDlg = FALSE); + + ~SwCharDlg(); + + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); +}; + +/*-----------------14.08.96 11.03------------------- + Beschreibung: Tabpage fuer URL-Attribut +--------------------------------------------------*/ + +class SwCharURLPage : public SfxTabPage +{ + FixedLine aURLFL; + + FixedText aURLFT; + Edit aURLED; + FixedText aTextFT; + Edit aTextED; + FixedText aNameFT; + Edit aNameED; + FixedText aTargetFrmFT; + ComboBox aTargetFrmLB; + PushButton aURLPB; + PushButton aEventPB; + FixedLine aStyleFL; + FixedText aVisitedFT; + ListBox aVisitedLB; + FixedText aNotVisitedFT; + ListBox aNotVisitedLB; + + SvxMacroItem* pINetItem; + BOOL bModified; + + DECL_LINK( InsertFileHdl, PushButton * ); + DECL_LINK( EventHdl, PushButton * ); + +public: + SwCharURLPage( Window* pParent, + const SfxItemSet& rSet ); + + ~SwCharURLPage(); + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); +}; + +#endif + diff --git a/sw/source/ui/inc/cnttab.hxx b/sw/source/ui/inc/cnttab.hxx new file mode 100644 index 000000000000..852a2f705c68 --- /dev/null +++ b/sw/source/ui/inc/cnttab.hxx @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CNTTAB_HXX +#define _CNTTAB_HXX + +#include <svx/stddlg.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#include <vcl/lstbox.hxx> +#include <sfx2/tabdlg.hxx> + +#include "tox.hxx" +#include <tools/list.hxx> +#include <toxmgr.hxx> +#include <svx/checklbx.hxx> +#include <tools/resary.hxx> +#include <svtools/svtreebx.hxx> +#include <vcl/menubtn.hxx> +#include <svx/langbox.hxx> +#define TOX_PAGE_SELECT 1 +#define TOX_PAGE_ENTRY 2 +#define TOX_PAGE_STYLES 3 + +struct CurTOXType +{ + TOXTypes eType; + USHORT nIndex; //for TOX_USER only + + BOOL operator==(const CurTOXType aCmp) + { + return eType == aCmp.eType && nIndex == aCmp.nIndex; + } + USHORT GetFlatIndex() const; + + CurTOXType () : eType (TOX_INDEX), nIndex (0) {}; + + CurTOXType (TOXTypes t, USHORT i) : eType (t), nIndex (i) {}; +}; + +class SwOLENames : public Resource +{ + ResStringArray aNamesAry; +public: + SwOLENames(const ResId& rResId) : + Resource(rResId), + aNamesAry(ResId(1,*rResId.GetResMgr())){FreeResource();} + + ResStringArray& GetNames() { return aNamesAry;} + +}; + +#endif diff --git a/sw/source/ui/inc/colex.hxx b/sw/source/ui/inc/colex.hxx new file mode 100644 index 000000000000..39778f503d2a --- /dev/null +++ b/sw/source/ui/inc/colex.hxx @@ -0,0 +1,118 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _COLEX_HXX +#define _COLEX_HXX + +#include <svx/pagectrl.hxx> +#include <editeng/paperinf.hxx> +#include "swdllapi.h" +#include <fmtclds.hxx> +#include "frmatr.hxx" + +class SwColMgr; +class SfxItemSet; + +/* -----------------------------08.02.2002 11:32------------------------------ + + ---------------------------------------------------------------------------*/ +class SW_DLLPUBLIC SwPageExample : public SvxPageWindow +{ +public: + SwPageExample(Window* pPar, const ResId& rResId ) : + SvxPageWindow(pPar, rResId ) + {SetSize(SvxPaperInfo::GetPaperSize(PAPER_A4));/*DIN A4*/} + + void UpdateExample( const SfxItemSet& rSet ); +}; +/* -----------------------------08.02.2002 11:34------------------------------ + + ---------------------------------------------------------------------------*/ +class SwTextGridItem; +class SW_DLLPUBLIC SwPageGridExample : public SwPageExample +{ + SwTextGridItem* pGridItem; + sal_Bool m_bVertical; +protected: + virtual void DrawPage( const Point& rPoint, + const BOOL bSecond, + const BOOL bEnabled ); +public: + SwPageGridExample(Window* pPar, const ResId& rResId ) : + SwPageExample(pPar, rResId ), + pGridItem(0), + m_bVertical(sal_False){} + ~SwPageGridExample(); + void UpdateExample( const SfxItemSet& rSet ); +}; +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class SW_DLLPUBLIC SwColExample : public SwPageExample +{ + SwColMgr* pColMgr; + + using SwPageExample::UpdateExample; + +protected: + virtual void DrawPage( const Point& rPoint, + const BOOL bSecond, + const BOOL bEnabled ); + +public: + SwColExample(Window* pPar, const ResId& rResId ) : + SwPageExample(pPar, rResId ), + pColMgr(0){} + + void UpdateExample( const SfxItemSet& rSet, SwColMgr* pMgr ) + { pColMgr = pMgr; + SwPageExample::UpdateExample(rSet); + } +}; + +/*-----------------25.10.96 08.23------------------- + +--------------------------------------------------*/ +class SW_DLLPUBLIC SwColumnOnlyExample : public Window +{ +private: + Size m_aWinSize; + + Size m_aFrmSize; + SwFmtCol m_aCols; + +protected: + virtual void Paint( const Rectangle& rRect ); + +public: + SwColumnOnlyExample( Window* , const ResId& ); + + void SetColumns(const SwFmtCol& rCol); + +}; + +#endif // _COLEX_HXX diff --git a/sw/source/ui/inc/colmgr.hxx b/sw/source/ui/inc/colmgr.hxx new file mode 100644 index 000000000000..641c48e9bb66 --- /dev/null +++ b/sw/source/ui/inc/colmgr.hxx @@ -0,0 +1,131 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _COLMGR_HXX +#define _COLMGR_HXX + +#include "swdllapi.h" +#include <fmtclds.hxx> + +SW_DLLPUBLIC void FitToActualSize(SwFmtCol& rCol, USHORT nWidth); + +class SW_DLLPUBLIC SwColMgr +{ +public: + // lActWidth wird aus den Edits des Seitendialogs + // direkt uebergeben + SwColMgr(const SfxItemSet &rSet, USHORT nActWidth = USHRT_MAX); + ~SwColMgr(); + + + inline USHORT GetCount() const; + void SetCount(USHORT nCount, USHORT nGutterWidth); + USHORT GetGutterWidth(USHORT nPos = USHRT_MAX) const; + void SetGutterWidth(USHORT nWidth, USHORT nPos = USHRT_MAX); + + USHORT GetColWidth(USHORT nIdx) const; + void SetColWidth(USHORT nIdx, USHORT nWidth); + + inline BOOL IsAutoWidth() const; + void SetAutoWidth(BOOL bOn = TRUE, USHORT lGutterWidth = 0); + + inline BOOL HasLine() const; + inline void SetNoLine(); + + inline void SetLineWidthAndColor(ULONG nWidth, const Color& rCol); + inline ULONG GetLineWidth() const; + inline const Color& GetLineColor() const; + + inline SwColLineAdj GetAdjust() const; + inline void SetAdjust(SwColLineAdj); + + short GetLineHeightPercent() const; + void SetLineHeightPercent(short nPercent); + + inline void NoCols(); + void Update(); + + const SwFmtCol& GetColumns() const { return aFmtCol; } + + void SetActualWidth(USHORT nW); + USHORT GetActualSize() const { return nWidth; } + + +private: + + SwFmtCol aFmtCol; + USHORT nWidth; +}; + +// INLINE METHODE -------------------------------------------------------- + +inline USHORT SwColMgr::GetCount() const +{ + return aFmtCol.GetNumCols(); +} +inline void SwColMgr::SetLineWidthAndColor(ULONG nLWidth, const Color& rCol) +{ + aFmtCol.SetLineWidth(nLWidth); + aFmtCol.SetLineColor(rCol); +} +inline ULONG SwColMgr::GetLineWidth() const +{ + return aFmtCol.GetLineWidth(); +} +inline const Color& SwColMgr::GetLineColor() const +{ + return aFmtCol.GetLineColor(); +} +inline SwColLineAdj SwColMgr::GetAdjust() const +{ + return aFmtCol.GetLineAdj(); +} +inline void SwColMgr::SetAdjust(SwColLineAdj eAdj) +{ + aFmtCol.SetLineAdj(eAdj); +} +inline BOOL SwColMgr::IsAutoWidth() const +{ + return aFmtCol.IsOrtho(); +} +inline void SwColMgr::SetAutoWidth(BOOL bOn, USHORT nGutterWidth) +{ + aFmtCol.SetOrtho(bOn, nGutterWidth, nWidth); +} +inline void SwColMgr::NoCols() +{ + aFmtCol.GetColumns().DeleteAndDestroy(0, aFmtCol.GetColumns().Count()); +} +inline BOOL SwColMgr::HasLine() const +{ + return GetAdjust() != COLADJ_NONE; +} +inline void SwColMgr::SetNoLine() +{ + SetAdjust(COLADJ_NONE); +} + +#endif diff --git a/sw/source/ui/inc/column.hxx b/sw/source/ui/inc/column.hxx new file mode 100644 index 000000000000..1cc6ecf33cb9 --- /dev/null +++ b/sw/source/ui/inc/column.hxx @@ -0,0 +1,227 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _COLUMN_HXX +#define _COLUMN_HXX + + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#ifndef _IMAGE_HXX //autogen +#include <vcl/image.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#include <vcl/timer.hxx> +#ifndef _IMAGEBTN_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif +#include <svtools/ctrlbox.hxx> +#include <svtools/valueset.hxx> +#include <sfx2/basedlgs.hxx> +#include <sfx2/tabdlg.hxx> +#include <fmtclbl.hxx> +#include <colex.hxx> +#include <prcntfld.hxx> + +const int nMaxCols = 99; +class SwColMgr; +class SwWrtShell; +class SwColumnPage; +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class SwColumnDlg : public SfxModalDialog +{ + OKButton aOK; + CancelButton aCancel; + HelpButton aHelp; + + FixedText aApplyToFT; + ListBox aApplyToLB; + + SwWrtShell& rWrtShell; + SwColumnPage* pTabPage; + SfxItemSet* pPageSet; + SfxItemSet* pSectionSet; + SfxItemSet* pSelectionSet; + SfxItemSet* pFrameSet; + + long nOldSelection; + long nSelectionWidth; + long nPageWidth; + + BOOL bPageChanged : 1; + BOOL bSectionChanged : 1; + BOOL bSelSectionChanged : 1; + BOOL bFrameChanged : 1; + + + DECL_LINK(ObjectHdl, ListBox*); + DECL_LINK(OkHdl, OKButton*); + +public: + SwColumnDlg(Window* pParent, SwWrtShell& rSh); + virtual ~SwColumnDlg(); + + SwWrtShell& GetWrtShell() { return rWrtShell; } +}; + +/*-----------------07.03.97 08.26------------------- + +--------------------------------------------------*/ +class ColumnValueSet : public ValueSet +{ + public: + ColumnValueSet(Window* pParent, const ResId& rResId) : + ValueSet(pParent, rResId){} + ~ColumnValueSet(); + + virtual void UserDraw( const UserDrawEvent& rUDEvt ); + virtual void DataChanged( const DataChangedEvent& rDCEvt ); +}; + +/*-------------------------------------------------------------------- + Beschreibung: Spaltendialog jetzt als TabPage + --------------------------------------------------------------------*/ +class SwColumnPage : public SfxTabPage +{ + FixedText aClNrLbl; + NumericField aCLNrEdt; + ColumnValueSet aDefaultVS; + ImageList aPreColsIL; + CheckBox aBalanceColsCB; + FixedLine aFLGroup; + + ImageButton aBtnUp; + FixedText aColumnFT; + FixedText aWidthFT; + FixedText aDistFT; + FixedText aLbl1; + PercentField aEd1; + PercentField aDistEd1; + FixedText aLbl2; + PercentField aEd2; + PercentField aDistEd2; + FixedText aLbl3; + PercentField aEd3; + ImageButton aBtnDown; + CheckBox aAutoWidthBox; + + FixedLine aFLLayout; + + FixedText aLineTypeLbl; + LineListBox aLineTypeDLB; + FixedText aLineHeightLbl; + MetricField aLineHeightEdit; + FixedText aLinePosLbl; + ListBox aLinePosDLB; + FixedLine aFLLineType; + + FixedLine aVertFL; + FixedLine aPropertiesFL; + FixedText aTextDirectionFT; + ListBox aTextDirectionLB; + + // Example + SwColExample aPgeExampleWN; + SwColumnOnlyExample aFrmExampleWN; + + SwColMgr* pColMgr; + + USHORT nFirstVis; + USHORT nCols; + long nColWidth[nMaxCols]; + long nColDist[nMaxCols]; + USHORT nMinWidth; + PercentField *pModifiedField; + BOOL bFormat; + BOOL bFrm; + BOOL bHtmlMode; + BOOL bLockUpdate; + + // Handler + DECL_LINK( ColModify, NumericField * ); + DECL_LINK( GapModify, PercentField * ); + DECL_LINK( EdModify, PercentField * ); + DECL_LINK( AutoWidthHdl, CheckBox * ); + DECL_LINK( Timeout, Timer * ); + DECL_LINK( SetDefaultsHdl, ValueSet * ); + + DECL_LINK( Up, Button * ); + DECL_LINK( Down, Button * ); + void Apply(Button *); + DECL_LINK( UpdateColMgr, void* ); + + void Update(); + void UpdateCols(); + void Init(); + void ResetColWidth(); + void SetLabels( USHORT nVis ); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + + virtual void ActivatePage(const SfxItemSet& rSet); + virtual int DeactivatePage(SfxItemSet *pSet); + + SwColumnPage(Window *pParent, const SfxItemSet &rSet); + +public: + virtual ~SwColumnPage(); + + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + static USHORT* GetRanges(); + + virtual BOOL FillItemSet(SfxItemSet &rSet); + virtual void Reset(const SfxItemSet &rSet); + + void SetFrmMode(BOOL bMod); + void SetPageWidth(long nPageWidth); + + void SetFormatUsed(BOOL bFmt) { bFormat = bFmt; } + + void ShowBalance(BOOL bShow) {aBalanceColsCB.Show(bShow);} + void SetInSection(BOOL bSet); + + void ActivateColumnControl() {aCLNrEdt.GrabFocus();} +}; + +#endif + diff --git a/sw/source/ui/inc/conarc.hxx b/sw/source/ui/inc/conarc.hxx new file mode 100644 index 000000000000..4b8d01f8d5c3 --- /dev/null +++ b/sw/source/ui/inc/conarc.hxx @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CONARC_HXX +#define _CONARC_HXX + +#include "drawbase.hxx" + +/************************************************************************* +|* +|* Rechteck zeichnen +|* +\************************************************************************/ + +class ConstArc : public SwDrawBase +{ + Point aStartPnt; + UINT16 nAnzButUp; + +public: + ConstArc(SwWrtShell* pSh, SwEditWin* pWin, SwView* pView); + + // Mouse- & Key-Events + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(const USHORT nSlotId); // Funktion aktivieren + virtual void Deactivate(); +}; + + + +#endif // _CONARC_HXX + diff --git a/sw/source/ui/inc/concustomshape.hxx b/sw/source/ui/inc/concustomshape.hxx new file mode 100644 index 000000000000..5ff08952f28d --- /dev/null +++ b/sw/source/ui/inc/concustomshape.hxx @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SW_CONCUSTOMSHAPE_HXX +#define _SW_CONCUSTOMSHAPE_HXX + +#include <rtl/ustring.hxx> +#include "drawbase.hxx" + +class SdrObject; +class SfxRequest; + +/************************************************************************* +|* +|* Rechteck zeichnen +|* +\************************************************************************/ + +class ConstCustomShape : public SwDrawBase +{ + + rtl::OUString aCustomShape; + + void SetAttributes( SdrObject* pObj ); + + public: + + ConstCustomShape( SwWrtShell* pSh, SwEditWin* pWin, SwView* pView, SfxRequest& rReq ); + + // Mouse- & Key-Events + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(const USHORT nSlotId); // Function aktivieren + + rtl::OUString GetShapeType() const; + static rtl::OUString GetShapeTypeFromRequest( SfxRequest& rReq ); + + virtual void CreateDefaultObject(); + + // #i33136# + virtual bool doConstructOrthogonal() const; +}; + + + +#endif // _SW_CONRECT_HXX + diff --git a/sw/source/ui/inc/condedit.hxx b/sw/source/ui/inc/condedit.hxx new file mode 100644 index 000000000000..bce44192ae68 --- /dev/null +++ b/sw/source/ui/inc/condedit.hxx @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CONDEDTI_HXX +#define _CONDEDTI_HXX + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#include <svtools/transfer.hxx> +#include "swdllapi.h" + +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class SW_DLLPUBLIC ConditionEdit : public Edit, public DropTargetHelper +{ + BOOL bBrackets, bEnableDrop; + + SW_DLLPRIVATE virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ); + SW_DLLPRIVATE virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ); + +public: + ConditionEdit( Window* pParent, const ResId& rResId ); + + inline void ShowBrackets(BOOL bShow) { bBrackets = bShow; } + + inline void SetDropEnable( BOOL bFlag ) { bEnableDrop = bFlag; } + inline BOOL IsDropEnable() const { return bEnableDrop; } +}; + +#endif + + + + + + + + + + + + + + + + diff --git a/sw/source/ui/inc/conform.hxx b/sw/source/ui/inc/conform.hxx new file mode 100644 index 000000000000..1117da12dc25 --- /dev/null +++ b/sw/source/ui/inc/conform.hxx @@ -0,0 +1,47 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CONFORM_HXX +#define _CONFORM_HXX + +#include "drawbase.hxx" + +class ConstFormControl : public SwDrawBase +{ +public: + ConstFormControl(SwWrtShell* pSh, SwEditWin* pWin, SwView* pView); + + // Mouse- & Key-Events + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(const USHORT nSlotId); // Function aktivieren + virtual void CreateDefaultObject(); +}; + + + +#endif + diff --git a/sw/source/ui/inc/conpoly.hxx b/sw/source/ui/inc/conpoly.hxx new file mode 100644 index 000000000000..7fc528fd4d93 --- /dev/null +++ b/sw/source/ui/inc/conpoly.hxx @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CONPOLY_HXX +#define _CONPOLY_HXX + +#include "drawbase.hxx" + +/************************************************************************* +|* +|* Basisklasse fuer alle Funktionen +|* +\************************************************************************/ + +class ConstPolygon : public SwDrawBase +{ + Point aLastPos; + +public: + ConstPolygon(SwWrtShell* pSh, SwEditWin* pWin, SwView* pView); + + // Mouse- & Key-Events + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(const USHORT nSlotId); // Function aktivieren +}; + + +#endif // _CONPOLY_HXX + diff --git a/sw/source/ui/inc/conrect.hxx b/sw/source/ui/inc/conrect.hxx new file mode 100644 index 000000000000..3490aa4d9faa --- /dev/null +++ b/sw/source/ui/inc/conrect.hxx @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SW_CONRECT_HXX +#define _SW_CONRECT_HXX + +#include "drawbase.hxx" + +/************************************************************************* +|* +|* Rechteck zeichnen +|* +\************************************************************************/ + +class ConstRectangle : public SwDrawBase +{ + BOOL bMarquee; + BOOL bCapVertical; + + // #93382# + sal_Bool mbVertical; + + public: + ConstRectangle(SwWrtShell* pSh, SwEditWin* pWin, SwView* pView); + + // Mouse- & Key-Events + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(const USHORT nSlotId); // Function aktivieren +}; + + + +#endif // _SW_CONRECT_HXX + diff --git a/sw/source/ui/inc/content.hxx b/sw/source/ui/inc/content.hxx new file mode 100644 index 000000000000..bfcd31dcba87 --- /dev/null +++ b/sw/source/ui/inc/content.hxx @@ -0,0 +1,225 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CONTENT_HXX +#define _CONTENT_HXX +#include <limits.h> // USHRT_MAX +#include "swcont.hxx" + +#ifndef _MENU_HXX //autogen +#include <vcl/menu.hxx> +#endif + +class SwWrtShell; +class SwContentArr; +class SwContentType; +class SwFmtFld; +class SwTxtINetFmt; +class SwTOXBase; +class SwRedline; + +//---------------------------------------------------------------------------- +// Hilfsklassen +//---------------------------------------------------------------------------- + +class SwPopup : public PopupMenu +{ + USHORT nCurId; + virtual void Select(){nCurId = GetCurItemId();} + +public: + SwPopup() : + PopupMenu(), + nCurId(USHRT_MAX){} + + USHORT GetCurId() const { return nCurId; } + +}; + +//---------------------------------------------------------------------------- + +class SwOutlineContent : public SwContent +{ + USHORT nOutlinePos; + BYTE nOutlineLevel; + BOOL bIsMoveable; + public: + SwOutlineContent( const SwContentType* pCnt, + const String& rName, + USHORT nArrPos, + BYTE nLevel, + BOOL bMove, + long nYPos) : + SwContent(pCnt, rName, nYPos), + nOutlinePos(nArrPos), nOutlineLevel(nLevel), bIsMoveable(bMove) {} + + USHORT GetPos(){return nOutlinePos;} + BYTE GetOutlineLevel(){return nOutlineLevel;} + BOOL IsMoveable(){return bIsMoveable;}; +}; + +//---------------------------------------------------------------------------- +class SwRegionContent : public SwContent +{ + + BYTE nRegionLevel; + + public: + SwRegionContent( const SwContentType* pCnt, + const String& rName, + BYTE nLevel, + long nYPos) : + SwContent(pCnt, rName, nYPos), + nRegionLevel(nLevel){} + BYTE GetRegionLevel() const {return nRegionLevel;} +}; +//---------------------------------------------------------------------------- + +class SwURLFieldContent : public SwContent +{ + String sURL; + const SwTxtINetFmt* pINetAttr; + +public: + SwURLFieldContent( const SwContentType* pCnt, + const String& rName, + const String& rURL, + const SwTxtINetFmt* pAttr, + long nYPos ) + : SwContent( pCnt, rName, nYPos ), sURL( rURL ), pINetAttr( pAttr ) + {} + + virtual BOOL IsProtect() const; + const String& GetURL() { return sURL; } + const SwTxtINetFmt* GetINetAttr() { return pINetAttr; } +}; + +//---------------------------------------------------------------------------- +class SwPostItContent : public SwContent +{ + const SwFmtFld* pFld; + SwRedline* pRedline; + bool mbPostIt; +public: + SwPostItContent( const SwContentType* pCnt, + const String& rName, + const SwFmtFld* pField, + long nYPos ) + : SwContent( pCnt, rName, nYPos ), pFld( pField ),mbPostIt(true) + {} + SwPostItContent( const SwContentType* pCnt, + const String& rName, + SwRedline* pRed, + long nYPos ) + : SwContent( pCnt, rName, nYPos ), pRedline( pRed ),mbPostIt(false) + {} + + const SwFmtFld* GetPostIt() { return pFld; } + SwRedline* GetRedline() { return pRedline; } + virtual BOOL IsProtect() const; + bool IsPostIt() {return mbPostIt; } +}; + +//---------------------------------------------------------------------------- + +class SwGraphicContent : public SwContent +{ + String sLink; +public: + SwGraphicContent(const SwContentType* pCnt, const String& rName, const String& rLink, long nYPos) + : SwContent( pCnt, rName, nYPos ), sLink( rLink ) + {} + virtual ~SwGraphicContent(); + + const String& GetLink() const {return sLink;} +}; + +//---------------------------------------------------------------------------- +class SwTOXBaseContent : public SwContent +{ + const SwTOXBase* pBase; +public: + SwTOXBaseContent(const SwContentType* pCnt, const String& rName, long nYPos, const SwTOXBase& rBase) + : SwContent( pCnt, rName, nYPos ), pBase(&rBase) + {} + virtual ~SwTOXBaseContent(); + + const SwTOXBase* GetTOXBase() const {return pBase;} +}; +/* + class ContentType enthaelt Informationen zu einer Inhaltsform + Das MemberArray wird nur gefuellt, wenn der Inhalt mit GetMember + angefordert wird. Es wird nach Invalidate() nur dann neu geladen, + wenn der Inhalt erneut ausgelesen werden soll. +*/ +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- + +class SwContentType : public SwTypeNumber +{ + SwWrtShell* pWrtShell; + SwContentArr* pMember; // Array fuer Inhalte + String sContentTypeName; // Name der Inhaltsform + String sSingleContentTypeName; // Name der Inhaltsform, Singular + String sTypeToken; // Anhaengsel fuer URL + USHORT nMemberCount; // Inhaltsanzahl + USHORT nContentType; // Id der Inhaltsform + BYTE nOutlineLevel; + BOOL bMemberFilled : 1; // wurden die Inhalte bereits eingefuegt? + BOOL bIsInternalDrag:1; // koennen die Inhalte verschoben werden? + BOOL bDataValid : 1; // + BOOL bEdit: 1; // kann diese Type bearbeitet werden ? + BOOL bDelete: 1; // kann diese Type geloescht werden ? +protected: + void RemoveNewline(String&); +public: + SwContentType(SwWrtShell* pParent, USHORT nType, BYTE nLevel ); + ~SwContentType(); + + void Init(BOOL* pbInvalidateWindow = 0); + void FillMemberList(BOOL* pbLevelChanged = NULL); + USHORT GetMemberCount() const + {return nMemberCount;}; + USHORT GetType() const {return nContentType;} + const SwContent* GetMember(USHORT nIndex); + const String& GetName() {return sContentTypeName;} + const String& GetSingleName() const {return sSingleContentTypeName;} + const String& GetTypeToken() const{return sTypeToken;} + + void SetOutlineLevel(BYTE nNew) + { + nOutlineLevel = nNew; + Invalidate(); + } + + void Invalidate(); // nur nMemberCount wird neu gelesen + + BOOL IsEditable() const {return bEdit;} + BOOL IsDeletable() const {return bDelete;} +}; + +#endif + diff --git a/sw/source/ui/inc/conttree.hxx b/sw/source/ui/inc/conttree.hxx new file mode 100644 index 000000000000..d3a84b0bdb78 --- /dev/null +++ b/sw/source/ui/inc/conttree.hxx @@ -0,0 +1,334 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CONTTREE_HXX +#define _CONTTREE_HXX + +#include <svtools/svtreebx.hxx> +#include "swcont.hxx" + +class SwWrtShell; +class SwContentType; +class SwNavigationPI; +class SwNavigationConfig; +class Menu; +class ToolBox; +class SwGlblDocContents; +class SwGlblDocContent; +class SfxObjectShell; + + +#define EDIT_MODE_EDIT 0 +#define EDIT_MODE_UPD_IDX 1 +#define EDIT_MODE_RMV_IDX 2 +#define EDIT_UNPROTECT_TABLE 3 +#define EDIT_MODE_DELETE 4 +#define EDIT_MODE_RENAME 5 + +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- + +class SwContentTree : public SvTreeListBox +{ + ImageList aEntryImages; + String sSpace; + AutoTimer aUpdTimer; + + SwContentType* aActiveContentArr[CONTENT_TYPE_MAX]; + SwContentType* aHiddenContentArr[CONTENT_TYPE_MAX]; + String aContextStrings[CONTEXT_COUNT + 1]; + String sRemoveIdx; + String sUpdateIdx; + String sUnprotTbl; + String sRename; + String sReadonlyIdx; + String sInvisible; + String sPostItShow; + String sPostItHide; + String sPostItDelete; + + SwWrtShell* pHiddenShell; // gedropptes Doc + SwWrtShell* pActiveShell; // die aktive oder eine konst. offene View + SwNavigationConfig* pConfig; + + sal_Int32 nActiveBlock; + USHORT nHiddenBlock; + USHORT nRootType; + USHORT nLastSelType; + BYTE nOutlineLevel; + + BOOL bIsActive :1; + BOOL bIsConstant :1; + BOOL bIsHidden :1; + BOOL bDocChgdInDragging :1; + BOOL bIsInternalDrag :1; + BOOL bIsRoot :1; + BOOL bIsIdleClear :1; + BOOL bIsLastReadOnly :1; + BOOL bIsOutlineMoveable :1; + BOOL bViewHasChanged :1; + BOOL bIsImageListInitialized : 1; + + static BOOL bIsInDrag; + + void FindActiveTypeAndRemoveUserData(); + + using SvLBox::ExecuteDrop; + using SvTreeListBox::EditEntry; + using SvListView::Expand; + using SvListView::Collapse; + using SvListView::Select; + +protected: +// virtual void Command( const CommandEvent& rCEvt ); + virtual void RequestHelp( const HelpEvent& rHEvt ); + virtual void InitEntry(SvLBoxEntry*,const XubString&,const Image&,const Image&,SvLBoxButtonKind); + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + SwNavigationPI* GetParentWindow(){return + (SwNavigationPI*)Window::GetParent();} + + virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel ); + virtual void DragFinished( sal_Int8 ); + virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ); + + virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ); + + sal_Bool FillTransferData( TransferDataContainer& rTransfer, + sal_Int8& rDragMode ); + BOOL HasContentChanged(); + + virtual DragDropMode NotifyStartDrag( TransferDataContainer& rData, + SvLBoxEntry* ); + virtual BOOL NotifyAcceptDrop( SvLBoxEntry* ); + + virtual BOOL NotifyMoving( SvLBoxEntry* pTarget, + SvLBoxEntry* pEntry, + SvLBoxEntry*& rpNewParent, + ULONG& rNewChildPos + ); + virtual BOOL NotifyCopying( SvLBoxEntry* pTarget, + SvLBoxEntry* pEntry, + SvLBoxEntry*& rpNewParent, + ULONG& rNewChildPos + ); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + + void EditEntry( SvLBoxEntry* pEntry, BYTE nMode ); + + void GotoContent(SwContent* pCnt); + static void SetInDrag(BOOL bSet) {bIsInDrag = bSet;} + + virtual PopupMenu* CreateContextMenu( void ); + virtual void ExcecuteContextMenuAction( USHORT nSelectedPopupEntry ); + +public: + SwContentTree(Window* pParent, const ResId& rResId); + ~SwContentTree(); + + BOOL ToggleToRoot(); + BOOL IsRoot() const {return bIsRoot;} + USHORT GetRootType() const {return nRootType;} + void SetRootType(USHORT nType); + void Display( BOOL bActiveView ); + void Clear(); + void SetHiddenShell(SwWrtShell* pSh); + void ShowHiddenShell(); + void ShowActualView(); + void SetActiveShell(SwWrtShell* pSh); + void SetConstantShell(SwWrtShell* pSh); + + SwWrtShell* GetWrtShell() + {return bIsActive||bIsConstant ? + pActiveShell : + pHiddenShell;} + + static BOOL IsInDrag() {return bIsInDrag;} + BOOL IsInternalDrag() const {return bIsInternalDrag != 0;} + + sal_Int32 GetActiveBlock() const {return nActiveBlock;} + + BYTE GetOutlineLevel()const {return nOutlineLevel;} + void SetOutlineLevel(BYTE nSet); + + BOOL Expand( SvLBoxEntry* pParent ); + + BOOL Collapse( SvLBoxEntry* pParent ); + + void ExecCommand(USHORT nCmd, BOOL bModifier); + + void ShowTree(); + void HideTree(); + + BOOL IsConstantView() {return bIsConstant;} + BOOL IsActiveView() {return bIsActive;} + BOOL IsHiddenView() {return bIsHidden;} + + const SwWrtShell* GetActiveWrtShell() {return pActiveShell;} + SwWrtShell* GetHiddenWrtShell() {return pHiddenShell;} + + DECL_LINK( ContentDoubleClickHdl, SwContentTree * ); +// DECL_LINK( PopupHdl, Menu* ); + DECL_LINK( TimerUpdate, Timer * ); + + virtual long GetTabPos( SvLBoxEntry*, SvLBoxTab* ); + virtual void RequestingChilds( SvLBoxEntry* pParent ); + virtual void GetFocus(); + virtual void KeyInput(const KeyEvent& rKEvt); + + virtual BOOL Select( SvLBoxEntry* pEntry, BOOL bSelect=TRUE ); +}; + + +//---------------------------------------------------------------------------- +// TreeListBox fuer Globaldokumente +//---------------------------------------------------------------------------- + +class SwLBoxString : public SvLBoxString +{ +public: + + SwLBoxString( SvLBoxEntry* pEntry, USHORT nFlags, + const String& rStr ) : SvLBoxString(pEntry,nFlags,rStr) + { + } + + virtual void Paint( const Point& rPos, SvLBox& rDev, USHORT nFlags, + SvLBoxEntry* pEntry); +}; + +namespace sfx2 { class DocumentInserter; } +namespace sfx2 { class FileDialogHelper; } + +class SwGlobalTree : public SvTreeListBox +{ +private: + AutoTimer aUpdateTimer; + String aContextStrings[GLOBAL_CONTEXT_COUNT]; + + ImageList aEntryImages; + + SwWrtShell* pActiveShell; // + SvLBoxEntry* pEmphasisEntry; // Drag'n Drop-Emphasis + SvLBoxEntry* pDDSource; // Quelle beim DnD + SwGlblDocContents* pSwGlblDocContents; // Array mit sortierten Inhalten + + Window* pDefParentWin; + SwGlblDocContent* pDocContent; + sfx2::DocumentInserter* pDocInserter; + + BOOL bIsInternalDrag :1; + BOOL bLastEntryEmphasis :1; // Drag'n Drop + BOOL bIsImageListInitialized : 1; + + static const SfxObjectShell* pShowShell; + + void InsertRegion( const SwGlblDocContent* _pContent, + const com::sun::star::uno::Sequence< ::rtl::OUString >& _rFiles ); + + DECL_LINK( DialogClosedHdl, sfx2::FileDialogHelper* ); + + using SvLBox::DoubleClickHdl; + using SvLBox::ExecuteDrop; + using Window::Update; + +protected: + + virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ); + + virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ); + + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + virtual void RequestHelp( const HelpEvent& rHEvt ); + + virtual long GetTabPos( SvLBoxEntry*, SvLBoxTab* ); + virtual BOOL NotifyMoving( SvLBoxEntry* pTarget, + SvLBoxEntry* pEntry, + SvLBoxEntry*& rpNewParent, + ULONG& rNewChildPos + ); + virtual BOOL NotifyCopying( SvLBoxEntry* pTarget, + SvLBoxEntry* pEntry, + SvLBoxEntry*& rpNewParent, + ULONG& rNewChildPos + ); + + virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel ); + virtual void DragFinished( sal_Int8 ); + virtual DragDropMode NotifyStartDrag( TransferDataContainer& rData, + SvLBoxEntry* ); + virtual BOOL NotifyAcceptDrop( SvLBoxEntry* ); + + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void KeyInput(const KeyEvent& rKEvt); + virtual void GetFocus(); + virtual void SelectHdl(); + virtual void DeselectHdl(); + virtual void InitEntry(SvLBoxEntry*,const XubString&,const Image&,const Image&,SvLBoxButtonKind); + + void Clear(); + + DECL_LINK( PopupHdl, Menu* ); + DECL_LINK( Timeout, Timer* ); + DECL_LINK( DoubleClickHdl, SwGlobalTree * ); + + BOOL IsInternalDrag() const {return bIsInternalDrag != 0;} + SwNavigationPI* GetParentWindow() + { return (SwNavigationPI*)Window::GetParent(); } + + void OpenDoc(const SwGlblDocContent*); + void GotoContent(const SwGlblDocContent*); + USHORT GetEnableFlags() const; + + static const SfxObjectShell* GetShowShell() {return pShowShell;} + static void SetShowShell(const SfxObjectShell*pSet) {pShowShell = pSet;} + DECL_STATIC_LINK(SwGlobalTree, ShowFrameHdl, SwGlobalTree*); + + virtual PopupMenu* CreateContextMenu( void ); + virtual void ExcecuteContextMenuAction( USHORT nSelectedPopupEntry ); + +public: + SwGlobalTree(Window* pParent, const ResId& rResId); + virtual ~SwGlobalTree(); + + void TbxMenuHdl(USHORT nTbxId, ToolBox* pBox); + void InsertRegion( const SwGlblDocContent* pCont, + const String* pFileName = 0 ); + void EditContent(const SwGlblDocContent* pCont ); + + void ShowTree(); + void HideTree(); + + void ExecCommand(USHORT nCmd); + + void Display(BOOL bOnlyUpdateUserData = FALSE); + + BOOL Update(BOOL bHard); +}; + +#endif + diff --git a/sw/source/ui/inc/convert.hxx b/sw/source/ui/inc/convert.hxx new file mode 100644 index 000000000000..fc1879bc4f2d --- /dev/null +++ b/sw/source/ui/inc/convert.hxx @@ -0,0 +1,91 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SW_CONVERT_HXX +#define _SW_CONVERT_HXX + +#include <vcl/fixed.hxx> +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#include <vcl/edit.hxx> +#include <sfx2/basedlgs.hxx> +#include <textcontrolcombo.hxx> + +class SwTableAutoFmt; +class SwView; +class SwWrtShell; +class NumericField; +struct SwInsertTableOptions; + +class SwConvertTableDlg: public SfxModalDialog +{ + RadioButton aTabBtn; + RadioButton aSemiBtn; + RadioButton aParaBtn; + RadioButton aOtherBtn; + Edit aOtherEd; + CheckBox aKeepColumn; + FixedLine aDelimFL; + + CheckBox aHeaderCB; + CheckBox aRepeatHeaderCB; + + FixedText aRepeatHeaderFT; // "dummy" to build before and after FT + FixedText aRepeatHeaderBeforeFT; + NumericField aRepeatHeaderNF; + FixedText aRepeatHeaderAfterFT; + TextControlCombo aRepeatHeaderCombo; + + FixedLine aOptionsFL; + CheckBox aDontSplitCB; + CheckBox aBorderCB; + PushButton aAutoFmtBtn; + + OKButton aOkBtn; + CancelButton aCancelBtn; + HelpButton aHelpBtn; + + String sConvertTextTable; + SwTableAutoFmt* pTAutoFmt; + SwWrtShell* pShell; + + DECL_LINK( AutoFmtHdl, PushButton* ); + DECL_LINK( BtnHdl, Button* ); + DECL_LINK( CheckBoxHdl, CheckBox *pCB = 0 ); + DECL_LINK( ReapeatHeaderCheckBoxHdl, void* p = 0 ); + +public: + SwConvertTableDlg( SwView& rView, bool bToTable ); + ~SwConvertTableDlg(); + + void GetValues( sal_Unicode& rDelim, + SwInsertTableOptions& rInsTblOpts, + SwTableAutoFmt *& prTAFmt ); +}; + + +#endif diff --git a/sw/source/ui/inc/cption.hxx b/sw/source/ui/inc/cption.hxx new file mode 100644 index 000000000000..edb8590d5c8f --- /dev/null +++ b/sw/source/ui/inc/cption.hxx @@ -0,0 +1,137 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _CPTION_HXX +#define _CPTION_HXX + +#include <svx/stddlg.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#include <actctrl.hxx> + + +#include <com/sun/star/container/XEnumerationAccess.hpp> +#include <com/sun/star/container/XHierarchicalNameAccess.hpp> +#include <com/sun/star/container/XNameAccess.hpp> +#include <com/sun/star/container/XContentEnumerationAccess.hpp> +#include <com/sun/star/container/XEnumeration.hpp> +#include <com/sun/star/container/XElementAccess.hpp> +#include <com/sun/star/container/XIndexAccess.hpp> +#include <com/sun/star/container/XNamed.hpp> + +class SwFldMgr; +class SwView; + +#include <wrtsh.hxx> +#include "optload.hxx" +#include "swlbox.hxx" + + +class SwCaptionDialog : public SvxStandardDialog +{ + class CategoryBox : public ComboBox + { + public: + CategoryBox( Window* pParent, const ResId& rResId ) + : ComboBox( pParent, rResId ) + {} + + virtual long PreNotify( NotifyEvent& rNEvt ); + }; + + FixedText aTextText; + Edit aTextEdit; + FixedLine aSettingsFL; + FixedText aCategoryText; + CategoryBox aCategoryBox; + FixedText aFormatText; + ListBox aFormatBox; + //#i61007# order of captions + FixedText aNumberingSeparatorFT; + Edit aNumberingSeparatorED; + FixedText aSepText; + Edit aSepEdit; + FixedText aPosText; + ListBox aPosBox; + OKButton aOKButton; + CancelButton aCancelButton; + HelpButton aHelpButton; + PushButton aAutoCaptionButton; + PushButton aOptionButton; + + String sNone; + + SwCaptionPreview aPrevWin; + + SwView &rView; //Suchen per aktive ::com::sun::star::sdbcx::View vermeiden. + SwFldMgr *pMgr; //Ptr um das include zu sparen + SelectionType eType; + + String sCharacterStyle; + String sObjectName; + bool bCopyAttributes; + bool bOrderNumberingFirst; //#i61007# order of captions + + ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > xNameAccess; + ::com::sun::star::uno::Reference< ::com::sun::star::container::XNamed > xNamed; + + DECL_LINK( SelectHdl, ListBox * ); + DECL_LINK( ModifyHdl, Edit * ); + DECL_LINK( OptionHdl, Button * ); + DECL_LINK( CaptionHdl, PushButton*); + + virtual void Apply(); + + void DrawSample(); + void CheckButtonWidth(); + void ApplyCaptionOrder(); //#i61007# order of captions + +public: + SwCaptionDialog( Window *pParent, SwView &rV ); + ~SwCaptionDialog(); +}; + +#endif + + diff --git a/sw/source/ui/inc/dbconfig.hxx b/sw/source/ui/inc/dbconfig.hxx new file mode 100644 index 000000000000..2e82249b84b9 --- /dev/null +++ b/sw/source/ui/inc/dbconfig.hxx @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _DBCONFIG_HXX +#define _DBCONFIG_HXX + +#include <unotools/configitem.hxx> +#include "swdllapi.h" + +struct SwDBData; + +class SW_DLLPUBLIC SwDBConfig : public utl::ConfigItem +{ + SW_DLLPRIVATE const com::sun::star::uno::Sequence<rtl::OUString>& GetPropertyNames(); + + SwDBData* pAdrImpl; + SwDBData* pBibImpl; + +public: + SwDBConfig(); + virtual ~SwDBConfig(); + + void Load(); + const SwDBData& GetAddressSource(); + const SwDBData& GetBibliographySource(); + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); +}; + +#endif + diff --git a/sw/source/ui/inc/dbinsdlg.hxx b/sw/source/ui/inc/dbinsdlg.hxx new file mode 100644 index 000000000000..c0a530de9f3a --- /dev/null +++ b/sw/source/ui/inc/dbinsdlg.hxx @@ -0,0 +1,188 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _DBINSDLG_HXX +#define _DBINSDLG_HXX + + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#include <vcl/lstbox.hxx> +#include <svtools/svmedit.hxx> +#include <sfx2/basedlgs.hxx> +#include <svl/svarray.hxx> +#include <unotools/configitem.hxx> +#include <numfmtlb.hxx> +#include <swdbdata.hxx> +#include <com/sun/star/uno/Reference.h> +#include <com/sun/star/uno/Sequence.h> +namespace com{namespace sun{namespace star{ + namespace sdbcx{ + class XColumnsSupplier; + } + namespace sdbc{ + class XDataSource; + class XConnection; + class XResultSet; + } +}}} + +class SwTableAutoFmt; +class SwView; +class SfxItemSet; +class SwTableRep; +class _DB_Columns; + +struct SwInsDBColumn +{ + rtl::OUString sColumn, sUsrNumFmt; + sal_Int32 nDBNumFmt; + sal_uInt32 nUsrNumFmt; + LanguageType eUsrNumFmtLng; + USHORT nCol; + BOOL bHasFmt : 1; + BOOL bIsDBFmt : 1; + + SwInsDBColumn( const String& rStr, USHORT nColumn ) + : sColumn( rStr ), + nDBNumFmt( 0 ), + nUsrNumFmt( 0 ), + eUsrNumFmtLng( LANGUAGE_SYSTEM ), + nCol( nColumn ), + bHasFmt(FALSE), + bIsDBFmt(TRUE) + {} + + int operator==( const SwInsDBColumn& rCmp ) const + { return sColumn == rCmp.sColumn; } + int operator<( const SwInsDBColumn& rCmp ) const; +}; + +typedef SwInsDBColumn* SwInsDBColumnPtr; +SV_DECL_PTRARR_SORT_DEL( SwInsDBColumns, SwInsDBColumnPtr, 32, 32 ) + + +class SwInsertDBColAutoPilot : public SfxModalDialog, public utl::ConfigItem +{ + FixedText aFtInsertData; + RadioButton aRbAsTable; + RadioButton aRbAsField; + RadioButton aRbAsText; + + FixedLine aFlHead; + FixedText aFtDbColumn; + + ListBox aLbTblDbColumn; + ListBox aLbTxtDbColumn; + + FixedLine aFlFormat; + RadioButton aRbDbFmtFromDb; + RadioButton aRbDbFmtFromUsr; + NumFormatListBox aLbDbFmtFromUsr; + + /* ----- Page Text/Field ------- */ + ImageButton aIbDbcolToEdit; + MultiLineEdit aEdDbText; + FixedText aFtDbParaColl; + ListBox aLbDbParaColl; + + /* ----- Page Table ------------ */ + ImageButton aIbDbcolAllTo; + ImageButton aIbDbcolOneTo; + ImageButton aIbDbcolOneFrom; + ImageButton aIbDbcolAllFrom; + FixedText aFtTableCol; + ListBox aLbTableCol; + CheckBox aCbTableHeadon; + RadioButton aRbHeadlColnms; + RadioButton aRbHeadlEmpty; + PushButton aPbTblFormat; + PushButton aPbTblAutofmt; + + OKButton aBtOk; + CancelButton aBtCancel; + HelpButton aBtHelp; + + FixedLine aFlBottom; + + SwInsDBColumns aDBColumns; + const SwDBData aDBData; + + Link aOldNumFmtLnk; + String sNoTmpl; + + SwView* pView; + SwTableAutoFmt* pTAutoFmt; + + SfxItemSet* pTblSet; + SwTableRep* pRep; + USHORT nGBFmtLen; + + DECL_LINK( PageHdl, Button* ); + DECL_LINK( AutoFmtHdl, PushButton* ); + DECL_LINK( TblFmtHdl, PushButton* ); + DECL_LINK( DBFormatHdl, Button* ); + DECL_LINK( TblToFromHdl, Button* ); + DECL_LINK( SelectHdl, ListBox* ); + DECL_LINK( DblClickHdl, ListBox* ); + DECL_LINK( HeaderHdl, Button* ); + + BOOL SplitTextToColArr( const String& rTxt, _DB_Columns& rColArr, BOOL bInsField ); + using SfxModalDialog::Notify; + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + virtual void Commit(); + void Load(); + + // setze die Tabellen - Eigenschaften + void SetTabSet(); + +public: + SwInsertDBColAutoPilot( SwView& rView, + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> rxSource, + com::sun::star::uno::Reference<com::sun::star::sdbcx::XColumnsSupplier>, + const SwDBData& rData ); + + virtual ~SwInsertDBColAutoPilot(); + + void DataToDoc( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rSelection, + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> rxSource, + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> xConnection, + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > xResultSet); + +}; + +#endif diff --git a/sw/source/ui/inc/dbtree.hxx b/sw/source/ui/inc/dbtree.hxx new file mode 100644 index 000000000000..d6c81e2e5ce8 --- /dev/null +++ b/sw/source/ui/inc/dbtree.hxx @@ -0,0 +1,86 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _DBTREE_HXX +#define _DBTREE_HXX + +#include <svtools/svtreebx.hxx> +#include <com/sun/star/uno/Reference.h> + +namespace com{namespace sun{namespace star{namespace container{ + class XNameAccess; +}}}} +#include "swdllapi.h" +#include <swtypes.hxx> +#include <swunodef.hxx> + +class SwDBTreeList_Impl; +class SwWrtShell; + +class SW_DLLPUBLIC SwDBTreeList : public SvTreeListBox +{ + ImageList aImageList; + ImageList aImageListHC; + Image aDBBMP; + Image aTableBMP; + Image aQueryBMP; + + String sDefDBName; + BOOL bInitialized; + BOOL bShowColumns; + + SwDBTreeList_Impl* pImpl; + + SW_DLLPRIVATE DECL_LINK( DBCompare, SvSortData* ); + + SW_DLLPRIVATE void InitTreeList(); + SW_DLLPRIVATE virtual void RequestingChilds( SvLBoxEntry* pParent ); + + SW_DLLPRIVATE virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ); + SW_DLLPRIVATE virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel ); + + using SvTreeListBox::Select; + +public: + SwDBTreeList( Window* pParent, const ResId& rResId, + SwWrtShell* pSh, + const String& rDefDBName = aEmptyStr, + const BOOL bShowCol = FALSE ); + virtual ~SwDBTreeList(); + + String GetDBName( String& rTableName, String& rColumnName, BOOL* pbIsTable = 0); + + void Select( const String& rDBName, const String& rTableName, + const String& rColumnName ); + + void ShowColumns(BOOL bShowCol); + void SetWrtShell(SwWrtShell& rSh); + + void AddDataSource(const String& rSource); +}; + +#endif + diff --git a/sw/source/ui/inc/dbui.hxx b/sw/source/ui/inc/dbui.hxx new file mode 100644 index 000000000000..2c8e9cdf02c7 --- /dev/null +++ b/sw/source/ui/inc/dbui.hxx @@ -0,0 +1,86 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _DBUI_HXX +#define _DBUI_HXX + +#include <svx/stddlg.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#include <vcl/fixed.hxx> + + +class SW_DLLPUBLIC PrintMonitor: public ModelessDialog +{ +public: + enum PrintMonitorType + { + MONITOR_TYPE_PRINT, + MONITOR_TYPE_MAIL, + MONITOR_TYPE_SAVE + }; + FixedText aDocName; + FixedText aPrinting; + FixedText aPrinter; + FixedText aPrintInfo; + CancelButton aCancel; + + PrintMonitor( Window *pParent, PrintMonitorType eType ); + + void ResizeControls(); +}; + +class CreateMonitor : public ModelessDialog +{ +public: + CreateMonitor( Window *pParent ); + + void SetTotalCount( sal_Int32 nTotal ); + void SetCurrentPosition( sal_Int32 nCurrent ); + + void SetCancelHdl( const Link& rLink ); + +private: //methods + void UpdateCountingText(); + +private: //member + FixedText m_aStatus; + FixedText m_aProgress; + FixedText m_aCreateDocuments; + FixedText m_aCounting; + CancelButton m_aCancelButton; + + String m_sCountingPattern; + String m_sVariable_Total; + String m_sVariable_Position; + sal_Int32 m_nTotalCount; + sal_Int32 m_nCurrentPosition; +}; + +#endif + diff --git a/sw/source/ui/inc/dialmgr.hxx b/sw/source/ui/inc/dialmgr.hxx new file mode 100644 index 000000000000..ebd9731c5e0a --- /dev/null +++ b/sw/source/ui/inc/dialmgr.hxx @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SW_DIALMGR_HXX +#define _SW_DIALMGR_HXX + +// include --------------------------------------------------------------- + +#include <tools/resid.hxx> + +// forward --------------------------------------------------------------- + +class ResMgr; +struct SwDialogsResMgr +{ + static ResMgr* GetResMgr(); +}; + +#define SWDIALOG_MGR() SwDialogsResMgr::GetResMgr() +#define SW_RES(i) ResId(i,SWDIALOG_MGR()) +#define SW_RESSTR(i) UniString(ResId(i,SWDIALOG_MGR())) +#define SW_RESSSTR(i) String(ResId(i,SWDIALOG_MGR())) + +#endif + diff --git a/sw/source/ui/inc/docfnote.hxx b/sw/source/ui/inc/docfnote.hxx new file mode 100644 index 000000000000..b3ffde863596 --- /dev/null +++ b/sw/source/ui/inc/docfnote.hxx @@ -0,0 +1,50 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _DOCFNOTE_HXX +#define _DOCFNOTE_HXX + +#include <sfx2/tabdlg.hxx> + +class SwWrtShell; + +class SwFootNoteOptionDlg :public SfxTabDialog +{ + SwWrtShell &rSh; + Link aOldOkHdl; + + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); + +#ifdef _SOLAR__PRIVATE + DECL_LINK( OkHdl, Button * ); +#endif + +public: + SwFootNoteOptionDlg(Window *pParent, SwWrtShell &rSh ); + ~SwFootNoteOptionDlg(); +}; + +#endif diff --git a/sw/source/ui/inc/docstdlg.hxx b/sw/source/ui/inc/docstdlg.hxx new file mode 100644 index 000000000000..f269693975cc --- /dev/null +++ b/sw/source/ui/inc/docstdlg.hxx @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _DOCSTDLG_HXX +#define _DOCSTDLG_HXX + +#include <sfx2/tabdlg.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#include <svtools/stdctrl.hxx> + +#include "docstat.hxx" + +/*-------------------------------------------------------------------- + Beschreibung: DocInfo jetzt als Page + --------------------------------------------------------------------*/ + +class SwDocStatPage: public SfxTabPage +{ +public: + SwDocStatPage(Window *pParent, const SfxItemSet &rSet); + ~SwDocStatPage(); + + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + +protected: + virtual BOOL FillItemSet( SfxItemSet &rSet); + virtual void Reset (const SfxItemSet &rSet); + + DECL_LINK( UpdateHdl, PushButton*); + +private: + FixedText aTableLbl; + FixedText aGrfLbl; + FixedText aOLELbl; + FixedText aPageLbl; + FixedText aParaLbl; + FixedText aWordLbl; + FixedText aCharLbl; + FixedText aLineLbl; + + FixedInfo aTableNo; + FixedInfo aGrfNo; + FixedInfo aOLENo; + FixedInfo aPageNo; + FixedInfo aParaNo; + FixedInfo aWordNo; + FixedInfo aCharNo; + FixedInfo aLineNo; + + PushButton aUpdatePB; + SwDocStat aDocStat; + + void Update(); + + using Window::SetData; + void SetData(const SwDocStat &rStat); +}; + +#endif diff --git a/sw/source/ui/inc/drawbase.hxx b/sw/source/ui/inc/drawbase.hxx new file mode 100644 index 000000000000..783bd730a86d --- /dev/null +++ b/sw/source/ui/inc/drawbase.hxx @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SW_DRAWBASE_HXX +#define _SW_DRAWBASE_HXX + +#include <tools/gen.hxx> + +class SwView; +class SwWrtShell; +class SwEditWin; +class KeyEvent; +class MouseEvent; + +#define MIN_FREEHAND_DISTANCE 10 + +/************************************************************************* +|* +|* Basisklasse fuer alle Funktionen +|* +\************************************************************************/ + +class SwDrawBase +{ +protected: + SwView* m_pView; + SwWrtShell* m_pSh; + SwEditWin* m_pWin; + Point m_aStartPos; // Position von BeginCreate + Point m_aMDPos; // Position von MouseButtonDown + USHORT m_nSlotId; + BOOL m_bCreateObj :1; + BOOL m_bInsForm :1; + + Point GetDefaultCenterPos(); +public: + SwDrawBase(SwWrtShell *pSh, SwEditWin* pWin, SwView* pView); + virtual ~SwDrawBase(); + + void SetDrawPointer(); + void EnterSelectMode(const MouseEvent& rMEvt); + inline BOOL IsInsertForm() const { return m_bInsForm; } + inline BOOL IsCreateObj() const { return m_bCreateObj; } + + // Mouse- & Key-Events; Returnwert=TRUE: Event wurde bearbeitet + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + void BreakCreate(); + void SetSlotId(USHORT nSlot) {m_nSlotId = nSlot;} + USHORT GetSlotId() { return m_nSlotId;} + + virtual void Activate(const USHORT nSlotId); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren + + virtual void CreateDefaultObject(); + + // #i33136# + virtual bool doConstructOrthogonal() const; +}; + + + +#endif // _SW_DRAWBASE_HXX + diff --git a/sw/source/ui/inc/drawsh.hxx b/sw/source/ui/inc/drawsh.hxx new file mode 100644 index 000000000000..deb0849d66a0 --- /dev/null +++ b/sw/source/ui/inc/drawsh.hxx @@ -0,0 +1,52 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWDRAWSH_HXX +#define _SWDRAWSH_HXX + +#include "drwbassh.hxx" + +class SwDrawBaseShell; + +class SwDrawShell: public SwDrawBaseShell +{ +public: + SFX_DECL_INTERFACE(SW_DRAWSHELL) + TYPEINFO(); + + SwDrawShell(SwView &rView); + + void Execute(SfxRequest &); + void GetState(SfxItemSet &); + void ExecDrawDlg(SfxRequest& rReq); + void ExecDrawAttrArgs(SfxRequest& rReq); + void GetDrawAttrState(SfxItemSet &rSet); + + void ExecFormText(SfxRequest& rReq); + void GetFormTextState(SfxItemSet& rSet); +}; + +#endif diff --git a/sw/source/ui/inc/drformsh.hxx b/sw/source/ui/inc/drformsh.hxx new file mode 100644 index 000000000000..8648742b1f99 --- /dev/null +++ b/sw/source/ui/inc/drformsh.hxx @@ -0,0 +1,47 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWDRWFORMSH_HXX +#define _SWDRWFORMSH_HXX + +#include "drwbassh.hxx" + +class SwDrawBaseShell; + +class SwDrawFormShell: public SwDrawBaseShell +{ +public: + SFX_DECL_INTERFACE(SW_DRAWFORMSHELL) + TYPEINFO(); + + SwDrawFormShell(SwView &rView); + virtual ~SwDrawFormShell(); + + void Execute(SfxRequest &); + void GetState(SfxItemSet &); +}; + +#endif diff --git a/sw/source/ui/inc/drpcps.hxx b/sw/source/ui/inc/drpcps.hxx new file mode 100644 index 000000000000..50140443f726 --- /dev/null +++ b/sw/source/ui/inc/drpcps.hxx @@ -0,0 +1,125 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _DRPCPS_HXX +#define _DRPCPS_HXX + +#include <sfx2/basedlgs.hxx> +#include <sfx2/tabdlg.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +class SwWrtShell; + +// class SwDropCapsDlg ****************************************************** + +class SwDropCapsDlg : public SfxSingleTabDialog +{ + +public: + + SwDropCapsDlg(Window *pParent, const SfxItemSet &rSet ); + ~SwDropCapsDlg(); + +}; + +class SwDropCapsPict; + +// class SwDropCapsPage ***************************************************** + +class SwDropCapsPage : public SfxTabPage +{ +friend class SwDropCapsPict; + + CheckBox aDropCapsBox; + CheckBox aWholeWordCB; + FixedText aSwitchText; + NumericField aDropCapsField; + FixedText aLinesText; + NumericField aLinesField; + FixedText aDistanceText; + MetricField aDistanceField; + FixedLine aSettingsFL; + + FixedText aTextText; + Edit aTextEdit; + FixedText aTemplateText; + ListBox aTemplateBox; + FixedLine aContentFL; + + SwDropCapsPict *pPict; + + BOOL bModified; + BOOL bFormat; + BOOL bHtmlMode; + + SwWrtShell &rSh; + + SwDropCapsPage(Window *pParent, const SfxItemSet &rSet); + ~SwDropCapsPage(); + + virtual int DeactivatePage(SfxItemSet *pSet); + void FillSet( SfxItemSet &rSet ); + + DECL_LINK( ClickHdl, Button * ); + DECL_LINK( ModifyHdl, Edit * ); + DECL_LINK( SelectHdl, ListBox * ); + DECL_LINK( WholeWordHdl, CheckBox * ); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + static USHORT* GetRanges(); + + virtual BOOL FillItemSet( SfxItemSet &rSet); + virtual void Reset (const SfxItemSet &rSet); + + void SetFormat(BOOL bSet){bFormat = bSet;} +}; + +#endif + diff --git a/sw/source/ui/inc/drwbassh.hxx b/sw/source/ui/inc/drwbassh.hxx new file mode 100644 index 000000000000..dcdd1c1b427d --- /dev/null +++ b/sw/source/ui/inc/drwbassh.hxx @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWDRWBASSH_HXX +#define _SWDRWBASSH_HXX +#include "basesh.hxx" + +class SwView; +class SfxItemSet; +class SwDrawBase; +class AbstractSvxNameDialog; +struct SvxSwFrameValidation; + +class SwDrawBaseShell: public SwBaseShell +{ + SwDrawBase* pDrawActual; + + UINT16 eDrawMode; + BOOL bRotate : 1; + BOOL bSelMove: 1; + + DECL_LINK( CheckGroupShapeNameHdl, AbstractSvxNameDialog* ); + DECL_LINK(ValidatePosition, SvxSwFrameValidation* ); +public: + SwDrawBaseShell(SwView &rShell); + virtual ~SwDrawBaseShell(); + + SFX_DECL_INTERFACE(SW_DRAWBASESHELL) + TYPEINFO(); + + void Execute(SfxRequest &); + void GetState(SfxItemSet &); + void DisableState(SfxItemSet &rSet) { Disable(rSet);} + BOOL Disable(SfxItemSet& rSet, USHORT nWhich = 0); + + void StateStatusline(SfxItemSet &rSet); + +}; + + +#endif diff --git a/sw/source/ui/inc/drwtxtsh.hxx b/sw/source/ui/inc/drwtxtsh.hxx new file mode 100644 index 000000000000..79aebc4e016a --- /dev/null +++ b/sw/source/ui/inc/drwtxtsh.hxx @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWDRWTXTSH_HXX +#define _SWDRWTXTSH_HXX + +#include <sfx2/shell.hxx> +#include "shellid.hxx" + +class SdrView; +class SwView; +class SwWrtShell; +class SfxModule; + +class SwDrawTextShell: public SfxShell +{ + SwView &rView; + + SdrView *pSdrView; + + BOOL bRotate : 1; + BOOL bSelMove: 1; + + void SetAttrToMarked(const SfxItemSet& rAttr); + void InsertSymbol(SfxRequest& rReq); + BOOL IsTextEdit(); +public: + SFX_DECL_INTERFACE(SW_DRWTXTSHELL) + TYPEINFO(); + + SwView &GetView() { return rView; } + SwWrtShell &GetShell(); + + SwDrawTextShell(SwView &rView); + virtual ~SwDrawTextShell(); + + virtual SfxUndoManager* GetUndoManager(); + + void StateDisableItems(SfxItemSet &); + + void Execute(SfxRequest &); + void ExecDraw(SfxRequest &); + void GetState(SfxItemSet &); + void GetDrawTxtCtrlState(SfxItemSet&); + + void ExecFontWork(SfxRequest& rReq); + void StateFontWork(SfxItemSet& rSet); + void ExecFormText(SfxRequest& rReq); + void GetFormTextState(SfxItemSet& rSet); + void ExecDrawLingu(SfxRequest &rReq); + void ExecUndo(SfxRequest &rReq); + void StateUndo(SfxItemSet &rSet); + void ExecClpbrd(SfxRequest &rReq); + void StateClpbrd(SfxItemSet &rSet); + void StateInsert(SfxItemSet &rSet); + void ExecTransliteration(SfxRequest &); + + void Init(); + void StateStatusline(SfxItemSet &rSet); +}; + +#endif diff --git a/sw/source/ui/inc/dselect.hxx b/sw/source/ui/inc/dselect.hxx new file mode 100644 index 000000000000..37d3d84832bb --- /dev/null +++ b/sw/source/ui/inc/dselect.hxx @@ -0,0 +1,52 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SW_DSELECT_HXX +#define _SW_DSELECT_HXX + +#include "drawbase.hxx" + +/************************************************************************* +|* +|* Rechteck zeichnen +|* +\************************************************************************/ + +class DrawSelection : public SwDrawBase +{ + public: + DrawSelection(SwWrtShell* pSh, SwEditWin* pWin, SwView* pView); + + // Mouse- & Key-Events + virtual BOOL KeyInput(const KeyEvent& rKEvt); + + virtual void Activate(const USHORT nSlotId); // Function aktivieren +}; + + + +#endif // _SW_DSELECT_HXX + diff --git a/sw/source/ui/inc/edtwin.hxx b/sw/source/ui/inc/edtwin.hxx new file mode 100644 index 000000000000..b70a3f75aa96 --- /dev/null +++ b/sw/source/ui/inc/edtwin.hxx @@ -0,0 +1,307 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _EDTWIN_HXX +#define _EDTWIN_HXX + +#include <svx/svdobj.hxx> +#include <tools/link.hxx> +#include <vcl/timer.hxx> +#include <vcl/window.hxx> +#include <svtools/transfer.hxx> +#include <swevent.hxx> + +#define _SVSTDARR_STRINGSISORTDTOR +#include <svl/svstdarr.hxx> + +class SwWrtShell; +class SwView; +class SwRect; +class ViewShell; +class SwAnchorMarker; +class SdrObject; +class SwShadowCursor; +class DataChangedEvent; +class SvxAutoCorrCfg; +class SvxAutoCorrect; +class SwPaM; +struct SwApplyTemplate; +struct QuickHelpData; +class SdrDropMarkerOverlay; + +/*-------------------------------------------------------------------- + Beschreibung: Eingabe-Fenster + --------------------------------------------------------------------*/ + +class SwEditWin: public Window, + public DropTargetHelper, public DragSourceHelper +{ +friend void ScrollMDI(ViewShell* pVwSh, const SwRect&, + USHORT nRangeX, USHORT nRangeY); +friend BOOL IsScrollMDI(ViewShell* pVwSh, const SwRect&); + +friend void SizeNotify(ViewShell* pVwSh, const Size &); + +friend void PageNumNotify( ViewShell* pVwSh, + USHORT nPhyNum, + USHORT nVirtNum, + const String& rPg ); + + static QuickHelpData* pQuickHlpData; + + static BOOL bReplaceQuote; + static long nDDStartPosX, nDDStartPosY; + + static Color aTextColor; //Textfarbe, fuer die Giesskanne + static BOOL bTransparentBackColor; // Hintergrund transparent + static Color aTextBackColor; //Texthintergrundfarbe, fuer die Giesskanne + + /* + * Timer und Handler fuer das Weiterscrollen, wenn der + * Mauspointer innerhalb eines Drag-Vorgangs ausserhalb des + * EditWin stehen bleibt. In regelmaessigen Intervallen wird + * die Selektion in Richtung der Mausposition vergroessert. + */ + AutoTimer aTimer; + // Timer fuer verschachtelte KeyInputs (z.B. fuer Tabellen) + Timer aKeyInputTimer; + // timer for ANY-KeyInut question without a following KeyInputEvent + Timer aKeyInputFlushTimer; + + String aInBuffer; + LanguageType eBufferLanguage; + Point aStartPos; + Point aMovePos; + Point aRszMvHdlPt; + Timer aTemplateTimer; + + // Type/Objecte ueber dem der MousePointer steht + SwCallMouseEvent aSaveCallEvent; + + SwApplyTemplate *pApplyTempl; + SwAnchorMarker *pAnchorMarker; // zum Verschieben eines Ankers + + SdrDropMarkerOverlay *pUserMarker; + SdrObject *pUserMarkerObj; + SwShadowCursor *pShadCrsr; + Point *pRowColumnSelectionStart; // save position where table row/column selection has been started + + SwView &rView; + + int aActHitType; // aktueller Mauspointer + + ULONG m_nDropFormat; //Format aus dem letzten QueryDrop + USHORT m_nDropAction; //Action aus dem letzten QueryDrop + USHORT m_nDropDestination; //Ziel aus dem letzten QueryDrop + + UINT16 eBezierMode; + UINT16 nInsFrmColCount; //Spaltenzahl fuer interaktiven Rahmen + SdrObjKind eDrawMode; + BOOL bLinkRemoved : 1, + bMBPressed : 1, + bInsDraw : 1, + bInsFrm : 1, + bIsInMove : 1, + bIsInDrag : 1, //StartExecuteDrag nich doppelt ausfuehren + bOldIdle : 1, //Zum abschalten des Idle'ns + bOldIdleSet : 1, //waehrend QeueryDrop + bTblInsDelMode : 1, // + bTblIsInsMode : 1, // + bTblIsColMode : 1, // + bChainMode : 1, //Rahmen verbinden + bWasShdwCrsr : 1, //ShadowCrsr war im MouseButtonDown an + bLockInput : 1, //Lock waehrend die Rechenleiste aktiv ist + bIsRowDrag : 1, //selection of rows is used, in combination with pRowColumnSelectionStart + /** #i42732# display status of font size/name depending on either the input language or the + selection position depending on what has changed lately + */ + bUseInputLanguage: 1, + bObjectSelect : 1; + + + USHORT nKS_NUMDOWN_Count; // #i23725# + USHORT nKS_NUMINDENTINC_Count; + + void LeaveArea(const Point &); + void JustifyAreaTimer(); + inline void EnterArea(); + + void RstMBDownFlags(); + + void ChangeFly( BYTE nDir, BOOL bWeb = FALSE ); + void ChangeDrawing( BYTE nDir ); + + BOOL EnterDrawMode(const MouseEvent& rMEvt, const Point& aDocPos); + BOOL RulerColumnDrag( const MouseEvent& rMEvt, BOOL bVerticalMode); + + //Hilfsfunktionen fuer D&D + void DropCleanup(); + void CleanupDropUserMarker(); + USHORT GetDropDestination( const Point& rPixPnt, + SdrObject ** ppObj = 0 ); + //select the object/cursor at the mouse position of the context menu request + BOOL SelectMenuPosition(SwWrtShell& rSh, const Point& rMousePos ); + + /* + * Handler fuer das Weiterscrollen, wenn der Mauspointer innerhalb eines + * Drag-Vorgangs ausserhalb des EditWin stehen bleibt. In regelmaessigen + * Intervallen wird die Selektion in Richtung der Mausposition + * vergroessert. + */ + DECL_LINK( TimerHandler, Timer * ); + void StartDDTimer(); + void StopDDTimer(SwWrtShell *, const Point &); + DECL_LINK( DDHandler, Timer * ); + + // timer for ANY-KeyInut question without a following KeyInputEvent + DECL_LINK( KeyInputFlushHandler, Timer * ); + + // Timer fuer verschachtelte KeyInputs (z.B. fuer Tabellen) + DECL_LINK( KeyInputTimerHandler, Timer * ); + + // Timer fuer das ApplyTemplates per Maus (verkapptes Drag&Drop) + DECL_LINK( TemplateTimerHdl, Timer* ); + + using OutputDevice::GetTextColor; + +protected: + + virtual void DataChanged( const DataChangedEvent& ); + virtual void PrePaint(); + virtual void Paint( const Rectangle& rRect ); + virtual void KeyInput(const KeyEvent &rKEvt); + + virtual void GetFocus(); + virtual void LoseFocus(); + + + virtual void MouseMove(const MouseEvent& rMEvt); + virtual void MouseButtonDown(const MouseEvent& rMEvt); + virtual void MouseButtonUp(const MouseEvent& rMEvt); + virtual void RequestHelp(const HelpEvent& rEvt); + + virtual void Command( const CommandEvent& rCEvt ); + + // Drag & Drop Interface + virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ); + virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ); + virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel ); + + virtual XubString GetSurroundingText() const; + virtual Selection GetSurroundingTextSelection() const; + + void ShowAutoTextCorrectQuickHelp( const String& rWord, SvxAutoCorrCfg* pACfg, + SvxAutoCorrect* pACorr, sal_Bool bFromIME = sal_False ); +public: + + void UpdatePointer(const Point &, USHORT nButtons = 0); + + BOOL IsDrawSelMode(); + BOOL IsDrawAction() { return (bInsDraw); } + void SetDrawAction(BOOL bFlag) { bInsDraw = bFlag; } + + void SetObjectSelect( BOOL bVal ) { bObjectSelect = bVal; } + BOOL IsObjectSelect() const { return bObjectSelect; } + + inline SdrObjKind GetSdrDrawMode(/*BOOL bBuf = FALSE*/) const { return eDrawMode; } + inline void SetSdrDrawMode( SdrObjKind eSdrObjectKind ) { eDrawMode = eSdrObjectKind; SetObjectSelect( FALSE ); } + void StdDrawMode( SdrObjKind eSdrObjectKind, BOOL bObjSelect ); + + BOOL IsFrmAction() { return (bInsFrm); } + inline UINT16 GetBezierMode() { return eBezierMode; } + void SetBezierMode(UINT16 eBezMode) { eBezierMode = eBezMode; } + void EnterDrawTextMode(const Point& aDocPos); // DrawTextEditMode einschalten + void InsFrm(USHORT nCols); + void StopInsFrm(); + UINT16 GetFrmColCount() const {return nInsFrmColCount;} //Spaltenzahl fuer interaktiven Rahmen + + + void SetChainMode( BOOL bOn ); + BOOL IsChainMode() const { return bChainMode; } + + void FlushInBuffer(); + BOOL IsInputSequenceCheckingRequired( const String &rText, const SwPaM& rCrsr ) const; + + + static void SetReplaceQuote(BOOL bOn = TRUE) { bReplaceQuote = bOn; } + static BOOL IsReplaceQuote() { return bReplaceQuote; } + + void SetApplyTemplate(const SwApplyTemplate &); + SwApplyTemplate* GetApplyTemplate() const { return pApplyTempl; } + + void StartExecuteDrag(); + void DragFinished(); + USHORT GetDropAction() const { return m_nDropAction; } + ULONG GetDropFormat() const { return m_nDropFormat; } + + Color GetTextColor() { return aTextColor; } + + void SetTextColor(const Color& rCol ) { aTextColor = rCol; } + + Color GetTextBackColor() + { return aTextBackColor; } + void SetTextBackColor(const Color& rCol ) + { aTextBackColor = rCol; } + void SetTextBackColorTransparent(BOOL bSet) + { bTransparentBackColor = bSet; } + BOOL IsTextBackColorTransparent() + { return bTransparentBackColor; } + void LockKeyInput(BOOL bSet){bLockInput = bSet;} + + const SwView &GetView() const { return rView; } + SwView &GetView() { return rView; } + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible(); + + // Tipfenster loeschen + static void ClearTip(); + + static inline long GetDDStartPosX() { return nDDStartPosX; } + static inline long GetDDStartPosY() { return nDDStartPosY; } + + static void _InitStaticData(); + static void _FinitStaticData(); + + //#i3370# remove quick help to prevent saving of autocorrection suggestions + void StopQuickHelp(); + + // --> OD 2005-02-18 #i42921# - add parameter <bVerticalMode> + BOOL RulerMarginDrag( const MouseEvent& rMEvt, + const bool bVerticalMode ); + // <-- + + /** #i42732# display status of font size/name depending on either the input + language or the selection position depending on what has changed lately + */ + void SetUseInputLanguage( sal_Bool bNew ); + sal_Bool IsUseInputLanguage() const { return bUseInputLanguage; } + + SwEditWin(Window *pParent, SwView &); + virtual ~SwEditWin(); +}; + +#endif + diff --git a/sw/source/ui/inc/envimg.hxx b/sw/source/ui/inc/envimg.hxx new file mode 100644 index 000000000000..a7cb66199100 --- /dev/null +++ b/sw/source/ui/inc/envimg.hxx @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _ENVIMG_HXX +#define _ENVIMG_HXX + +#include <svl/poolitem.hxx> +#include <unotools/configitem.hxx> +#include "swdllapi.h" + +// MakeSender ----------------------------------------------------------------- + +SW_DLLPUBLIC String MakeSender(); + +// enum ----------------------------------------------------------------------- + +enum SwEnvAlign +{ + ENV_HOR_LEFT = 0, + ENV_HOR_CNTR, + ENV_HOR_RGHT, + ENV_VER_LEFT, + ENV_VER_CNTR, + ENV_VER_RGHT +}; + +// class SwEnvItem ------------------------------------------------------------ + +class SW_DLLPUBLIC SwEnvItem : public SfxPoolItem +{ +public: + + rtl::OUString aAddrText; // Text fuer Empfaenger + sal_Bool bSend; // Absender? + rtl::OUString aSendText; // Text fuer Absender + sal_Int32 lAddrFromLeft; // Linker Abstand fuer Empfaenger (twips) + sal_Int32 lAddrFromTop; // Oberer Abstand fuer Empfaenger (twips) + sal_Int32 lSendFromLeft; // Linker Abstand fuer Absender (twips) + sal_Int32 lSendFromTop; // Oberer Abstand fuer Absender (twips) + sal_Int32 lWidth; // Breite des Umschlags (twips) + sal_Int32 lHeight; // Hoehe des Umschlags (twips) + SwEnvAlign eAlign; // Ausrichtung beim Einzug + sal_Bool bPrintFromAbove; // Von oben drucken? + sal_Int32 lShiftRight; // Verschiebung nach rechts (twips) + sal_Int32 lShiftDown; // Verschiebung nach unten (twips) + + SwEnvItem(); + SwEnvItem(const SwEnvItem& rItem); + + TYPEINFO(); + + SwEnvItem& operator =(const SwEnvItem& rItem); + + virtual int operator ==(const SfxPoolItem& rItem) const; + + virtual SfxPoolItem* Clone(SfxItemPool* = 0) const; + virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); +}; + +// class SwEnvCfgItem ------------------------------------------------------- +class SwEnvCfgItem : public utl::ConfigItem +{ + SwEnvItem aEnvItem; + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); +public: + SwEnvCfgItem(); + ~SwEnvCfgItem(); + + SwEnvItem& GetItem() {return aEnvItem;} + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); +}; +#endif + diff --git a/sw/source/ui/inc/envlop.hxx b/sw/source/ui/inc/envlop.hxx new file mode 100644 index 000000000000..b7ae315a9beb --- /dev/null +++ b/sw/source/ui/inc/envlop.hxx @@ -0,0 +1,149 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _ENVLOP_HXX +#define _ENVLOP_HXX + +#ifndef _SV_MEDIT_HXX +#include <svtools/svmedit.hxx> +#endif +#include <sfx2/tabdlg.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _IMAGEBTN_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#include "envimg.hxx" + +#define GetFldVal(rField) (rField).Denormalize((rField).GetValue(FUNIT_TWIP)) +#define SetFldVal(rField, lValue) (rField).SetValue((rField).Normalize(lValue), FUNIT_TWIP) + +class SwEnvPage; +class SwEnvFmtPage; +class SwWrtShell; +class Printer; + +// class SwEnvPreview --------------------------------------------------------- + +class SwEnvPreview : public Window +{ + void Paint(const Rectangle&); + +public: + + SwEnvPreview(SfxTabPage* pParent, const ResId& rResID); + ~SwEnvPreview(); + +protected: + virtual void DataChanged( const DataChangedEvent& rDCEvt ); +}; + +// class SwEnvDlg ----------------------------------------------------------- + +class SwEnvDlg : public SfxTabDialog +{ +friend class SwEnvPage; +friend class SwEnvFmtPage; +friend class SwEnvPrtPage; +friend class SwEnvPreview; + + String sInsert; + String sChange; + SwEnvItem aEnvItem; + SwWrtShell *pSh; + Printer *pPrinter; + SfxItemSet *pAddresseeSet; + SfxItemSet *pSenderSet; + + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); + virtual short Ok(); + +public: + SwEnvDlg(Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, BOOL bInsert); + ~SwEnvDlg(); +}; + +// class SwEnvPage ---------------------------------------------------------- + +class SwEnvPage : public SfxTabPage +{ + FixedText aAddrText; + MultiLineEdit aAddrEdit; + FixedText aDatabaseFT; + ListBox aDatabaseLB; + FixedText aTableFT; + ListBox aTableLB; + ImageButton aInsertBT; + FixedText aDBFieldFT; + ListBox aDBFieldLB; + CheckBox aSenderBox; + MultiLineEdit aSenderEdit; + SwEnvPreview aPreview; + + SwWrtShell* pSh; + String sActDBName; + + SwEnvPage(Window* pParent, const SfxItemSet& rSet); + ~SwEnvPage(); + + DECL_LINK( DatabaseHdl, ListBox * ); + DECL_LINK( FieldHdl, Button * ); + DECL_LINK( SenderHdl, Button * ); + + void InitDatabaseBox(); + + using Window::GetParent; + SwEnvDlg* GetParent() {return (SwEnvDlg*) SfxTabPage::GetParent()->GetParent();} + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + + static SfxTabPage* Create(Window* pParent, const SfxItemSet& rSet); + + virtual void ActivatePage(const SfxItemSet& rSet); + virtual int DeactivatePage(SfxItemSet* pSet = 0); + void FillItem(SwEnvItem& rItem); + virtual BOOL FillItemSet(SfxItemSet& rSet); + virtual void Reset(const SfxItemSet& rSet); +}; + +#endif + + diff --git a/sw/source/ui/inc/fldedt.hxx b/sw/source/ui/inc/fldedt.hxx new file mode 100644 index 000000000000..cb27672de865 --- /dev/null +++ b/sw/source/ui/inc/fldedt.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _FLDEDT_HXX +#define _FLDEDT_HXX +#include <sfx2/basedlgs.hxx> +#include <vcl/imagebtn.hxx> + +class SwView; +class SwWrtShell; + +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class SwFldEditDlg : public SfxSingleTabDialog +{ + SwWrtShell* pSh; + ImageButton aPrevBT; + ImageButton aNextBT; + PushButton aAddressBT; + + DECL_LINK( AddressHdl, PushButton *pBt = 0 ); + DECL_LINK( NextPrevHdl, Button *pBt = 0 ); + + void Init(); + SfxTabPage* CreatePage(USHORT nGroup); + +public: + + SwFldEditDlg(SwView& rVw); + ~SwFldEditDlg(); + + DECL_LINK( OKHdl, Button * ); + + virtual short Execute(); + + void EnableInsert(BOOL bEnable); + void InsertHdl(); +}; + + +#endif diff --git a/sw/source/ui/inc/fldmgr.hxx b/sw/source/ui/inc/fldmgr.hxx new file mode 100644 index 000000000000..33070131ae58 --- /dev/null +++ b/sw/source/ui/inc/fldmgr.hxx @@ -0,0 +1,234 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _FLDMGR_HXX +#define _FLDMGR_HXX +#ifndef _SVSTDARR_HXX +#define _SVSTDARR_STRINGSDTOR +#include <svl/svstdarr.hxx> +#endif +#include <tools/string.hxx> +#include "swdllapi.h" +#include "swtypes.hxx" +#include <com/sun/star/uno/Reference.h> +#include <com/sun/star/uno/Any.h> + +namespace com{namespace sun{namespace star{ + namespace container{ + class XNameAccess; + } + namespace text{ + class XNumberingTypeInfo; + } +}}} + +class SwWrtShell; +class SwField; +class SwFieldType; +class SbModule; +class SvxMacroItem; +class SvNumberFormatter; +class Window; +/*-------------------------------------------------------------------- + Beschreibung: Die Gruppen von Feldern + --------------------------------------------------------------------*/ + +enum SwFldGroups +{ + GRP_DOC, + GRP_FKT, + GRP_REF, + GRP_REG, + GRP_DB, + GRP_VAR +}; + +struct SwFldGroupRgn +{ + USHORT nStart; + USHORT nEnd; +}; + +/*-------------------------------------------------------------------- + Beschreibung: Der FeldManager handelt das Einfuegen von Felder + ueber Command-Strings + --------------------------------------------------------------------*/ +struct SwInsertFld_Data +{ + USHORT nTypeId; + USHORT nSubType; + const String sPar1; + const String sPar2; + ULONG nFormatId; + SwWrtShell* pSh; + sal_Unicode cSeparator; + BOOL bIsAutomaticLanguage; + ::com::sun::star::uno::Any aDBDataSource; + ::com::sun::star::uno::Any aDBConnection; + ::com::sun::star::uno::Any aDBColumn; + Window* pParent; // parent dialog used for SwWrtShell::StartInputFldDlg() + + SwInsertFld_Data(USHORT nType, USHORT nSub, const String& rPar1, const String& rPar2, + ULONG nFmtId, SwWrtShell* pShell = NULL, sal_Unicode cSep = ' ', BOOL bIsAutoLanguage = TRUE) : + nTypeId(nType), + nSubType(nSub), + sPar1(rPar1), + sPar2(rPar2), + nFormatId(nFmtId), + pSh(pShell), + cSeparator(cSep), + bIsAutomaticLanguage(bIsAutoLanguage), + pParent(0) {} + + SwInsertFld_Data() : + pSh(0), + cSeparator(' '), + bIsAutomaticLanguage(TRUE){} + +}; + +class SW_DLLPUBLIC SwFldMgr +{ +private: + SwField* pCurFld; + SbModule* pModule; + const SvxMacroItem* pMacroItem; + SwWrtShell* pWrtShell; // darf auch NULL sein! + String aCurPar1; + String aCurPar2; + String sCurFrame; + + String sMacroPath; + String sMacroName; + + ULONG nCurFmt; + BOOL bEvalExp; + + SW_DLLPRIVATE USHORT GetCurrLanguage() const; + + com::sun::star::uno::Reference<com::sun::star::container::XNameAccess> xDBContext; + com::sun::star::uno::Reference<com::sun::star::text::XNumberingTypeInfo> xNumberingInfo; + SW_DLLPRIVATE com::sun::star::uno::Reference<com::sun::star::text::XNumberingTypeInfo> GetNumberingInfo()const; + +public: + SwFldMgr(SwWrtShell* pSh = 0); + ~SwFldMgr(); + + void SetWrtShell( SwWrtShell* pShell ) + { pWrtShell = pShell; } + + // Feld einfuegen ueber TypeId (TYP_ ...) + BOOL InsertFld( const SwInsertFld_Data& rData ); + + // Direkt das aktuelle Feld aendern + void UpdateCurFld(ULONG nFormat, + const String& rPar1, + const String& rPar2, + SwField * _pField = 0); // #111840# + + inline const String& GetCurFldPar1() const; + inline const String& GetCurFldPar2() const; + inline ULONG GetCurFldFmt() const; + + // Ein Feld ermitteln + SwField* GetCurFld(); + + void InsertFldType(SwFieldType& rType); + + BOOL ChooseMacro(const String &rSelMacro = aEmptyStr); + void SetMacroPath(const String& rPath); + inline const String& GetMacroPath() const { return (sMacroPath); } + inline const String& GetMacroName() const { return (sMacroName); } + inline void SetMacroModule(SbModule* pMod) { pModule = pMod; } + + // Vorheriger Naechster gleichen Typ + BOOL GoNextPrev( BOOL bNext = TRUE, SwFieldType* pTyp = 0 ); + BOOL GoNext( SwFieldType* pTyp = 0 ) { return GoNextPrev( TRUE, pTyp ); } + BOOL GoPrev( SwFieldType* pTyp = 0 ) { return GoNextPrev( FALSE, pTyp ); } + + // Erfragen von Werten aus Datenbankfeldern (BASIC ) +// String GetDataBaseFieldValue(const String &rDBName, const String &rFieldName, SwWrtShell* pSh); + BOOL IsDBNumeric(const String& rDBName, const String& rTblQryName, + BOOL bIsTable, const String& rFldName); + + // RefMark mit Namen organisieren + BOOL CanInsertRefMark( const String& rStr ); + + + // Zugriff ueber ResId auf Feldtypen + USHORT GetFldTypeCount(USHORT nResId = USHRT_MAX) const; + SwFieldType* GetFldType(USHORT nResId, USHORT nId = 0) const; + SwFieldType* GetFldType(USHORT nResId, const String& rName) const; + + void RemoveFldType(USHORT nResId, const String& rName); + + // Zugriff ueber TypeId aus dem Dialog + // Ids fuer einen Bereich von Feldern + const SwFldGroupRgn& GetGroupRange(BOOL bHtmlMode, USHORT nGrpId) const; + USHORT GetGroup(BOOL bHtmlMode, USHORT nTypeId, USHORT nSubType = 0) const; + + // TypeId des aktuellen Feldes + USHORT GetCurTypeId() const; + + // TypeId fuer einen konkrete Pos in der Liste + static USHORT GetTypeId(USHORT nPos); + // Name des Typen in der Liste der Felder + static const String& GetTypeStr(USHORT nPos); + + // Pos in der Liste der Felder + static USHORT GetPos(USHORT nTypeId); + + // Untertypen zu einem Typ + BOOL GetSubTypes(USHORT nId, SvStringsDtor& rToFill); + + // Formate zu einem Typ + USHORT GetFormatCount(USHORT nTypeId, BOOL bIsText, BOOL bHtmlMode = FALSE) const; + String GetFormatStr(USHORT nTypeId, ULONG nFormatId) const; + USHORT GetFormatId(USHORT nTypeId, ULONG nFormatId) const; + ULONG GetDefaultFormat(USHORT nTypeId, BOOL bIsText, SvNumberFormatter* pFormatter, double* pVal = 0L); + + // Evaluierung der ExpressionFelder ausschalten fuer das Einfuegen + // vieler Expressionfelder (siehe Etiketten) + // + inline void SetEvalExpFlds(BOOL bEval); + void EvalExpFlds(SwWrtShell* pSh = NULL); +}; + +inline void SwFldMgr::SetEvalExpFlds(BOOL bEval) + { bEvalExp = bEval; } + +inline const String& SwFldMgr::GetCurFldPar1() const + { return aCurPar1; } + +inline const String& SwFldMgr::GetCurFldPar2() const + { return aCurPar2; } + +inline ULONG SwFldMgr::GetCurFldFmt() const + { return nCurFmt; } + + +#endif + diff --git a/sw/source/ui/inc/fldtdlg.hxx b/sw/source/ui/inc/fldtdlg.hxx new file mode 100644 index 000000000000..cacc2e0a6183 --- /dev/null +++ b/sw/source/ui/inc/fldtdlg.hxx @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWFLDTDLG_HXX +#define _SWFLDTDLG_HXX +#include <sfx2/tabdlg.hxx> + +class SfxBindings; +class SfxTabPage; +class SwChildWinWrapper; +struct SfxChildWinInfo; + +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class SwFldDlg: public SfxTabDialog +{ + SwChildWinWrapper* m_pChildWin; + SfxBindings* m_pBindings; + BOOL m_bHtmlMode; + BOOL m_bDataBaseMode; + + virtual BOOL Close(); + virtual SfxItemSet* CreateInputItemSet( USHORT nId ); + virtual void Activate(); + virtual void PageCreated(USHORT nId, SfxTabPage& rPage); + + void ReInitTabPage( USHORT nPageId, + BOOL bOnlyActivate = FALSE ); + +public: + SwFldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, Window *pParent); + virtual ~SwFldDlg(); + + DECL_LINK( OKHdl, Button * ); + + void Initialize(SfxChildWinInfo *pInfo); + void ReInitDlg(); + void EnableInsert(BOOL bEnable); + void InsertHdl(); + void ActivateDatabasePage(); +}; + +#endif diff --git a/sw/source/ui/inc/fldwrap.hxx b/sw/source/ui/inc/fldwrap.hxx new file mode 100644 index 000000000000..12ed8743ccfd --- /dev/null +++ b/sw/source/ui/inc/fldwrap.hxx @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _FLDWRAP_HXX +#define _FLDWRAP_HXX + +#include "chldwrap.hxx" +class AbstractSwFldDlg; + +class SwFldDlgWrapper : public SwChildWinWrapper +{ +public: + AbstractSwFldDlg * pDlgInterface; + SwFldDlgWrapper( Window* pParent, USHORT nId, + SfxBindings* pBindings, SfxChildWinInfo* pInfo ); + + SFX_DECL_CHILDWINDOW(SwFldDlgWrapper); + + virtual BOOL ReInitDlg(SwDocShell *pDocSh); + void ShowPage(USHORT nPage = 0); +}; +/* -----------------04.02.2003 14:14----------------- + * field dialog only showing database page to support + * mail merge + * --------------------------------------------------*/ +class SwFldDataOnlyDlgWrapper : public SwChildWinWrapper +{ +public: + AbstractSwFldDlg * pDlgInterface; + SwFldDataOnlyDlgWrapper( Window* pParent, USHORT nId, + SfxBindings* pBindings, SfxChildWinInfo* pInfo ); + + SFX_DECL_CHILDWINDOW(SwFldDataOnlyDlgWrapper); + + virtual BOOL ReInitDlg(SwDocShell *pDocSh); +}; + + +#endif + diff --git a/sw/source/ui/inc/fontcfg.hxx b/sw/source/ui/inc/fontcfg.hxx new file mode 100644 index 000000000000..71cbdf3ad5d2 --- /dev/null +++ b/sw/source/ui/inc/fontcfg.hxx @@ -0,0 +1,120 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _FONTCFG_HXX +#define _FONTCFG_HXX + +#include <unotools/configitem.hxx> +#include <tools/string.hxx> +#include <i18npool/lang.h> +#include <tools/debug.hxx> +#include "swdllapi.h" + +#define FONT_STANDARD 0 +#define FONT_OUTLINE 1 +#define FONT_LIST 2 +#define FONT_CAPTION 3 +#define FONT_INDEX 4 +#define FONT_STANDARD_CJK 5 +#define FONT_OUTLINE_CJK 6 +#define FONT_LIST_CJK 7 +#define FONT_CAPTION_CJK 8 +#define FONT_INDEX_CJK 9 +#define FONT_STANDARD_CTL 10 +#define FONT_OUTLINE_CTL 11 +#define FONT_LIST_CTL 12 +#define FONT_CAPTION_CTL 13 +#define FONT_INDEX_CTL 14 +#define DEF_FONT_COUNT 15 + +#define FONT_PER_GROUP 5 + +#define FONT_GROUP_DEFAULT 0 +#define FONT_GROUP_CJK 1 +#define FONT_GROUP_CTL 2 + +//pt-size of fonts +#define FONTSIZE_DEFAULT 240 +#define FONTSIZE_OUTLINE 280 + + +class SW_DLLPUBLIC SwStdFontConfig : public utl::ConfigItem +{ + String sDefaultFonts[DEF_FONT_COUNT]; + sal_Int32 nDefaultFontHeight[DEF_FONT_COUNT]; + + SW_DLLPRIVATE com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); + + void ChangeString(USHORT nFontType, const String& rSet) + { + if(sDefaultFonts[nFontType] != rSet) + { + SetModified(); + sDefaultFonts[nFontType] = rSet; + } + } + + void ChangeInt( USHORT nFontType, sal_Int32 nHeight ); + +public: + SwStdFontConfig(); + ~SwStdFontConfig(); + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + + const String& GetFontStandard(sal_uInt8 nFontGroup) const {return sDefaultFonts[FONT_STANDARD + FONT_PER_GROUP * nFontGroup];} + const String& GetFontOutline(sal_uInt8 nFontGroup) const {return sDefaultFonts[FONT_OUTLINE + FONT_PER_GROUP * nFontGroup];} + const String& GetFontList (sal_uInt8 nFontGroup) const {return sDefaultFonts[FONT_LIST + FONT_PER_GROUP * nFontGroup];} + const String& GetFontCaption(sal_uInt8 nFontGroup) const {return sDefaultFonts[FONT_CAPTION + FONT_PER_GROUP * nFontGroup];} + const String& GetFontIndex (sal_uInt8 nFontGroup) const {return sDefaultFonts[FONT_INDEX + FONT_PER_GROUP * nFontGroup];} + + const String& GetFontFor(USHORT nFontType) const {return sDefaultFonts[nFontType];} + BOOL IsFontDefault(USHORT nFontType) const; + + void SetFontStandard(const String& rSet, sal_uInt8 nFontGroup) + {ChangeString(FONT_STANDARD + FONT_PER_GROUP * nFontGroup, rSet);} + + void SetFontOutline(const String& rSet, sal_uInt8 nFontGroup) + { ChangeString(FONT_OUTLINE + FONT_PER_GROUP * nFontGroup, rSet);} + void SetFontList (const String& rSet, sal_uInt8 nFontGroup) + { ChangeString(FONT_LIST + FONT_PER_GROUP * nFontGroup, rSet);} + void SetFontCaption(const String& rSet, sal_uInt8 nFontGroup) + { ChangeString(FONT_CAPTION + FONT_PER_GROUP * nFontGroup, rSet);} + void SetFontIndex (const String& rSet, sal_uInt8 nFontGroup) + { ChangeString(FONT_INDEX + FONT_PER_GROUP * nFontGroup, rSet);} + + void SetFontHeight( sal_Int32 nHeight, sal_uInt8 nFont, sal_uInt8 nScriptType ) + { ChangeInt(nFont + FONT_PER_GROUP * nScriptType, nHeight);} + + sal_Int32 GetFontHeight( sal_uInt8 nFont, sal_uInt8 nScriptType, LanguageType eLang ); + + static String GetDefaultFor(USHORT nFontType, LanguageType eLang); + static sal_Int32 GetDefaultHeightFor(USHORT nFontType, LanguageType eLang); +}; +#endif + + diff --git a/sw/source/ui/inc/formatclipboard.hxx b/sw/source/ui/inc/formatclipboard.hxx new file mode 100644 index 000000000000..ca35d7b5f8ab --- /dev/null +++ b/sw/source/ui/inc/formatclipboard.hxx @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SWFORMATCLIPBOARD_HXX +#define _SWFORMATCLIPBOARD_HXX + +// header for class SwWrtShell +#include <wrtsh.hxx> +// header for class SfxItemSet +#include <svl/itemset.hxx> +// header for class SfxStyleSheetBasePool +#include <svl/style.hxx> + +//----------------------------------------------------------------------------- +/** This class acts as data container and execution class for the format paintbrush feature in writer. +*/ + +class SwFormatClipboard +{ +public: + SwFormatClipboard(); + ~SwFormatClipboard(); + + bool HasContent() const; + bool HasContentForThisType( int nSelectionType ) const; + bool CanCopyThisType( int nSelectionType ) const; + + void Copy( SwWrtShell& rWrtShell, SfxItemPool& rPool, bool bPersistentCopy=false ); + void Paste( SwWrtShell& rWrtShell, SfxStyleSheetBasePool* pPool + , bool bNoCharacterFormats=false, bool bNoParagraphFormats=false ); + void Erase(); + +private: + int m_nSelectionType; + SfxItemSet* m_pItemSet; + SfxItemSet* m_pTableItemSet; + + String m_aCharStyle; + String m_aParaStyle; + //no frame style because it contains position information + + bool m_bPersistentCopy; +}; + +#endif diff --git a/sw/source/ui/inc/formedt.hxx b/sw/source/ui/inc/formedt.hxx new file mode 100644 index 000000000000..c039fe512599 --- /dev/null +++ b/sw/source/ui/inc/formedt.hxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _FORMEDT_HXX +#define _FORMEDT_HXX + +#include <svx/stddlg.hxx> + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#include "toxe.hxx" + +class SwWrtShell; +class SwForm; + +/*-------------------------------------------------------------------- + Beschreibung: Markierung fuer Verzeichniseintrag einfuegen + --------------------------------------------------------------------*/ + +class SwIdxFormDlg : public SvxStandardDialog +{ + DECL_LINK( EntryHdl, Button * ); + DECL_LINK( PageHdl, Button * ); + DECL_LINK( TabHdl, Button * ); + DECL_LINK( JumpHdl, Button * ); + DECL_LINK( StdHdl, Button * ); + DECL_LINK( SelectHdl, ListBox * ); + DECL_LINK( EnableSelectHdl, ListBox * ); + DECL_LINK( DoubleClickHdl, Button * ); + DECL_LINK( ModifyHdl, Edit * ); + DECL_LINK( AssignHdl, Button * ); + void UpdatePattern(); + void Apply(); + + ListBox aEntryLB; + OKButton aOKBtn; + CancelButton aCancelBT; + FixedText aLevelFT; + Edit aEntryED; + PushButton aEntryBT; + PushButton aTabBT; + PushButton aPageBT; + PushButton aJumpBT; + FixedLine aEntryFL; + FixedText aLevelFT2; + ListBox aLevelLB; + FixedText aTemplateFT; + ListBox aParaLayLB; + PushButton aStdBT; + PushButton aAssignBT; + FixedLine aFormatFL; + + SwWrtShell &rSh; + SwForm *pForm; + USHORT nAktLevel; + BOOL bLastLinkIsEnd; + +public: + SwIdxFormDlg( Window* pParent, SwWrtShell &rShell, const SwForm& rForm ); + ~SwIdxFormDlg(); + + static BOOL IsNoNum(SwWrtShell& rSh, const String& rName); + const SwForm& GetTOXForm(); +}; + +inline const SwForm& SwIdxFormDlg::GetTOXForm() +{ + return *pForm; +} + +#endif diff --git a/sw/source/ui/inc/frmdlg.hxx b/sw/source/ui/inc/frmdlg.hxx new file mode 100644 index 000000000000..5776cc9f3dd8 --- /dev/null +++ b/sw/source/ui/inc/frmdlg.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _FRMDLG_HXX +#define _FRMDLG_HXX + +#include "globals.hrc" +#include <sfx2/tabdlg.hxx> +class SwWrtShell; + +/*-------------------------------------------------------------------- + Beschreibung: Rahmendialog + --------------------------------------------------------------------*/ + +class SwFrmDlg : public SfxTabDialog +{ + BOOL m_bFormat; + BOOL m_bNew; + BOOL m_bHTMLMode; + const SfxItemSet& m_rSet; + USHORT m_nDlgType; + SwWrtShell* m_pWrtShell; + + + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); + +public: + SwFrmDlg( SfxViewFrame *pFrame, Window *pParent, + const SfxItemSet& rCoreSet, + BOOL bNewFrm = TRUE, + USHORT nResType = DLG_FRM_STD, + BOOL bFmt = FALSE, + UINT16 nDefPage = 0, + const String* pFmtStr = 0); + + ~SwFrmDlg(); + + inline SwWrtShell* GetWrtShell() { return m_pWrtShell; } +}; + + +#endif // _FRMDLG_HXX diff --git a/sw/source/ui/inc/frmmgr.hxx b/sw/source/ui/inc/frmmgr.hxx new file mode 100644 index 000000000000..9664c484b0f3 --- /dev/null +++ b/sw/source/ui/inc/frmmgr.hxx @@ -0,0 +1,193 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _FRMMGR_HXX +#define _FRMMGR_HXX + +#include "swtypes.hxx" +#include "frmatr.hxx" +#include <editeng/svxenum.hxx> +#include <tools/gen.hxx> +#include <fmtfsize.hxx> +#include <fmtsrnd.hxx> +#include <fmtornt.hxx> +#include <fmtanchr.hxx> +#include "swdllapi.h" + +class SwWrtShell; +struct SvxSwFrameValidation; +struct SwPosition; + +class SwFmt; +class SwFmtCol; + +const SwTwips DFLT_WIDTH = MM50 * 4; +const SwTwips DFLT_HEIGHT = MM50; + +#define FULL_ATTRSET 0xffff + +#define FRMMGR_TYPE_NONE 0x00 +#define FRMMGR_TYPE_TEXT 0x01 +#define FRMMGR_TYPE_GRF 0x02 +#define FRMMGR_TYPE_OLE 0x04 +#define FRMMGR_TYPE_LABEL 0x08 +#define FRMMGR_TYPE_ENVELP 0x10 + +class SW_DLLPUBLIC SwFlyFrmAttrMgr +{ + SfxItemSet aSet; + Point aAbsPos; + SwWrtShell *pOwnSh; + + BOOL bAbsPos, + bNewFrm; + BOOL bIsInVertical; + + // interne Verrechnung fuer Umrandung + SW_DLLPRIVATE SwTwips CalcTopSpace(); + SW_DLLPRIVATE SwTwips CalcBottomSpace(); + SW_DLLPRIVATE SwTwips CalcLeftSpace(); + SW_DLLPRIVATE SwTwips CalcRightSpace(); + + SW_DLLPRIVATE void _UpdateFlyFrm(); //Nacharbeit nach Einfuegen oder Update + +public: + SwFlyFrmAttrMgr( BOOL bNew, SwWrtShell* pSh, BYTE nType ); + + //CopyCtor fuer die Dialoge, zum Pruefen der Metrics + SwFlyFrmAttrMgr( BOOL bNew, SwWrtShell *pSh, const SfxItemSet &rSet ); + + inline SwWrtShell* GetShell() { return pOwnSh; } + + void SetAnchor(RndStdIds eId); + inline RndStdIds GetAnchor() const; + + void SetHorzOrientation(sal_Int16 eOrient); + void SetVertOrientation(sal_Int16 eOrient); + + // Absolute Position + void SetAbsPos(const Point& rLPoint); + + // Relative Position vom Anker + void SetPos(const Point& rLPoint); + inline Point GetPos() const; + + // Groesse + void SetSize(const Size& rLSize); + inline const Size& GetSize() const; + + inline USHORT GetHeightPercent() const; + + void SetHeightSizeType(SwFrmSize eType); + + // Abstand zum Inhalt + void SetLRSpace( long nLeft = LONG_MAX, + long nRight = LONG_MAX ); + void SetULSpace( long nTop = LONG_MAX, + long nBottom= LONG_MAX ); + + void SetCol( const SwFmtCol &rCol); + + // Attribute aendern und erfragen + void UpdateAttrMgr(); + void UpdateFlyFrm(); + + // neuen Rahmen erzeugen + BOOL InsertFlyFrm(); + void InsertFlyFrm(RndStdIds eAnchorType, + const Point &rPos, + const Size &rSize, + BOOL bAbsPos = FALSE); + + // Metriken pruefen und aendern + void ValidateMetrics(SvxSwFrameValidation& rVal, + const SwPosition* pToCharCntntPos, + BOOL bOnlyPercentRefValue = FALSE); + + void DelAttr(USHORT nId); + + // Set rausreichen + inline const SfxItemSet &GetAttrSet() const { return aSet; } + inline SfxItemSet &GetAttrSet() { return aSet; } + void SetAttrSet(const SfxItemSet& rSet); + + inline const SwFmtVertOrient &GetVertOrient() const; + inline const SwFmtHoriOrient &GetHoriOrient() const; + inline const SvxShadowItem &GetShadow() const; + inline const SvxBoxItem &GetBox() const; + inline const SwFmtSurround &GetSurround() const; + inline const SwFmtFrmSize &GetFrmSize() const; + + long CalcWidthBorder() { return CalcLeftSpace()+CalcRightSpace(); } + long CalcHeightBorder() { return CalcTopSpace()+CalcBottomSpace(); } +}; + +inline const Size& SwFlyFrmAttrMgr::GetSize() const +{ + return ((SwFmtFrmSize&)aSet.Get(RES_FRM_SIZE)).GetSize(); +} + +inline const SwFmtVertOrient &SwFlyFrmAttrMgr::GetVertOrient() const +{ + return ((SwFmtVertOrient&)aSet.Get(RES_VERT_ORIENT)); +} +inline const SwFmtHoriOrient &SwFlyFrmAttrMgr::GetHoriOrient() const +{ + return ((SwFmtHoriOrient &)aSet.Get(RES_HORI_ORIENT)); +} +inline const SwFmtFrmSize& SwFlyFrmAttrMgr::GetFrmSize() const +{ + return ((SwFmtFrmSize&)aSet.Get(RES_FRM_SIZE)); +} +inline const SvxShadowItem &SwFlyFrmAttrMgr::GetShadow() const +{ + return ((SvxShadowItem&)aSet.Get(RES_SHADOW)); +} +inline const SvxBoxItem &SwFlyFrmAttrMgr::GetBox() const +{ + return ((SvxBoxItem&)aSet.Get(RES_BOX)); +} +inline const SwFmtSurround &SwFlyFrmAttrMgr::GetSurround() const +{ + return ((SwFmtSurround&)aSet.Get(RES_SURROUND)); +} + +inline Point SwFlyFrmAttrMgr::GetPos() const +{ + return Point( GetHoriOrient().GetPos(), GetVertOrient().GetPos() ); +} + +inline RndStdIds SwFlyFrmAttrMgr::GetAnchor() const +{ + return ((SwFmtAnchor&)aSet.Get(RES_ANCHOR)).GetAnchorId(); +} + +inline USHORT SwFlyFrmAttrMgr::GetHeightPercent() const +{ + return GetFrmSize().GetHeightPercent(); +} + +#endif diff --git a/sw/source/ui/inc/frmpage.hxx b/sw/source/ui/inc/frmpage.hxx new file mode 100644 index 000000000000..219f6c37a308 --- /dev/null +++ b/sw/source/ui/inc/frmpage.hxx @@ -0,0 +1,344 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _FRMPAGE_HXX +#define _FRMPAGE_HXX + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#include <sfx2/tabdlg.hxx> +#include <svx/swframeposstrings.hxx> +#include <swtypes.hxx> +#include <bmpwin.hxx> +#include <svx/swframeexample.hxx> +#include <prcntfld.hxx> +#ifndef _GLOBALS_HRC +#include <globals.hrc> +#endif + + +namespace sfx2{class FileDialogHelper;} +class SwWrtShell; +struct FrmMap; +// OD 12.11.2003 #i22341# +struct SwPosition; + +/*-------------------------------------------------------------------- + Beschreibung: Rahmendialog + --------------------------------------------------------------------*/ + +class SwFrmPage: public SfxTabPage +{ + // Size + FixedText aWidthFT; + FixedText aWidthAutoFT; + PercentField aWidthED; + CheckBox aRelWidthCB; + CheckBox aAutoWidthCB; + FixedText aHeightFT; + FixedText aHeightAutoFT; + PercentField aHeightED; + CheckBox aRelHeightCB; + CheckBox aAutoHeightCB; + CheckBox aFixedRatioCB; + PushButton aRealSizeBT; + FixedLine aSizeFL; + + // Anker + FixedLine aTypeFL; + FixedLine aTypeSepFL; + RadioButton aAnchorAtPageRB; + RadioButton aAnchorAtParaRB; + RadioButton aAnchorAtCharRB; + RadioButton aAnchorAsCharRB; + RadioButton aAnchorAtFrameRB; + + // Position + FixedText aHorizontalFT; + ListBox aHorizontalDLB; + FixedText aAtHorzPosFT; + MetricField aAtHorzPosED; + FixedText aHoriRelationFT; + ListBox aHoriRelationLB; + CheckBox aMirrorPagesCB; + FixedText aVerticalFT; + ListBox aVerticalDLB; + FixedText aAtVertPosFT; + MetricField aAtVertPosED; + FixedText aVertRelationFT; + ListBox aVertRelationLB; + // OD 02.10.2003 #i18732# - check box for new option 'FollowTextFlow' + CheckBox aFollowTextFlowCB; + FixedLine aPositionFL; + + // Example + SvxSwFrameExample aExampleWN; + + //'string provider' + SvxSwFramePosString aFramePosString; + + BOOL bAtHorzPosModified; + BOOL bAtVertPosModified; + + BOOL bFormat; + BOOL bNew; + BOOL bNoModifyHdl; + BOOL bVerticalChanged; //check done whether frame is in vertical environment + BOOL bIsVerticalFrame; //current frame is in vertical environment - strings are exchanged + BOOL bIsInRightToLeft; // current frame is in right-to-left environment - strings are exchanged + BOOL bHtmlMode; + USHORT nHtmlMode; + USHORT nDlgType; + Size aGrfSize; + Size aWrap; + SwTwips nUpperBorder; + SwTwips nLowerBorder; + double fWidthHeightRatio; //width-to-height ratio to support the KeepRatio button + + // OD 12.11.2003 #i22341# - keep content position of character for + // to character anchored objects. + const SwPosition* mpToCharCntntPos; + + // Die alten Ausrichtungen + short nOldH; + short nOldHRel; + short nOldV; + short nOldVRel; + + FrmMap* pVMap; + FrmMap* pHMap; + + virtual void ActivatePage(const SfxItemSet& rSet); + virtual int DeactivatePage(SfxItemSet *pSet); + + + DECL_LINK( RangeModifyHdl, Edit * ); + DECL_LINK( AnchorTypeHdl, RadioButton * ); + DECL_LINK( PosHdl, ListBox * ); + DECL_LINK( RelHdl, ListBox * ); + void InitPos(RndStdIds eId, USHORT nH, USHORT nHRel, + USHORT nV, USHORT nVRel, + long nX, long nY); + + DECL_LINK( RealSizeHdl, Button * ); + DECL_LINK( RelSizeClickHdl, CheckBox * ); + DECL_LINK( MirrorHdl, CheckBox * ); + + DECL_LINK( AutoWidthClickHdl, void* ); + DECL_LINK( AutoHeightClickHdl, void* ); + + // Beispiel aktualisieren + void UpdateExample(); + DECL_LINK( ModifyHdl, Edit * ); + + void Init(const SfxItemSet& rSet, BOOL bReset = FALSE); + // OD 12.11.2003 #i22341# - adjustment to handle maps, that are ambigous + // in the alignment. + USHORT FillPosLB( const FrmMap* _pMap, + const USHORT _nAlign, + const USHORT _nRel, + ListBox& _rLB ); + // OD 14.11.2003 #i22341# - adjustment to handle maps, that are ambigous + // in their string entries. + ULONG FillRelLB( const FrmMap* _pMap, + const USHORT _nLBSelPos, + const USHORT _nAlign, + USHORT _nRel, + ListBox& _rLB, + FixedText& _rFT ); + USHORT GetMapPos( const FrmMap *pMap, ListBox &rAlignLB ); + short GetAlignment(FrmMap *pMap, USHORT nMapPos, ListBox &rAlignLB, ListBox &rRelationLB); + short GetRelation(FrmMap *pMap, ListBox &rRelationLB); + RndStdIds GetAnchor(); + + void EnableGraficMode( void ); // hides auto check boxes and re-org controls for "Real Size" button + + SwFrmPage(Window *pParent, const SfxItemSet &rSet); + ~SwFrmPage(); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + static USHORT* GetRanges(); + + virtual BOOL FillItemSet(SfxItemSet &rSet); + virtual void Reset(const SfxItemSet &rSet); + + void SetNewFrame(BOOL bNewFrame) { bNew = bNewFrame; } + void SetFormatUsed(BOOL bFmt); + void SetFrmType(USHORT nType) { nDlgType = nType; } + inline BOOL IsInGraficMode( void ) { return nDlgType == DLG_FRM_GRF || nDlgType == DLG_FRM_OLE; } +}; + +class SwGrfExtPage: public SfxTabPage +{ + // Spiegeln + FixedLine aMirrorFL; + CheckBox aMirrorVertBox; + CheckBox aMirrorHorzBox; + RadioButton aAllPagesRB; + RadioButton aLeftPagesRB; + RadioButton aRightPagesRB; + BmpWindow aBmpWin; + + FixedLine aConnectFL; + FixedText aConnectFT; + Edit aConnectED; + PushButton aBrowseBT; + + String aFilterName; + String aGrfName, aNewGrfName; + + ::sfx2::FileDialogHelper* pGrfDlg; + + BOOL bHtmlMode; + + // Handler fuer Spiegeln + DECL_LINK( MirrorHdl, CheckBox * ); + DECL_LINK( BrowseHdl, Button * ); + + virtual void ActivatePage(const SfxItemSet& rSet); + SwGrfExtPage(Window *pParent, const SfxItemSet &rSet); + ~SwGrfExtPage(); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + + virtual BOOL FillItemSet(SfxItemSet &rSet); + virtual void Reset(const SfxItemSet &rSet); + virtual int DeactivatePage(SfxItemSet *pSet); +}; + + +class SwFrmURLPage : public SfxTabPage +{ + //Hyperlink + FixedLine aHyperLinkFL; + FixedText aURLFT; + Edit aURLED; + PushButton aSearchPB; + FixedText aNameFT; + Edit aNameED; + FixedText aFrameFT; + ComboBox aFrameCB; + + //Image map + FixedLine aImageFL; + CheckBox aServerCB; + CheckBox aClientCB; + + DECL_LINK( InsertFileHdl, PushButton * ); + + + SwFrmURLPage(Window *pParent, const SfxItemSet &rSet); + ~SwFrmURLPage(); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + + virtual BOOL FillItemSet(SfxItemSet &rSet); + virtual void Reset(const SfxItemSet &rSet); +}; + +/*-----------------13.11.96 12.59------------------- + +--------------------------------------------------*/ + +class SwFrmAddPage : public SfxTabPage +{ + FixedText aNameFT; + Edit aNameED; + FixedText aAltNameFT; + Edit aAltNameED; + FixedText aPrevFT; + ListBox aPrevLB; + FixedText aNextFT; + ListBox aNextLB; + FixedLine aNamesFL; + + CheckBox aProtectContentCB; + CheckBox aProtectFrameCB; + CheckBox aProtectSizeCB; + FixedLine aProtectFL; + + CheckBox aEditInReadonlyCB; + CheckBox aPrintFrameCB; + FixedText aTextFlowFT; + ListBox aTextFlowLB; + + FixedLine aExtFL; + + SwWrtShell* pWrtSh; + + USHORT nDlgType; + BOOL bHtmlMode; + BOOL bFormat; + BOOL bNew; + + DECL_LINK(EditModifyHdl, Edit*); + DECL_LINK(ChainModifyHdl, ListBox*); + + SwFrmAddPage(Window *pParent, const SfxItemSet &rSet); + ~SwFrmAddPage(); + +public: + + static SfxTabPage* Create(Window *pParent, const SfxItemSet &rSet); + static USHORT* GetRanges(); + + virtual BOOL FillItemSet(SfxItemSet &rSet); + virtual void Reset(const SfxItemSet &rSet); + + void SetFormatUsed(BOOL bFmt); + void SetFrmType(USHORT nType) { nDlgType = nType; } + void SetNewFrame(BOOL bNewFrame) { bNew = bNewFrame; } + void SetShell(SwWrtShell* pSh) { pWrtSh = pSh; } + +}; + +#endif // _FRMPAGE_HXX diff --git a/sw/source/ui/inc/frmsh.hxx b/sw/source/ui/inc/frmsh.hxx new file mode 100644 index 000000000000..d4f4c546acf1 --- /dev/null +++ b/sw/source/ui/inc/frmsh.hxx @@ -0,0 +1,50 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWFRMSH_HXX +#define _SWFRMSH_HXX + +#include "basesh.hxx" + +class SwFrameShell: public SwBaseShell +{ + +public: + SFX_DECL_INTERFACE(SW_FRAMESHELL) + + SwFrameShell(SwView &rView); + virtual ~SwFrameShell(); + + void Execute(SfxRequest &); + void GetState(SfxItemSet &); + void ExecFrameStyle(SfxRequest& rReq); + void GetLineStyleState(SfxItemSet &rSet); + void StateInsert(SfxItemSet &rSet); + + void StateStatusline(SfxItemSet &rSet); +}; + +#endif diff --git a/sw/source/ui/inc/frmui.hrc b/sw/source/ui/inc/frmui.hrc new file mode 100644 index 000000000000..4c71fff51b40 --- /dev/null +++ b/sw/source/ui/inc/frmui.hrc @@ -0,0 +1,144 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _FRMUI_HRC +#define _FRMUI_HRC + +#include "rcid.hrc" +#include "globals.hrc" + +#define DLG_FRMOPT (RC_FRMDLG_BEGIN + 1) +#define DLG_PATTERN (RC_FRMDLG_BEGIN + 2) +#define DLG_BORDER (RC_FRMDLG_BEGIN + 3) +#define DLG_COLUMN (RC_FRMDLG_BEGIN + 4) +#define DLG_FOOTNOTE (RC_FRMDLG_BEGIN + 5) +#define DLG_INSERT_FOOTNOTE (RC_FRMDLG_BEGIN + 6) + +#define DLG_VIEW_HEADER (RC_FRMDLG_BEGIN + 8) +#define DLG_FORMAT_COLUMN (RC_FRMDLG_BEGIN + 10) +#define DLG_CAPTION (RC_FRMDLG_BEGIN + 11) +#define DLG_SEQUENCE_OPTION (RC_FRMDLG_BEGIN + 12) + +#define TP_FOOTNOTEOPTION (RC_FRMDLG_BEGIN + 12) +#define TP_ENDNOTEOPTION (RC_FRMDLG_BEGIN + 13) + +#define STR_PATTERN_BRD (RC_FRMDLG_BEGIN + 13) +#define STR_SHPATTERN (RC_FRMDLG_BEGIN + 14) +#define STR_LNPATTERN (RC_FRMDLG_BEGIN + 15) +#define STR_FRMUI_BORDER (RC_FRMDLG_BEGIN + 16) +#define STR_FRMUI_PATTERN (RC_FRMDLG_BEGIN + 17) +#define STR_FRMUI_WRAP (RC_FRMDLG_BEGIN + 18) + +#define BMP_PORTRAIT (RC_FRMDLG_BEGIN + 16) +#define BMP_LANDSCAPE (RC_FRMDLG_BEGIN + 17) +#define BMP_BEGIN (RC_FRMDLG_BEGIN + 18) +#define BMP_WRAP (BMP_BEGIN) +#define BMP_LEFT (BMP_BEGIN+1) +#define BMP_RIGHT (BMP_BEGIN+2) +#define BMP_OPAQUE (BMP_BEGIN+3) +#define BMP_OPAQUET (BMP_BEGIN+4) +#define BMP_NOWRAP (BMP_BEGIN+5) + +#define BMP_END (BMP_NOWRAP) + +#define MN_OPTION (BMP_END + 1) +#define MN_COLUMN (BMP_END + 2) +#define MN_PAPERSZ (BMP_END + 3) +#define MN_BACKGROUND (BMP_END + 4) + +#define STR_BACKGROUND (BMP_END + 6) +#define MN_FOOTNOTE (BMP_END + 7) + +#define STR_FRMDLG_BEGIN (MN_FOOTNOTE + 1) + +#define STR_TOPPRT (STR_FRMDLG_BEGIN + 1) +//#define STR_FROMBOTTOM (STR_FRMDLG_BEGIN + 2) +//#define STR_FROMTOP (STR_FRMDLG_BEGIN + 3) +//#define STR_BELOW (STR_FRMDLG_BEGIN + 4) +/* +#define STR_LEFT (STR_FRMDLG_BEGIN + 5) +#define STR_RIGHT (STR_FRMDLG_BEGIN + 6) +#define STR_FROMLEFT (STR_FRMDLG_BEGIN + 7) +#define STR_MIR_LEFT (STR_FRMDLG_BEGIN + 8) +#define STR_MIR_RIGHT (STR_FRMDLG_BEGIN + 9) +#define STR_MIR_FROMLEFT (STR_FRMDLG_BEGIN + 10) +*/ + +#define STR_BORDER (STR_FRMDLG_BEGIN + 16) +#define STR_COLUMN (STR_FRMDLG_BEGIN + 17) +#define STR_PARA (STR_FRMDLG_BEGIN + 18) +#define STR_CHAR (STR_FRMDLG_BEGIN + 19) + +/* +#define STR_FRAME (STR_FRMDLG_BEGIN + 20) +#define STR_PRTAREA (STR_FRMDLG_BEGIN + 21) +#define STR_REL_PG_LEFT (STR_FRMDLG_BEGIN + 22) +#define STR_REL_PG_RIGHT (STR_FRMDLG_BEGIN + 23) +#define STR_REL_FRM_LEFT (STR_FRMDLG_BEGIN + 24) +#define STR_REL_FRM_RIGHT (STR_FRMDLG_BEGIN + 25) +#define STR_MIR_REL_PG_LEFT (STR_FRMDLG_BEGIN + 26) +#define STR_MIR_REL_PG_RIGHT (STR_FRMDLG_BEGIN + 27) +#define STR_MIR_REL_FRM_LEFT (STR_FRMDLG_BEGIN + 28) +#define STR_MIR_REL_FRM_RIGHT (STR_FRMDLG_BEGIN + 29) +#define STR_REL_PG_FRAME (STR_FRMDLG_BEGIN + 30) +#define STR_REL_PG_PRTAREA (STR_FRMDLG_BEGIN + 31) +#define STR_REL_BASE (STR_FRMDLG_BEGIN + 32) +#define STR_REL_CHAR (STR_FRMDLG_BEGIN + 33) +#define STR_REL_ROW (STR_FRMDLG_BEGIN + 34) +#define STR_REL_BORDER (STR_FRMDLG_BEGIN + 35) +#define STR_REL_PRTAREA (STR_FRMDLG_BEGIN + 36) +#define STR_FLY_REL_PG_LEFT (STR_FRMDLG_BEGIN + 37) +#define STR_FLY_REL_PG_RIGHT (STR_FRMDLG_BEGIN + 38) +#define STR_FLY_REL_PG_FRAME (STR_FRMDLG_BEGIN + 39) +#define STR_FLY_REL_PG_PRTAREA (STR_FRMDLG_BEGIN + 40) +#define STR_FLY_MIR_REL_PG_LEFT (STR_FRMDLG_BEGIN + 41) +#define STR_FLY_MIR_REL_PG_RIGHT (STR_FRMDLG_BEGIN + 42) +#define STR_FLY_MIR_REL_PG_FRAME (STR_FRMDLG_BEGIN + 43) +#define STR_FLY_MIR_REL_PG_PRTAREA (STR_FRMDLG_BEGIN + 44)*/ + +#define STR_OLE_INSERT (STR_FRMDLG_BEGIN + 45) +#define STR_OLE_EDIT (STR_FRMDLG_BEGIN + 46) +#define STR_COLL_HEADER (STR_FRMDLG_BEGIN + 47) + +#define MSG_COLUMN_ERR_BOUNDWIDTH (STR_FRMDLG_BEGIN + 48) +#define STR_EDIT_GRF (STR_FRMDLG_BEGIN + 49) + +#define STR_LINE_TOP (STR_FRMDLG_BEGIN + 50) +#define STR_LINE_BOTTOM (STR_FRMDLG_BEGIN + 51) +#define STR_LINE_CENTER (STR_FRMDLG_BEGIN + 52) +#define STR_CHAR_TOP (STR_FRMDLG_BEGIN + 53) +#define STR_CHAR_BOTTOM (STR_FRMDLG_BEGIN + 54) +#define STR_CHAR_CENTER (STR_FRMDLG_BEGIN + 55) + +#define FRMDLG_ACT_END STR_CHAR_CENTER + +#if FRMDLG_ACT_END > RC_FRMDLG_END +#error Resource-Id Ueberlauf in #file, #line +#endif + + +#endif // FRMUI_HRC diff --git a/sw/source/ui/inc/globals.h b/sw/source/ui/inc/globals.h new file mode 100644 index 000000000000..46a2fba86397 --- /dev/null +++ b/sw/source/ui/inc/globals.h @@ -0,0 +1,37 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _GLOBALS_H +#define _GLOBALS_H + +enum SwChangeState +{ + STATE_OFF = 0, + STATE_ON = 1, + STATE_TOGGLE = 2 +}; + +#endif diff --git a/sw/source/ui/inc/globdoc.hrc b/sw/source/ui/inc/globdoc.hrc new file mode 100644 index 000000000000..cf06e4de05ca --- /dev/null +++ b/sw/source/ui/inc/globdoc.hrc @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _GLOBDOC_HRC +#define _GLOBDOC_HRC + +#include "rcid.hrc" + +#define STR_HUMAN_SWGLOBDOC_NAME (RC_GLOBDOC_BEGIN + 2) +#define STR_WRITER_GLOBALDOC_FULLTYPE_40 (RC_GLOBDOC_BEGIN + 3) +#define STR_WRITER_GLOBALDOC_FULLTYPE_50 (RC_GLOBDOC_BEGIN + 4) +#define STR_WRITER_GLOBALDOC_FULLTYPE (RC_GLOBDOC_BEGIN + 5) + +#define MN_GLOBALFILE (RC_GLOBDOC_BEGIN + 30) +#define MN_GLOBALEDIT (RC_GLOBDOC_BEGIN + 31) +#define MN_GLOBALVIEW (RC_GLOBDOC_BEGIN + 32) +#define MN_GLOBALINS (RC_GLOBDOC_BEGIN + 33) +#define MN_GLOBALFORMAT (RC_GLOBDOC_BEGIN + 34) +#define MN_GLOBALEXTRA (RC_GLOBDOC_BEGIN + 35) +#define MN_GLOBALWIN (RC_GLOBDOC_BEGIN + 36) + +#define MN_GLOBALFILE_PORT (RC_GLOBDOC_BEGIN + 47) +#define MN_GLOBALEDIT_PORT (RC_GLOBDOC_BEGIN + 48) +#define MN_GLOBALVIEW_PORT (RC_GLOBDOC_BEGIN + 49) +#define MN_GLOBALINS_PORT (RC_GLOBDOC_BEGIN + 50) +#define MN_GLOBALFORMAT_PORT (RC_GLOBDOC_BEGIN + 51) +#define MN_GLOBALEXTRA_PORT (RC_GLOBDOC_BEGIN + 52) +#define MN_GLOBALWIN_PORT (RC_GLOBDOC_BEGIN + 53) + +#define MN_GLOBAL_TEXT_POPUPMENU (RC_GLOBDOC_BEGIN + 63) +// ------------------------------------------------------------------------ + +#define GLOBDOC_ACT_END MN_GLOBAL_TEXT_POPUPMENU + + +#if GLOBDOC_ACT_END > RC_GLOBDOC_END +#error Resource-Id Ueberlauf in #file, #line +#endif + +#endif diff --git a/sw/source/ui/inc/glosbib.hxx b/sw/source/ui/inc/glosbib.hxx new file mode 100644 index 000000000000..c96e4177027b --- /dev/null +++ b/sw/source/ui/inc/glosbib.hxx @@ -0,0 +1,121 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _GLOSBIB_HXX +#define _GLOSBIB_HXX + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#include <svx/stddlg.hxx> + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#include <svtools/svtabbx.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#include <vcl/fixed.hxx> + +class SwGlossaryHdl; +class SvStrings; + +class FEdit : public Edit +{ + public: + FEdit(Window * pParent, const ResId& rResId) : + Edit(pParent, rResId){} + + virtual void KeyInput( const KeyEvent& rKEvent ); +}; +/* -----------------------------08.02.00 15:04-------------------------------- + + ---------------------------------------------------------------------------*/ +struct GlosBibUserData +{ + String sPath; + String sGroupName; + String sGroupTitle; +}; +class SwGlossaryGroupTLB : public SvTabListBox +{ +public: + SwGlossaryGroupTLB(Window* pParent, const ResId& rResId) : + SvTabListBox(pParent, rResId) {} + + virtual void RequestHelp( const HelpEvent& rHEvt ); +}; + +class SwGlossaryGroupDlg : public SvxStandardDialog +{ + + FEdit aNameED; + ListBox aPathLB; + SwGlossaryGroupTLB aGroupTLB; + + OKButton aOkPB; + CancelButton aCancelPB; + HelpButton aHelpPB; + PushButton aNewPB; + PushButton aDelPB; + PushButton aRenamePB; + FixedText aBibFT; + FixedText aPathFT; + FixedText aSelectFT; + + SvStrings* pRemovedArr; + SvStrings* pInsertedArr; + SvStrings* pRenamedArr; + + SwGlossaryHdl *pGlosHdl; + + String sCreatedGroup; + + BOOL IsDeleteAllowed(const String &rGroup); + +protected: + virtual void Apply(); + DECL_LINK( SelectHdl, SvTabListBox* ); + DECL_LINK( NewHdl, Button* ); + DECL_LINK( DeleteHdl, Button* ); + DECL_LINK( ModifyHdl, Edit* ); + DECL_LINK( RenameHdl, Button* ); + +public: + SwGlossaryGroupDlg(Window * pParent, + const SvStrings* pPathArr, + SwGlossaryHdl *pGlosHdl); + ~SwGlossaryGroupDlg(); + + const String& GetCreatedGroupName() const {return sCreatedGroup;} +}; + + +#endif + diff --git a/sw/source/ui/inc/glosdoc.hxx b/sw/source/ui/inc/glosdoc.hxx new file mode 100644 index 000000000000..1436c7fe8db9 --- /dev/null +++ b/sw/source/ui/inc/glosdoc.hxx @@ -0,0 +1,148 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _GLOSDOC_HXX +#define _GLOSDOC_HXX + +#include <tools/string.hxx> +#include <svl/svarray.hxx> +#include <com/sun/star/text/XAutoTextGroup.hpp> + +class SwTextBlocks; +class SvStrings; +class SwDocShell; + +#ifndef SW_DECL_SWDOCSHELL_DEFINED +#define SW_DECL_SWDOCSHELL_DEFINED +#include <tools/ref.hxx> +SV_DECL_REF( SwDocShell ) +#endif +#include <cppuhelper/weakref.hxx> + +#ifndef INCLUDED_VECTOR +#include <vector> +#define INCLUDED_VECTOR +#endif +#include "swdllapi.h" + +typedef ::com::sun::star::uno::WeakReference< ::com::sun::star::text::XAutoTextGroup > AutoTextGroupRef; +typedef ::std::vector< AutoTextGroupRef > UnoAutoTextGroups; + +typedef ::com::sun::star::uno::WeakReference< ::com::sun::star::text::XAutoTextEntry > AutoTextEntryRef; +typedef ::std::vector< AutoTextEntryRef > UnoAutoTextEntries; + +#define GLOS_DELIM (sal_Unicode)'*' + +// CLASS ----------------------------------------------------------------- +class SW_DLLPUBLIC SwGlossaries +{ + UnoAutoTextGroups m_aGlossaryGroups; + UnoAutoTextEntries m_aGlossaryEntries; + + String m_aPath; + String m_sOldErrPath; + String m_sErrPath; + SvStrings *m_pPathArr; + SvStrings *m_pGlosArr; + BOOL m_bError; + + SW_DLLPRIVATE SwTextBlocks* GetGlosDoc(const String &rName, BOOL bCreate = TRUE) const; + SW_DLLPRIVATE SvStrings *GetNameList(); + + // implementation in unoatxt.cxx + SW_DLLPRIVATE void RemoveFileFromList( const String& rGroup ); + SW_DLLPRIVATE void InvalidateUNOOjects(); + +public: + SwGlossaries(); + ~SwGlossaries(); + + /** returns the cached AutoTextGroup (if any) for the given group name + + @precond + If <arg>_bCreate</arg> is <TRUE/>, the SolarMutex must be locked when calling into this method. + + @param _rGroupName + the name of the glossaries group + @param _bCreate + if <TRUE/>, the group is created if it does not yet exist + */ + ::com::sun::star::uno::Reference< ::com::sun::star::text::XAutoTextGroup > + GetAutoTextGroup( + const ::rtl::OUString& _rGroupName, + bool _bCreate = false + ); + + /** returns the cached AutoTextEntry (if any) for the given group/with the given name + + @precond + If <arg>_bCreate</arg> is <TRUE/>, the SolarMutex must be locked when calling into this method. + + @param _rGroupAccessName + the name to access the group + @param _rGroupName + the name of the glossaries group, as to be passed to the entry + @param _rEntryName + the name of the auto text entry + @param _bCreate + if <TRUE/>, the entry is created if it does not yet exist + */ + ::com::sun::star::uno::Reference< ::com::sun::star::text::XAutoTextEntry > + GetAutoTextEntry( + const String& _rCompleteGroupName, + const ::rtl::OUString& _rGroupName, + const ::rtl::OUString& _rEntryName, + bool _bCreate = false + ); + + USHORT GetGroupCnt(); + String GetGroupName(USHORT ); + String GetGroupTitle( const String& rGroupName ); + + BOOL FindGroupName(String & rGroup); + + SwTextBlocks* GetGroupDoc(const String &rName, + BOOL bCreate = FALSE) const; + SwTextBlocks* GetDefGroupDoc() const {return GetGroupDoc(GetDefName());} + void PutGroupDoc(SwTextBlocks *pBlock); + static String GetDefName(); + static String GetExtension(); + + String GetCompleteGroupName( const ::rtl::OUString& GroupName ); + + BOOL NewGroupDoc(String &rGroupName, const String& rTitle); + BOOL RenameGroupDoc(const String& sOldGroup, String& sNewGroup, const String& rNewTitle); + BOOL DelGroupDoc(const String &); + SwDocShellRef EditGroupDoc(const String &rGrpName, const String& rShortName, BOOL bShow = TRUE ); + void SaveGroupDoc(const String &rGrpName, const String& rLongName ); + void UpdateGlosPath(BOOL bFull); + void ShowError(); + inline ULONG IsGlosPathErr() { return m_bError; } + const SvStrings* GetPathArray() const {return m_pPathArr;} +}; + + +#endif // _GLOSDOC_HXX diff --git a/sw/source/ui/inc/gloshdl.hxx b/sw/source/ui/inc/gloshdl.hxx new file mode 100644 index 000000000000..df9e610f4b9a --- /dev/null +++ b/sw/source/ui/inc/gloshdl.hxx @@ -0,0 +1,110 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _GLOSHDL_HXX +#define _GLOSHDL_HXX + +#include <tools/string.hxx> +#include "swdllapi.h" + +class SwWrtShell; +class SwTextBlocks; +class SvxMacro; +class SwGlossaries; +class SfxViewFrame; + +// CLASS ----------------------------------------------------------------- +class SW_DLLPUBLIC SwGlossaryHdl +{ + + SwGlossaries& rStatGlossaries; + String aCurGrp; + SfxViewFrame* pViewFrame; + SwWrtShell* pWrtShell; + SwTextBlocks* pCurGrp; + + SW_DLLPRIVATE void _SetMacros(const String &rName, + const SvxMacro *pStart, + const SvxMacro *pEnd); + + SW_DLLPRIVATE BOOL Expand( const String& rShortName, + SwGlossaries* pGlossaries, + SwTextBlocks *pGlossary ); + +public: + BOOL ConvertToNew(SwTextBlocks& rOld); + void GlossaryDlg(); + + USHORT GetGroupCnt() const; + String GetGroupName( USHORT, String* pTitle = 0 ); + BOOL NewGroup(String & rGroupName, const String& rTitle); + BOOL DelGroup(const String &); + BOOL RenameGroup(const String & rOld, String& rNew, const String& rNewTitle); + void SetCurGroup(const String &aGrp, BOOL bApi = FALSE, BOOL bAlwaysCreateNew = FALSE); + + const String &GetCurGroup() const { return aCurGrp; } + + USHORT GetGlossaryCnt(); + String GetGlossaryName(USHORT); + String GetGlossaryShortName(const String &rName); + String GetGlossaryShortName(USHORT); + + BOOL Rename( const String& rOldShortName, const String& rNewShortName, + const String& rNewName); + BOOL CopyOrMove( const String& rSourceGroupName, String& rSourceShortName, + const String& rDestGroupName, const String& rLongName, BOOL bMove ); + BOOL HasShortName(const String &rShortName) const; + //wird NewGlossary vom Basic gerufen, dann soll dir zuvor eingestellte + //Gruppe ggf. neu erstellt werden + BOOL NewGlossary(const String &rName, const String &rShortName, + BOOL bApiCall = FALSE, BOOL bNoAttr = FALSE ); + BOOL DelGlossary(const String&); + BOOL CopyToClipboard(SwWrtShell& rSh, const String& rShortName); + + BOOL ExpandGlossary(); + BOOL InsertGlossary(const String &rName); + + void SetMacros(const String& rName, + const SvxMacro* pStart, + const SvxMacro* pEnd, + SwTextBlocks *pGlossary = 0 ); + void GetMacros(const String& rShortName, + SvxMacro& rStart, + SvxMacro& rEnd, + SwTextBlocks* pGlossary = 0 ); + + BOOL IsReadOnly( const String* = 0 ) const; + BOOL IsOld() const; + + BOOL FindGroupName(String & rGroup); // Gruppe ohne Pfadindex finden + + BOOL ImportGlossaries( const String& rName ); + + SwGlossaryHdl(SfxViewFrame* pViewFrame, SwWrtShell *); + ~SwGlossaryHdl(); +}; + +#endif // _GLOSHDL_HXX diff --git a/sw/source/ui/inc/gloslst.hxx b/sw/source/ui/inc/gloslst.hxx new file mode 100644 index 000000000000..52654c84b865 --- /dev/null +++ b/sw/source/ui/inc/gloslst.hxx @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _GLOSLST_HXX +#define _GLOSLST_HXX + + +#include <tools/datetime.hxx> +#include <tools/string.hxx> +#include <vcl/timer.hxx> +#include <svl/svarray.hxx> + +class SwGlossaries; +class SvStringsISortDtor; + +struct AutoTextGroup +{ + USHORT nCount; + String sName; + String sTitle; + String sLongNames; // durch 0x0A getrennte Langnamen + String sShortNames; // durch 0x0A getrennte Kurznamen + DateTime aDateModified; +}; + + +typedef AutoTextGroup* AutoTextGroupPtr; +SV_DECL_PTRARR(AutoTextGroups, AutoTextGroupPtr, 4, 4) + +class SwGlossaryList : public AutoTimer +{ + AutoTextGroups aGroupArr; + String sPath; + BOOL bFilled; + + AutoTextGroup* FindGroup(const String& rGroupName); + void FillGroup(AutoTextGroup* pGroup, SwGlossaries* pGloss); + +public: + SwGlossaryList(); + ~SwGlossaryList(); + + BOOL HasLongName(const String& rBegin, SvStringsISortDtor* pLongNames ); + BOOL GetShortName(const String& rLongName, + String& rShortName, String& rGroupName ); + + USHORT GetGroupCount(); + String GetGroupName(USHORT nPos, BOOL bNoPath = TRUE, String* pTitle = 0); + USHORT GetBlockCount(USHORT nGroup); + String GetBlockName(USHORT nGroup, USHORT nBlock, String& rShortName); + + void Update(); + + virtual void Timeout(); + + void ClearGroups(); +}; + +#endif + + + + + + diff --git a/sw/source/ui/inc/glossary.hxx b/sw/source/ui/inc/glossary.hxx new file mode 100644 index 000000000000..3c6ce003ca8f --- /dev/null +++ b/sw/source/ui/inc/glossary.hxx @@ -0,0 +1,197 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _GLOSSARY_HXX +#define _GLOSSARY_HXX + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#include <svtools/svtreebx.hxx> +#include <svx/stddlg.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#include <vcl/fixed.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif + +#ifndef _MENUBTN_HXX //autogen +#include <vcl/menubtn.hxx> +#endif +#include <com/sun/star/container/XEnumerationAccess.hpp> +#include <com/sun/star/container/XHierarchicalNameAccess.hpp> +#include <com/sun/star/container/XNameAccess.hpp> +#include <com/sun/star/container/XContentEnumerationAccess.hpp> +#include <com/sun/star/container/XEnumeration.hpp> +#include <com/sun/star/container/XElementAccess.hpp> +#include <com/sun/star/container/XIndexAccess.hpp> + +#include <actctrl.hxx> + +class SwGlossaryHdl; +class SwNewGlosNameDlg; +class SwWrtShell; +class SfxViewFrame; +class PopupMenu; +class Menu; + +const short RET_EDIT = 100; + +//------------------------------------------------------------------ + +class SwGlTreeListBox : public SvTreeListBox +{ + const String sReadonly; + + SvLBoxEntry* pDragEntry; + + virtual DragDropMode NotifyStartDrag( TransferDataContainer& rContainer, + SvLBoxEntry* ); + virtual sal_Bool NotifyAcceptDrop( SvLBoxEntry* ); + + virtual sal_Bool NotifyMoving( SvLBoxEntry* pTarget, + SvLBoxEntry* pEntry, + SvLBoxEntry*& rpNewParent, + ULONG& rNewChildPos + ); + virtual sal_Bool NotifyCopying( SvLBoxEntry* pTarget, + SvLBoxEntry* pEntry, + SvLBoxEntry*& rpNewParent, + ULONG& rNewChildPos); +public: + SwGlTreeListBox(Window* pParent, const ResId& rResId); + + virtual void RequestHelp( const HelpEvent& rHEvt ); + void Clear(); +}; + +//------------------------------------------------------------------ +class SwOneExampleFrame; +class SwGlossaryDlg : public SvxStandardDialog +{ + friend class SwNewGlosNameDlg; + friend class SwGlTreeListBox; + + CheckBox aInsertTipCB; + FixedText aNameLbl; + Edit aNameED; + FixedText aShortNameLbl; + NoSpaceEdit aShortNameEdit; + SwGlTreeListBox aCategoryBox; + FixedLine aRelativeFL; + CheckBox aFileRelCB; + CheckBox aNetRelCB; + Window aExampleWIN; + Window aExampleDummyWIN; + CheckBox aShowExampleCB; + OKButton aInsertBtn; + CancelButton aCloseBtn; + HelpButton aHelpBtn; + MenuButton aEditBtn; + PushButton aBibBtn; + PushButton aPathBtn; + + String sReadonlyPath; + + ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > _xAutoText; + SwOneExampleFrame* pExampleFrame; + + PopupMenu* pMenu; + SwGlossaryHdl* pGlossaryHdl; + + String sResumeGroup; + String sResumeShortName; + BOOL bResume; + + + const sal_Bool bSelection : 1; + sal_Bool bReadOnly : 1; + sal_Bool bIsOld : 1; + sal_Bool bIsDocReadOnly:1; + + SwWrtShell* pSh; + + void EnableShortName(sal_Bool bOn = sal_True); + + DECL_LINK( NameModify, Edit * ); + DECL_LINK( NameDoubleClick, SvTreeListBox * ); + DECL_LINK( GrpSelect, SvTreeListBox * ); + DECL_LINK( MenuHdl, Menu * ); + DECL_LINK( EnableHdl, Menu * ); + DECL_LINK( BibHdl, Button * ); + DECL_LINK( EditHdl, Button * ); + DECL_LINK( PathHdl, Button * ); + DECL_LINK( CheckBoxHdl, CheckBox * ); + DECL_LINK( ShowPreviewHdl, CheckBox * ); + DECL_LINK( PreviewLoadedHdl, void * ); + + + virtual void Apply(); + void Init(); + SvLBoxEntry* DoesBlockExist(const String& sBlock, const String& rShort); + void ShowAutoText(const String& rGroup, const String& rShortName); + void ResumeShowAutoText(); + + BOOL GetResumeData(String& rGroup, String& rShortName) + {rGroup = sResumeGroup; rShortName = sResumeShortName; return bResume;} + void SetResumeData(const String& rGroup, const String& rShortName) + {sResumeGroup = rGroup; sResumeShortName = rShortName; bResume = TRUE;} + void ResetResumeData() {bResume = FALSE;} +public: + SwGlossaryDlg(SfxViewFrame* pViewFrame, SwGlossaryHdl* pGlosHdl, SwWrtShell *pWrtShell); + ~SwGlossaryDlg(); + String GetCurrGrpName() const; + inline String GetCurrLongName() const; + inline String GetCurrShortName() const; + static String GetCurrGroup(); + static void SetActGroup(const String& rNewGroup); + static String GetExtension(); +}; + +inline String SwGlossaryDlg::GetCurrLongName() const +{ + return aNameED.GetText(); +} +inline String SwGlossaryDlg::GetCurrShortName() const +{ + return aShortNameEdit.GetText(); +} + + +#endif + diff --git a/sw/source/ui/inc/glshell.hxx b/sw/source/ui/inc/glshell.hxx new file mode 100644 index 000000000000..ac97aa7a7f70 --- /dev/null +++ b/sw/source/ui/inc/glshell.hxx @@ -0,0 +1,114 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _AUTODOC_HXX +#define _AUTODOC_HXX +#include "wdocsh.hxx" + +class SwGlosDocShell : public SwDocShell +{ + String aLongName; + String aShortName; + String aGroupName; + sal_Bool bShow; + + using SotObject::GetInterface; + +protected: + virtual BOOL Save(); + +public: + + TYPEINFO(); + SFX_DECL_INTERFACE(SW_GLOSDOCSHELL) + + SwGlosDocShell( sal_Bool bNewShow = sal_True); + virtual ~SwGlosDocShell(); + + void Execute( SfxRequest& ); + void GetState( SfxItemSet& ); + void SetLongName( const String& rLongName ) + { aLongName = rLongName; } + void SetShortName( const String& rShortName ) + { aShortName = rShortName; } + void SetGroupName( const String& rGroupName ) + { aGroupName = rGroupName; } + const String& GetShortName(){return aShortName;} +}; + + +class SwWebGlosDocShell : public SwWebDocShell +{ + String aLongName; + String aShortName; + String aGroupName; + + using SotObject::GetInterface; + +protected: + virtual BOOL Save(); + +public: + + TYPEINFO(); + SFX_DECL_INTERFACE(SW_WEBGLOSDOCSHELL) + + SwWebGlosDocShell(); + virtual ~SwWebGlosDocShell(); + + void Execute( SfxRequest& ); + void GetState( SfxItemSet& ); + void SetLongName( const String& rLongName ) + { aLongName = rLongName; } + void SetShortName( const String& rShortName ) + { aShortName = rShortName; } + void SetGroupName( const String& rGroupName ) + { aGroupName = rGroupName; } + const String& GetShortName(){return aShortName;} +}; + +#endif + + + + + + + + + + + + + + + + + + + + + diff --git a/sw/source/ui/inc/grfsh.hxx b/sw/source/ui/inc/grfsh.hxx new file mode 100644 index 000000000000..f8448ae9bc68 --- /dev/null +++ b/sw/source/ui/inc/grfsh.hxx @@ -0,0 +1,44 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWGRFSH_HXX +#define _SWGRFSH_HXX + +#include "frmsh.hxx" + +class SwGrfShell: public SwBaseShell +{ +public: + SFX_DECL_INTERFACE(SW_GRFSHELL) + + void Execute(SfxRequest &); + void ExecAttr(SfxRequest &); + void GetAttrState(SfxItemSet &); + + SwGrfShell(SwView &rView); +}; + +#endif diff --git a/sw/source/ui/inc/hidfunc.h b/sw/source/ui/inc/hidfunc.h new file mode 100644 index 000000000000..d5cff23e616b --- /dev/null +++ b/sw/source/ui/inc/hidfunc.h @@ -0,0 +1,350 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#define HID_EXIT 1017 +#define HID_NEW_WINDOW 1701 +#define HID_ARRANGE_CASCADE_WIN 1703 +#define HID_ARRANGE_HORZ_WIN 1704 +#define HID_ARRANGE_VERT_WIN 1705 +#define HID_ARRANGE_ALL_WIN 1702 +#define HID_SHOW_HELP_INDEX 1802 +#define HID_NEW_FILE 1005 +#define HID_NEW_FILE_DEFAULT 1024 +#define HID_CLOSE_FILE 1001 +#define HID_DOC_MGR_DLG 1032 +#define HID_CONFIG_TOOLBOX 1629 +#define HID_CONFIG_MENU 1630 +#define HID_CONFIG_KEY 1631 +#define HID_TEMPLATE_PI 1657 +#define HID_ADDR_PI 1658 +#define HID_AUTO_FORMAT 1651 +#define HID_NAVIGATION_PI 1656 +#define HID_NAVIGATION_PI_GOTO_PAGE 1659 +#define HID_HELP_PI 1655 +#define HID_FORMAT_DROPCAPS 1454 +#define HID_CONFIG_VIEWOPTIONS 1635 +#define HID_CONFIG_COLORS 1636 +#define HID_TOOLBOX 1213 +#define HID_RIBBON 1210 +#define HID_RULER 1211 +#define HID_VLINEAL 1216 +#define HID_VSCROLLBAR 1217 +#define HID_HSCROLLBAR 1218 +#define HID_SAVE_FILE 1013 +#define HID_SAVE_ALL 1023 +#define HID_SAVE_FILE_AS 1012 +#define HID_OPEN_LASTVERSION 1009 +#define HID_STATUSBAR 1212 +#define HID_ABOUT_DLG 1806 +#define HID_SEND_MAIL 1022 +#define HID_OPEN_FILE 1007 +#define HID_INSERT_FILE 1309 +#define HID_DOCSTAT_DLG 1020 +#define HID_LOAD_TEMPLATE_DLG 1021 +#define HID_ESCAPE 1941 +#define HID_PLAY_MACRO_DLG 1624 +#define HID_RECORD_MACRO_DLG 1622 +#define HID_ASSIGN_LOCAL_MACRO_DLG 1632 +#define HID_COMPILE_MACRO 1633 +#define HID_CREATE_DOCUMENT 1019 +#define HID_PAGEUP 1937 +#define HID_PAGEDOWN 1938 +#define HID_SET_LEFT_PARA 1418 +#define HID_SET_RIGHT_PARA 1419 +#define HID_SET_CENTER_PARA 1420 +#define HID_SET_JUSTIFY_PARA 1421 +#define HID_SET_ADJUST 1428 +#define HID_FORMAT_RESET 1469 +#define HID_INDENT_TO_TABSTOP 1417 +#define HID_UNINDENT_TO_TABSTOP 1431 +#define HID_SET_BOLD 1405 +#define HID_SET_ITALIC 1406 +#define HID_SET_UNDERLINE 1409 +#define HID_SET_STRIKEOUT 1410 +#define HID_SET_OUTLINE 1408 +#define HID_SET_SHADOW 1407 +#define HID_SET_SUPER_SCRIPT 1411 +#define HID_SET_SUB_SCRIPT 1412 +#define HID_SET_COLOR 1413 +#define HID_SET_CASEMAP 1414 +#define HID_SET_LANGUAGE 1415 +#define HID_SET_KERNING 1416 +#define HID_SET_FONT 1401 +#define HID_SET_FONT_SIZE 1402 +#define HID_GROW_FONT_SIZE 1403 +#define HID_SHRINK_FONT_SIZE 1404 +#define HID_SET_LINE_SPACE_1 1422 +#define HID_SET_LINE_SPACE_15 1423 +#define HID_SET_LINE_SPACE_2 1424 +#define HID_SET_PROP_LINE_SPACE 1540 +#define HID_SET_ABS_LINE_SPACE 1541 +#define HID_INSERT_SYMBOL 1328 +#define HID_INSERT_OBJECT_DLG 1322 +#define HID_EDIT_OBJECT 1110 +#define HID_EDIT_LINK_DLG 1109 +#define HID_EDIT_FILE_INFO_DLG 1107 +#define HID_EDIT_IDX_ENTRY_DLG 1123 +#define HID_NUM_BULLET_DOWN 1130 +#define HID_NUM_BULLET_MOVEUP 1134 +#define HID_NUM_BULLET_MOVEDOWN 1135 +#define HID_NUM_BULLET_UP 1131 +#define HID_NUM_BULLET_PREV 1132 +#define HID_NUM_BULLET_NEXT 1133 +#define HID_NUM_BULLET_OUTLINE_MOVEDOWN 1142 +#define HID_NUM_BULLET_OUTLINE_MOVEUP 1141 +#define HID_NUM_BULLET_OUTLINE_UP 1140 +#define HID_NUM_BULLET_OUTLINE_DOWN 1139 +#define HID_NUM_BULLET_NONUM 1136 +#define HID_NUM_NUMBERING_ON 1144 +#define HID_NUM_BULLET_ON 1138 +#define HID_NUM_BULLET_OFF 1137 +#define HID_INSERT_IDX_ENTRY_DLG 1335 +#define HID_POSTIT 1329 +#define HID_INSERT_CAPTION 1310 +#define HID_INSERT_IDX 1336 +#define HID_INSERT_USERIDX 1337 +#define HID_INSERT_CNTNTIDX 1338 +#define HID_INSERT_IDX_ENTRY 1340 +#define HID_INSERT_USERIDX_ENTRY 1341 +#define HID_INSERT_CNTNTIDX_ENTRY 1342 +#define HID_INSERT_FRAME 1334 +#define HID_INSERT_FRAME_INTERACT 1333 +#define HID_INSERT_SOFT_HYPHEN 1350 +#define HID_INSERT_HARD_SPACE 1351 +#define HID_FORMAT_FRAME_DLG 1456 +#define HID_FRAME_TO_TOP 1470 +#define HID_FRAME_TO_BOTTOM 1471 +#define HID_FRAME_NOWRAP 1472 +#define HID_FRAME_WRAP 1473 +#define HID_FRAME_WRAPTHRU 1474 +#define HID_FRAME_ALIGN_HORZ_LEFT 1475 +#define HID_FRAME_ALIGN_HORZ_RIGHT 1476 +#define HID_FRAME_ALIGN_HORZ_CENTER 1477 +#define HID_FRAME_ALIGN_VERT_TOP 1478 +#define HID_FRAME_ALIGN_VERT_BOTTOM 1479 +#define HID_FRAME_ALIGN_VERT_CENTER 1480 +#define HID_EDIT_FIELD 1104 +#define HID_SET_FIELD_VALUE 1112 +#define HID_INSERT_FIELD 1308 +#define HID_INSERT_MERGEFIELD_DLG 1320 +#define HID_EXECUTE_MACROFIELD 1127 +#define HID_UPDATE_FIELDS 1126 +#define HID_UPDATE_INPUTFIELDS 1143 +#define HID_CALC_TABLE 1129 +#define HID_INSERT_BREAK_DLG 1304 +#define HID_INSERT_BOOKMARK 1302 +#define HID_DELETE_BOOKMARK 1301 +#define HID_INSERT_GRAFIC 1315 +#define HID_FORMAT_TABLE_DLG 1460 +#define HID_INSERT_TABLE 1330 +#define HID_INSERT_COLS 1332 +#define HID_PAGE_STYLE_SET_COLS 1538 +#define HID_CONVERT_TEXT_TABLE 1500 +#define HID_TABLE_INSERT_ROW 1501 +#define HID_TABLE_INSERT_COL 1502 +#define HID_TABLE_DELETE_ROW 1503 +#define HID_TABLE_DELETE_COL 1504 +#define HID_TABLE_SPLIT_CELLS 1505 +#define HID_TABLE_MERGE_CELLS 1506 +#define HID_TABLE_SET_ROW_HEIGHT 1507 +#define HID_TABLE_SET_COL_WIDTH 1508 +#define HID_TABLE_SET_ULSPACE 1509 +#define HID_TABLE_SET_GRID 1510 +#define HID_TABLE_SET_SHADOW 1511 +#define HID_FORMAT_CHAR_DLG 1441 +#define HID_FORMAT_PAGE_DLG 1452 +#define HID_CHANGE_PAGENUM 1634 +#define HID_FORMAT_PARA_DLG 1443 +#define HID_FORMAT_TAB_DLG 1445 +#define HID_FORMAT_BORDER_DLG 1447 +#define HID_FORMAT_BORDER 1439 +#define HID_FORMAT_SHADOW 1438 +#define HID_FORMAT_BACKGROUND 1448 +#define HID_FORMAT_BACKGROUND_DLG 1450 +#define HID_SET_FRM_SIZE 1481 +#define HID_SET_FRM_POSITION 1482 +#define HID_SET_FRM_ANCHOR 1483 +#define HID_SET_FRM_WRAP 1484 +#define HID_SET_FRM_DIST 1485 +#define HID_SET_FRM_OPTIONS 1486 +#define HID_SET_FRM_MACRO 1494 +#define HID_SET_FRM_COLUMNS 1495 +#define HID_SET_FRM_COLUMN_WIDTH 1496 +#define HID_SET_GRF_MIRROR 1488 +#define HID_SET_TABLE_WIDTH 1489 +#define HID_SET_TABLE_ALIGN 1490 +#define HID_TABLE_SET_READ_ONLY_CELLS 1517 +#define HID_TABLE_UNSET_READ_ONLY_CELLS 1519 +#define HID_NEW_STYLE_BY_EXAMPLE 1462 +#define HID_UPDATE_STYLES_DIRECT 1497 +#define HID_UPDATE_STYLE_BY_EXAMPLE 1463 +#define HID_STYLE_SHEET_FRAME_DLG 1464 +#define HID_STYLE_SHEET_DOC_DLG 1465 +#define HID_SET_STANDARD_FONTS 1442 +#define HID_COPY 1102 +#define HID_PASTE 1113 +#define HID_PASTEUNFORMATTED 1115 +#define HID_PASTESPECIAL 1114 +#define HID_CUT 1103 +#define HID_FLIP_HORZ_GRAFIC 1425 +#define HID_FLIP_VERT_GRAFIC 1426 +#define HID_FORMAT_GRAFIC_DLG 1458 +#define HID_VIEW_BOUNDS 1214 +#define HID_VIEW_FIELDS 1215 +#define HID_VIEW_META_CHARS 1224 +#define HID_VIEW_MARKS 1225 +#define HID_VIEW_FIELDNAME 1226 +#define HID_VIEW_TABLEGRID 1227 +#define HID_SEARCH 1117 +#define HID_REPEAT_SEARCH 1150 +#define HID_REPLACE 1118 +#define HID_GOTO 1111 +#define HID_SETUP_PRINTER_DLG 1015 +#define HID_PRINT_FILE 1010 +#define HID_PRINT_FILE_DEFAULT 1025 +#define HID_FAX 1028 +#define HID_PRINT_FILE_OPTIONS 1011 +#define HID_THESAURUS_DLG 1604 +#define HID_SPELLING_DLG 1601 +#define HID_HYPHENATE_OPT_DLG 1607 +#define HID_MERGE_FILE_DLG 1004 +#define HID_SELECT_DATABASE 1030 +#define HID_DOC_INFO_DLG 1031 +#define HID_MERGE_FILE 1003 +#define HID_MERGE_RECORD 1327 +#define HID_INSERT_RECORD 1326 +#define HID_NUMBERING_OUTLINE_DLG 1612 +#define HID_NUMBER_BULLETS 1121 +#define HID_ZOOM 1231 +#define HID_SORTING 1613 +#define HID_SORTING_DLG 1614 +#define HID_CALCULATE 1615 +#define HID_REFRESH_VIEW 1201 +#define HID_CHAR_LEFT 1901 +#define HID_CHAR_RIGHT 1902 +#define HID_LINE_UP 1903 +#define HID_LINE_DOWN 1904 +#define HID_START_OF_LINE 1905 +#define HID_END_OF_LINE 1906 +#define HID_START_OF_DOCUMENT 1907 +#define HID_END_OF_DOCUMENT 1908 +#define HID_SELECT_WORD 1943 +#define HID_SELECT_ALL 1119 +#define HID_START_OF_NEXT_PAGE 1909 +#define HID_END_OF_NEXT_PAGE 1910 +#define HID_START_OF_PREV_PAGE 1911 +#define HID_END_OF_PREV_PAGE 1912 +#define HID_START_OF_PAGE 1913 +#define HID_END_OF_PAGE 1914 +#define HID_NEXT_WORD 1921 +#define HID_START_OF_PARA 1919 +#define HID_END_OF_PARA 1920 +#define HID_PREV_WORD 1922 +#define HID_NEXT_SENT 1923 +#define HID_PREV_SENT 1924 +#define HID_SET_INS_MODE 1936 +#define HID_SET_ADD_MODE 1939 +#define HID_SET_EXT_MODE 1940 +#define HID_START_TABLE 1947 +#define HID_END_TABLE 1948 +#define HID_NEXT_TABLE 1949 +#define HID_PREV_TABLE 1950 +#define HID_TABLE_SELECT_ALL 1515 +#define HID_TABLE_SELECT_COL 1514 +#define HID_TABLE_SELECT_ROW 1513 +#define HID_START_OF_COLUMN 1917 +#define HID_END_OF_COLUMN 1918 +#define HID_START_OF_NEXT_COLUMN 1951 +#define HID_END_OF_NEXT_COLUMN 1952 +#define HID_START_OF_PREV_COLUMN 1953 +#define HID_END_OF_PREV_COLUMN 1954 +#define HID_FOOTNOTE_TO_ANCHOR 1955 +#define HID_NEXT_FOOTNOTE 1956 +#define HID_PREV_FOOTNOTE 1957 +#define HID_CNTNT_TO_NEXT_FRAME 1958 +#define HID_FRAME_TO_ANCHOR 1959 +#define HID_TO_HEADER 1960 +#define HID_TO_FOOTER 1961 +#define HID_IDX_MARK_TO_IDX 1962 +#define HID_DELETE 1925 +#define HID_BACKSPACE 1926 +#define HID_DELETE_SENT 1927 +#define HID_DELETE_BACK_SENT 1928 +#define HID_DELETE_WORD 1929 +#define HID_DELETE_BACK_WORD 1930 +#define HID_DELETE_LINE 1931 +#define HID_DELETE_BACK_LINE 1932 +#define HID_DELETE_PARA 1933 +#define HID_DELETE_BACK_PARA 1934 +#define HID_DELETE_WHOLE_LINE 1935 +#define HID_INSERT_BREAK 1303 +#define HID_INSERT_PAGEBREAK 1323 +#define HID_INSERT_LINEBREAK 1318 +#define HID_INSERT_COLUMN_BREAK 1305 +#define HID_INSERT_FOOTNOTE 1311 +#define HID_INSERT_FOOTNOTE_DLG 1312 +#define HID_FORMAT_FOOTNOTE_DLG 1468 +#define HID_UNDO 1120 +#define HID_REDO 1116 +#define HID_REPEAT 1122 +#define HID_REPAGINATE 1161 +#define HID_SHOW_UPDATE_HELP 1805 +#define HID_SHOW_KEYBOARD_HELP 1803 +#define HID_SHOW_HELP_MANUAL 1804 +#define HID_GLOSSARY_DLG 1620 +#define HID_EXPAND_GLOSSARY 1628 +#define HID_INSERT_GLOSSARY 1640 +#define HID_AUTO_CORRECT_DLG 1650 +#define HID_AUTO_CORRECT 1649 +#define HID_CONFIG_DLG 1627 +#define HID_INSERT_STRING 1331 +#define HID_SET_CHAR_STYLE 1491 +#define HID_SET_PARA_STYLE 1492 +#define HID_SET_PAGE_STYLE 1493 +#define HID_SET_LRMARGIN 1429 +#define HID_SET_ULMARGIN 1430 +#define HID_SET_HYPHEN_ZONE 1432 +#define HID_SET_PAGE_BREAK 1433 +#define HID_FORMAT_PAGE 1451 +#define HID_SET_KEEP_TOGETHER 1434 +#define HID_SET_WIDOW 1436 +#define HID_SET_ORPHAN 1437 +#define HID_BUFFER_UPDATE 1124 +#define HID_FORMAT_TAB 1444 +#define HID_IS_END_OF_PARA 2000 +#define HID_IS_END_OF_WORD 2000 +#define HID_IS_END_OF_DOC 2000 +#define HID_IS_START_OF_PARA 2000 +#define HID_IS_START_OF_WORD 2000 +#define HID_IS_START_OF_DOC 2000 +#define HID_EDIT_FORMULA 1128 +#define HID_ENVELOP 2050 +#define HID_LABEL 2051 +#define HID_AGENDA_WIZZARD 1663 +#define HID_MEMO_WIZZARD 1662 +#define HID_FAX_WIZZARD 1661 +#define HID_LETTER_WIZZARD 1660 +#define HID_LAUNCH_REGISTRY 1002 diff --git a/sw/source/ui/inc/hyp.hxx b/sw/source/ui/inc/hyp.hxx new file mode 100644 index 000000000000..330507024f3c --- /dev/null +++ b/sw/source/ui/inc/hyp.hxx @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _HYP_HXX +#define _HYP_HXX + +#include <tools/link.hxx> +#include <editeng/splwrap.hxx> +#include <com/sun/star/linguistic2/XHyphenator.hpp> + +class SwView; + +class SwHyphWrapper : public SvxSpellWrapper { +private: + SwView* pView; + ::com::sun::star::uno::Reference< + ::com::sun::star::linguistic2::XHyphenator > xHyph; + Link aOldLnk; + LanguageType nLangError; // nicht vorhandene Sprache + sal_uInt16 nPageCount; // Seitenanzahl fuer Progressanzeige + sal_uInt16 nPageStart; // 1. gepruefte Seite + sal_Bool bInSelection : 1; // Trennen von selektiertem Text + sal_Bool bShowError : 1; // nicht vorhandene Sprache melden + sal_Bool bAutomatic : 1; // Trennstellen ohne Rueckfrage einfuegen + sal_Bool bInfoBox : 1; // display info-box when ending + DECL_LINK( SpellError, LanguageType * ); + +protected: + virtual void SpellStart( SvxSpellArea eSpell ); + virtual sal_Bool SpellContinue(); + virtual void SpellEnd( ); + virtual sal_Bool SpellMore(); + virtual void InsertHyphen( const sal_uInt16 nPos ); // Hyphen einfuegen + +public: + SwHyphWrapper( SwView* pVw, + ::com::sun::star::uno::Reference< + ::com::sun::star::linguistic2::XHyphenator > &rxHyph, + sal_Bool bStart, sal_Bool bOther, sal_Bool bSelect ); + ~SwHyphWrapper(); +}; + +#endif diff --git a/sw/source/ui/inc/idxmrk.hxx b/sw/source/ui/inc/idxmrk.hxx new file mode 100644 index 000000000000..6d569bb798dd --- /dev/null +++ b/sw/source/ui/inc/idxmrk.hxx @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _IDXMRK_HXX +#define _IDXMRK_HXX + +#include <sfx2/childwin.hxx> + +#include "swabstdlg.hxx" + +class SwWrtShell; + +/* -----------------07.09.99 08:02------------------- + + --------------------------------------------------*/ +class SwInsertIdxMarkWrapper : public SfxChildWindow +{ + AbstractMarkFloatDlg* pAbstDlg; +protected: + SwInsertIdxMarkWrapper( Window *pParentWindow, + sal_uInt16 nId, + SfxBindings* pBindings, + SfxChildWinInfo* pInfo ); + + SFX_DECL_CHILDWINDOW(SwInsertIdxMarkWrapper); + +public: + void ReInitDlg(SwWrtShell& rWrtShell); +}; + +/* -----------------07.09.99 08:02------------------- + + --------------------------------------------------*/ +class SwInsertAuthMarkWrapper : public SfxChildWindow +{ + AbstractMarkFloatDlg* pAbstDlg; +protected: + SwInsertAuthMarkWrapper( Window *pParentWindow, + sal_uInt16 nId, + SfxBindings* pBindings, + SfxChildWinInfo* pInfo ); + + SFX_DECL_CHILDWINDOW(SwInsertAuthMarkWrapper); + +public: + void ReInitDlg(SwWrtShell& rWrtShell); +}; + +#endif // _IDXMRK_HXX + diff --git a/sw/source/ui/inc/imaildsplistener.hxx b/sw/source/ui/inc/imaildsplistener.hxx new file mode 100644 index 000000000000..9cb7d11f2684 --- /dev/null +++ b/sw/source/ui/inc/imaildsplistener.hxx @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef INCLUDED_IMAILDSPLISTENER_HXX +#define INCLUDED_IMAILDSPLISTENER_HXX + +#include "com/sun/star/mail/XMailMessage.hpp" +#include <salhelper/refobj.hxx> + + +class MailDispatcher; + +/** + MailDispatcher listener interface. + Clients may implement and register instances of the + mail dispatcher interface in order to get notifications + about the MailDispatcher status. + + @see MailDispatcher +*/ +class IMailDispatcherListener : public ::salhelper::ReferenceObject +{ +public: + /** + Called when the MailDispatcher is started. + */ + virtual void started(::rtl::Reference<MailDispatcher> xMailDispatcher) = 0; + + /** + Called when the MailDispatcher is stopped. + */ + virtual void stopped(::rtl::Reference<MailDispatcher> xMailDispatcher) = 0; + + /** + Called when there are no more mail messages + to deliver. + */ + virtual void idle(::rtl::Reference<MailDispatcher> xMailDispatcher) = 0; + + /** + Called for every mail message that has been + successfully delivered. + */ + virtual void mailDelivered(::rtl::Reference<MailDispatcher> xMailDispatcher, ::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage> xMailMessage) = 0; + + /** + Called for every mail message whose delivery + failed. + */ + virtual void mailDeliveryError(::rtl::Reference<MailDispatcher> xMailDispatcher, ::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage> xMailMessage, const rtl::OUString& sErrorMessage) = 0; +}; + +#endif // INCLUDED_IMAILDISPATCHERLISTENER_HXX diff --git a/sw/source/ui/inc/initui.hxx b/sw/source/ui/inc/initui.hxx new file mode 100644 index 000000000000..0a81e53f6149 --- /dev/null +++ b/sw/source/ui/inc/initui.hxx @@ -0,0 +1,79 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _INITUI_HXX +#define _INITUI_HXX + +#include "tools/solar.h" +#include "swdllapi.h" + +/* + * Forward Declarations + */ +class String; +class SwThesaurus; +class SvStringsDtor; + +/* + * Extern Definitions + */ +extern SwThesaurus* pThes; + +extern String* pOldGrfCat; +extern String* pOldTabCat; +extern String* pOldFrmCat; + +extern String* pCurrGlosGroup; + +SW_DLLPUBLIC String* GetOldGrfCat(); +SW_DLLPUBLIC String* GetOldTabCat(); +SW_DLLPUBLIC String* GetOldFrmCat(); +SW_DLLPUBLIC String* GetOldDrwCat(); + +SW_DLLPUBLIC String* GetCurrGlosGroup(); +SW_DLLPUBLIC void SetCurrGlosGroup(String* pStr); + +extern SvStringsDtor* pDBNameList; + +extern SvStringsDtor* pAuthFieldNameList; +extern SvStringsDtor* pAuthFieldTypeList; + +// stellt die Textbausteinverwaltung zur Verfuegung +class SwGlossaries; +SW_DLLPUBLIC SwGlossaries* GetGlossaries(); + +class SwGlossaryList; + +BOOL HasGlossaryList(); +SwGlossaryList* GetGlossaryList(); + +extern void _InitUI(); +extern void _FinitUI(); +extern void _InitSpell(); +extern void _FinitSpell(); + + +#endif diff --git a/sw/source/ui/inc/inpdlg.hxx b/sw/source/ui/inc/inpdlg.hxx new file mode 100644 index 000000000000..f0c2f13cc6bc --- /dev/null +++ b/sw/source/ui/inc/inpdlg.hxx @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _INPDLG_HXX +#define _INPDLG_HXX + +#include <svx/stddlg.hxx> + +#ifndef _SV_SVMEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif +#include <vcl/fixed.hxx> +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +class SwInputField; +class SwSetExpField; +class SwUserFieldType; +class SwField; +class SwWrtShell; + +/*-------------------------------------------------------------------- + Beschreibung: Einfuegen Felder + --------------------------------------------------------------------*/ + +class SwFldInputDlg: public SvxStandardDialog +{ + virtual void Apply(); + virtual void StateChanged( StateChangedType ); + + SwWrtShell &rSh; + SwInputField* pInpFld; + SwSetExpField* pSetFld; + SwUserFieldType* pUsrType; + + Edit aLabelED; + + MultiLineEdit aEditED; + FixedLine aEditFL; + + OKButton aOKBT; + CancelButton aCancelBT; + PushButton aNextBT; + HelpButton aHelpBT; + + DECL_LINK(NextHdl, PushButton*); +public: + SwFldInputDlg( Window *pParent, SwWrtShell &rSh, + SwField* pField, BOOL bNextButton = FALSE ); + ~SwFldInputDlg(); +}; + + +#endif diff --git a/sw/source/ui/inc/inputwin.hxx b/sw/source/ui/inc/inputwin.hxx new file mode 100644 index 000000000000..8693572d167f --- /dev/null +++ b/sw/source/ui/inc/inputwin.hxx @@ -0,0 +1,138 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef SW_INPUTWIN_HXX +#define SW_INPUTWIN_HXX + + +#ifndef _MENU_HXX //autogen +#include <vcl/menu.hxx> +#endif +#include <sfx2/childwin.hxx> +#ifndef _TOOLBOX_HXX //autogen +#include <vcl/toolbox.hxx> +#endif +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +class SwFldMgr; +class SwWrtShell; +class SwView; +class SfxDispatcher; + +//======================================================================== +class InputEdit : public Edit +{ +public: + InputEdit(Window* pParent, WinBits nStyle) : + Edit(pParent , nStyle){} + + void UpdateRange(const String& aSel, + const String& aTblName ); + +protected: + virtual void KeyInput( const KeyEvent& ); +}; + +//======================================================================== + +class SwInputWindow : public ToolBox +{ +friend class InputEdit; + + Edit aPos; + InputEdit aEdit; + PopupMenu aPopMenu; + SwFldMgr* pMgr; + SwWrtShell* pWrtShell; + SwView* pView; + SfxBindings* pBindings; + String aAktTableName, sOldFml; + USHORT nActionCnt; + + BOOL bFirst : 1; //Initialisierungen beim ersten Aufruf + BOOL bActive : 1; //fuer Hide/Show beim Dokumentwechsel + BOOL bIsTable : 1; + BOOL bDelSel : 1; + BOOL bDoesUndo : 1; + BOOL bResetUndo : 1; + BOOL bCallUndo : 1; + + + void DelBoxCntnt(); + DECL_LINK( ModifyHdl, InputEdit* ); + + using Window::IsActive; + +protected: + virtual void Resize(); + virtual void Click(); + DECL_LINK( MenuHdl, Menu * ); + DECL_LINK( DropdownClickHdl, ToolBox* ); + void ApplyFormula(); + void CancelFormula(); + +public: + SwInputWindow( Window* pParent, SfxBindings* pBindings ); + virtual ~SwInputWindow(); + + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + void SelectHdl( ToolBox*); + + void ShowWin(); + + BOOL IsActive(){ return bActive; }; + + DECL_LINK( SelTblCellsNotify, SwWrtShell * ); + + void SetFormula( const String& rFormula, BOOL bDelSel = TRUE ); + const SwView* GetView() const{return pView;} +}; + +class SwInputChild : public SfxChildWindow +{ + BOOL bObjVis; + SfxDispatcher* pDispatch; +public: + SwInputChild( Window* , + USHORT nId, + SfxBindings*, + SfxChildWinInfo* ); + ~SwInputChild(); + SFX_DECL_CHILDWINDOW( SwInputChild ); + void SetFormula( const String& rFormula, BOOL bDelSel = TRUE ) + { ((SwInputWindow*)pWindow)->SetFormula( + rFormula, bDelSel ); } + const SwView* GetView() const{return ((SwInputWindow*)pWindow)->GetView();} + +}; + +//================================================================== + +#endif + diff --git a/sw/source/ui/inc/insfnote.hxx b/sw/source/ui/inc/insfnote.hxx new file mode 100644 index 000000000000..c9c51301a100 --- /dev/null +++ b/sw/source/ui/inc/insfnote.hxx @@ -0,0 +1,97 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _INSFNOTE_HXX +#define _INSFNOTE_HXX + +#include <svx/stddlg.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#include <vcl/fixed.hxx> + +class SwWrtShell; + +class SwInsFootNoteDlg: public SvxStandardDialog +{ + SwWrtShell &rSh; + + //Alles fuer das/die Zeichen + String aFontName; + CharSet eCharSet; + char cExtChar; + BOOL bExtCharAvailable; + BOOL bEdit; + RadioButton aNumberAutoBtn; + RadioButton aNumberCharBtn; + Edit aNumberCharEdit; + PushButton aNumberExtChar; + FixedLine aNumberFL; + + //Alles fuer die Auswahl Fussnote/Endnote + RadioButton aFtnBtn; + RadioButton aEndNoteBtn; + FixedLine aTypeFL; + + OKButton aOkBtn; + CancelButton aCancelBtn; + HelpButton aHelpBtn; + ImageButton aPrevBT; + ImageButton aNextBT; + + DECL_LINK( NumberCharHdl, Button * ); + DECL_LINK( NumberEditHdl, void * ); + DECL_LINK( NumberAutoBtnHdl, Button *); + DECL_LINK( NumberExtCharHdl, Button *); + DECL_LINK( NextPrevHdl, Button * ); + + virtual void Apply(); + + void Init(); + +public: + SwInsFootNoteDlg(Window * pParent, SwWrtShell &rSh, BOOL bEd = FALSE); + ~SwInsFootNoteDlg(); + + CharSet GetCharSet() { return eCharSet; } + BOOL IsExtCharAvailable() { return bExtCharAvailable; } + String GetFontName() { return aFontName; } + BOOL IsEndNote() { return aEndNoteBtn.IsChecked(); } + String GetStr() + { + if ( aNumberCharBtn.IsChecked() ) + return aNumberCharEdit.GetText(); + else + return String(); + } +}; + +#endif diff --git a/sw/source/ui/inc/insrule.hxx b/sw/source/ui/inc/insrule.hxx new file mode 100644 index 000000000000..316a161d6c06 --- /dev/null +++ b/sw/source/ui/inc/insrule.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _INSRULE_HXX +#define _INSRULE_HXX +#include "num.hxx" + +class SwRulerValueSet; +class ValueSet; +/*-----------------14.02.97 12.30------------------- + +--------------------------------------------------*/ +class SwInsertGrfRulerDlg : public SfxModalDialog +{ + FixedLine aSelectionFL; + OKButton aOkPB; + CancelButton aCancelPB; + HelpButton aHelpPB; + + List aGrfNames; + String sSimple; + String sRulers; + USHORT nSelPos; + + SwRulerValueSet* pExampleVS; + +protected: + DECL_LINK(SelectHdl, ValueSet*); + DECL_LINK(DoubleClickHdl, ValueSet*); + +public: + SwInsertGrfRulerDlg( Window* pParent ); + ~SwInsertGrfRulerDlg(); + + String GetGraphicName(); + BOOL IsSimpleLine() {return nSelPos == 1;} + BOOL HasImages() const {return 0 != aGrfNames.Count();} +}; + +#endif + + + diff --git a/sw/source/ui/inc/instable.hxx b/sw/source/ui/inc/instable.hxx new file mode 100644 index 000000000000..e48eece78a9f --- /dev/null +++ b/sw/source/ui/inc/instable.hxx @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _INSTABLE_HXX +#define _INSTABLE_HXX + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#include <sfx2/basedlgs.hxx> +#include <actctrl.hxx> +#include <textcontrolcombo.hxx> + +class SwWrtShell; +class SwTableAutoFmt; +class SwView; +struct SwInsertTableOptions; + + +class SwInsTableDlg : public SfxModalDialog +{ + FixedText aNameFT; + TableNameEdit aNameEdit; + + FixedLine aFL; + FixedText aColLbl; + NumericField aColEdit; + FixedText aRowLbl; + NumericField aRowEdit; + + FixedLine aOptionsFL; + CheckBox aHeaderCB; + CheckBox aRepeatHeaderCB; + FixedText aRepeatHeaderFT; // "dummy" to build before and after FT + FixedText aRepeatHeaderBeforeFT; + NumericField aRepeatHeaderNF; + FixedText aRepeatHeaderAfterFT; + TextControlCombo aRepeatHeaderCombo; + + CheckBox aDontSplitCB; + CheckBox aBorderCB; + + OKButton aOkBtn; + CancelButton aCancelBtn; + HelpButton aHelpBtn; + PushButton aAutoFmtBtn; + + SwWrtShell* pShell; + SwTableAutoFmt* pTAutoFmt; + sal_Int64 nEnteredValRepeatHeaderNF; + + DECL_LINK( ModifyName, Edit * ); + DECL_LINK( ModifyRowCol, NumericField * ); + DECL_LINK( AutoFmtHdl, PushButton* ); + DECL_LINK( CheckBoxHdl, CheckBox *pCB = 0 ); + DECL_LINK( ReapeatHeaderCheckBoxHdl, void* p = 0 ); + DECL_LINK( ModifyRepeatHeaderNF_Hdl, void* p = 0 ); + +public: + SwInsTableDlg( SwView& rView ); + ~SwInsTableDlg(); + + void GetValues( String& rName, USHORT& rRow, USHORT& rCol, + SwInsertTableOptions& rInsTblOpts, String& rTableAutoFmtName, + SwTableAutoFmt *& prTAFmt ); +}; + +#endif diff --git a/sw/source/ui/inc/javaedit.hxx b/sw/source/ui/inc/javaedit.hxx new file mode 100644 index 000000000000..6fecb6c82b30 --- /dev/null +++ b/sw/source/ui/inc/javaedit.hxx @@ -0,0 +1,118 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SW_JAVAEDIT_HXX +#define _SW_JAVAEDIT_HXX + +// include --------------------------------------------------------------- + +#include <svx/stddlg.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_SVMEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _IMAGEBTN_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +class SwWrtShell; +class SwFldMgr; +class SwScriptField; + +namespace sfx2 { class FileDialogHelper; } + +// class SwJavaEditDialog ------------------------------------------------- + +class SwJavaEditDialog : public SvxStandardDialog +{ +private: + FixedText aTypeFT; + Edit aTypeED; + RadioButton aUrlRB; + RadioButton aEditRB; + PushButton aUrlPB; + Edit aUrlED; + MultiLineEdit aEditED; + FixedLine aPostItFL; + + OKButton aOKBtn; + CancelButton aCancelBtn; + ImageButton aPrevBtn; + ImageButton aNextBtn; + HelpButton aHelpBtn; + + String aText; + String aType; + + BOOL bNew; + BOOL bIsUrl; + + SwScriptField* pFld; + SwFldMgr* pMgr; + SwWrtShell* pSh; + sfx2::FileDialogHelper* pFileDlg; + Window* pOldDefDlgParent; + + DECL_LINK( OKHdl, Button* ); + DECL_LINK( PrevHdl, Button* ); + DECL_LINK( NextHdl, Button* ); + DECL_LINK( RadioButtonHdl, RadioButton* pBtn ); + DECL_LINK( InsertFileHdl, PushButton * ); + DECL_LINK( DlgClosedHdl, sfx2::FileDialogHelper * ); + + virtual void Apply(); + + void CheckTravel(); + void SetFld(); + + using Window::GetText; + using Window::GetType; + +public: + SwJavaEditDialog(Window* pParent, SwWrtShell* pWrtSh); + ~SwJavaEditDialog(); + + String GetText() { return aText; } + + String GetType() { return aType; } + + BOOL IsUrl() { return bIsUrl; } + BOOL IsNew() { return bNew; } + BOOL IsUpdate(); +}; + + +#endif + diff --git a/sw/source/ui/inc/label.hxx b/sw/source/ui/inc/label.hxx new file mode 100644 index 000000000000..0717ef2b6bd2 --- /dev/null +++ b/sw/source/ui/inc/label.hxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _LABEL_HXX +#define _LABEL_HXX + +#ifndef _SVSTDARR_HXX +#define _SVSTDARR_STRINGSDTOR +#define _SVSTDARR_USHORTS +#include <svl/svstdarr.hxx> +#endif +#include <sfx2/tabdlg.hxx> +#include <com/sun/star/frame/XModel.hpp> +#include <labelcfg.hxx> +class SwLabRec; +class SwLabRecs; +class SwLabItem; +class SwLabPrtPage; +class SwNewDBMgr; +class Printer; + +class SwLabDlg : public SfxTabDialog +{ + SwLabelConfig aLabelsCfg; + SwNewDBMgr* pNewDBMgr; + SwLabPrtPage* pPrtPage; + + SvUShorts aTypeIds; + SvStringsDtor aMakes; + + SwLabRecs* pRecs; + String aLstGroup; + String sBusinessCardDlg; + String sFormat; + String sMedium; + BOOL m_bLabel; + void _ReplaceGroup( const String &rMake ); + + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); +public: + + SwLabDlg( Window* pParent, const SfxItemSet& rSet, + SwNewDBMgr* pNewDBMgr, BOOL bLabel); + ~SwLabDlg(); + + SwLabRec* GetRecord(const String &rRecName, BOOL bCont); + void GetLabItem(SwLabItem &rItem); + + SwLabRecs &Recs() { return *pRecs; } + const SwLabRecs &Recs() const { return *pRecs; } + + SvUShorts &TypeIds() { return aTypeIds; } + const SvUShorts &TypeIds() const { return aTypeIds; } + + SvStringsDtor &Makes() { return aMakes; } + const SvStringsDtor &Makes() const { return aMakes; } + + Printer *GetPrt(); + inline void ReplaceGroup( const String &rMake ); + void UpdateGroup( const String &rMake ) {_ReplaceGroup( rMake );} + static void UpdateFieldInformation(::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel>& xModel, + const SwLabItem& rItem); + const String& GetBusinessCardStr() const {return sBusinessCardDlg;} + + SwLabelConfig& GetLabelsConfig() {return aLabelsCfg;} + +}; + +inline void SwLabDlg::ReplaceGroup( const String &rMake ) +{ + if ( rMake != aLstGroup ) + _ReplaceGroup( rMake ); +} + +#endif + diff --git a/sw/source/ui/inc/labelcfg.hxx b/sw/source/ui/inc/labelcfg.hxx new file mode 100644 index 000000000000..ab01d365bbe1 --- /dev/null +++ b/sw/source/ui/inc/labelcfg.hxx @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _LABELCFG_HXX +#define _LABELCFG_HXX + +#include <unotools/configitem.hxx> +#include "swdllapi.h" + +class SwLabRecs; +class SwLabRec; + +class SW_DLLPUBLIC SwLabelConfig : public utl::ConfigItem +{ + com::sun::star::uno::Sequence<rtl::OUString> aNodeNames; + + SW_DLLPRIVATE com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); + +public: + SwLabelConfig(); + virtual ~SwLabelConfig(); + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + + void FillLabels(const rtl::OUString& rManufacturer, SwLabRecs& rLabArr); + const com::sun::star::uno::Sequence<rtl::OUString>& + GetManufacturers() const {return aNodeNames;} + + sal_Bool HasLabel(const rtl::OUString& rManufacturer, const rtl::OUString& rType); + void SaveLabel(const rtl::OUString& rManufacturer, const rtl::OUString& rType, + const SwLabRec& rRec); +}; + +#endif + diff --git a/sw/source/ui/inc/labimg.hxx b/sw/source/ui/inc/labimg.hxx new file mode 100644 index 000000000000..cb435bd38925 --- /dev/null +++ b/sw/source/ui/inc/labimg.hxx @@ -0,0 +1,131 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _LABIMG_HXX +#define _LABIMG_HXX + +#include <svl/poolitem.hxx> +#include <unotools/configitem.hxx> +#include "swdllapi.h" + +// class SwLabItem ---------------------------------------------------------- + +class SwLabCfgItem; +class SW_DLLPUBLIC SwLabItem : public SfxPoolItem +{ + +public: + + SwLabItem(); + SwLabItem(const SwLabItem& rItem); + + SwLabItem& operator =(const SwLabItem& rItem); + + virtual int operator ==(const SfxPoolItem& rItem) const; + + virtual SfxPoolItem* Clone(SfxItemPool* = 0) const; + + rtl::OUString aLstMake; //Letzte Auswahl merken. + rtl::OUString aLstType; + rtl::OUString sDBName; // Verwendete Datenbank + + rtl::OUString aWriting; // Aufschrift + rtl::OUString aMake; // Etikettenmarke + rtl::OUString aType; // Etikettentyp + rtl::OUString aBin; // Druckerschacht + sal_Int32 lHDist; // Horizontaler Abstand (Benutzer) + sal_Int32 lVDist; // Vertikaler Abstand (Benutzer) + sal_Int32 lWidth; // Breite (Benutzer) + sal_Int32 lHeight; // Hoehe (Benutzer) + sal_Int32 lLeft; // Rand links (Benutzer) + sal_Int32 lUpper; // Rand oben (Benutzer) + sal_Int32 nCols; // Anzahl Spalten (Benutzer) + sal_Int32 nRows; // Anzahl Zeilen (Benutzer) + sal_Int32 nCol; // Spalte fuer Einzeldruck + sal_Int32 nRow; // Zeile fuer Einzeldruck + sal_Bool bAddr;// Adresse als Aufschrift? + sal_Bool bCont;// Endlospapier? + sal_Bool bPage;// Ganze Seite oder einzelnes Etikett? + sal_Bool bSynchron;// Alle Etiketten synchronisieren + + //parts of the business card + rtl::OUString aPrivFirstName; + rtl::OUString aPrivName; + rtl::OUString aPrivShortCut; + rtl::OUString aPrivFirstName2; + rtl::OUString aPrivName2; + rtl::OUString aPrivShortCut2; + rtl::OUString aPrivStreet; + rtl::OUString aPrivZip; + rtl::OUString aPrivCity; + rtl::OUString aPrivCountry; + rtl::OUString aPrivState; + rtl::OUString aPrivTitle; + rtl::OUString aPrivProfession; + rtl::OUString aPrivPhone; + rtl::OUString aPrivMobile; + rtl::OUString aPrivFax; + rtl::OUString aPrivWWW; + rtl::OUString aPrivMail; + rtl::OUString aCompCompany; + rtl::OUString aCompCompanyExt; + rtl::OUString aCompSlogan; + rtl::OUString aCompStreet; + rtl::OUString aCompZip; + rtl::OUString aCompCity; + rtl::OUString aCompCountry; + rtl::OUString aCompState; + rtl::OUString aCompPosition; + rtl::OUString aCompPhone; + rtl::OUString aCompMobile; + rtl::OUString aCompFax; + rtl::OUString aCompWWW; + rtl::OUString aCompMail; + + rtl::OUString sGlossaryGroup; + rtl::OUString sGlossaryBlockName; +}; + +// class SwLabCfgItem ------------------------------------------------------- + +class SwLabCfgItem : public utl::ConfigItem +{ + SwLabItem aItem; + sal_Bool bIsLabel; + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); +public: + SwLabCfgItem(sal_Bool bLabel); + + SwLabItem& GetItem() {return aItem;} + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); +}; + +#endif + diff --git a/sw/source/ui/inc/langhelper.hxx b/sw/source/ui/inc/langhelper.hxx new file mode 100755 index 000000000000..0d05c930284a --- /dev/null +++ b/sw/source/ui/inc/langhelper.hxx @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWLANGHELPER_HXX +#define _SWLANGHELPER_HXX + +class SwWrtShell; +class SwView; +class EditEngine; +class EditView; +class SfxItemSet; +struct ESelection; + +namespace SwLangHelper +{ + extern USHORT GetLanguageStatus(OutlinerView* pOLV,SfxItemSet& rSet); + extern bool SetLanguageStatus(OutlinerView* pOLV,SfxRequest &rReq,SwView &rView,SwWrtShell &rSh); + + extern void SetLanguage(SwWrtShell &rWrtSh, const String &rLangText, bool bIsForSelection, SfxItemSet &rCoreSet); + extern void SetLanguage(SwWrtShell &rWrtSh, EditEngine* pEditEngine,ESelection aSelection, const String &rLangText, bool bIsForSelection, SfxItemSet &rCoreSet); + extern void SetLanguage_None(SwWrtShell &rWrtSh, EditEngine* pEditEngine,ESelection aSelection, bool bIsForSelection, SfxItemSet &rCoreSet ); + extern void SetLanguage_None(SwWrtShell &rWrtSh,bool bIsForSelection, SfxItemSet &rCoreSet ); + + // document + extern void SelectCurrentPara( SwWrtShell &rWrtSh ); + // EditView + extern void SelectPara( EditView &rEditView, const ESelection &rCurSel ); + + extern String GetTextForLanguageGuessing(EditEngine* rEditEngine, ESelection aDocSelection ); + extern String GetTextForLanguageGuessing( SwWrtShell &rSh ); + + extern LanguageType GetLanguage( SfxItemSet aSet, USHORT nLangWhichId ); + extern LanguageType GetLanguage( SwWrtShell &rSh, USHORT nLangWhichId ); + + extern LanguageType GetCurrentLanguage(SfxItemSet aSet,USHORT nScriptType ); + extern LanguageType GetCurrentLanguage( SwWrtShell &rSh ); +} + +#endif diff --git a/sw/source/ui/inc/linenum.hxx b/sw/source/ui/inc/linenum.hxx new file mode 100644 index 000000000000..62da2e1925ef --- /dev/null +++ b/sw/source/ui/inc/linenum.hxx @@ -0,0 +1,110 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWLINENUM_HXX +#define _SWLINENUM_HXX + +#include <sfx2/basedlgs.hxx> +#include <sfx2/tabdlg.hxx> +#include <vcl/fixed.hxx> +#include <vcl/field.hxx> +#include <numberingtypelistbox.hxx> + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +class Window; +class SfxItemSet; +class SwView; +class SwWrtShell; + +/*-------------------------------------------------------------------- + Beschreibung: SingleTabDialog + --------------------------------------------------------------------*/ + +class SwLineNumberingDlg : public SfxSingleTabDialog +{ + SwWrtShell* pSh; + + DECL_LINK( OKHdl, Button * ); + +public: + inline SwWrtShell* GetWrtShell() const { return pSh; } + + SwLineNumberingDlg(SwView *pVw); + ~SwLineNumberingDlg(); +}; + +/*-------------------------------------------------------------------- + Beschreibung: TabPage + --------------------------------------------------------------------*/ + +class SwLineNumberingPage : public SfxTabPage +{ + CheckBox aNumberingOnCB; + FixedText aCharStyleFT; + ListBox aCharStyleLB; + FixedText aFormatFT; + SwNumberingTypeListBox aFormatLB; + FixedText aPosFT; + ListBox aPosLB; + FixedText aOffsetFT; + MetricField aOffsetMF; + FixedText aNumIntervalFT; + NumericField aNumIntervalNF; + FixedText aNumRowsFT; + FixedLine aDisplayFL; + FixedText aDivisorFT; + Edit aDivisorED; + FixedText aDivIntervalFT; + NumericField aDivIntervalNF; + FixedText aDivRowsFT; + FixedLine aDivisorFL; + CheckBox aCountEmptyLinesCB; + CheckBox aCountFrameLinesCB; + CheckBox aRestartEachPageCB; + FixedLine aCountFL; + + SwWrtShell* pSh; + + SwLineNumberingPage( Window* pParent, const SfxItemSet& rSet ); + ~SwLineNumberingPage(); + + DECL_LINK( LineOnOffHdl, CheckBox *pCB = 0 ); + DECL_LINK( ModifyHdl, Edit *pED = 0 ); + +public: + + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); +}; + +#endif + + diff --git a/sw/source/ui/inc/listsh.hxx b/sw/source/ui/inc/listsh.hxx new file mode 100644 index 000000000000..61fea6ece214 --- /dev/null +++ b/sw/source/ui/inc/listsh.hxx @@ -0,0 +1,44 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWLISTSH_HXX +#define _SWLISTSH_HXX + +#include "basesh.hxx" + +class SwListShell: public SwBaseShell +{ +public: + SFX_DECL_INTERFACE(SW_LISTSHELL) + TYPEINFO(); + + SwListShell(SwView &rView); + + void Execute(SfxRequest &); + void GetState(SfxItemSet &); +}; + +#endif diff --git a/sw/source/ui/inc/macassgn.hxx b/sw/source/ui/inc/macassgn.hxx new file mode 100644 index 000000000000..6093a2a8cb51 --- /dev/null +++ b/sw/source/ui/inc/macassgn.hxx @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _MACASSGN_HXX +#define _MACASSGN_HXX + +#include <sfx2/evntconf.hxx> + +class SwWrtShell; +class SvxMacroItem; + +enum DlgEventType +{ + MACASSGN_TEXTBAUST, + MACASSGN_GRAPHIC, + MACASSGN_OLE, + MACASSGN_FRMURL, + MACASSGN_INETFMT, + MACASSGN_ALLFRM +}; + +class SwMacroAssignDlg +{ +public: + static SfxEventNamesItem AddEvents( DlgEventType eType ); + static BOOL INetFmtDlg( Window* pParent, SwWrtShell& rSh, + SvxMacroItem*& rpINetItem ); +}; + +#endif + diff --git a/sw/source/ui/inc/mailconfigpage.hxx b/sw/source/ui/inc/mailconfigpage.hxx new file mode 100644 index 000000000000..e2717ebb17fa --- /dev/null +++ b/sw/source/ui/inc/mailconfigpage.hxx @@ -0,0 +1,110 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _MAILCONFIGPAGE_HXX +#define _MAILCONFIGPAGE_HXX + +#include <sfx2/tabdlg.hxx> +#ifndef _BUTTON_HXX +#include <vcl/button.hxx> +#endif +#ifndef _LSTBOX_HXX +#include <vcl/lstbox.hxx> +#endif +#ifndef _FIELD_HXX +#include <vcl/field.hxx> +#endif +#ifndef _FIXED_HXX +#include <vcl/fixed.hxx> +#endif +#include <sfx2/basedlgs.hxx> + +class SwTestAccountSettingsDialog; +class SwMailMergeConfigItem; +/*-- 05.05.2004 16:45:45--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SwMailConfigPage : public SfxTabPage +{ + friend class SwTestAccountSettingsDialog; + + FixedLine m_aIdentityFL; + + FixedText m_aDisplayNameFT; + Edit m_aDisplayNameED; + FixedText m_aAddressFT; + Edit m_aAddressED; + + CheckBox m_aReplyToCB; + FixedText m_aReplyToFT; + Edit m_aReplyToED; + + FixedLine m_aSMTPFL; + + FixedText m_aServerFT; + Edit m_aServerED; + FixedText m_aPortFT; + NumericField m_aPortNF; + + CheckBox m_aSecureCB; + + PushButton m_aServerAuthenticationPB; + + FixedLine m_aSeparatorFL; + PushButton m_aTestPB; + + SwMailMergeConfigItem* m_pConfigItem; + + DECL_LINK(ReplyToHdl, CheckBox*); + DECL_LINK(AuthenticationHdl, PushButton*); + DECL_LINK(TestHdl, PushButton*); + + +public: + SwMailConfigPage( Window* pParent, const SfxItemSet& rSet ); + ~SwMailConfigPage(); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); + +}; + +/*-- 18.08.2004 12:02:02--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SwMailConfigDlg : public SfxSingleTabDialog +{ +public: + + SwMailConfigDlg( Window* pParent, SfxItemSet& rSet ); + ~SwMailConfigDlg(); +}; + +#endif + diff --git a/sw/source/ui/inc/maildispatcher.hxx b/sw/source/ui/inc/maildispatcher.hxx new file mode 100644 index 000000000000..bc8afb829fdf --- /dev/null +++ b/sw/source/ui/inc/maildispatcher.hxx @@ -0,0 +1,168 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef INCLUDED_MAILDISPATCHER_HXX +#define INCLUDED_MAILDISPATCHER_HXX + +//#ifndef _COM_SUN_STAR_MAIL_XMAILSERVER_HPP_ +//#include "com/sun/star/mail/XMailServer.hpp" +//#endif +#include "com/sun/star/mail/XSmtpService.hpp" +#include "com/sun/star/mail/XMailMessage.hpp" +#include <osl/thread.hxx> +#include <osl/conditn.hxx> +#include <salhelper/refobj.hxx> + +#include <list> + +class IMailDispatcherListener; + +/** + A MailDispatcher should be used for sending a bunch a mail messages + asynchronously. Usually a client enqueues a number of mail messages + and then calls start to begin sending them. An instance of this class + must not be shared among different client threads. Instead each client + thread should create an own instance of this class. +*/ +class MailDispatcher : public ::salhelper::ReferenceObject, private ::osl::Thread +{ +public: + // bringing operator new/delete into scope + using osl::Thread::operator new; + using osl::Thread::operator delete; + using osl::Thread::join; + +public: + + /** + @param xSmtpService + [in] a reference to a mail server. A user must be + connected to the mail server otherwise errors occur + during the delivery of mail messages. + + @throws ::com::sun::star::uno::RuntimeException + on errors during construction of an instance of this class. + */ + MailDispatcher(::com::sun::star::uno::Reference< ::com::sun::star::mail::XSmtpService> xMailService); + + /** + Shutdown the mail dispatcher. Every mail messages + not yet sent will be discarded. + */ + virtual ~MailDispatcher(); + + /** + Enqueue a mail message for delivery. A client must + start the mail dispatcher in order to send the + enqueued mail messages. + + @param xMailMessage + [in] a mail message that should be send. + */ + void enqueueMailMessage(::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage> xMailMessage); + /** + Dequeues a mail message. + This enables the caller to remove attachments when sending mails is to be cancelled. + */ + ::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage> dequeueMailMessage(); + + /** + Start sending mail messages asynchronously. A client may register + a listener for mail dispatcher events. For every mail message sent + the notification will be sent. While handling such notification a + client may enqueue new mail messages. If there are no more mail + messages to send an respective notification is sent and the mail + dispatcher waits for more mail messages. + + @precond not isStarted() + */ + void start(); + + /** + Stop sending mail messages. + + @precond isStarted() + */ + void stop(); + + /** + Request shutdown of the mail dispatcher thread. + NOTE: You must call this method before you release + your last reference to this class otherwise the + mail dispatcher thread will never end. + */ + void shutdown(); + + /** + Check whether the mail dispatcher is started or not. + + @return + <TRUE/> if the sending thread is running. + */ + bool isStarted() const; + + /** returns if the thread is still running + */ + using osl::Thread::isRunning; + + /** returns if shutdown has already been called + */ + bool isShutdownRequested() const + { return shutdown_requested_; } + /** + Register a listener for mail dispatcher events. + */ + void addListener(::rtl::Reference<IMailDispatcherListener> listener); + + /** + Unregister a listener for mail dispatcher events + */ + void removeListener(::rtl::Reference<IMailDispatcherListener> listener); + +protected: + virtual void SAL_CALL run(); + virtual void SAL_CALL onTerminated(); + +private: + std::list< ::rtl::Reference<IMailDispatcherListener> > cloneListener(); + void sendMailMessageNotifyListener(::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage> message); + +private: + ::com::sun::star::uno::Reference< ::com::sun::star::mail::XSmtpService> mailserver_; + ::std::list< ::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage > > messages_; + ::std::list< ::rtl::Reference<IMailDispatcherListener> > listeners_; + ::osl::Mutex message_container_mutex_; + ::osl::Mutex listener_container_mutex_; + ::osl::Mutex thread_status_mutex_; + ::osl::Condition mail_dispatcher_active_; + ::osl::Condition wakening_call_; + ::rtl::Reference<MailDispatcher> m_xSelfReference; + bool run_; + bool shutdown_requested_; +}; + +#endif // INCLUDED_MAILDISPATCHER_HXX diff --git a/sw/source/ui/inc/mailmergechildwindow.hxx b/sw/source/ui/inc/mailmergechildwindow.hxx new file mode 100644 index 000000000000..21afff7aa8bb --- /dev/null +++ b/sw/source/ui/inc/mailmergechildwindow.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWMAILMERGECHILDWINDOW_HXX +#define _SWMAILMERGECHILDWINDOW_HXX +#include <sfx2/childwin.hxx> +#include <sfx2/basedlgs.hxx> +#include <vcl/toolbox.hxx> +#include "swdllapi.h" + +/*-- 25.05.2004 15:25:56--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SwMailMergeChildWin : public SfxFloatingWindow +{ + ToolBox m_aBackTB; + + DECL_LINK( BackHdl, ToolBox* ); + +public: + SwMailMergeChildWin(SfxBindings*, SfxChildWindow*, Window *pParent); + ~SwMailMergeChildWin(); + + virtual void FillInfo(SfxChildWinInfo&) const; +}; + +/*-- 25.05.2004 15:25:56--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SwSendMailDialog; +class SwMailMergeChildWindow : public SfxChildWindow +{ +public: + SwMailMergeChildWindow( Window* , + USHORT nId, + SfxBindings*, + SfxChildWinInfo* ); + + SFX_DECL_CHILDWINDOW( SwMailMergeChildWindow ); +}; + +#endif + diff --git a/sw/source/ui/inc/mailmergehelper.hxx b/sw/source/ui/inc/mailmergehelper.hxx new file mode 100644 index 000000000000..954ce643d8e9 --- /dev/null +++ b/sw/source/ui/inc/mailmergehelper.hxx @@ -0,0 +1,349 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _MAILMERGEHELPER_HXX +#define _MAILMERGEHELPER_HXX + +#include <svtools/stdctrl.hxx> +#include <unotools/configitem.hxx> +#include <com/sun/star/uno/Sequence.h> +#include "com/sun/star/mail/XAuthenticator.hpp" +#include "com/sun/star/mail/XConnectionListener.hpp" +#include "com/sun/star/uno/XCurrentContext.hpp" +#include "com/sun/star/mail/XMailMessage.hpp" +#include "com/sun/star/datatransfer/XTransferable.hpp" +#include <com/sun/star/beans/XPropertySet.hpp> +#include <cppuhelper/implbase1.hxx> +#include <cppuhelper/compbase1.hxx> +#include <cppuhelper/compbase2.hxx> +#include <vcl/scrbar.hxx> +#include "swdllapi.h" + + +class SwMailMergeConfigItem; +namespace com{ namespace sun{ namespace star{ + namespace uno{ + class XComponentContext; + } + namespace lang{ + class XMultiServiceFactory; + } + namespace mail{ + class XSmtpService; + class XMailService; + } +}}} +/*-- 14.06.2004 12:27:42--------------------------------------------------- + + -----------------------------------------------------------------------*/ +namespace SwMailMergeHelper +{ + SW_DLLPUBLIC String CallSaveAsDialog(String& rFilter); + SW_DLLPUBLIC bool CheckMailAddress( const ::rtl::OUString& rMailAddress ); + SW_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::mail::XSmtpService > + ConnectToSmtpServer( SwMailMergeConfigItem& rConfigItem, + com::sun::star::uno::Reference< com::sun::star::mail::XMailService >& xInMailService, + const String& rInMailServerPassword, + const String& rOutMailServerPassword, + Window* pDialogParentWindow = 0 ); +} +/* -----------------06.04.2004 10:29----------------- + + --------------------------------------------------*/ +class SW_DLLPUBLIC SwBoldFixedInfo : public FixedInfo +{ +public: + SwBoldFixedInfo(Window* pParent, const ResId& rResId); + ~SwBoldFixedInfo(); +}; +struct SwAddressPreview_Impl; +namespace com{namespace sun{namespace star{ + namespace container{ + class XNameAccess; + } +}}} + +/*-- 27.04.2004 13:20:00--------------------------------------------------- + Preview window used to show the possible selection of address blocks + and also the resulting address filled with database data + -----------------------------------------------------------------------*/ +class SW_DLLPUBLIC SwAddressPreview : public Window +{ + ScrollBar aVScrollBar; + SwAddressPreview_Impl* pImpl; + Link m_aSelectHdl; + + void DrawText_Impl( const ::rtl::OUString& rAddress, const Point& rTopLeft, const Size& rSize, bool bIsSelected); + + virtual void Paint(const Rectangle&); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void KeyInput( const KeyEvent& rKEvt ); + virtual void StateChanged( StateChangedType nStateChange ); + void UpdateScrollBar(); + + DECL_LINK(ScrollHdl, ScrollBar*); + +public: + SwAddressPreview(Window* pParent, const ResId rResId); + ~SwAddressPreview(); + + /** The address string is a list of address elements separated by spaces + and breaks. The addresses fit into the given layout. If more addresses then + rows/columns should be used a scrollbar will be added. + + AddAddress appends the new address to the already added ones. + Initially the first added address will be selected + */ + void AddAddress(const ::rtl::OUString& rAddress); + // for preview mode - replaces the currently used address by the given one + void SetAddress(const ::rtl::OUString& rAddress); + // removes all addresses + void Clear(); + + // returns the selected address + sal_uInt16 GetSelectedAddress() const; + void SelectAddress(sal_uInt16 nSelect); + void ReplaceSelectedAddress(const ::rtl::OUString&); + void RemoveSelectedAddress(); + + // set the number of rows and columns of addresses + void SetLayout(sal_uInt16 nRows, sal_uInt16 nColumns); + void EnableScrollBar(bool bEnable = true); + + // fill the actual data into a string (address block or greeting) + static String FillData( + const ::rtl::OUString& rAddress, + SwMailMergeConfigItem& rConfigItem, + const ::com::sun::star::uno::Sequence< ::rtl::OUString>* pAssignments = 0); + + void SetSelectHdl (const Link& rLink) {m_aSelectHdl = rLink;} +}; + +/*-- 11.05.2004 15:39:59--------------------------------------------------- + iterate over an address block or a greeting line + the iterator returns the parts either as pure string + or as column + -----------------------------------------------------------------------*/ +struct SwMergeAddressItem +{ + String sText; + bool bIsColumn; + bool bIsReturn; + SwMergeAddressItem() : + bIsColumn(false), + bIsReturn(false) {} +}; +class SW_DLLPUBLIC SwAddressIterator +{ + String sAddress; +public: + SwAddressIterator(const String& rAddress) : + sAddress(rAddress){} + + SwMergeAddressItem Next(); + bool HasMore() const{return sAddress.Len() > 0;} +}; + +/*-- 21.05.2004 10:31:15--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SW_DLLPUBLIC SwAuthenticator : + public cppu::WeakImplHelper1< ::com::sun::star::mail::XAuthenticator> +{ + ::rtl::OUString m_aUserName; + ::rtl::OUString m_aPassword; + Window* m_pParentWindow; +public: + SwAuthenticator() : m_pParentWindow(0) {} + SwAuthenticator(const ::rtl::OUString& username, const ::rtl::OUString& password, Window* pParent) : + m_aUserName(username), + m_aPassword(password), + m_pParentWindow( pParent ) + {} + ~SwAuthenticator(); + + virtual ::rtl::OUString SAL_CALL getUserName( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getPassword( ) throw (::com::sun::star::uno::RuntimeException); + +}; +/*-- 25.08.2004 12:48:47--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SW_DLLPUBLIC SwConnectionContext : + public cppu::WeakImplHelper1< ::com::sun::star::uno::XCurrentContext > +{ + ::rtl::OUString m_sMailServer; + sal_Int16 m_nPort; + ::rtl::OUString m_sConnectionType; + +public: + SwConnectionContext(const ::rtl::OUString& rMailServer, sal_Int16 nPort, const ::rtl::OUString& rConnectionType); + ~SwConnectionContext(); + + virtual ::com::sun::star::uno::Any SAL_CALL getValueByName( const ::rtl::OUString& Name ) + throw (::com::sun::star::uno::RuntimeException); +}; +/*-- 21.05.2004 10:39:20--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SwMutexBase +{ +public: + osl::Mutex m_aMutex; +}; +/*-- 21.05.2004 10:39:20--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SW_DLLPUBLIC SwConnectionListener : + public SwMutexBase, + public cppu::WeakComponentImplHelper1< ::com::sun::star::mail::XConnectionListener > +{ + using cppu::WeakComponentImplHelperBase::disposing; + +public: + SwConnectionListener() : + cppu::WeakComponentImplHelper1< ::com::sun::star::mail::XConnectionListener>(m_aMutex) + {} + ~SwConnectionListener(); + + virtual void SAL_CALL connected(const ::com::sun::star::lang::EventObject& aEvent) + throw (::com::sun::star::uno::RuntimeException); + + virtual void SAL_CALL disconnected(const ::com::sun::star::lang::EventObject& aEvent) + throw (::com::sun::star::uno::RuntimeException); + + virtual void SAL_CALL disposing(const com::sun::star::lang::EventObject& aEvent) + throw(com::sun::star::uno::RuntimeException); +}; + +/*-- 13.07.2004 09:02:12--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SwMailTransferable : + public SwMutexBase, + public cppu::WeakComponentImplHelper2 + < + ::com::sun::star::datatransfer::XTransferable, + ::com::sun::star::beans::XPropertySet + > +{ + rtl::OUString m_aMimeType; + rtl::OUString m_sBody; + rtl::OUString m_aURL; + rtl::OUString m_aName; + bool m_bIsBody; + + public: + SwMailTransferable(const rtl::OUString& rURL, const rtl::OUString& rName, const rtl::OUString& rMimeType); + SwMailTransferable(const rtl::OUString& rBody, const rtl::OUString& rMimeType); + ~SwMailTransferable(); + virtual ::com::sun::star::uno::Any SAL_CALL + getTransferData( const ::com::sun::star::datatransfer::DataFlavor& aFlavor ) + throw (::com::sun::star::datatransfer::UnsupportedFlavorException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor > SAL_CALL + getTransferDataFlavors( ) + throw (::com::sun::star::uno::RuntimeException) ; + virtual ::sal_Bool SAL_CALL + isDataFlavorSupported( const ::com::sun::star::datatransfer::DataFlavor& aFlavor ) + throw (::com::sun::star::uno::RuntimeException); + + //XPropertySet + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + +}; + +/*-- 22.06.2004 16:38:34--------------------------------------------------- + + -----------------------------------------------------------------------*/ +class SwMailMessage : + public SwMutexBase, + public cppu::WeakComponentImplHelper1< ::com::sun::star::mail::XMailMessage > +{ + ::rtl::OUString m_sSenderName; + ::rtl::OUString m_sSenderAddress; + ::rtl::OUString m_sReplyToAddress; + ::rtl::OUString m_sSubject; + + ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable> m_xBody; +// ::com::sun::star::mail::MailMessageBody m_aBody; + + ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aRecipients; + ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aCcRecipients; + ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aBccRecipients; +// ::com::sun::star::uno::Sequence< ::com::sun::star::mail::MailAttachmentDescriptor > m_aAttachments; + ::com::sun::star::uno::Sequence< ::com::sun::star::mail::MailAttachment > m_aAttachments; +public: + SwMailMessage(); + ~SwMailMessage(); + + // Attributes + virtual ::rtl::OUString SAL_CALL getSenderName() throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getSenderAddress() throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getReplyToAddress() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setReplyToAddress( const ::rtl::OUString& _replytoaddress ) throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getSubject() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setSubject( const ::rtl::OUString& _subject ) throw (::com::sun::star::uno::RuntimeException); + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > SAL_CALL + getBody() + throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setBody( const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& _body ) + throw (::com::sun::star::uno::RuntimeException); + + // Methods + virtual void SAL_CALL addRecipient( const ::rtl::OUString& sRecipientAddress ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addCcRecipient( const ::rtl::OUString& sRecipientAddress ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addBccRecipient( const ::rtl::OUString& sRecipientAddress ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL + getRecipients( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL + getCcRecipients( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL + getBccRecipients( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addAttachment( const ::com::sun::star::mail::MailAttachment& aMailAttachment ) + throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::mail::MailAttachment > SAL_CALL + getAttachments( ) throw (::com::sun::star::uno::RuntimeException); + void SetSenderName(const ::rtl::OUString& rSenderName) + {m_sSenderName = rSenderName;} + void SetSenderAddress(const ::rtl::OUString& rSenderAddress) + {m_sSenderAddress = rSenderAddress;} +}; +/*-- 21.05.2004 10:17:22--------------------------------------------------- + + -----------------------------------------------------------------------*/ +SW_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext> + getCurrentCmpCtx( + ::com::sun::star::uno::Reference< + ::com::sun::star::lang::XMultiServiceFactory> rSrvMgr); +#endif + diff --git a/sw/source/ui/inc/mailmergewizard.hxx b/sw/source/ui/inc/mailmergewizard.hxx new file mode 100644 index 000000000000..7a582693b013 --- /dev/null +++ b/sw/source/ui/inc/mailmergewizard.hxx @@ -0,0 +1,103 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _MAILMERGEWIZARD_HXX +#define _MAILMERGEWIZARD_HXX + +#include <svtools/roadmapwizard.hxx> + +class SwView; +class SwMailMergeConfigItem; + +#define MM_DOCUMENTSELECTPAGE 0 +#define MM_OUTPUTTYPETPAGE 1 +#define MM_ADDRESSBLOCKPAGE 2 +#define MM_GREETINGSPAGE 3 +#define MM_LAYOUTPAGE 4 +#define MM_PREPAREMERGEPAGE 5 +#define MM_MERGEPAGE 6 +#define MM_OUTPUTPAGE 7 + +class SwMailMergeWizard : public ::svt::RoadmapWizard +{ + SwView* m_pSwView; + String sDocumentURL; + bool m_bDocumentLoad; + + SwMailMergeConfigItem& m_rConfigItem; + + String m_sStarting; + String m_sDocumentType; + String m_sAddressBlock; + String m_sAddressList; + String m_sGreetingsLine; + String m_sLayout; + String m_sPrepareMerge; + String m_sMerge; + String m_sOutput; + String m_sFinish; + + sal_uInt16 m_nRestartPage; + + using svt::OWizardMachine::skipUntil; + +protected: + virtual svt::OWizardPage* createPage(WizardState _nState); + virtual void enterState( WizardState _nState ); + +// roadmap feature ?? +// virtual sal_Bool prepareLeaveCurrentState( CommitPageReason _eReason ); + virtual String getStateDisplayName( WizardState _nState ) const; + +public: + SwMailMergeWizard(SwView& rView, SwMailMergeConfigItem& rConfigItem); + ~SwMailMergeWizard(); + + SwView* GetSwView() {return m_pSwView;} + SwMailMergeConfigItem& GetConfigItem() { return m_rConfigItem;} + + void SetReloadDocument(const String& rURL){sDocumentURL = rURL;} + const String& GetReloadDocument() const {return sDocumentURL;} + + //next step requires loading of document + void SetDocumentLoad(bool bSet) {m_bDocumentLoad = bSet;} + + void UpdateRoadmap(); + void CreateTargetDocument(); + + sal_uInt16 GetRestartPage() const {return m_nRestartPage;} + void SetRestartPage(sal_uInt16 nPage) { m_nRestartPage = nPage;} + + sal_Bool skipUntil( sal_uInt16 nPage) + {return ::svt::RoadmapWizard::skipUntil(WizardState(nPage));} + + void updateRoadmapItemLabel( WizardState _nState ); + + virtual short Execute(); + virtual void StartExecuteModal( const Link& rEndDialogHdl ); +}; +#endif + diff --git a/sw/source/ui/inc/mailmrge.hxx b/sw/source/ui/inc/mailmrge.hxx new file mode 100644 index 000000000000..e1f9f355c96a --- /dev/null +++ b/sw/source/ui/inc/mailmrge.hxx @@ -0,0 +1,204 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _MAILMRGE_HXX +#define _MAILMRGE_HXX + +#include <svx/stddlg.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#include <svtools/stdctrl.hxx> + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#include <com/sun/star/uno/Sequence.h> +#include <com/sun/star/uno/Reference.h> + +class SwWrtShell; +class SwModuleOptions; +class SwXSelChgLstnr_Impl; +struct SwMailMergeDlg_Impl; +namespace com{namespace sun{namespace star{ + namespace frame{ + class XFrame; + } + namespace sdbc{ + class XResultSet; + class XConnection; + } +}}} + +class SwMailMergeDlg : public SvxStandardDialog +{ + friend class SwXSelChgLstnr_Impl; + + Window* pBeamerWin; + + RadioButton aAllRB; + RadioButton aMarkedRB; + RadioButton aFromRB; + NumericField aFromNF; + FixedText aBisFT; + NumericField aToNF; + FixedLine aRecordFL; + + FixedLine aSeparatorFL; + + RadioButton aPrinterRB; + RadioButton aMailingRB; + RadioButton aFileRB; + + CheckBox aSingleJobsCB; + + FixedLine aSaveMergedDocumentFL; + RadioButton aSaveSingleDocRB; + RadioButton aSaveIndividualRB; + + CheckBox aGenerateFromDataBaseCB; + + FixedText aColumnFT; + ListBox aColumnLB; + FixedText aPathFT; + Edit aPathED; + PushButton aPathPB; + FixedText aFilterFT; + ListBox aFilterLB; + + ListBox aAddressFldLB; + FixedText aSubjectFT; + Edit aSubjectED; + FixedText aFormatFT; + FixedText aAttachFT; + Edit aAttachED; + PushButton aAttachPB; + CheckBox aFormatHtmlCB; + CheckBox aFormatRtfCB; + CheckBox aFormatSwCB; + FixedLine aDestFL; + + FixedLine aBottomSeparatorFL; + + OKButton aOkBTN; + CancelButton aCancelBTN; + HelpButton aHelpBTN; + + SwMailMergeDlg_Impl* pImpl; + + SwWrtShell& rSh; + SwModuleOptions* pModOpt; + const String& rDBName; + const String& rTableName; + + USHORT nMergeType; + ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > m_aSelection; + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xFrame; + + Size m_aDialogSize; + ::rtl::OUString m_sSaveFilter; + + + DECL_LINK( ButtonHdl, Button* pBtn ); + DECL_LINK( InsertPathHdl, PushButton * ); + DECL_LINK( AttachFileHdl, PushButton * ); + DECL_LINK( OutputTypeHdl, RadioButton* pBtn ); + DECL_LINK( FilenameHdl, CheckBox* pBtn ); + DECL_LINK( ModifyHdl, NumericField* pLB ); + DECL_LINK( SaveTypeHdl, RadioButton* pBtn ); + + virtual void Apply(); + virtual void Resize(); + bool ExecQryShell(); + +public: + SwMailMergeDlg(Window* pParent, SwWrtShell& rSh, + const String& rSourceName, + const String& rTblName, + sal_Int32 nCommandType, + const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>& xConnection, + ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >* pSelection = 0); + ~SwMailMergeDlg(); + + inline USHORT GetMergeType() { return nMergeType; } + const ::rtl::OUString& GetSaveFilter() const {return m_sSaveFilter;} + inline const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > GetSelection() const { return m_aSelection; } + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet> GetResultSet() const; + +}; +/* -----------------27.11.2002 12:05----------------- + * + * --------------------------------------------------*/ +class SwMailMergeCreateFromDlg : public ModalDialog +{ + FixedLine aCreateFromFL; + RadioButton aThisDocRB; + RadioButton aUseTemplateRB; + + OKButton aOK; + CancelButton aCancel; + HelpButton aHelp; +public: + SwMailMergeCreateFromDlg(Window* pParent); + ~SwMailMergeCreateFromDlg(); + + BOOL IsThisDocument() const {return aThisDocRB.IsChecked();} +}; +/* -----------------04.02.2003 13:41----------------- + * + * --------------------------------------------------*/ +class SwMailMergeFieldConnectionsDlg : public ModalDialog +{ + FixedLine aConnectionsFL; + RadioButton aUseExistingRB; + RadioButton aCreateNewRB; + + FixedInfo aInfoFI; + + OKButton aOK; + CancelButton aCancel; + HelpButton aHelp; +public: + SwMailMergeFieldConnectionsDlg(Window* pParent); + ~SwMailMergeFieldConnectionsDlg(); + + BOOL IsUseExistingConnections() const {return aUseExistingRB.IsChecked();} +}; + +#endif + diff --git a/sw/source/ui/inc/makefile.mk b/sw/source/ui/inc/makefile.mk new file mode 100644 index 000000000000..cb9b968dcc06 --- /dev/null +++ b/sw/source/ui/inc/makefile.mk @@ -0,0 +1,42 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/..$/.. + +PRJNAME=sw +TARGET=uiinc + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +LOCALIZE_ME=swmn_tmpl.hrc toolbox_tmpl.hrc + +.INCLUDE : target.mk + diff --git a/sw/source/ui/inc/mediash.hxx b/sw/source/ui/inc/mediash.hxx new file mode 100644 index 000000000000..035c03656119 --- /dev/null +++ b/sw/source/ui/inc/mediash.hxx @@ -0,0 +1,43 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWMEDIASH_HXX +#define _SWMEDIASH_HXX + +#include "frmsh.hxx" + +class SwMediaShell: public SwBaseShell +{ +public: + SFX_DECL_INTERFACE(SW_MEDIASHELL) + + void ExecMedia(SfxRequest &); + void GetMediaState(SfxItemSet &); + + SwMediaShell(SwView &rView); +}; + +#endif diff --git a/sw/source/ui/inc/mergetbl.hxx b/sw/source/ui/inc/mergetbl.hxx new file mode 100644 index 000000000000..44916f5d3b1d --- /dev/null +++ b/sw/source/ui/inc/mergetbl.hxx @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _MERGETBL_HXX +#define _MERGETBL_HXX + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#include <svx/stddlg.hxx> + + +class SwMergeTblDlg : public SvxStandardDialog +{ + OKButton aOKPB; + CancelButton aCancelPB; + HelpButton aHelpPB; + FixedLine aMergeFL; + RadioButton aMergePrevRB; + RadioButton aMergeNextRB; + + BOOL& rMergePrev; +protected: + virtual void Apply(); + +public: + SwMergeTblDlg( Window *pParent, BOOL& rWithPrev ); +}; + +#endif + + diff --git a/sw/source/ui/inc/misc.hrc b/sw/source/ui/inc/misc.hrc new file mode 100644 index 000000000000..f7c7cfcde9a0 --- /dev/null +++ b/sw/source/ui/inc/misc.hrc @@ -0,0 +1,106 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _MISC_HRC +#define _MISC_HRC + +#include "rcid.hrc" + +#define DLG_QUERY_DELETE (RC_MISC_BEGIN + 2) + +#define DLG_MASTERDOC_PAGE (RC_MISC_BEGIN + 3) +#define DLG_QUERY_ADD (RC_MISC_BEGIN + 4) + +#define STR_GLOSSARY_BIB_DLG (RC_MISC_BEGIN + 5) +#define STR_DOCUMENT_BIB_DLG (RC_MISC_BEGIN + 6) + +#define WIN_GLOBAL_DOC (RC_MISC_BEGIN + 7) +#define DLG_GLOBAL_DOC_OPTION (RC_MISC_BEGIN + 8) +#define DLG_NUMBERING (RC_MISC_BEGIN + 9) +#define DLG_ZOOM (RC_MISC_BEGIN + 10) +#define DLG_GLOSSARY (RC_MISC_BEGIN + 11) +#define DLG_INS_FOOTNOTE (RC_MISC_BEGIN + 12) +#define DLG_DOC_FOOTNOTE (RC_MISC_BEGIN + 13) +#define DLG_PG_FOOTNOTE (RC_MISC_BEGIN + 14) +#define DLG_NUMBERING_OUTLINE (RC_MISC_BEGIN + 15) +#define DLG_BIB_BASE (RC_MISC_BEGIN + 16) +#define DLG_INSERT_BOOKMARK (RC_MISC_BEGIN + 17) +#define DLG_NUM_NAMES (RC_MISC_BEGIN + 18) +#define DLG_SORTING (RC_MISC_BEGIN + 19) +#define DLG_CHARMAP (RC_MISC_BEGIN + 20) +#define DLG_AUTOCORR (RC_MISC_BEGIN + 23) +#define DLG_AUTOFMT_OPT (RC_MISC_BEGIN + 24) +#define DLG_RENAME_GLOS (RC_MISC_BEGIN + 25) +#define DLG_AUTOFMT_TAB (RC_MISC_BEGIN + 26) +#define DLG_PRCNT_SET (RC_MISC_BEGIN + 27) +#define DLG_INSERT_RULER (RC_MISC_BEGIN + 28) +#define DLG_REDLINE_ACCEPT (RC_MISC_BEGIN + 29) + +#define DLG_TAB_OUTLINE (RC_MISC_BEGIN + 31) +#define DLG_MOD_REDLINE_ACCEPT (RC_MISC_BEGIN + 32) + + +#define MSG_DOUBLE_SHORTNAME (RC_MISC_BEGIN + 30) +#define MSG_QUERY_DELETE (RC_MISC_BEGIN + 31) +#define STR_QUERY_DELETE_GROUP1 (RC_MISC_BEGIN + 32) +#define STR_QUERY_DELETE_GROUP2 (RC_MISC_BEGIN + 33) +#define MSG_NO_GLOSSARIES (RC_MISC_BEGIN + 34) + +#define MSG_BLOCK_CREATE_ERR (RC_MISC_BEGIN + 40) +#define MSG_BLOCK_DELETE_ERR (RC_MISC_BEGIN + 41) +#define MSG_SRTERR (RC_MISC_BEGIN + 42) + +#define STR_GLOSSARY (RC_MISC_BEGIN + 43) +#define STR_CHANGE_START (RC_MISC_BEGIN + 44) +#define STR_CHANGE_END (RC_MISC_BEGIN + 45) +#define STR_SAVE_GLOSSARY (RC_MISC_BEGIN + 46) + +#define STR_FULLNUMS_START (RC_MISC_BEGIN + 47) +#define STR_FULLNUMS_1 (STR_FULLNUMS_START ) +#define STR_FULLNUMS_2 (STR_FULLNUMS_START + 1) +#define STR_FULLNUMS_3 (STR_FULLNUMS_START + 2) +#define STR_FULLNUMS_4 (STR_FULLNUMS_START + 3) +#define STR_FULLNUMS_5 (STR_FULLNUMS_START + 4) +#define STR_FULLNUMS_6 (STR_FULLNUMS_START + 5) +#define STR_FULLNUMS_7 (STR_FULLNUMS_START + 6) +#define STR_FULLNUMS_8 (STR_FULLNUMS_START + 7) + +#define STR_BULLET_THEME (RC_MISC_BEGIN + 55) +#define MSG_NO_BULLETS (RC_MISC_BEGIN + 56) + +#define STR_NUMRULE_UNKNOWN (RC_MISC_BEGIN + 60) +#define MN_REDLINE_POPUP (RC_MISC_BEGIN + 61) +#define STR_REMOVE_WARNING (RC_MISC_BEGIN + 62) +#define STRRES_NUMTYPES (RC_MISC_BEGIN + 63) + +#define MISC_ACT_END STRRES_NUMTYPES + +#if MISC_ACT_END > RC_MISC_END +#error Resource-Id Ueberlauf in #file, #line +#endif + +#endif // _MISC_HRC diff --git a/sw/source/ui/inc/mmconfigitem.hxx b/sw/source/ui/inc/mmconfigitem.hxx new file mode 100644 index 000000000000..33454896627d --- /dev/null +++ b/sw/source/ui/inc/mmconfigitem.hxx @@ -0,0 +1,279 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _MMCONFIGITEM_HXX +#define _MMCONFIGITEM_HXX + +#include <com/sun/star/uno/Sequence.hxx> +#include <com/sun/star/uno/Reference.hxx> +#include <tools/resary.hxx> +#include <swdbdata.hxx> +#include "swdllapi.h" +#include "sharedconnection.hxx" + +namespace com{namespace sun{namespace star{ + namespace sdbc{ + class XDataSource; + class XConnection; + class XResultSet; + } + namespace sdbcx{ + class XColumnsSupplier; + } +}}} +class SwMailMergeConfigItem_Impl; +class SwView; + +/*-- 06.04.2004 10:43:35--------------------------------------------------- + + -----------------------------------------------------------------------*/ +struct SwDocMergeInfo +{ + long nStartPageInTarget; + long nEndPageInTarget; + long nDBRow; +}; +class SW_DLLPUBLIC SwMailMergeConfigItem +{ +// com::sun::star::uno::Sequence< ::rtl::OUString> m_aSavedDocuments; + SwMailMergeConfigItem_Impl* m_pImpl; + //session information - not stored in configuration + bool m_bAddressInserted; + bool m_bMergeDone; + bool m_bGreetingInserted; + sal_Int32 m_nGreetingMoves; + ::rtl::OUString m_rAddressBlockFrame; + ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any> m_aSelection; + + USHORT m_nStartPrint; + USHORT m_nEndPrint; + + ::rtl::OUString m_sSelectedPrinter; + + SwView* m_pSourceView; + SwView* m_pTargetView; +public: + SwMailMergeConfigItem(); + ~SwMailMergeConfigItem(); + + enum Gender + { + FEMALE, + MALE, + NEUTRAL + }; + + void Commit(); + + const ResStringArray& GetDefaultAddressHeaders() const; + + void SetCurrentConnection( + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> xSource, + SharedConnection xConnection, + ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XColumnsSupplier> xColumnsSupplier, + const SwDBData& rDBData); + + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> + GetSource(); + + SharedConnection GetConnection(); + + ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XColumnsSupplier> + GetColumnsSupplier(); + + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet> + GetResultSet() const; + + void DisposeResultSet(); + + ::rtl::OUString& GetFilter() const; + void SetFilter(::rtl::OUString&); + + ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any> + GetSelection()const; + void SetSelection(::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > rSelection); + + void SetCurrentDBData( const SwDBData& rDBData); + const SwDBData& GetCurrentDBData() const; + + // move absolute, nTarget == -1 -> goto last record + sal_Int32 MoveResultSet(sal_Int32 nTarget); + sal_Int32 GetResultSetPosition()const; + bool IsResultSetFirstLast(bool& bIsFirst, bool& bIsLast); + + bool IsRecordExcluded(sal_Int32 nRecord); + void ExcludeRecord(sal_Int32 nRecord, bool bExclude); + + const com::sun::star::uno::Sequence< ::rtl::OUString>& + GetSavedDocuments() const; + void AddSavedDocument(::rtl::OUString rName); + + sal_Bool IsOutputToLetter()const; + void SetOutputToLetter(sal_Bool bSet); + + sal_Bool IsAddressBlock()const; + void SetAddressBlock(sal_Bool bSet); + + sal_Bool IsHideEmptyParagraphs() const; + void SetHideEmptyParagraphs(sal_Bool bSet); + + const com::sun::star::uno::Sequence< ::rtl::OUString> + GetAddressBlocks() const; + void SetAddressBlocks(const com::sun::star::uno::Sequence< ::rtl::OUString>& rBlocks); + + void SetCurrentAddressBlockIndex( sal_Int32 nSet ); + sal_Int32 GetCurrentAddressBlockIndex() const; + + sal_Bool IsIncludeCountry() const; + rtl::OUString& GetExcludeCountry() const; + void SetCountrySettings(sal_Bool bSet, const rtl::OUString& sCountry); + + sal_Bool IsIndividualGreeting(sal_Bool bInEMail) const; + void SetIndividualGreeting(sal_Bool bSet, sal_Bool bInEMail); + + sal_Bool IsGreetingLine(sal_Bool bInEMail) const; + void SetGreetingLine(sal_Bool bSet, sal_Bool bInEMail); + + const com::sun::star::uno::Sequence< ::rtl::OUString> + GetGreetings(Gender eType) const; + void SetGreetings(Gender eType, const com::sun::star::uno::Sequence< ::rtl::OUString>& rBlocks); + + sal_Int32 GetCurrentGreeting(Gender eType) const; + void SetCurrentGreeting(Gender eType, sal_Int32 nIndex); + + //the content of the gender column that marks it as female + const ::rtl::OUString& GetFemaleGenderValue() const; + void SetFemaleGenderValue(const ::rtl::OUString rValue); + + //returns the assignment in the order of the default headers (GetDefaultAddressHeaders()) + com::sun::star::uno::Sequence< ::rtl::OUString > + GetColumnAssignment( const SwDBData& rDBData ) const; + void SetColumnAssignment( + const SwDBData& rDBData, + const com::sun::star::uno::Sequence< ::rtl::OUString>& ); + + bool IsAddressFieldsAssigned() const; + bool IsGreetingFieldsAssigned() const; + + //e-Mail settings: + ::rtl::OUString GetMailDisplayName() const; + void SetMailDisplayName(const ::rtl::OUString& rName); + + ::rtl::OUString GetMailAddress() const; + void SetMailAddress(const ::rtl::OUString& rAddress); + + sal_Bool IsMailReplyTo() const; + void SetMailReplyTo(sal_Bool bSet); + + ::rtl::OUString GetMailReplyTo() const; + void SetMailReplyTo(const ::rtl::OUString& rReplyTo); + + ::rtl::OUString GetMailServer() const; + void SetMailServer(const ::rtl::OUString& rAddress); + + sal_Int16 GetMailPort() const; + void SetMailPort(sal_Int16 nSet); + + sal_Bool IsSecureConnection() const; + void SetSecureConnection(sal_Bool bSet); + + sal_Bool IsAuthentication() const; + void SetAuthentication(sal_Bool bSet); + + ::rtl::OUString GetMailUserName() const; + void SetMailUserName(const ::rtl::OUString& rName); + + ::rtl::OUString GetMailPassword() const; + void SetMailPassword(const ::rtl::OUString& rPassword); + + sal_Bool IsSMTPAfterPOP() const; + void SetSMTPAfterPOP(sal_Bool bSet); + + ::rtl::OUString GetInServerName() const; + void SetInServerName(const ::rtl::OUString& rServer); + + sal_Int16 GetInServerPort() const; + void SetInServerPort(sal_Int16 nSet); + + sal_Bool IsInServerPOP() const; + void SetInServerPOP(sal_Bool bSet); + + ::rtl::OUString GetInServerUserName() const; + void SetInServerUserName(const ::rtl::OUString& rName); + + ::rtl::OUString GetInServerPassword() const; + void SetInServerPassword(const ::rtl::OUString& rPassword); + + //session information + bool IsAddressInserted() const { return m_bAddressInserted; } + void SetAddressInserted(const ::rtl::OUString& rFrameName) + { m_bAddressInserted = true; + m_rAddressBlockFrame = rFrameName; + } + + bool IsGreetingInserted() const { return m_bGreetingInserted; } + void SetGreetingInserted() + { m_bGreetingInserted = true; } + + // counts the moves in the layout page + void MoveGreeting( sal_Int32 nMove) { m_nGreetingMoves += nMove;} + sal_Int32 GetGreetingMoves() const { return m_nGreetingMoves;} + + bool IsMergeDone() const { return m_bMergeDone;} + void SetMergeDone( ) { m_bMergeDone = true; } + + // new source document - reset some flags + void DocumentReloaded(); + + bool IsMailAvailable() const; + + // notify a completed merge, provid the appropriate e-Mail address if available + void AddMergedDocument(SwDocMergeInfo& rInfo); + //returns the page and database cursor information of each merged document + SwDocMergeInfo& GetDocumentMergeInfo(sal_uInt32 nDocument); + sal_uInt32 GetMergedDocumentCount() const; + + void SetPrintRange( USHORT nStartDocument, USHORT nEndDocument) + {m_nStartPrint = nStartDocument; m_nEndPrint = nEndDocument;} + USHORT GetPrintRangeStart() const {return m_nStartPrint;} + USHORT GetPrintRangeEnd() const {return m_nEndPrint;} + + const ::rtl::OUString& GetSelectedPrinter() const {return m_sSelectedPrinter;} + void SetSelectedPrinter(const ::rtl::OUString& rSet ) + {m_sSelectedPrinter = rSet;} + + + SwView* GetTargetView(); + void SetTargetView(SwView* pView); + + SwView* GetSourceView(); + void SetSourceView(SwView* pView); + + //helper methods + ::rtl::OUString GetAssignedColumn(sal_uInt32 nColumn)const; +}; +#endif + diff --git a/sw/source/ui/inc/multmrk.hxx b/sw/source/ui/inc/multmrk.hxx new file mode 100644 index 000000000000..7d5dae802e01 --- /dev/null +++ b/sw/source/ui/inc/multmrk.hxx @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _MULTMRK_HXX +#define _MULTMRK_HXX + + +#include <svx/stddlg.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#include <svtools/stdctrl.hxx> + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#include <vcl/fixed.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +class SwTOXMgr; + +/*-------------------------------------------------------------------- + Beschreibung: Markierung fuer Verzeichniseintrag einfuegen + --------------------------------------------------------------------*/ + +class SwMultiTOXMarkDlg : public SvxStandardDialog +{ + DECL_LINK( SelectHdl, ListBox * ); + + FixedLine aTOXFL; + FixedText aEntryFT; + FixedInfo aTextFT; + FixedText aTOXFT; + ListBox aTOXLB; + OKButton aOkBT; + CancelButton aCancelBT; + + SwTOXMgr &rMgr; + USHORT nPos; + + void Apply(); +public: + SwMultiTOXMarkDlg( Window* pParent, SwTOXMgr &rTOXMgr ); + ~SwMultiTOXMarkDlg(); +}; + + +#endif // _MULTMRK_HXX + diff --git a/sw/source/ui/inc/navicfg.hxx b/sw/source/ui/inc/navicfg.hxx new file mode 100644 index 000000000000..de400eca916e --- /dev/null +++ b/sw/source/ui/inc/navicfg.hxx @@ -0,0 +1,119 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _NAVICFG_HXX +#define _NAVICFG_HXX + +#include <unotools/configitem.hxx> +/* -----------------------------08.09.00 16:27-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwNavigationConfig : public utl::ConfigItem +{ + sal_Int32 nRootType; //RootType + sal_Int32 nSelectedPos; //SelectedPosition + sal_Int32 nOutlineLevel; //OutlineLevel + sal_Int32 nRegionMode; //InsertMode + sal_Int32 nActiveBlock; //ActiveBlock//Expand/CollapsState + sal_Bool bIsSmall; //ShowListBox + sal_Bool bIsGlobalActive; //GlobalDocMode// Globalansicht fuer GlobalDoc gueltig? + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); + +public: + SwNavigationConfig(); + ~SwNavigationConfig(); + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + + sal_Int32 GetRootType()const {return nRootType;} + void SetRootType(sal_Int32 nSet){ + if(nRootType != nSet) + { + SetModified(); + nRootType = nSet; + } + } + + sal_Int32 GetSelectedPos()const {return nSelectedPos;} + void SetSelectedPos(sal_Int32 nSet){ + if(nSelectedPos != nSet) + { + SetModified(); + nSelectedPos = nSet; + } + } + + + sal_Int32 GetOutlineLevel()const {return nOutlineLevel;} + void SetOutlineLevel(sal_Int32 nSet){ + if(nOutlineLevel != nSet) + { + SetModified(); + nOutlineLevel = nSet; + } + } + + sal_Int32 GetRegionMode()const {return nRegionMode;} + void SetRegionMode(sal_Int32 nSet){ + if(nRegionMode != nSet) + { + SetModified(); + nRegionMode = nSet; + } + } + + + sal_Int32 GetActiveBlock()const {return nActiveBlock;} + void SetActiveBlock(sal_Int32 nSet){ + if(nActiveBlock != nSet) + { + SetModified(); + nActiveBlock = nSet; + } + } + + sal_Bool IsSmall() const {return bIsSmall;} + void SetSmall(sal_Bool bSet){ + if(bIsSmall != bSet) + { + SetModified(); + bIsSmall = bSet; + } + } + + sal_Bool IsGlobalActive() const {return bIsGlobalActive;} + void SetGlobalActive(sal_Bool bSet){ + if(bIsGlobalActive != bSet) + { + SetModified(); + bIsGlobalActive = bSet; + } + } +}; +#endif + diff --git a/sw/source/ui/inc/navicont.hxx b/sw/source/ui/inc/navicont.hxx new file mode 100644 index 000000000000..124309057953 --- /dev/null +++ b/sw/source/ui/inc/navicont.hxx @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _NAVICONT_HXX +#define _NAVICONT_HXX + +#include <tools/string.hxx> + +class SwDocShell; +class TransferDataContainer; +class TransferableDataHelper; + +/* [Beschreibung] + Navigator-Bookmark zur eindeutigen Identifizierung im Sw +*/ + +class NaviContentBookmark +{ + String aUrl; // URL inkl. Sprungmarke + String aDescr; // Description + long nDocSh; // Adresse der DocShell + USHORT nDefDrag; // Description enthaelt defaultDragType + +public: + NaviContentBookmark(); + NaviContentBookmark( const String &rUrl, const String& rDesc, + USHORT nDragType, const SwDocShell* ); + + const String& GetURL() const { return aUrl; } + const String& GetDescription() const { return aDescr; } + USHORT GetDefaultDragType() const { return nDefDrag; } + long GetDocShell() const { return nDocSh; } + void Copy( TransferDataContainer& rData ) const; + BOOL Paste( TransferableDataHelper& rData ); +}; + +#endif diff --git a/sw/source/ui/inc/navipi.hxx b/sw/source/ui/inc/navipi.hxx new file mode 100644 index 000000000000..b2b457bdd5d4 --- /dev/null +++ b/sw/source/ui/inc/navipi.hxx @@ -0,0 +1,198 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _NAVIPI_HXX +#define _NAVIPI_HXX + +// INCLUDE --------------------------------------------------------------- + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#include <svl/lstner.hxx> +#include <svtools/transfer.hxx> +#include <sfx2/childwin.hxx> +#include <sfx2/ctrlitem.hxx> +#include <sfx2/tbxctrl.hxx> +#include <conttree.hxx> +#include <popbox.hxx> + +class SwWrtShell; +class SwNavigationPI; +class SwNavigationChild; +class SfxBindings; +class NumEditAction; +class SwView; +class SwNavigationConfig; +class SfxObjectShellLock; +class SfxChildWindowContext; + +//----------------------------------------------------------------------- +class SwNavigationPI; +class SwNavHelpToolBox : public SwHelpToolBox +{ + virtual void MouseButtonDown(const MouseEvent &rEvt); + virtual void RequestHelp( const HelpEvent& rHEvt ); + public: + SwNavHelpToolBox(SwNavigationPI* pParent, const ResId &rResId); +}; + + +// CLASS ----------------------------------------------------------------- +class SwNavigationPI : public Window, + public SfxControllerItem, public SfxListener +{ + friend class SwNavigationChild; + friend class SwContentTree; + friend class SwGlobalTree; + + // --------- members ----------------------------- + SwNavHelpToolBox aContentToolBox; + SwHelpToolBox aGlobalToolBox; + ImageList aContentImageList; + ImageList aContentImageListH; + SwContentTree aContentTree; + SwGlobalTree aGlobalTree; + ListBox aDocListBox; + Timer aPageChgTimer; + String sContentFileName; + String aContextArr[3]; + String aStatusArr[4]; + Point aBoxBottomLeft; // Pos., wenn Box unten ist + + SfxObjectShellLock *pxObjectShell; + SwView *pContentView; + SwWrtShell *pContentWrtShell; + SwView *pActContView; + SwView *pCreateView; + SfxPopupWindow *pPopupWindow; + SfxPopupWindow *pFloatingWindow; + + SfxChildWindowContext* pContextWin; + + SwNavigationConfig *pConfig; + SfxBindings &rBindings; + + long nDocLBIniHeight; + long nWishWidth; + USHORT nAutoMarkIdx; + USHORT nRegionMode; // 0 - URL, 1 - Bereich mit Link 2 - B. ohne Link + short nZoomIn; + short nZoomOutInit; + short nZoomOut; + + BOOL bSmallMode : 1; + BOOL bIsZoomedIn : 1; + BOOL bPageCtrlsVisible : 1; + BOOL bGlobalMode : 1; + + // --------- methods ----------------------------- + BOOL _IsZoomedIn() const {return bIsZoomedIn;} + void _ZoomOut(); + void _ZoomIn(); + + void FillBox(); + void MakeMark(); + + DECL_LINK( DocListBoxSelectHdl, ListBox * ); + DECL_LINK( ToolBoxSelectHdl, ToolBox * ); + DECL_LINK( ToolBoxClickHdl, ToolBox * ); + DECL_LINK( ToolBoxDropdownClickHdl, ToolBox* ); + DECL_LINK( EditAction, NumEditAction * ); + DECL_LINK( EditGetFocus, NumEditAction * ); + DECL_LINK( DoneLink, SfxPoolItem * ); + DECL_LINK( MenuSelectHdl, Menu * ); + DECL_LINK( ChangePageHdl, Timer* ); + DECL_LINK( PageEditModifyHdl, Edit* ); + DECL_LINK( PopupModeEndHdl, void * ); + DECL_LINK( ClosePopupWindow, SfxPopupWindow * ); + void UsePage(SwWrtShell *); + + void MakeVisible(); + void InitImageList(); + virtual SfxChildAlignment + CheckAlignment(SfxChildAlignment,SfxChildAlignment); + void SetPopupWindow( SfxPopupWindow* ); + + using Window::Notify; + using Window::StateChanged; + +protected: + + virtual BOOL Close(); + virtual void Resize(); + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + + // zum App-Ende rechtzeitig ObjectShellLock loslassen + virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); + + NumEditAction& GetPageEdit(); + BOOL ToggleTree(); + void SetGlobalMode(BOOL bSet) {bGlobalMode = bSet;} + +public: + + SwNavigationPI(SfxBindings*, SfxChildWindowContext*, Window*); + ~SwNavigationPI(); + + void GotoPage(); // Seite anspringen; bindbare Funktion + + void Update() { FillBox(); } + void UpdateListBox(); + void MoveOutline(USHORT nSource, USHORT nTarget, BOOL bWithCilds); + + virtual void StateChanged( USHORT nSID, SfxItemState eState, + const SfxPoolItem* pState ); + + static String CreateDropFileName( TransferableDataHelper& rData ); + static void CleanEntry( String& rEntry ); + + USHORT GetRegionDropMode() const {return nRegionMode;} + void SetRegionDropMode(USHORT nNewMode); + + sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ); + sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ); + + BOOL IsGlobalDoc() const; + BOOL IsGlobalMode() const {return bGlobalMode;} + + SwView* GetCreateView() const; + void CreateNavigationTool(const Rectangle& rRect, BOOL bSetFocus); +}; + +class SwNavigationChild : public SfxChildWindowContext +{ +public: + SwNavigationChild( Window* , + USHORT nId, + SfxBindings*, + SfxChildWinInfo* ); + + SFX_DECL_CHILDWINDOW_CONTEXT( SwNavigationChild ) +}; + +#endif diff --git a/sw/source/ui/inc/num.hxx b/sw/source/ui/inc/num.hxx new file mode 100644 index 000000000000..2233f9609fe4 --- /dev/null +++ b/sw/source/ui/inc/num.hxx @@ -0,0 +1,205 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _NUM_HXX +#define _NUM_HXX + + +#include <sfx2/tabdlg.hxx> +#ifndef _MENUBTN_HXX //autogen +#include <vcl/menubtn.hxx> +#endif +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#include <svtools/stdctrl.hxx> +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#include <svx/stddlg.hxx> +#include <numprevw.hxx> +#include "numrule.hxx" + +class SwWrtShell; +class SvxBrushItem; +class SwOutlineTabDialog; + + +/*-----------------13.02.97 14.02------------------- + +--------------------------------------------------*/ + +struct SwBmpItemInfo +{ + SvxBrushItem* pBrushItem; + USHORT nItemId; +}; + + +/*-----------------07.02.97 15.37------------------- + +--------------------------------------------------*/ +#define NUM_PAGETYPE_BULLET 0 +#define NUM_PAGETYPE_SINGLENUM 1 +#define NUM_PAGETYPE_NUM 2 +#define NUM_PAGETYPE_BMP 3 +#define PAGETYPE_USER_START 10 + +/*-----------------03.12.97 10:18------------------- + +--------------------------------------------------*/ +class SwNumPositionTabPage : public SfxTabPage +{ + FixedLine aPositionFL; + FixedLine aLevelFL; + MultiListBox aLevelLB; + + // --> OD 2008-02-01 #newlistlevelattrs# + // former set of controls shown for numbering rules containing list level + // attributes in SvxNumberFormat::SvxNumPositionAndSpaceMode == LABEL_WIDTH_AND_POSITION + FixedText aDistBorderFT; + MetricField aDistBorderMF; + CheckBox aRelativeCB; + FixedText aIndentFT; + MetricField aIndentMF; + FixedText aDistNumFT; + MetricField aDistNumMF; + FixedText aAlignFT; + ListBox aAlignLB; + // <-- + + // --> OD 2008-02-01 #newlistlevelattrs# + // new set of controls shown for numbering rules containing list level + // attributes in SvxNumberFormat::SvxNumPositionAndSpaceMode == LABEL_ALIGNMENT + FixedText aLabelFollowedByFT; + ListBox aLabelFollowedByLB; + FixedText aListtabFT; + MetricField aListtabMF; + FixedText aAlign2FT; + ListBox aAlign2LB; + FixedText aAlignedAtFT; + MetricField aAlignedAtMF; + FixedText aIndentAtFT; + MetricField aIndentAtMF; + // <-- + + PushButton aStandardPB; + + NumberingPreview aPreviewWIN; + + SwNumRule* pActNum; + SwNumRule* pSaveNum; + SwWrtShell* pWrtSh; + + SwOutlineTabDialog* pOutlineDlg; + USHORT nActNumLvl; + + BOOL bModified : 1; + BOOL bPreset : 1; + BOOL bInInintControl : 1; //Modify-Fehler umgehen, soll ab 391 behoben sein + // --> OD 2008-02-01 #newlistlevelattrs# + bool bLabelAlignmentPosAndSpaceModeActive; + // <-- + + void InitControls(); + + DECL_LINK( LevelHdl, ListBox * ); + DECL_LINK( EditModifyHdl, Edit*); + DECL_LINK( DistanceHdl, MetricField * ); + DECL_LINK( RelativeHdl, CheckBox * ); + DECL_LINK( StandardHdl, PushButton * ); + + // --> OD 2008-02-01 #newlistlevelattrs# + void InitPosAndSpaceMode(); + void ShowControlsDependingOnPosAndSpaceMode(); + + DECL_LINK( LabelFollowedByHdl_Impl, ListBox* ); + DECL_LINK( ListtabPosHdl_Impl, MetricField* ); + DECL_LINK( AlignAtHdl_Impl, MetricField* ); + DECL_LINK( IndentAtHdl_Impl, MetricField* ); + // <-- + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + + SwNumPositionTabPage(Window* pParent, + const SfxItemSet& rSet); + ~SwNumPositionTabPage(); + + virtual void ActivatePage(const SfxItemSet& rSet); + virtual int DeactivatePage(SfxItemSet *pSet); + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + void SetOutlineTabDialog(SwOutlineTabDialog* pDlg){pOutlineDlg = pDlg;} + void SetWrtShell(SwWrtShell* pSh); +#if OSL_DEBUG_LEVEL > 1 + void SetModified(BOOL bRepaint = TRUE); +#else + void SetModified(BOOL bRepaint = TRUE) + { bModified = TRUE; + if(bRepaint) + { + aPreviewWIN.SetLevel(nActNumLvl); + aPreviewWIN.Invalidate(); + } + } +#endif +}; + +class SwSvxNumBulletTabDialog : public SfxTabDialog +{ + SwWrtShell& rWrtSh; + + String sRemoveText; + int nRetOptionsDialog; + + protected: + virtual short Ok(); + virtual void PageCreated(USHORT nPageId, SfxTabPage& rPage); + DECL_LINK(RemoveNumberingHdl, PushButton*); + public: + SwSvxNumBulletTabDialog(Window* pParent, + const SfxItemSet* pSwItemSet, + SwWrtShell &); + ~SwSvxNumBulletTabDialog(); +}; +#endif // _NUM_CXX + diff --git a/sw/source/ui/inc/numberingtypelistbox.hxx b/sw/source/ui/inc/numberingtypelistbox.hxx new file mode 100644 index 000000000000..d70bbc9cc74c --- /dev/null +++ b/sw/source/ui/inc/numberingtypelistbox.hxx @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _NUMBERINGTYPELISTBOX_HXX +#define _NUMBERINGTYPELISTBOX_HXX + +#include <vcl/lstbox.hxx> +#include "swdllapi.h" + +#define INSERT_NUM_TYPE_NO_NUMBERING 0x01 +#define INSERT_NUM_TYPE_PAGE_STYLE_NUMBERING 0x02 +#define INSERT_NUM_TYPE_BITMAP 0x04 +#define INSERT_NUM_TYPE_BULLET 0x08 +#define INSERT_NUM_EXTENDED_TYPES 0x10 + +struct SwNumberingTypeListBox_Impl; + +class SW_DLLPUBLIC SwNumberingTypeListBox : public ListBox +{ + SwNumberingTypeListBox_Impl* pImpl; + +public: + SwNumberingTypeListBox( Window* pWin, const ResId& rResId, + USHORT nTypeFlags = INSERT_NUM_TYPE_PAGE_STYLE_NUMBERING|INSERT_NUM_TYPE_NO_NUMBERING|INSERT_NUM_EXTENDED_TYPES ); + ~SwNumberingTypeListBox(); + + void Reload(USHORT nTypeFlags); + + sal_Int16 GetSelectedNumberingType(); + sal_Bool SelectNumberingType(sal_Int16 nType); +}; + + +#endif + diff --git a/sw/source/ui/inc/numfmtlb.hxx b/sw/source/ui/inc/numfmtlb.hxx new file mode 100644 index 000000000000..50d762dc4419 --- /dev/null +++ b/sw/source/ui/inc/numfmtlb.hxx @@ -0,0 +1,87 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWNUMFMTLB_HXX +#define _SWNUMFMTLB_HXX + +#include <vcl/lstbox.hxx> +#include <svl/zforlist.hxx> +#include "swdllapi.h" + +class SwView; + +class SW_DLLPUBLIC NumFormatListBox : public ListBox +{ + short nCurrFormatType; + USHORT nStdEntry; + BOOL bOneArea; + ULONG nDefFormat; + SwView* pVw; + SvNumberFormatter* pOwnFormatter; + LanguageType eCurLanguage; + BOOL bShowLanguageControl; //determine whether the language control has + //to be shown in the number format dialog + BOOL bUseAutomaticLanguage;//determine whether language is automatically assigned + + SW_DLLPRIVATE DECL_LINK( SelectHdl, ListBox * ); + + SW_DLLPRIVATE double GetDefValue(const short nFormatType) const; + SW_DLLPRIVATE void Init(short nFormatType, BOOL bUsrFmts); + SW_DLLPRIVATE SwView* GetView(); + +public: + NumFormatListBox( Window* pWin, const ResId& rResId, + short nFormatType = NUMBERFORMAT_NUMBER, ULONG nDefFmt = 0, + BOOL bUsrFmts = TRUE ); + + NumFormatListBox( Window* pWin, SwView* pView, const ResId& rResId, + short nFormatType = NUMBERFORMAT_NUMBER, ULONG nDefFmt = 0, + BOOL bUsrFmts = TRUE ); + + ~NumFormatListBox(); + + void Clear(); + + inline void SetOneArea(BOOL bOnlyOne = TRUE) { bOneArea = bOnlyOne; } + + void SetFormatType(const short nFormatType); + inline short GetFormatType() const { return nCurrFormatType; } + void SetDefFormat(const ULONG nDefFmt); + ULONG GetFormat() const; + + inline LanguageType GetCurLanguage() const { return eCurLanguage;} + void SetLanguage(LanguageType eSet) { eCurLanguage = eSet;} + + void SetAutomaticLanguage(BOOL bSet){bUseAutomaticLanguage = bSet;} + BOOL IsAutomaticLanguage()const {return bUseAutomaticLanguage;} + + void SetShowLanguageControl(BOOL bSet){bShowLanguageControl = bSet;} + +}; + + +#endif + diff --git a/sw/source/ui/inc/numpara.hxx b/sw/source/ui/inc/numpara.hxx new file mode 100644 index 000000000000..f8d748c4473c --- /dev/null +++ b/sw/source/ui/inc/numpara.hxx @@ -0,0 +1,98 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _NUMPARA_HXX +#define _NUMPARA_HXX + + +#include <sfx2/tabdlg.hxx> +#include <vcl/lstbox.hxx> +#include <vcl/fixed.hxx> +#include <vcl/field.hxx> +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + + +/* --- class SwParagraphNumTabPage ---------------------------------------- + Mit dieser TabPage werden Numerierungseinstellungen am Absatz bzw. der + Absatzvorlage vorgenommen. + + ---------------------------------------------------------------------------*/ +class SwParagraphNumTabPage : public SfxTabPage +{ + FixedLine aOutlineStartFL; + FixedText aOutlineLvFT; + ListBox aOutlineLvLB; + + FixedText aNumberStyleFT; + ListBox aNumberStyleLB; + + FixedLine aNewStartFL; + TriStateBox aNewStartCB; + TriStateBox aNewStartNumberCB; + NumericField aNewStartNF; + + FixedLine aCountParaFL; + TriStateBox aCountParaCB; + TriStateBox aRestartParaCountCB; + FixedText aRestartFT; + NumericField aRestartNF; + + // --> OD 2008-04-14 #outlinelevel# + const String msOutlineNumbering; + // <-- + + BOOL bModified : 1; + BOOL bCurNumrule : 1; + + DECL_LINK( NewStartHdl_Impl, CheckBox* ); + DECL_LINK( StyleHdl_Impl, ListBox* ); + DECL_LINK( LineCountHdl_Impl, CheckBox* ); + +protected: + SwParagraphNumTabPage(Window* pParent, const SfxItemSet& rSet ); + +public: + ~SwParagraphNumTabPage(); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rSet ); + static USHORT* GetRanges(); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); + + void EnableNewStart(); + void DisableOutline(); + void DisableNumbering(); + + ListBox& GetStyleBox() {return aNumberStyleLB;}; +}; + + +#endif + diff --git a/sw/source/ui/inc/numprevw.hxx b/sw/source/ui/inc/numprevw.hxx new file mode 100644 index 000000000000..3ee9a2316103 --- /dev/null +++ b/sw/source/ui/inc/numprevw.hxx @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _NUMPREVW_HXX +#define _NUMPREVW_HXX + + +#include <vcl/window.hxx> + +class SwNumRule; +/*-----------------02.12.97 10:31------------------- + +--------------------------------------------------*/ + +class NumberingPreview : public Window +{ + const SwNumRule* pActNum; + Font aStdFont; + long nPageWidth; + const String* pOutlineNames; + BOOL bPosition; + UINT16 nActLevel; + + protected: + virtual void Paint( const Rectangle& rRect ); + + public: + NumberingPreview(Window* pParent, const ResId& rResId ) : + Window(pParent, rResId), + pActNum(0),nPageWidth(0), pOutlineNames(0), bPosition(FALSE), nActLevel(USHRT_MAX) {} + ~NumberingPreview(); + + void SetNumRule(const SwNumRule* pNum) + {pActNum = pNum; Invalidate();}; + void SetPageWidth(long nPgWidth) + {nPageWidth = nPgWidth;} + void SetOutlineNames(const String* pNames) + {pOutlineNames = pNames;} + void SetPositionMode() + { bPosition = TRUE;} + void SetLevel(USHORT nSet) {nActLevel = nSet;} + +}; + +#endif + + diff --git a/sw/source/ui/inc/olesh.hxx b/sw/source/ui/inc/olesh.hxx new file mode 100644 index 000000000000..32a413300f36 --- /dev/null +++ b/sw/source/ui/inc/olesh.hxx @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWOLESH_HXX +#define _SWOLESH_HXX + +#include "frmsh.hxx" + +class SwOleShell: public SwFrameShell +{ +public: + SFX_DECL_INTERFACE(SW_OLESHELL) + + SwOleShell(SwView &rView); + +}; + +#endif + + + + + + + diff --git a/sw/source/ui/inc/olmenu.hxx b/sw/source/ui/inc/olmenu.hxx new file mode 100644 index 000000000000..3bc0eb02d3b6 --- /dev/null +++ b/sw/source/ui/inc/olmenu.hxx @@ -0,0 +1,92 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _OLMENU_HXX +#define _OLMENU_HXX + +#include <com/sun/star/linguistic2/XDictionary.hpp> +#include <com/sun/star/linguistic2/XSpellAlternatives.hpp> +#include <com/sun/star/linguistic2/ProofreadingResult.hpp> +#include <com/sun/star/uno/Sequence.h> + +#include <rtl/ustring.hxx> +#include <vcl/image.hxx> +#include <vcl/menu.hxx> + +#include <map> +#include <vector> + + +class SwWrtShell; + +class SwSpellPopup : public PopupMenu +{ + SwWrtShell* pSh; + ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< + ::com::sun::star::linguistic2::XDictionary > > aDics; + ::com::sun::star::uno::Reference< + ::com::sun::star::linguistic2::XSpellAlternatives > xSpellAlt; + + ::com::sun::star::uno::Sequence< rtl::OUString > aSuggestions; + LanguageType nCheckedLanguage; + + LanguageType nGuessLangWord; + LanguageType nGuessLangPara; + + USHORT nNumLanguageTextEntries; + USHORT nNumLanguageParaEntries; + USHORT nNumLanguageDocEntries; + std::map< sal_Int16, ::rtl::OUString > aLangTable_Text; + std::map< sal_Int16, ::rtl::OUString > aLangTable_Paragraph; + std::map< sal_Int16, ::rtl::OUString > aLangTable_Document; + + bool bGrammarResults; // show grammar results? Or show spellcheck results? + + Image aInfo16; + + USHORT fillLangPopupMenu( PopupMenu *pPopupMenu , USHORT Lang_Start, ::com::sun::star::uno::Sequence< ::rtl::OUString > aSeq,SwWrtShell* pWrtSh, USHORT nLangTable); + + using PopupMenu::Execute; + +public: + SwSpellPopup( SwWrtShell *pWrtSh, + const ::com::sun::star::uno::Reference< + ::com::sun::star::linguistic2::XSpellAlternatives > &xAlt, + const String & rParaText ); + + SwSpellPopup( SwWrtShell *pWrtSh, + const ::com::sun::star::linguistic2::ProofreadingResult &rResult, + sal_Int32 nErrorInResult, + const ::com::sun::star::uno::Sequence< rtl::OUString > &rSuggestions, + const String & rParaText ); + + sal_uInt16 Execute( const Rectangle& rPopupPos, Window* pWin ); + void Execute( USHORT nId ); + +}; + +#endif + diff --git a/sw/source/ui/inc/optcomp.hxx b/sw/source/ui/inc/optcomp.hxx new file mode 100644 index 000000000000..34de97517fd2 --- /dev/null +++ b/sw/source/ui/inc/optcomp.hxx @@ -0,0 +1,87 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _OPTCOMP_HXX +#define _OPTCOMP_HXX + +#include <sfx2/tabdlg.hxx> +#include <vcl/fixed.hxx> +#include <vcl/lstbox.hxx> +#include <unotools/compatibility.hxx> +#include <svx/checklbx.hxx> + +// class SwCompatibilityOptPage ------------------------------------------ + +class SwWrtShell; +struct SwCompatibilityOptPage_Impl; + +class SwCompatibilityOptPage : public SfxTabPage +{ +private: + // controls + FixedLine m_aMainFL; + FixedText m_aFormattingFT; + ListBox m_aFormattingLB; + FixedText m_aOptionsFT; + SvxCheckListBox m_aOptionsLB; + PushButton m_aResetPB; + PushButton m_aDefaultPB; + // config item + SvtCompatibilityOptions m_aConfigItem; + // text of the user entry + String m_sUserEntry; + // text of the "use as default" querybox + String m_sUseAsDefaultQuery; + // shell of the current document + SwWrtShell* m_pWrtShell; + // impl object + SwCompatibilityOptPage_Impl* m_pImpl; + // saved options after "Reset"; used in "FillItemSet" for comparison + ULONG m_nSavedOptions; + + // handler + DECL_LINK( SelectHdl, ListBox* ); + DECL_LINK( UseAsDefaultHdl, PushButton* ); + + // private methods + void InitControls( const SfxItemSet& rSet ); + void ReplaceFormatName( String& rEntry ); + void SetCurrentOptions( ULONG nOptions ); + ULONG GetDocumentOptions() const; + void WriteOptions(); + +public: + SwCompatibilityOptPage( Window* pParent, const SfxItemSet& rSet ); + ~SwCompatibilityOptPage(); + + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); +}; + +#endif + diff --git a/sw/source/ui/inc/optload.hxx b/sw/source/ui/inc/optload.hxx new file mode 100644 index 000000000000..abe43c00f0a3 --- /dev/null +++ b/sw/source/ui/inc/optload.hxx @@ -0,0 +1,213 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _OPTLOAD_HXX +#define _OPTLOAD_HXX + +#include <sfx2/tabdlg.hxx> + +#ifndef _GROUP_HXX +#include <vcl/group.hxx> +#endif +#include <vcl/fixed.hxx> +#include <vcl/lstbox.hxx> +#include <vcl/field.hxx> +#include <svx/strarray.hxx> +#include <sfx2/basedlgs.hxx> +#include <svx/checklbx.hxx> +#include <swlbox.hxx> +#include <caption.hxx> + +class SwFldMgr; +class SvLBoxEntry; +class SwWrtShell; + +/*-----------------31.08.96 10.09------------------- + +--------------------------------------------------*/ + +class SwLoadOptPage : public SfxTabPage +{ +private: + FixedLine aUpdateFL; + FixedText aLinkFT; + RadioButton aAlwaysRB; + RadioButton aRequestRB; + RadioButton aNeverRB; + + FixedText aFieldFT; + CheckBox aAutoUpdateFields; + CheckBox aAutoUpdateCharts; + + FixedLine aSettingsFL; + FixedText aMetricFT; + ListBox aMetricLB; + FixedText aTabFT; + MetricField aTabMF; + CheckBox aUseSquaredPageMode; + + SwWrtShell* pWrtShell; + sal_Bool bHTMLMode; + UINT16 nLastTab; + sal_Int32 nOldLinkMode; + + DECL_LINK(CaptionHdl, PushButton*); + DECL_LINK(MetricHdl, ListBox*); + +public: + SwLoadOptPage( Window* pParent, const SfxItemSet& rSet ); + ~SwLoadOptPage(); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); +}; + +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ +class SwCaptionOptDlg : public SfxSingleTabDialog +{ +public: + SwCaptionOptDlg(Window* pParent, const SfxItemSet& rSet); + ~SwCaptionOptDlg(); +}; +/* -----------------23.10.98 13:19------------------- + * + * --------------------------------------------------*/ + +class CaptionComboBox : public SwComboBox +{ +protected: + virtual void KeyInput( const KeyEvent& ); + +public: + CaptionComboBox( Window* pParent, const ResId& rResId) + : SwComboBox(pParent, rResId) + {} +}; + +/*-----------------31.08.96 10.09------------------- + +--------------------------------------------------*/ + +class SwCaptionPreview : public Window +{ +private: + String maText; + Point maDrawPos; +public: + SwCaptionPreview( Window* pParent, const ResId& rResId ); + void SetPreviewText( const String& rText ); + virtual void Paint( const Rectangle& rRect ); +}; + +class SwCaptionOptPage : public SfxTabPage +{ +private: + FixedText aCheckFT; + SvxCheckListBox aCheckLB; + + FixedText aFtCaptionOrder; + ListBox aLbCaptionOrder; + + SwCaptionPreview aPreview; + + FixedLine aSettingsGroupFL; + FixedText aCategoryText; + CaptionComboBox aCategoryBox; + FixedText aFormatText; + ListBox aFormatBox; + //#i61007# order of captions + FixedText aNumberingSeparatorFT; + Edit aNumberingSeparatorED; + FixedText aTextText; + Edit aTextEdit; + FixedText aPosText; + ListBox aPosBox; + + FixedLine aNumCaptFL; + FixedText aFtLevel; + ListBox aLbLevel; + FixedText aFtDelim; + Edit aEdDelim; + + FixedLine aCategoryFL; + FixedText aCharStyleFT; + ListBox aCharStyleLB; + CheckBox aApplyBorderCB; + + String sSWTable; + String sSWFrame; + String sSWGraphic; + String sOLE; + + String sIllustration; + String sTable; + String sText; + String sDrawing; + + String sBegin; + String sEnd; + String sAbove; + String sBelow; + + String sNone; + + SwFldMgr *pMgr; + USHORT eType; + BOOL bHTMLMode; + + DECL_LINK( SelectHdl, ListBox *pLB = 0 ); + DECL_LINK( ModifyHdl, Edit *pEdt = 0 ); + DECL_LINK( OrderHdl, ListBox* ); + DECL_LINK( ShowEntryHdl, SvxCheckListBox *pLB = 0 ); + DECL_LINK( SaveEntryHdl, SvxCheckListBox *pLB = 0 ); + + void DelUserData(); + void SetOptions( const USHORT nPos, + const SwCapObjType eType, + const SvGlobalName *pOleId = 0); + void SaveEntry( SvLBoxEntry* pEntry ); + void DrawSample(); + +public: + SwCaptionOptPage( Window* pParent, + const SfxItemSet& rSet ); + ~SwCaptionOptPage(); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); +}; + +#endif + + diff --git a/sw/source/ui/inc/optpage.hxx b/sw/source/ui/inc/optpage.hxx new file mode 100644 index 000000000000..d05e68588b2d --- /dev/null +++ b/sw/source/ui/inc/optpage.hxx @@ -0,0 +1,502 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _OPTPAGE_HXX +#define _OPTPAGE_HXX +#include <sfx2/tabdlg.hxx> + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#include <svtools/ctrlbox.hxx> +#include <svx/fntctrl.hxx> +#include <fontcfg.hxx> +class SvStringsDtor; +class SfxPrinter; +class SwStdFontConfig; +class SwWrtShell; +class FontList; + +/*-----------------31.08.96 10.09------------------- + +--------------------------------------------------*/ + +class SwContentOptPage : public SfxTabPage +{ + //visual aids + FixedLine aLineFL; + CheckBox aCrossCB; + CheckBox aSolidHandleCB; + CheckBox aBigHandleCB; + + //view + FixedLine aWindowFL; + CheckBox aHScrollBox; + CheckBox aVScrollBox; + CheckBox aAnyRulerCB; + CheckBox aHRulerCBox; + ListBox aHMetric; + CheckBox aVRulerCBox; + CheckBox aVRulerRightCBox; + ListBox aVMetric; + CheckBox aSmoothCBox; + + //display + FixedLine aDispFL; + CheckBox aGrfCB; + CheckBox aTblCB; + CheckBox aDrwCB; + CheckBox aFldNameCB; + CheckBox aPostItCB; + + FixedLine aSettingsFL; + FixedText aMetricFT; + ListBox aMetricLB; + + DECL_LINK(VertRulerHdl, CheckBox*); + DECL_LINK(AnyRulerHdl, CheckBox*); +public: + SwContentOptPage( Window* pParent, + const SfxItemSet& rSet ); + ~SwContentOptPage(); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); + +}; + +/*-------- OS 27.01.95 ----------------------------------- + TabPage Druckereinstellungen Zusaetze +--------------------------------------------------------- */ + + +class SwAddPrinterTabPage : public SfxTabPage +{ + FixedLine aFL1; + CheckBox aGrfCB; +// CheckBox aTabCB; +// CheckBox aDrawCB; + CheckBox aCtrlFldCB; + CheckBox aBackgroundCB; + CheckBox aBlackFontCB; + CheckBox aPrintHiddenTextCB; + CheckBox aPrintTextPlaceholderCB; + + FixedLine aSeparatorLFL; + + FixedLine aFL2; + CheckBox aLeftPageCB; + CheckBox aRightPageCB; +// CheckBox aReverseCB; + CheckBox aProspectCB; + CheckBox aProspectCB_RTL; + + FixedLine aSeparatorRFL; + + RadioButton aNoRB; + RadioButton aOnlyRB; + RadioButton aEndRB; + RadioButton aEndPageRB; + FixedLine aFL3; + FixedLine aFL4; + CheckBox aPrintEmptyPagesCB; +// CheckBox aSingleJobsCB; + CheckBox aPaperFromSetupCB; + FixedText aFaxFT; + ListBox aFaxLB; + String sNone; + + BOOL bAttrModified; + BOOL bPreview; + + void Init(); + DECL_LINK( AutoClickHdl, CheckBox * ); + DECL_LINK( SelectHdl, ListBox * ); + + + SwAddPrinterTabPage( Window* pParent, + const SfxItemSet& rSet ); +public: + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet ); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); + void SetFax( const SvStringsDtor& ); + void SelectFax( const String& ); + void SetPreview(BOOL bPrev); + virtual void PageCreated (SfxAllItemSet aSet); + +}; + +/*-----------------03.09.96 11.50------------------- + +--------------------------------------------------*/ + +class SwStdFontTabPage : public SfxTabPage +{ + FixedLine aStdChrFL ; + + FixedText aTypeFT; + + FixedText aStandardLbl; + ComboBox aStandardBox; + + FixedText aHeightFT; + FontSizeBox aStandardHeightLB; + + FixedText aTitleLbl ; + ComboBox aTitleBox ; + FontSizeBox aTitleHeightLB; + + FixedText aListLbl ; + ComboBox aListBox ; + FontSizeBox aListHeightLB; + + FixedText aLabelLbl ; + ComboBox aLabelBox ; + FontSizeBox aLabelHeightLB; + + FixedText aIdxLbl ; + ComboBox aIdxBox ; + FontSizeBox aIndexHeightLB; + + CheckBox aDocOnlyCB ; + PushButton aStandardPB; + + String sShellStd; + String sShellTitle; + String sShellList; + String sShellLabel; + String sShellIndex; + + SfxPrinter* pPrt; + FontList* pFontList; + SwStdFontConfig* pFontConfig; + SwWrtShell* pWrtShell; + LanguageType eLanguage; + // waren nur defaults vorhanden? wurden sie mit den Boxen ueberschrieben + BOOL bListDefault :1; + BOOL bSetListDefault :1; + BOOL bLabelDefault :1; + BOOL bSetLabelDefault :1; + BOOL bIdxDefault :1; + BOOL bSetIdxDefault :1; + BOOL bDeletePrinter :1; + + BOOL bListHeightDefault :1; + BOOL bSetListHeightDefault :1; + BOOL bLabelHeightDefault :1; + BOOL bSetLabelHeightDefault :1; + BOOL bIndexHeightDefault :1; + BOOL bSetIndexHeightDefault :1; + + sal_uInt8 nFontGroup; //fontcfg.hxx: FONT_GROUP_[STANDARD|CJK|CTL] + + String sScriptWestern; + String sScriptAsian; + String sScriptComplex; + + DECL_LINK( StandardHdl, PushButton * ); + DECL_LINK( ModifyHdl, ComboBox * ); + DECL_LINK( ModifyHeightHdl, FontSizeBox * ); + DECL_LINK( LoseFocusHdl, ComboBox * ); + + SwStdFontTabPage( Window* pParent, + const SfxItemSet& rSet ); + ~SwStdFontTabPage(); + +public: + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet ); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); + + void SetFontMode(sal_uInt8 nGroup) {nFontGroup = nGroup;} + virtual void PageCreated (SfxAllItemSet aSet); +}; + +/*-----------------18.01.97 12.10------------------- + +--------------------------------------------------*/ + +class SwTableOptionsTabPage : public SfxTabPage +{ + FixedLine aTableFL; + CheckBox aHeaderCB; + CheckBox aRepeatHeaderCB; + CheckBox aDontSplitCB; + CheckBox aBorderCB; + + FixedLine aSeparatorFL; + + FixedLine aTableInsertFL; + CheckBox aNumFormattingCB; + CheckBox aNumFmtFormattingCB; + CheckBox aNumAlignmentCB; + + FixedLine aMoveFL; + FixedText aMoveFT; + FixedText aRowMoveFT; + MetricField aRowMoveMF; + FixedText aColMoveFT; + MetricField aColMoveMF; + + FixedText aInsertFT; + FixedText aRowInsertFT; + MetricField aRowInsertMF; + FixedText aColInsertFT; + MetricField aColInsertMF; + + FixedText aHandlingFT; + RadioButton aFixRB; + RadioButton aFixPropRB; + RadioButton aVarRB; + FixedText aFixFT; + FixedText aFixPropFT; + FixedText aVarFT; + + SwWrtShell* pWrtShell; + BOOL bHTMLMode; + + DECL_LINK(CheckBoxHdl, CheckBox *pCB); + + + SwTableOptionsTabPage( Window* pParent, + const SfxItemSet& rSet ); + ~SwTableOptionsTabPage(); + +public: + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet ); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); + + void SetWrtShell(SwWrtShell* pSh) {pWrtShell = pSh;} + virtual void PageCreated (SfxAllItemSet aSet); + +}; +/*-----------------31.10.97 17:55------------------- + TabPage fuer ShadowCrsr +--------------------------------------------------*/ +class SwShdwCrsrOptionsTabPage : public SfxTabPage +{ + //nonprinting characters + FixedLine aUnprintFL; + CheckBox aParaCB; + CheckBox aSHyphCB; + CheckBox aSpacesCB; + CheckBox aHSpacesCB; + CheckBox aTabCB; + CheckBox aBreakCB; + CheckBox aCharHiddenCB; + CheckBox aFldHiddenCB; + CheckBox aFldHiddenParaCB; + + FixedLine aSeparatorFL; + + FixedLine aFlagFL; + CheckBox aOnOffCB; + + FixedText aFillModeFT; + RadioButton aFillMarginRB; + RadioButton aFillIndentRB; + RadioButton aFillTabRB; + RadioButton aFillSpaceRB; + + FixedLine aCrsrOptFL; + CheckBox aCrsrInProtCB; + + SwShdwCrsrOptionsTabPage( Window* pParent, const SfxItemSet& rSet ); + ~SwShdwCrsrOptionsTabPage(); + +public: + + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); +}; + +/*----------------------------------------------------------------------- + Beschreibung: Markierungsvorschau + -----------------------------------------------------------------------*/ + +class SwMarkPreview : public Window +{ + Color m_aBgCol; // background + Color m_aTransCol; // transparency + Color m_aMarkCol; // marks + Color m_aLineCol; // general lines + Color m_aShadowCol; // shadow + Color m_aTxtCol; // text + Color m_aPrintAreaCol; // frame for print area + + Rectangle aPage; + Rectangle aLeftPagePrtArea; + Rectangle aRightPagePrtArea; + + USHORT nMarkPos; + + using OutputDevice::DrawRect; + void DrawRect(const Rectangle &rRect, const Color &rFillColor, const Color &rLineColor); + + void Paint(const Rectangle&); + void PaintPage(const Rectangle &rRect); + void InitColors( void ); + +protected: + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + +public: + SwMarkPreview(Window* pParent, const ResId& rResID); + virtual ~SwMarkPreview(); + + inline void SetColor(const Color& rCol) { m_aMarkCol = rCol; } + inline void SetMarkPos(USHORT nPos) { nMarkPos = nPos; } +}; + +/*----------------------------------------------------------------------- + Beschreibung: Redlining-Optionen + -----------------------------------------------------------------------*/ + +class SwRedlineOptionsTabPage : public SfxTabPage +{ + FixedLine aInsertFL; + + FixedText aInsertFT; + FixedText aInsertAttrFT; + ListBox aInsertLB; + FixedText aInsertColorFT; + ColorListBox aInsertColorLB; + SvxFontPrevWindow aInsertedPreviewWN; + + FixedText aDeletedFT; + FixedText aDeletedAttrFT; + ListBox aDeletedLB; + FixedText aDeletedColorFT; + ColorListBox aDeletedColorLB; + SvxFontPrevWindow aDeletedPreviewWN; + + FixedText aChangedFT; + FixedText aChangedAttrFT; + ListBox aChangedLB; + FixedText aChangedColorFT; + ColorListBox aChangedColorLB; + SvxFontPrevWindow aChangedPreviewWN; + + FixedLine aChangedFL; + + FixedText aMarkPosFT; + ListBox aMarkPosLB; + FixedText aMarkColorFT; + ColorListBox aMarkColorLB; + SwMarkPreview aMarkPreviewWN; + + String sAuthor; + String sNone; + + SwRedlineOptionsTabPage( Window* pParent, const SfxItemSet& rSet ); + ~SwRedlineOptionsTabPage(); + + DECL_LINK( AttribHdl, ListBox *pLB ); + DECL_LINK( ChangedMaskPrevHdl, ListBox *pLB = 0 ); + DECL_LINK( ColorHdl, ColorListBox *pColorLB ); + + void InitFontStyle(SvxFontPrevWindow& rExampleWin); + +public: + + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); +}; + +/*--------OS 11.01.95 ----------------------------------- + TabPage Testeinstellungen fuer SW +--------------------------------------------------------- */ + +#ifdef DBG_UTIL + +class SwTestTabPage : public SfxTabPage +{ +public: + SwTestTabPage( Window* pParent, + const SfxItemSet& rSet ); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet ); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); + +private: + FixedLine aTestFL; + CheckBox aTest1CBox; + CheckBox aTest2CBox; + CheckBox aTest3CBox; + CheckBox aTest4CBox; + CheckBox aTest5CBox; + CheckBox aTest6CBox; + CheckBox aTest7CBox; + CheckBox aTest8CBox; + CheckBox aTest9CBox; + CheckBox aTest10CBox; + + BOOL bAttrModified; + + void Init(); + DECL_LINK( AutoClickHdl, CheckBox * ); + +}; +#endif //PRODUCT +#endif + + diff --git a/sw/source/ui/inc/outline.hxx b/sw/source/ui/inc/outline.hxx new file mode 100644 index 000000000000..65f57636c02d --- /dev/null +++ b/sw/source/ui/inc/outline.hxx @@ -0,0 +1,166 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _OUTLINE_HXX +#define _OUTLINE_HXX + +#include <sfx2/tabdlg.hxx> + + +#include <vcl/menu.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#include <svtools/stdctrl.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#include "swtypes.hxx" //fuer MAXLEVEL +#include <numprevw.hxx> +#include <numberingtypelistbox.hxx> + +class SwWrtShell; +class SwNumRule; +class SwChapterNumRules; + +/* -----------------07.07.98 13:38------------------- + * + * --------------------------------------------------*/ +class SwOutlineTabDialog : public SfxTabDialog +{ + static USHORT nNumLevel; + + String aNullStr; + String aCollNames[MAXLEVEL]; + PopupMenu aFormMenu; + + SwWrtShell& rWrtSh; + SwNumRule* pNumRule; + SwChapterNumRules* pChapterNumRules; + + BOOL bModified : 1; + + protected: + DECL_LINK( CancelHdl, Button * ); + DECL_LINK( FormHdl, Button * ); + DECL_LINK( MenuSelectHdl, Menu * ); + + virtual void PageCreated(USHORT nPageId, SfxTabPage& rPage); + virtual short Ok(); + + public: + SwOutlineTabDialog(Window* pParent, + const SfxItemSet* pSwItemSet, + SwWrtShell &); + ~SwOutlineTabDialog(); + + SwNumRule* GetNumRule() {return pNumRule;} + USHORT GetLevel(const String &rFmtName) const; + String* GetCollNames() {return aCollNames;} + + static USHORT GetActNumLevel() {return nNumLevel;} + static void SetActNumLevel(USHORT nSet) {nNumLevel = nSet;} +}; +/* -----------------07.07.98 13:47------------------- + * + * --------------------------------------------------*/ +class SwOutlineSettingsTabPage : public SfxTabPage +{ + ListBox aLevelLB; + FixedLine aLevelFL; + + FixedText aCollLbl; + ListBox aCollBox; + FixedText aNumberLbl; + SwNumberingTypeListBox aNumberBox; + FixedText aCharFmtFT; + ListBox aCharFmtLB; + FixedText aAllLevelFT; + NumericField aAllLevelNF; + FixedText aDelim; + FixedText aPrefixFT; + Edit aPrefixED; + FixedText aSuffixFT; + Edit aSuffixED; + FixedText aStartLbl; + NumericField aStartEdit; + FixedLine aNumberFL; + NumberingPreview aPreviewWIN; + + String aNoFmtName; + String aSaveCollNames[MAXLEVEL]; + SwWrtShell* pSh; + SwNumRule* pNumRule; + String* pCollNames; + USHORT nActLevel; + + DECL_LINK( LevelHdl, ListBox * ); + DECL_LINK( ToggleComplete, NumericField * ); + DECL_LINK( CollSelect, ListBox * ); + DECL_LINK( CollSelectGetFocus, ListBox * ); + DECL_LINK( NumberSelect, SwNumberingTypeListBox * ); + DECL_LINK( DelimModify, Edit * ); + DECL_LINK( StartModified, NumericField * ); + DECL_LINK( CharFmtHdl, ListBox * ); + + void Update(); + + void SetModified(){aPreviewWIN.Invalidate();} + void CheckForStartValue_Impl(sal_uInt16 nNumberingType); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + SwOutlineSettingsTabPage(Window* pParent, const SfxItemSet& rSet); + ~SwOutlineSettingsTabPage(); + + void SetWrtShell(SwWrtShell* pShell); + + virtual void ActivatePage(const SfxItemSet& rSet); + virtual int DeactivatePage(SfxItemSet *pSet); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); +}; +#endif diff --git a/sw/source/ui/inc/pardlg.hxx b/sw/source/ui/inc/pardlg.hxx new file mode 100644 index 000000000000..3946300dc248 --- /dev/null +++ b/sw/source/ui/inc/pardlg.hxx @@ -0,0 +1,39 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SW_PARDLG_HXX +#define _SW_PARDLG_HXX + +#include <sfx2/tabdlg.hxx> + +class SwView; +class SfxItemSet; + +//DialogModes: +#define DLG_STD 0 +#define DLG_ENVELOP 2 + +#endif diff --git a/sw/source/ui/inc/pattern.hxx b/sw/source/ui/inc/pattern.hxx new file mode 100644 index 000000000000..2ee7cb079afd --- /dev/null +++ b/sw/source/ui/inc/pattern.hxx @@ -0,0 +1,44 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _PATTERN_HXX +#define _PATTERN_HXX + +#include <sfx2/basedlgs.hxx> +class Window; +class SfxItemSet; + +class SwBackgroundDlg : public SfxSingleTabDialog +{ +public: + + SwBackgroundDlg(Window* pParent, const SfxItemSet& rSet); + ~SwBackgroundDlg(); +}; + +#endif + diff --git a/sw/source/ui/inc/pgfnote.hxx b/sw/source/ui/inc/pgfnote.hxx new file mode 100644 index 000000000000..31bb0c68fc22 --- /dev/null +++ b/sw/source/ui/inc/pgfnote.hxx @@ -0,0 +1,93 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _PGFNOTE_HXX +#define _PGFNOTE_HXX + +#include <sfx2/tabdlg.hxx> + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#include <svtools/ctrlbox.hxx> + +/*-------------------------------------------------------------------- + Beschreibung: Fussnoteneinstellungs-TabPage + --------------------------------------------------------------------*/ + +class SwFootNotePage: public SfxTabPage +{ +public: + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + static USHORT* GetRanges(); + + virtual BOOL FillItemSet(SfxItemSet &rSet); + virtual void Reset(const SfxItemSet &rSet); + +private: + SwFootNotePage(Window *pParent, const SfxItemSet &rSet); + ~SwFootNotePage(); + + RadioButton aMaxHeightPageBtn; + RadioButton aMaxHeightBtn; + MetricField aMaxHeightEdit; + FixedText aDistLbl; + MetricField aDistEdit; + FixedLine aPosHeader; + + FixedText aLinePosLbl; + ListBox aLinePosBox; + FixedText aLineTypeLbl; + LineListBox aLineTypeBox; + FixedText aLineWidthLbl; + MetricField aLineWidthEdit; + FixedText aLineDistLbl; + MetricField aLineDistEdit; + FixedLine aLineHeader; + + DECL_LINK( HeightPage, Button * ); + DECL_LINK( HeightMetric, Button * ); + DECL_LINK( HeightModify, MetricField * ); + + long lMaxHeight; + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + + virtual void ActivatePage( const SfxItemSet& rSet ); + virtual int DeactivatePage( SfxItemSet* pSet = 0 ); + +}; + +#endif diff --git a/sw/source/ui/inc/pggrid.hxx b/sw/source/ui/inc/pggrid.hxx new file mode 100644 index 000000000000..92ba2fa2ebd4 --- /dev/null +++ b/sw/source/ui/inc/pggrid.hxx @@ -0,0 +1,113 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _PGGRID_HXX +#define _PGGRID_HXX + +#include <sfx2/tabdlg.hxx> +#include <colex.hxx> +#ifndef _FIELD_HXX +#include <vcl/field.hxx> +#endif +#ifndef _FIXED_HXX +#include <vcl/fixed.hxx> +#endif +#include <svtools/ctrlbox.hxx> +/*-------------------------------------------------------------------- + Description: TabPage Format/(Styles/)Page/Text grid + --------------------------------------------------------------------*/ + +class SwTextGridPage: public SfxTabPage +{ + FixedLine aGridTypeFL; + RadioButton aNoGridRB; + RadioButton aLinesGridRB; + RadioButton aCharsGridRB; + CheckBox aSnapToCharsCB; + + SwPageGridExample aExampleWN; + + FixedLine aLayoutFL; + + FixedText aLinesPerPageFT; + NumericField aLinesPerPageNF; + + FixedText aTextSizeFT; + MetricField aTextSizeMF; + + FixedText aCharsPerLineFT; + NumericField aCharsPerLineNF; + + FixedText aCharWidthFT; + MetricField aCharWidthMF; + + FixedText aRubySizeFT; + MetricField aRubySizeMF; + + CheckBox aRubyBelowCB; + + FixedLine aDisplayFL; + + CheckBox aDisplayCB; + CheckBox aPrintCB; + FixedText aColorFT; + ColorListBox aColorLB; + + Window* aControls[18]; + + sal_Int32 m_nRubyUserValue; + sal_Bool m_bRubyUserValue; + Size m_aPageSize; + sal_Bool m_bVertical; + sal_Bool m_bSquaredMode; + + SwTextGridPage(Window *pParent, const SfxItemSet &rSet); + ~SwTextGridPage(); + + void UpdatePageSize(const SfxItemSet& rSet); + void PutGridItem(SfxItemSet& rSet); + + DECL_LINK(GridTypeHdl, RadioButton*); + DECL_LINK(CharorLineChangedHdl, SpinField*); + DECL_LINK(TextSizeChangedHdl, SpinField*); + DECL_LINK(GridModifyHdl, void*); + DECL_LINK(DisplayGridHdl, CheckBox*); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + static USHORT* GetRanges(); + + virtual BOOL FillItemSet(SfxItemSet &rSet); + virtual void Reset(const SfxItemSet &rSet); + + virtual void ActivatePage( const SfxItemSet& rSet ); + virtual int DeactivatePage( SfxItemSet* pSet = 0 ); +}; + +#endif diff --git a/sw/source/ui/inc/popbox.hxx b/sw/source/ui/inc/popbox.hxx new file mode 100644 index 000000000000..bc9fa1855287 --- /dev/null +++ b/sw/source/ui/inc/popbox.hxx @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _POPBOX_HXX +#define _POPBOX_HXX + + +#ifndef _TOOLBOX_HXX +#include <vcl/toolbox.hxx> +#endif +#include <svtools/transfer.hxx> + +class SwNavigationPI; + +class SwHelpToolBox: public ToolBox, public DropTargetHelper +{ + Link aDoubleClickLink; + Link aRightClickLink; // Link bekommt MouseEvent als Parameter !!! + + using ToolBox::DoubleClick; + +protected: + virtual void MouseButtonDown(const MouseEvent &rEvt); + virtual long DoubleClick(ToolBox *); + virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ); + virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ); + +public: + SwHelpToolBox(SwNavigationPI* pParent, const ResId &); + ~SwHelpToolBox(); + void SetDoubleClickLink(const Link &); // inline + void SetRightClickLink(const Link &); // inline +}; + +inline void SwHelpToolBox::SetDoubleClickLink(const Link &rLink) { + aDoubleClickLink = rLink; +} + +inline void SwHelpToolBox::SetRightClickLink(const Link &rLink) { + aRightClickLink = rLink; +} + + +#endif diff --git a/sw/source/ui/inc/popup.hrc b/sw/source/ui/inc/popup.hrc new file mode 100644 index 000000000000..62f210938a36 --- /dev/null +++ b/sw/source/ui/inc/popup.hrc @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _POPUP_HRC +#define _POPUP_HRC + +#include "rcid.hrc" + +#define MN_TEXT_POPUPMENU (RC_POPUPS_BEGIN + 0) +#define MN_TAB_POPUPMENU (RC_POPUPS_BEGIN + 1) +#define MN_FRM_POPUPMENU (RC_POPUPS_BEGIN + 2) +#define MN_DRAW_POPUPMENU (RC_POPUPS_BEGIN + 3) +#define MN_DRWTXT_POPUPMENU (RC_POPUPS_BEGIN + 4) +#define MN_GRF_POPUPMENU (RC_POPUPS_BEGIN + 5) +#define MN_OLE_POPUPMENU (RC_POPUPS_BEGIN + 6) +#define MN_PPREVIEW_POPUPMENU (RC_POPUPS_BEGIN + 7) +#define MN_SRCVIEW_POPUPMENU (RC_POPUPS_BEGIN + 8) +#define MN_DRAWFORM_POPUPMENU (RC_POPUPS_BEGIN + 9) +#define MN_MEDIA_POPUPMENU (RC_POPUPS_BEGIN + 10) +#define MN_LANGUAGE_FOR_TEXT (RC_POPUPS_BEGIN + 11) +#define MN_LANGUAGE_FOR_PARAGRAPH (RC_POPUPS_BEGIN + 12) +#define MN_LANGUAGE_FOR_DOCUMENT (RC_POPUPS_BEGIN + 13) +#define MN_ANNOTATION_POPUPMENU (RC_POPUPS_BEGIN + 14) +#define MN_ANNOTATION_BUTTON (RC_POPUPS_BEGIN + 15) +#define MN_REDCOMMENT_POPUPMENU (RC_POPUPS_BEGIN + 16) +#define MN_REDCOMMENT_BUTTON (RC_POPUPS_BEGIN + 17) + +#if MN_MEDIA_POPUPMENU > RC_POPUPS_END + +#error Resource-Id Ueberlauf in #file, #line +#endif + + +#endif // _POPUP_HRC diff --git a/sw/source/ui/inc/prcntfld.hxx b/sw/source/ui/inc/prcntfld.hxx new file mode 100644 index 000000000000..e506f31de708 --- /dev/null +++ b/sw/source/ui/inc/prcntfld.hxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _PRCNTFLD_HXX +#define _PRCNTFLD_HXX + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#include "swdllapi.h" + +class SW_DLLPUBLIC PercentField : public MetricField +{ + sal_Int64 nRefValue; // 100%-Wert fuer Umrechnung (in Twips) + sal_Int64 nOldMax; + sal_Int64 nOldMin; + sal_Int64 nOldSpinSize; + sal_Int64 nOldBaseValue; + sal_Int64 nLastPercent; + sal_Int64 nLastValue; + USHORT nOldDigits; + FieldUnit eOldUnit; + sal_Bool bLockAutoCalculation; //prevent recalcution of percent values when the + //reference value is changed + + SW_DLLPRIVATE sal_Int64 ImpPower10(USHORT n); + + using MetricField::SetValue; + using MetricField::GetValue; + using MetricFormatter::SetUserValue; + using MetricFormatter::SetBaseValue; + using MetricFormatter::SetMax; + using MetricFormatter::SetMin; + using NumericFormatter::IsValueModified; + +public: + + virtual void SetValue(sal_Int64 nNewValue, FieldUnit eInUnit = FUNIT_NONE); + + PercentField( Window* pWin, const ResId& rResId ); + + void SetPrcntValue(sal_Int64 nNewValue, FieldUnit eInUnit = FUNIT_NONE); + + void SetUserValue(sal_Int64 nNewValue, FieldUnit eInUnit = FUNIT_NONE); + + void SetBaseValue(sal_Int64 nNewValue, FieldUnit eInUnit = FUNIT_NONE); + + sal_Int64 GetValue(FieldUnit eOutUnit = FUNIT_NONE); + + BOOL IsValueModified(); + + //using NumericFormatter::SetMax; + void SetMax(sal_Int64 nNewMax, FieldUnit eInUnit = FUNIT_NONE); + + //using NumericFormatter::SetMin; + void SetMin(sal_Int64 nNewMin, FieldUnit eInUnit = FUNIT_NONE); + + sal_Int64 NormalizePercent(sal_Int64 nValue); + sal_Int64 DenormalizePercent(sal_Int64 nValue); + + void SetRefValue(sal_Int64 nValue); + inline sal_Int64 GetRefValue() const { return nRefValue; } + sal_Int64 GetRealValue(FieldUnit eOutUnit = FUNIT_NONE); + + sal_Int64 Convert(sal_Int64 nValue, FieldUnit eInUnit, FieldUnit eOutUnit); + + void ShowPercent(BOOL bPercent); + + USHORT GetOldDigits() const {return nOldDigits;} + + void LockAutoCalculation(sal_Bool bLock) {bLockAutoCalculation = bLock;} + sal_Bool IsAutoCalculationLocked()const {return bLockAutoCalculation;} +}; + +#endif // _PRCNTFLD_HXX + diff --git a/sw/source/ui/inc/prtopt.hxx b/sw/source/ui/inc/prtopt.hxx new file mode 100644 index 000000000000..75f0520e35e8 --- /dev/null +++ b/sw/source/ui/inc/prtopt.hxx @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _PRTOPT_HXX +#define _PRTOPT_HXX + +#include <unotools/configitem.hxx> +#include <printdata.hxx> + +class SwPrintOptions : public SwPrintData, public utl::ConfigItem +{ + sal_Bool bIsWeb; + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); +public: + SwPrintOptions(sal_Bool bWeb); + virtual ~SwPrintOptions(); + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + virtual void doSetModified( ) { bModified = sal_True; SetModified();} + + SwPrintOptions& operator=(const SwPrintData& rData) + { + SwPrintData::operator=( rData ); + SetModified(); + return *this; + } +}; + +#endif + diff --git a/sw/source/ui/inc/pview.hxx b/sw/source/ui/inc/pview.hxx new file mode 100644 index 000000000000..d0d8f2cb804a --- /dev/null +++ b/sw/source/ui/inc/pview.hxx @@ -0,0 +1,337 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWPVIEW_HXX +#define _SWPVIEW_HXX + +#include <tools/link.hxx> +#include <vcl/window.hxx> +#include <sfx2/viewfrm.hxx> +#include <sfx2/viewfac.hxx> +#include <sfx2/viewsh.hxx> +#include <svx/zoomitem.hxx> +#include "swdllapi.h" +#include "shellid.hxx" + +class SwViewOption; +class SwDocShell; +class SwScrollbar; +class ViewShell; +class SwPagePreView; +class ImageButton; +class Button; +class SwRect; +class DataChangedEvent; +class CommandEvent; +class SvtAccessibilityOptions; +// OD 12.12.2002 #103492# +class SwPagePreviewLayout; + +// OD 24.03.2003 #108282# - delete member <mnVirtPage> and its accessor. +class SwPagePreViewWin : public Window +{ + ViewShell* mpViewShell; + USHORT mnSttPage; + BYTE mnRow, mnCol; + Size maPxWinSize; + Fraction maScale; + SwPagePreView& mrView; + // OD 02.12.2002 #103492# + bool mbCalcScaleForPreviewLayout; + Rectangle maPaintedPreviewDocRect; + // OD 12.12.2002 #103492# + SwPagePreviewLayout* mpPgPrevwLayout; + + void SetPagePreview( BYTE nRow, BYTE nCol ); + + using Window::Scroll; + +public: + SwPagePreViewWin( Window* pParent, SwPagePreView& rView ); + ~SwPagePreViewWin(); + + //Ruft ViewShell::Paint + virtual void Paint( const Rectangle& rRect ); + virtual void KeyInput( const KeyEvent & ); + virtual void Command( const CommandEvent& rCEvt ); + virtual void MouseButtonDown(const MouseEvent& rMEvt); + virtual void DataChanged( const DataChangedEvent& ); + + void SetViewShell( ViewShell* pShell ); + + ViewShell* GetViewShell() const { return mpViewShell; } + + BYTE GetRow() const { return mnRow; } + void SetRow( BYTE n ) { if( n ) mnRow = n; } + + BYTE GetCol() const { return mnCol; } + void SetCol( BYTE n ) { if( n ) mnCol = n; } + + USHORT GetSttPage() const { return mnSttPage; } + void SetSttPage( USHORT n ) { mnSttPage = n; } + + /** get selected page number of document preview + + OD 13.12.2002 #103492# + + @author OD + + @return selected page number + */ + sal_uInt16 SelectedPage() const; + + /** set selected page number in document preview + + OD 13.12.2002 #103492# + + @author OD + + @param _nSelectedPageNum + input parameter - physical page number of page that will be the selected one. + */ + void SetSelectedPage( sal_uInt16 _nSelectedPageNum ); + + //JP 19.08.98: bei Einspaltigkeit gibt es keine 0. Seite! + USHORT GetDefSttPage() const { return 1 == mnCol ? 1 : 0; } + + void CalcWish( BYTE nNewRow, BYTE nNewCol ); + + const Size& GetWinSize() const { return maPxWinSize; } + void SetWinSize( const Size& rNewSize ); + + // OD 18.12.2002 #103492# - add <MV_SELPAGE>, <MV_SCROLL> + enum MoveMode{ MV_CALC, MV_PAGE_UP, MV_PAGE_DOWN, MV_DOC_STT, MV_DOC_END, + MV_SELPAGE, MV_SCROLL, MV_NEWWINSIZE }; + int MovePage( int eMoveMode ); + + // erzeuge den String fuer die StatusLeiste + void GetStatusStr( String& rStr, USHORT nPageCount ) const; + + void RepaintCoreRect( const SwRect& rRect ); + + /** method to adjust preview to a new zoom factor + + OD 02.12.2002 #103492# + paint of preview is prepared for a new zoom factor + OD 24.09.2003 #i19975# - zoom type has also been considered. + Thus, add new parameter <_eZoomType> + + @author OD + */ + void AdjustPreviewToNewZoom( const sal_uInt16 _nZoomFactor, + const SvxZoomType _eZoomType ); + + const Rectangle& GetPaintedPreviewDocRect() const + { + return maPaintedPreviewDocRect; + } + + void Scroll(long nXMove, long nYMove, USHORT nFlags = 0); + + /** method to enable/disable book preview + + OD 2004-03-05 #i18143# + + @author OD + + @param _bBookPreview + input parameter - boolean indicating, if book preview mode has to + switch on <TRUE> or of <FALSE> + + @return boolean indicating, if book preview mode has changed. + */ + bool SetBookPreviewMode( const bool _bBookPreview ); + + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible> + CreateAccessible(); +}; + + +/*-------------------------------------------------------------------- + Beschreibung: Sicht auf ein Dokument + --------------------------------------------------------------------*/ + +class SW_DLLPUBLIC SwPagePreView: public SfxViewShell +{ + // ViewWindow und Henkel zur Core + // aktuelle Dispatcher-Shell + SwPagePreViewWin aViewWin; + //viewdata of the previous SwView and the new crsrposition + String sSwViewData, + //and the new cursor position if the user double click in the PagePreView + sNewCrsrPos; + // to support keyboard the number of the page to go to can be set too + USHORT nNewPage; + // Sichtbarer Bereich + String sPageStr; + Size aDocSz; + Rectangle aVisArea; + + // MDI Bedienelemente + SwScrollbar *pHScrollbar; + SwScrollbar *pVScrollbar; + ImageButton *pPageUpBtn, + *pPageDownBtn; + // Dummy-Window zum F�llen der rechten unteren Ecke, wenn beide Scrollbars + // aktiv sind + Window *pScrollFill; + + USHORT mnPageCount; + BOOL bNormalPrint; + + // OD 09.01.2003 #106334# + // new members to reset design mode at draw view for form shell on switching + // back from writer page preview to normal view. + sal_Bool mbResetFormDesignMode:1; + sal_Bool mbFormDesignModeToReset:1; + + SW_DLLPRIVATE void Init(const SwViewOption* = 0); + SW_DLLPRIVATE Point AlignToPixel(const Point& rPt) const; + + SW_DLLPRIVATE int _CreateScrollbar( BOOL bHori ); + SW_DLLPRIVATE DECL_LINK( ScrollHdl, SwScrollbar * ); + SW_DLLPRIVATE DECL_LINK( EndScrollHdl, SwScrollbar * ); + SW_DLLPRIVATE DECL_LINK( BtnPage, Button * ); + SW_DLLPRIVATE int ChgPage( int eMvMode, int bUpdateScrollbar = TRUE ); + + + SW_DLLPRIVATE virtual SfxPrinter* GetPrinter( BOOL bCreate = FALSE ); + SW_DLLPRIVATE virtual USHORT SetPrinter( SfxPrinter *pNewPrinter, USHORT nDiffFlags = SFX_PRINTER_ALL, bool bIsAPI=false ); + SW_DLLPRIVATE virtual SfxTabPage* CreatePrintOptionsPage( Window *pParent, + const SfxItemSet &rOptions ); + SW_DLLPRIVATE virtual PrintDialog* CreatePrintDialog( Window *pParent ); + + SW_DLLPRIVATE void CalcAndSetBorderPixel( SvBorder &rToFill, BOOL bInner ); + + /** help method to execute SfxRequest FN_PAGE_UP and FN_PAGE_DOWN + + OD 04.03.2003 #107369# + + @param _bPgUp + input parameter - boolean that indicates, if FN_PAGE_UP or FN_PAGE_DOWN + has to be executed. + + @param _pReq + optional input parameter - pointer to the <SfxRequest> instance, if existing. + + @author OD + */ + SW_DLLPRIVATE void _ExecPgUpAndPgDown( const bool _bPgUp, + SfxRequest* _pReq = 0 ); + +protected: + virtual void InnerResizePixel( const Point &rOfs, const Size &rSize ); + virtual void OuterResizePixel( const Point &rOfs, const Size &rSize ); + virtual Size GetOptimalSizePixel() const; + + void SetZoom(SvxZoomType eSet, USHORT nFactor); + +public: + SFX_DECL_VIEWFACTORY(SwPagePreView); + SFX_DECL_INTERFACE(SW_PAGEPREVIEW) + TYPEINFO(); + + inline Window* GetFrameWindow() const { return &(GetViewFrame())->GetWindow(); } + inline ViewShell* GetViewShell() const { return aViewWin.GetViewShell(); } + inline const Rectangle& GetVisArea() const { return aVisArea; } + inline void GrabFocusViewWin() { aViewWin.GrabFocus(); } + inline void RepaintCoreRect( const SwRect& rRect ) + { aViewWin.RepaintCoreRect( rRect ); } + + void DocSzChgd(const Size& rNewSize); + const Size& GetDocSz() const { return aDocSz; } + + virtual void SetVisArea( const Rectangle&, BOOL bUpdateScrollbar = TRUE); + + inline void AdjustEditWin(); + + void ScrollViewSzChg(); + void ScrollDocSzChg(); + void ShowHScrollbar(sal_Bool bShow); + + void ShowVScrollbar(sal_Bool bShow); + + USHORT GetPageCount() const { return mnPageCount; } + + BOOL HandleWheelCommands( const CommandEvent& ); + + const String& GetPrevSwViewData() const { return sSwViewData; } + void SetNewCrsrPos( const String& rStr ) { sNewCrsrPos = rStr; } + const String& GetNewCrsrPos() const { return sNewCrsrPos; } + + USHORT GetNewPage() const {return nNewPage;} + void SetNewPage(USHORT nSet) {nNewPage = nSet;} + + // Handler + void Execute(SfxRequest&); + void GetState(SfxItemSet&); + void StateUndo(SfxItemSet&); + + SwDocShell* GetDocShell(); + + //apply Accessiblity options + void ApplyAccessiblityOptions(SvtAccessibilityOptions& rAccessibilityOptions); + + // OD 09.01.2003 #106334# - inline method to request values of new members + // <mbResetFormDesignMode> and <mbFormDesignModeToReset> + inline sal_Bool ResetFormDesignMode() const + { + return mbResetFormDesignMode; + } + + inline sal_Bool FormDesignModeToReset() const + { + return mbFormDesignModeToReset; + } + + /** adjust position of vertical scrollbar + + OD 19.02.2003 #107369 + Currently used, if the complete preview layout rows fit into to the given + window, if a new page is selected and this page is visible. + + @author OD + + @param _nNewThumbPos + input parameter - new position, which will be assigned to the vertical + scrollbar. + */ + void SetVScrollbarThumbPos( const sal_uInt16 _nNewThumbPos ); + + SwPagePreView( SfxViewFrame* pFrame, SfxViewShell* ); + ~SwPagePreView(); +}; + +// ----------------- inline Methoden ---------------------- + + +inline void SwPagePreView::AdjustEditWin() +{ + OuterResizePixel( Point(), GetFrameWindow()->GetOutputSizePixel() ); +} + +#endif diff --git a/sw/source/ui/inc/redlndlg.hxx b/sw/source/ui/inc/redlndlg.hxx new file mode 100644 index 000000000000..152c17387072 --- /dev/null +++ b/sw/source/ui/inc/redlndlg.hxx @@ -0,0 +1,189 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWREDLNDLG_HXX +#define _SWREDLNDLG_HXX +#include "swdllapi.h" +#include "chldwrap.hxx" +#include <redline.hxx> +#include <tools/datetime.hxx> +#include <vcl/msgbox.hxx> +#ifndef _SVSTDARR_HXX +#include <svl/svstdarr.hxx> +#endif +#include <svl/eitem.hxx> +#include <sfx2/basedlgs.hxx> +#include <sfx2/viewfrm.hxx> +#include <sfx2/dispatch.hxx> +#include <svx/ctredlin.hxx> +#include <svx/postattr.hxx> + +class SwChildWinWrapper; + +struct SwRedlineDataChild +{ + const SwRedlineData* pChild; // Verweis auf originale gestackte Daten + const SwRedlineDataChild* pNext; // Verweis auf gestackte Daten + SvLBoxEntry* pTLBChild; // zugehoeriger TreeListBox-Eintrag +}; + +struct SwRedlineDataParent +{ + const SwRedlineData* pData; // RedlineDataPtr + const SwRedlineDataChild* pNext; // Verweis auf gestackte Daten + SvLBoxEntry* pTLBParent; // zugehoeriger TreeListBox-Eintrag + String sComment; // Redline-Kommentar + + inline BOOL operator==( const SwRedlineDataParent& rObj ) const + { return (pData && pData->GetSeqNo() == rObj.pData->GetSeqNo()); } + inline BOOL operator< ( const SwRedlineDataParent& rObj ) const + { return (pData && pData->GetSeqNo() < rObj.pData->GetSeqNo()); } +}; + +typedef SwRedlineDataParent* SwRedlineDataParentPtr; +SV_DECL_PTRARR_DEL(SwRedlineDataParentArr, SwRedlineDataParentPtr, 10, 20) + + +SV_DECL_PTRARR_SORT(SwRedlineDataParentSortArr, SwRedlineDataParentPtr, 10, 20) + + +typedef SwRedlineDataChild* SwRedlineDataChildPtr; +SV_DECL_PTRARR_DEL(SwRedlineDataChildArr, SwRedlineDataChildPtr, 4, 4) + + +typedef SvLBoxEntry* SvLBoxEntryPtr; +SV_DECL_PTRARR(SvLBoxEntryArr, SvLBoxEntryPtr, 100, 100) + +class SW_DLLPUBLIC SwRedlineAcceptDlg +{ + Dialog* pParentDlg; + SwRedlineDataParentArr aRedlineParents; + SwRedlineDataChildArr aRedlineChilds; + SwRedlineDataParentSortArr aUsedSeqNo; + SvxAcceptChgCtr aTabPagesCTRL; + PopupMenu aPopup; + Timer aDeselectTimer; + Timer aSelectTimer; + String sInserted; + String sDeleted; + String sFormated; + String sTableChgd; + String sFmtCollSet; + String sFilterAction; + String sAutoFormat; + Size aBorderSz; + SvxTPView* pTPView; + SvxRedlinTable* pTable; // PB 2006/02/02 #i48648 now SvHeaderTabListBox + Link aOldSelectHdl; + Link aOldDeselectHdl; + BOOL bOnlyFormatedRedlines; + BOOL bHasReadonlySel; + BOOL bRedlnAutoFmt; + + // prevent update dialog data during longer operations (cf #102657#) + bool bInhibitActivate; + + SW_DLLPRIVATE DECL_LINK( AcceptHdl, void* ); + SW_DLLPRIVATE DECL_LINK( AcceptAllHdl, void* ); + SW_DLLPRIVATE DECL_LINK( RejectHdl, void* ); + SW_DLLPRIVATE DECL_LINK( RejectAllHdl, void* ); + SW_DLLPRIVATE DECL_LINK( UndoHdl, void* ); + SW_DLLPRIVATE DECL_LINK( DeselectHdl, void* ); + SW_DLLPRIVATE DECL_LINK( SelectHdl, void* ); + SW_DLLPRIVATE DECL_LINK( GotoHdl, void* ); + SW_DLLPRIVATE DECL_LINK( CommandHdl, void* ); + + SW_DLLPRIVATE USHORT CalcDiff(USHORT nStart, BOOL bChild); + SW_DLLPRIVATE void InsertChilds(SwRedlineDataParent *pParent, const SwRedline& rRedln, const USHORT nAutoFmt); + SW_DLLPRIVATE void InsertParents(USHORT nStart, USHORT nEnd = USHRT_MAX); + SW_DLLPRIVATE void RemoveParents(USHORT nStart, USHORT nEnd); + SW_DLLPRIVATE void InitAuthors(); + + SW_DLLPRIVATE String GetRedlineText(const SwRedline& rRedln, DateTime &rDateTime, USHORT nStack = 0); + SW_DLLPRIVATE const String& GetActionText(const SwRedline& rRedln, USHORT nStack = 0); + SW_DLLPRIVATE USHORT GetRedlinePos( const SvLBoxEntry& rEntry) const; + +public: + SwRedlineAcceptDlg(Dialog *pParent, BOOL bAutoFmt = FALSE); + virtual ~SwRedlineAcceptDlg(); + + DECL_LINK( FilterChangedHdl, void *pDummy = 0 ); + + inline SvxAcceptChgCtr* GetChgCtrl() { return &aTabPagesCTRL; } + inline BOOL HasRedlineAutoFmt() const { return bRedlnAutoFmt; } + + void Init(USHORT nStart = 0); + void CallAcceptReject( BOOL bSelect, BOOL bAccept ); + + void Initialize(const String &rExtraData); + void FillInfo(String &rExtraData) const; + + virtual void Activate(); + virtual void Resize(); +}; + +/*------------------------------------------------------------------------ + Beschreibung: +------------------------------------------------------------------------*/ + +class SwModelessRedlineAcceptDlg : public SfxModelessDialog +{ + SwRedlineAcceptDlg* pImplDlg; + SwChildWinWrapper* pChildWin; + + virtual void Resize(); + +public: + SwModelessRedlineAcceptDlg(SfxBindings*, SwChildWinWrapper*, Window *pParent); + ~SwModelessRedlineAcceptDlg(); + + virtual void Activate(); + virtual void FillInfo(SfxChildWinInfo&) const; + void Initialize (SfxChildWinInfo* pInfo); +}; + + +/*------------------------------------------------------------------------ + Beschreibung: +------------------------------------------------------------------------*/ + +class SwRedlineAcceptChild : public SwChildWinWrapper +{ +public: + SwRedlineAcceptChild( Window* , + USHORT nId, + SfxBindings*, + SfxChildWinInfo* ); + + SFX_DECL_CHILDWINDOW( SwRedlineAcceptChild ); + + virtual BOOL ReInitDlg(SwDocShell *pDocSh); +}; + + +#endif + + diff --git a/sw/source/ui/inc/regionsw.hxx b/sw/source/ui/inc/regionsw.hxx new file mode 100644 index 000000000000..0237f560da09 --- /dev/null +++ b/sw/source/ui/inc/regionsw.hxx @@ -0,0 +1,336 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _REGIONSW_HXX +#define _REGIONSW_HXX + +#include <hintids.hxx> +#include <vcl/field.hxx> +#include <vcl/lstbox.hxx> +#include <vcl/edit.hxx> +#include <vcl/button.hxx> +#include <vcl/fixed.hxx> +#include <vcl/combobox.hxx> +#include <vcl/group.hxx> +#include <svtools/svtreebx.hxx> +#include <sfx2/basedlgs.hxx> +#include <sfx2/tabdlg.hxx> +#include <editeng/brshitem.hxx> + +#include <condedit.hxx> +#include <section.hxx> +#include <fmtclds.hxx> +#include <fmtftntx.hxx> +#include <fmtclbl.hxx> +#include <numberingtypelistbox.hxx> +#include <editeng/frmdiritem.hxx> +#include <vcl/image.hxx> +#include <svx/paraprev.hxx> +#include <editeng/lrspitem.hxx> + + +class SwWrtShell; +class EditRegionDlg; + +namespace sfx2 +{ + class DocumentInserter; + class FileDialogHelper; +} + +/************************************************************************* + Dialog "Bereiche bearbeiten" +*************************************************************************/ + +class SectRepr; +typedef SectRepr* SectReprPtr; +SV_DECL_PTRARR_SORT( SectReprArr, SectReprPtr, 0, 4 ) + +class SwEditRegionDlg : public SfxModalDialog +{ + FixedLine aNameFL; + Edit aCurName; + SvTreeListBox aTree; + + FixedLine aLinkFL; + TriStateBox aFileCB; + CheckBox aDDECB; + FixedText aFileNameFT; + FixedText aDDECommandFT; + Edit aFileNameED; + PushButton aFilePB; + FixedText aSubRegionFT; + ComboBox aSubRegionED; + bool bSubRegionsFilled; + + FixedLine aProtectFL; + TriStateBox aProtectCB; + CheckBox aPasswdCB; + PushButton aPasswdPB; + + FixedLine aHideFL; + TriStateBox aHideCB; + FixedText aConditionFT; + ConditionEdit aConditionED; + + // --> FME 2004-06-22 #114856# edit in readonly sections + FixedLine aPropertiesFL; + TriStateBox aEditInReadonlyCB; + // <-- + + OKButton aOK; + CancelButton aCancel; + PushButton aOptionsPB; + PushButton aDismiss; + HelpButton aHelp; + ImageList aImageIL; + ImageList aImageILH; + + SwWrtShell& rSh; + SectReprArr aSectReprArr; + SvLBoxEntry* pAktEntry; + const SwSection* pCurrSect; + sfx2::DocumentInserter* m_pDocInserter; + Window* m_pOldDefDlgParent; + + BOOL bDontCheckPasswd :1; + BOOL bWeb :1; + + + Image BuildBitmap(BOOL bProtect,BOOL bHidden,BOOL bHighContrast); + + void RecurseList( const SwSectionFmt* pFmt, SvLBoxEntry* pEntry); + USHORT FindArrPos(const SwSectionFmt* pFmt); + + DECL_LINK( GetFirstEntryHdl, SvTreeListBox * ); + DECL_LINK( DeselectHdl, SvTreeListBox * ); + + DECL_LINK( OkHdl, CheckBox * ); + DECL_LINK( NameEditHdl, Edit * ); + DECL_LINK( ConditionEditHdl, Edit * ); + + DECL_LINK( ChangePasswdHdl, Button * ); + DECL_LINK( ChangeProtectHdl, TriStateBox * ); + DECL_LINK( ChangeHideHdl, TriStateBox * ); + // --> FME 2004-06-22 #114856# edit in readonly sections + DECL_LINK( ChangeEditInReadonlyHdl, TriStateBox * ); + // <-- + DECL_LINK( ChangeDismissHdl, CheckBox * ); + DECL_LINK( UseFileHdl, CheckBox* ); + DECL_LINK( FileSearchHdl, PushButton* ); + DECL_LINK( OptionsHdl, PushButton* ); + DECL_LINK( FileNameHdl, Edit* ); + DECL_LINK( DDEHdl, CheckBox* ); + DECL_LINK( DlgClosedHdl, sfx2::FileDialogHelper* ); + DECL_LINK( SubRegionEventHdl, VclWindowEvent * ); + + BOOL CheckPasswd(CheckBox* pBox = 0); + +public: + SwEditRegionDlg( Window* pParent, SwWrtShell& rWrtSh ); + virtual ~SwEditRegionDlg(); + + void SelectSection(const String& rSectionName); + +}; +/************************************************************************* + Dialog "Bereich einfuegen" +*************************************************************************/ + +/* -----------------21.05.99 11:05------------------- + * + * --------------------------------------------------*/ +class SwInsertSectionTabPage : public SfxTabPage +{ + FixedLine aNameFL; + ComboBox aCurName; + + FixedLine aLinkFL; + CheckBox aFileCB; + CheckBox aDDECB; + FixedText aDDECommandFT; + FixedText aFileNameFT; + Edit aFileNameED; + PushButton aFilePB; + FixedText aSubRegionFT; + ComboBox aSubRegionED; + + FixedLine aProtectFL; + CheckBox aProtectCB; + CheckBox aPasswdCB; + PushButton aPasswdPB; + + FixedLine aHideFL; + CheckBox aHideCB; + FixedText aConditionFT; + ConditionEdit aConditionED; + + // --> FME 2004-06-22 #114856# edit in readonly sections + FixedLine aPropertiesFL; + CheckBox aEditInReadonlyCB; + // <-- + + String m_sFileName; + String m_sFilterName; + String m_sFilePasswd; + +// SwFmtCol* pCols; + ::com::sun::star::uno::Sequence <sal_Int8 > m_aNewPasswd; + SwWrtShell* m_pWrtSh; + sfx2::DocumentInserter* m_pDocInserter; + Window* m_pOldDefDlgParent; + + DECL_LINK( ChangeHideHdl, CheckBox * ); + // --> FME 2004-06-22 #114856# edit in readonly sections + DECL_LINK( ChangeEditInReadonlyHdl, CheckBox * ); + // <-- + DECL_LINK( ChangeProtectHdl, CheckBox * ); + DECL_LINK( ChangePasswdHdl, Button * ); + DECL_LINK( NameEditHdl, Edit * ); + DECL_LINK( UseFileHdl, CheckBox* ); + DECL_LINK( FileSearchHdl, PushButton* ); + DECL_LINK( DDEHdl, CheckBox* ); + DECL_LINK( DlgClosedHdl, sfx2::FileDialogHelper* ); + +public: + SwInsertSectionTabPage(Window *pParent, const SfxItemSet &rAttrSet); + virtual ~SwInsertSectionTabPage(); + + void SetWrtShell(SwWrtShell& rSh); + + virtual BOOL FillItemSet( SfxItemSet& ); + virtual void Reset( const SfxItemSet& ); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); +}; + +class SwSectionFtnEndTabPage : public SfxTabPage +{ + FixedLine aFtnFL; + CheckBox aFtnNtAtTextEndCB; + + CheckBox aFtnNtNumCB; + FixedText aFtnOffsetLbl; + NumericField aFtnOffsetFld; + + CheckBox aFtnNtNumFmtCB; + FixedText aFtnPrefixFT; + Edit aFtnPrefixED; + SwNumberingTypeListBox aFtnNumViewBox; + FixedText aFtnSuffixFT; + Edit aFtnSuffixED; + + FixedLine aEndFL; + CheckBox aEndNtAtTextEndCB; + + CheckBox aEndNtNumCB; + FixedText aEndOffsetLbl; + NumericField aEndOffsetFld; + + CheckBox aEndNtNumFmtCB; + FixedText aEndPrefixFT; + Edit aEndPrefixED; + SwNumberingTypeListBox aEndNumViewBox; + FixedText aEndSuffixFT; + Edit aEndSuffixED; + + + DECL_LINK( FootEndHdl, CheckBox * ); + void ResetState( BOOL bFtn, const SwFmtFtnEndAtTxtEnd& ); + +public: + SwSectionFtnEndTabPage( Window *pParent, const SfxItemSet &rAttrSet ); + virtual ~SwSectionFtnEndTabPage(); + + virtual BOOL FillItemSet( SfxItemSet& ); + virtual void Reset( const SfxItemSet& ); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); +}; +/* -----------------13.06.2003 09:51----------------- + + --------------------------------------------------*/ +class SwSectionIndentTabPage : public SfxTabPage +{ + FixedLine aIndentFL; + FixedText aBeforeFT; + MetricField aBeforeMF; + FixedText aAfterFT; + MetricField aAfterMF; + + SvxParaPrevWindow aPreviewWin; + + DECL_LINK(IndentModifyHdl, MetricField*); +public: + SwSectionIndentTabPage( Window *pParent, const SfxItemSet &rAttrSet ); + virtual ~SwSectionIndentTabPage(); + + virtual BOOL FillItemSet( SfxItemSet& ); + virtual void Reset( const SfxItemSet& ); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + void SetWrtShell(SwWrtShell& rSh); +}; + +/* -----------------21.05.99 13:07------------------- + * + * --------------------------------------------------*/ +class SwInsertSectionTabDialog : public SfxTabDialog +{ + SwWrtShell& rWrtSh; + ::std::auto_ptr<SwSectionData> m_pSectionData; + +protected: + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); + virtual short Ok(); +public: + SwInsertSectionTabDialog(Window* pParent, const SfxItemSet& rSet, SwWrtShell& rSh); + virtual ~SwInsertSectionTabDialog(); + + void SetSectionData(SwSectionData const& rSect); + SwSectionData * GetSectionData() { return m_pSectionData.get(); } +}; + +/* -----------------21.05.99 13:07------------------- + * + * --------------------------------------------------*/ +class SwSectionPropertyTabDialog : public SfxTabDialog +{ + SwWrtShell& rWrtSh; +protected: + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); +public: + SwSectionPropertyTabDialog(Window* pParent, const SfxItemSet& rSet, SwWrtShell& rSh); + virtual ~SwSectionPropertyTabDialog(); +}; + +#endif + + diff --git a/sw/source/ui/inc/ribbar.hrc b/sw/source/ui/inc/ribbar.hrc new file mode 100644 index 000000000000..45c494b6f136 --- /dev/null +++ b/sw/source/ui/inc/ribbar.hrc @@ -0,0 +1,135 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _RIBBAR_HRC +#define _RIBBAR_HRC + +#include "rcid.hrc" + +#define MN_FORM1 1 // Defines fuer NumNames-Popup +#define MN_FORMBASE MN_FORM1 +#define MN_FORM2 2 +#define MN_FORM3 3 +#define MN_FORM4 4 +#define MN_FORM5 5 + +#define WIN_RIBBAR RC_RIBBAR_BEGIN + +#define CB_FORMAT (RC_RIBBAR_BEGIN +1) +#define CB_FONT (RC_RIBBAR_BEGIN +2) +#define CB_SIZE (RC_RIBBAR_BEGIN +3) +#define PB_FORMULA_OK (RC_RIBBAR_BEGIN +4) +#define PB_FORMULA_CANCEL (RC_RIBBAR_BEGIN +5) +#define BMP_OK PB_FORMULA_OK +#define BMP_CANCEL PB_FORMULA_CANCEL +#define RID_TBX_FORMULA (RC_RIBBAR_BEGIN +6) +#define FT_POS (RC_RIBBAR_BEGIN +7) +#define BT_FORMULA (RC_RIBBAR_BEGIN +8) +#define STR_TBL_FORMULA (RC_RIBBAR_BEGIN +9) + +#define STR_BACKGROUND_PATTERN (RC_RIBBAR_BEGIN + 10) +#define STR_BACKGROUND_COLOR (RC_RIBBAR_BEGIN + 11) +#define STR_BORDER_COLOR (RC_RIBBAR_BEGIN + 12) +#define STR_BORDER_STYLE (RC_RIBBAR_BEGIN + 13) +#define STR_BORDER_LINE (RC_RIBBAR_BEGIN + 14) +#define STR_TEXT_COLOR (RC_RIBBAR_BEGIN + 15) +#define STR_NUMLIST (RC_RIBBAR_BEGIN + 16) + +#define STR_HELP_TOOLBOX_TOGGLE (RC_RIBBAR_BEGIN + 17) + +#define RID_DRAW_WIN (RC_RIBBAR_BEGIN + 18) +#define RID_CNTRLR_WIN (RC_RIBBAR_BEGIN + 19) +#define RID_ALIGNMENT_WIN (RC_RIBBAR_BEGIN + 20) + +//Resourcen fuer Inputwin (Rechenleiste) +#define RID_WIN_FORMULA (RC_RIBBAR_BEGIN + 21) +#define MN_CALC_POPUP (RC_RIBBAR_BEGIN + 22) + +#define MN_NUMNAMES_POPUP (RC_RIBBAR_BEGIN + 23) +#define RID_INSERT_CTRL (RC_RIBBAR_BEGIN + 24) +#define RID_INSERT_OBJ_CTRL (RC_RIBBAR_BEGIN + 25) +#define RID_INSERT_FIELD_CTRL (RC_RIBBAR_BEGIN + 26) +#define RID_TBL_OPT_CTRL (RC_RIBBAR_BEGIN + 27) +#define RID_BEZIER_WIN (RC_RIBBAR_BEGIN + 28) +#define RID_SCROLL_NAVI_TBX (RC_RIBBAR_BEGIN + 29) +#define RID_SCROLL_NAVIGATION_WIN (RC_RIBBAR_BEGIN + 30) +#define RID_PVIEW_ZOOM_LB (RC_RIBBAR_BEGIN + 31) + +#define STR_IMGBTN_START (RC_RIBBAR_BEGIN + 31) + +#define STR_IMGBTN_NEXT_DOWN (STR_IMGBTN_START + 0) +#define STR_IMGBTN_PREV_DOWN (STR_IMGBTN_START + 1) +#define STR_IMGBTN_TBL_DOWN (STR_IMGBTN_START + 2) +#define STR_IMGBTN_FRM_DOWN (STR_IMGBTN_START + 3) +#define STR_IMGBTN_PGE_DOWN (STR_IMGBTN_START + 4) +#define STR_IMGBTN_DRW_DOWN (STR_IMGBTN_START + 5) +#define STR_IMGBTN_CTRL_DOWN (STR_IMGBTN_START + 6) +#define STR_IMGBTN_REG_DOWN (STR_IMGBTN_START + 7) +#define STR_IMGBTN_BKM_DOWN (STR_IMGBTN_START + 8) +#define STR_IMGBTN_GRF_DOWN (STR_IMGBTN_START + 9) +#define STR_IMGBTN_OLE_DOWN (STR_IMGBTN_START +10) +#define STR_IMGBTN_OUTL_DOWN (STR_IMGBTN_START +11) +#define STR_IMGBTN_SEL_DOWN (STR_IMGBTN_START +12) +#define STR_IMGBTN_FTN_DOWN (STR_IMGBTN_START +13) +#define STR_IMGBTN_MARK_DOWN (STR_IMGBTN_START +14) +#define STR_IMGBTN_POSTIT_DOWN (STR_IMGBTN_START +15) +#define STR_IMGBTN_SRCH_REP_DOWN (STR_IMGBTN_START +16) +#define STR_IMGBTN_INDEX_ENTRY_DOWN (STR_IMGBTN_START +17) +#define STR_IMGBTN_TBLFML_DOWN (STR_IMGBTN_START +18) +#define STR_IMGBTN_TBLFML_ERR_DOWN (STR_IMGBTN_START +19) + +#define STR_IMGBTN_NEXT_UP (STR_IMGBTN_START +20) +#define STR_IMGBTN_PREV_UP (STR_IMGBTN_START +21) +#define STR_IMGBTN_TBL_UP (STR_IMGBTN_START +22) +#define STR_IMGBTN_FRM_UP (STR_IMGBTN_START +23) +#define STR_IMGBTN_PGE_UP (STR_IMGBTN_START +24) +#define STR_IMGBTN_DRW_UP (STR_IMGBTN_START +25) +#define STR_IMGBTN_CTRL_UP (STR_IMGBTN_START +26) +#define STR_IMGBTN_REG_UP (STR_IMGBTN_START +27) +#define STR_IMGBTN_BKM_UP (STR_IMGBTN_START +28) +#define STR_IMGBTN_GRF_UP (STR_IMGBTN_START +29) +#define STR_IMGBTN_OLE_UP (STR_IMGBTN_START +30) +#define STR_IMGBTN_OUTL_UP (STR_IMGBTN_START +31) +#define STR_IMGBTN_SEL_UP (STR_IMGBTN_START +32) +#define STR_IMGBTN_FTN_UP (STR_IMGBTN_START +33) +#define STR_IMGBTN_MARK_UP (STR_IMGBTN_START +34) +#define STR_IMGBTN_POSTIT_UP (STR_IMGBTN_START +35) +#define STR_IMGBTN_SRCH_REP_UP (STR_IMGBTN_START +36) +#define STR_IMGBTN_INDEX_ENTRY_UP (STR_IMGBTN_START +37) +#define STR_IMGBTN_TBLFML_UP (STR_IMGBTN_START +38) +#define STR_IMGBTN_TBLFML_ERR_UP (STR_IMGBTN_START +39) + +#define BTN_NAVI (STR_IMGBTN_START +40) + +#define MN_ANCHOR_POPUP (STR_IMGBTN_START +41) + +#define RC_RIBBAR_ACT_END MN_ANCHOR_POPUP + +#if RC_RIBBAR_ACT_END > RC_RIBBAR_END +#error Resource-Id Ueberlauf in #file, #line +#endif + +#endif diff --git a/sw/source/ui/inc/rowht.hxx b/sw/source/ui/inc/rowht.hxx new file mode 100644 index 000000000000..e4b497246cd7 --- /dev/null +++ b/sw/source/ui/inc/rowht.hxx @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _ROWHT_HXX +#define _ROWHT_HXX + +#include <svx/stddlg.hxx> + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +class SwWrtShell; + +class SwTableHeightDlg : public SvxStandardDialog +{ + MetricField aHeightEdit; + CheckBox aAutoHeightCB; + FixedLine aHeightFL; + OKButton aOKBtn; + CancelButton aCancelBtn; + HelpButton aHelpBtn; + SwWrtShell &rSh; + +protected: + virtual void Apply(); + +public: + SwTableHeightDlg( Window *pParent, SwWrtShell &rS ); +}; + +#endif diff --git a/sw/source/ui/inc/scroll.hxx b/sw/source/ui/inc/scroll.hxx new file mode 100644 index 000000000000..80c57767fbe2 --- /dev/null +++ b/sw/source/ui/inc/scroll.hxx @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SCROLL_HXX +#define _SCROLL_HXX +#ifndef _SCRBAR_HXX //autogen +#include <vcl/scrbar.hxx> +#endif + +class SwScrollbar: public ScrollBar +{ + Size aDocSz; + BOOL bHori :1; // Horizontal = TRUE, sonst Vertikal + BOOL bAuto :1; // fuer Scrollingmode + BOOL bThumbEnabled:1; + BOOL bVisible :1; // Show/Hide sollen nur noch dieses Flag setzen + BOOL bSizeSet :1; // wurde die Groesse bereits gesetzt? + + void AutoShow(); + + using Window::Hide; + using Window::SetPosSizePixel; + using Window::IsVisible; + +public: + + void ExtendedShow( BOOL bVisible = TRUE ); + void Hide() { Show( FALSE ); } + void SetPosSizePixel( const Point& rNewPos, const Size& rNewSize ); + BOOL IsVisible(BOOL bReal) const { return bReal ? ScrollBar::IsVisible() : bVisible; } + + // Aenderung der Dokumentgroesse + void DocSzChgd(const Size &rNewSize); + // Aenderung des sichtbaren Bereiches + void ViewPortChgd(const Rectangle &rRectangle); + // was fuer einer ist es denn ?? + BOOL IsHoriScroll() const { return bHori; } + + void SetAuto(BOOL bSet); + BOOL IsAuto() { return bAuto;} + + SwScrollbar(Window *pParent, BOOL bHori = TRUE ); + ~SwScrollbar(); +}; + + + +#endif diff --git a/sw/source/ui/inc/selglos.hxx b/sw/source/ui/inc/selglos.hxx new file mode 100644 index 000000000000..1fa693691086 --- /dev/null +++ b/sw/source/ui/inc/selglos.hxx @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SELGLOS_HXX +#define _SELGLOS_HXX + +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#include <vcl/fixed.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +class SwSelGlossaryDlg : public ModalDialog +{ +protected: + ListBox aGlosBox; + FixedLine aGlosFL; + OKButton aOKBtn; + CancelButton aCancelBtn; + HelpButton aHelpBtn; + + DECL_LINK(DoubleClickHdl, ListBox*); +public: + SwSelGlossaryDlg(Window * pParent, const String &rShortName); + ~SwSelGlossaryDlg(); + void InsertGlos(const String &rRegion, const String &rGlosName); // inline + USHORT GetSelectedIdx() const; // inline + void SelectEntryPos(USHORT nIdx); // inline +}; + +inline void SwSelGlossaryDlg::InsertGlos(const String &rRegion, + const String &rGlosName) +{ + String aTmp( rRegion ); + aTmp += ':'; + aTmp += rGlosName; + aGlosBox.InsertEntry( aTmp ); +} +inline USHORT SwSelGlossaryDlg::GetSelectedIdx() const +{ return aGlosBox.GetSelectEntryPos(); } +inline void SwSelGlossaryDlg::SelectEntryPos(USHORT nIdx) +{ aGlosBox.SelectEntryPos(nIdx); } + +#endif diff --git a/sw/source/ui/inc/sharedconnection.hxx b/sw/source/ui/inc/sharedconnection.hxx new file mode 100644 index 000000000000..cbb6f41d17ad --- /dev/null +++ b/sw/source/ui/inc/sharedconnection.hxx @@ -0,0 +1,36 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SW_UI_SHARED_CONNECTION_HXX +#define SW_UI_SHARED_CONNECTION_HXX + +#include <unotools/sharedunocomponent.hxx> +#include <com/sun/star/sdbc/XConnection.hpp> + +typedef ::utl::SharedUNOComponent< ::com::sun::star::sdbc::XConnection > SharedConnection; + +#endif // SW_UI_SHARED_CONNECTION_HXX diff --git a/sw/source/ui/inc/shdwcrsr.hxx b/sw/source/ui/inc/shdwcrsr.hxx new file mode 100644 index 000000000000..fc95e36de5e7 --- /dev/null +++ b/sw/source/ui/inc/shdwcrsr.hxx @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SHDWCRSR_HXX +#define _SHDWCRSR_HXX + + +#include <tools/gen.hxx> +#include <tools/color.hxx> +#include <limits.h> + +class Window; + +class SwShadowCursor +{ + Window* pWin; + Color aCol; + Point aOldPt; + long nOldHeight; + USHORT nOldMode; + + void DrawTri( const Point& rPt, long nHeight, BOOL bLeft ); + void DrawCrsr( const Point& rPt, long nHeight, USHORT nMode ); + +public: + SwShadowCursor( Window& rWin, const Color& rCol ) + : pWin( &rWin ), aCol( rCol ), nOldHeight(0), nOldMode( USHRT_MAX ) {} + ~SwShadowCursor(); + + void SetPos( const Point& rPt, long nHeight, USHORT nMode ); + + void Paint(); + + const Point& GetPoint() const { return aOldPt; } + long GetHeight() const { return nOldHeight; } + USHORT GetMode() const { return nOldMode; } + + Rectangle GetRect() const; +}; + + + +#endif + diff --git a/sw/source/ui/inc/shells.hrc b/sw/source/ui/inc/shells.hrc new file mode 100644 index 000000000000..2058b6432ed8 --- /dev/null +++ b/sw/source/ui/inc/shells.hrc @@ -0,0 +1,112 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SHELLS_HRC +#define _SHELLS_HRC + +#include "rcid.hrc" + +#define STR_GRFILTER_OPENERROR (RC_SHELLS_BEGIN + 1) +#define STR_GRFILTER_IOERROR (RC_SHELLS_BEGIN + 2) +#define STR_GRFILTER_FORMATERROR (RC_SHELLS_BEGIN + 3) +#define STR_GRFILTER_VERSIONERROR (RC_SHELLS_BEGIN + 4) +#define STR_GRFILTER_FILTERERROR (RC_SHELLS_BEGIN + 5) +#define STR_GRFILTER_TOOBIG (RC_SHELLS_BEGIN + 6) +#define STR_INSERT_GRAPHIC (RC_SHELLS_BEGIN + 7) +#define STR_NOTIZ_INSERT (RC_SHELLS_BEGIN + 8) +#define DLG_IMPORT_DBNAME (RC_SHELLS_BEGIN + 9) +#define STR_NO_ADDRESSBOOK (RC_SHELLS_BEGIN + 10) +#define STR_REDLINE_COMMENT (RC_SHELLS_BEGIN + 11) +#define STR_REDLINE_INSERTED (RC_SHELLS_BEGIN + 12) +#define STR_REDLINE_DELETED (RC_SHELLS_BEGIN + 13) +#define STR_REDLINE_FMTCOLLSET (RC_SHELLS_BEGIN + 14) + +#define RID_TEXT_TOOLBOX (RC_SHELLS_BEGIN + 15) +#define RID_TABLE_TOOLBOX (RC_SHELLS_BEGIN + 16) +#define RID_FRAME_TOOLBOX (RC_SHELLS_BEGIN + 17) +#define RID_GRAFIK_TOOLBOX (RC_SHELLS_BEGIN + 18) +#define RID_DRAW_TOOLBOX (RC_SHELLS_BEGIN + 19) +#define RID_DRAW_TEXT_TOOLBOX (RC_SHELLS_BEGIN + 20) +#define RID_NUM_TOOLBOX (RC_SHELLS_BEGIN + 21) +#define RID_OLE_TOOLBOX (RC_SHELLS_BEGIN + 22) +#define RID_TOOLS_TOOLBOX (RC_SHELLS_BEGIN + 23) + +#define STR_SHELLNAME_TEXT (RC_SHELLS_BEGIN + 24) +#define STR_SHELLNAME_TABLE (RC_SHELLS_BEGIN + 25) +#define STR_SHELLNAME_FRAME (RC_SHELLS_BEGIN + 26) +#define STR_SHELLNAME_GRAPHIC (RC_SHELLS_BEGIN + 27) +#define STR_SHELLNAME_OBJECT (RC_SHELLS_BEGIN + 28) +#define STR_SHELLNAME_LIST (RC_SHELLS_BEGIN + 29) +#define STR_SHELLNAME_DRAW (RC_SHELLS_BEGIN + 30) +#define STR_SHELLNAME_DRAW_TEXT (RC_SHELLS_BEGIN + 31) +#define STR_SHELLNAME_MEDIA (RC_SHELLS_BEGIN + 32) + + +#define RID_BEZIER_TOOLBOX (RC_SHELLS_BEGIN + 33) +#define STR_SHELLNAME_BEZIER (RC_SHELLS_BEGIN + 34) + +#define STR_SWBG_PARAGRAPH (RC_SHELLS_BEGIN + 37) +#define STR_SWBG_GRAPHIC (RC_SHELLS_BEGIN + 38) +#define STR_SWBG_OLE (RC_SHELLS_BEGIN + 39) +#define STR_SWBG_FRAME (RC_SHELLS_BEGIN + 40) +#define STR_SWBG_TABLE (RC_SHELLS_BEGIN + 41) +#define STR_SWBG_TABLE_ROW (RC_SHELLS_BEGIN + 42) +#define STR_SWBG_TABLE_CELL (RC_SHELLS_BEGIN + 43) +#define STR_SWBG_PAGE (RC_SHELLS_BEGIN + 44) +#define STR_SWBG_HEADER (RC_SHELLS_BEGIN + 45) +#define STR_SWBG_FOOTER (RC_SHELLS_BEGIN + 46) +#define MSG_NO_RULER (RC_SHELLS_BEGIN + 47) + +#define STR_SHELLNAME_DRAWFORM (RC_SHELLS_BEGIN + 48) + // FREE + +#define STR_REDLINE_FORMATED (RC_SHELLS_BEGIN + 50) +#define STR_REDLINE_TABLECHG (RC_SHELLS_BEGIN + 51) + +#define STR_REDLINE_TITLE (RC_SHELLS_BEGIN + 52) +#define STR_REDLINE_MSG (RC_SHELLS_BEGIN + 53) +#define STR_REDLINE_ACCEPT_ALL (RC_SHELLS_BEGIN + 54) +#define STR_REDLINE_REJECT_ALL (RC_SHELLS_BEGIN + 55) +#define STR_REDLINE_EDIT (RC_SHELLS_BEGIN + 56) +#define STR_REDLINE_AUTOFMT (RC_SHELLS_BEGIN + 57) + +// #i68101# no longer needed +// #define STR_NAME_SHAPE_LABEL (RC_SHELLS_BEGIN + 58) +// #define STR_NAME_SHAPE_DIALOG (RC_SHELLS_BEGIN + 59) + +#define RID_MODULE_TOOLBOX (RC_SHELLS_BEGIN + 60) + +#define RID_MEDIA_TOOLBOX (RC_SHELLS_BEGIN + 61) + +#define SHELLS_ACT_END RID_MEDIA_TOOLBOX + +#if SHELLS_ACT_END > RC_SHELLS_END +#error Resource-Id Ueberlauf in #file, #line +#endif + +#endif + diff --git a/sw/source/ui/inc/split.hxx b/sw/source/ui/inc/split.hxx new file mode 100644 index 000000000000..9d96d6ac3a9d --- /dev/null +++ b/sw/source/ui/inc/split.hxx @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _TAB_SPLIT_HXX +#define _TAB_SPLIT_HXX + +#include <svx/stddlg.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _IMAGEBTN_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +class SwWrtShell; + +class SwSplitTableDlg : public SvxStandardDialog +{ + FixedText aCountLbl; + NumericField aCountEdit; + FixedLine aCountFL; + ImageRadioButton aHorzBox; + ImageRadioButton aVertBox; + CheckBox aPropCB; + FixedLine aDirFL; + OKButton aOKBtn; + CancelButton aCancelBtn; + HelpButton aHelpBtn; + SwWrtShell& rSh; + +protected: + virtual void Apply(); + +public: + SwSplitTableDlg(Window *pParent, SwWrtShell& rShell ); + DECL_LINK( ClickHdl, Button * ); + + BOOL IsHorizontal() const { return aHorzBox.IsChecked(); } + BOOL IsProportional() const { return aPropCB.IsChecked() && aHorzBox.IsChecked(); } + long GetCount() const { return sal::static_int_cast< long >(aCountEdit.GetValue()); } +}; + +#endif diff --git a/sw/source/ui/inc/splittbl.hxx b/sw/source/ui/inc/splittbl.hxx new file mode 100644 index 000000000000..3e21b347651a --- /dev/null +++ b/sw/source/ui/inc/splittbl.hxx @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SPLITTBL_HXX +#define _SPLITTBL_HXX + +#include <svx/stddlg.hxx> +#include <vcl/fixed.hxx> +#include <vcl/button.hxx> + +class SwWrtShell; + +class SwSplitTblDlg : public SvxStandardDialog +{ + OKButton aOKPB; + CancelButton aCancelPB; + HelpButton aHelpPB; + FixedLine aSplitFL; + RadioButton aCntntCopyRB; + RadioButton aBoxAttrCopyWithParaRB ; + RadioButton aBoxAttrCopyNoParaRB ; + RadioButton aBorderCopyRB; + + SwWrtShell &rShell; + USHORT m_nSplit; + +protected: + virtual void Apply(); + +public: + SwSplitTblDlg( Window *pParent, SwWrtShell &rSh ); + + USHORT GetSplitMode() const { return m_nSplit; } +}; + +#endif + + diff --git a/sw/source/ui/inc/srcedtw.hxx b/sw/source/ui/inc/srcedtw.hxx new file mode 100644 index 000000000000..c23ee997852d --- /dev/null +++ b/sw/source/ui/inc/srcedtw.hxx @@ -0,0 +1,164 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SRCEDTW_HXX +#define _SRCEDTW_HXX + +#include <vcl/window.hxx> +#include <svl/lstner.hxx> +#include <unotools/options.hxx> +#include <vcl/timer.hxx> + +#ifndef _TABLE_HXX //autogen +#include <tools/table.hxx> +#endif +#include <svtools/xtextedt.hxx> + +class ScrollBar; +class SwSrcView; +class SwSrcEditWindow; +class TextEngine; +class ExtTextView; +class DataChangedEvent; + +namespace utl +{ + class SourceViewConfig; +} + +class TextViewOutWin : public Window +{ + ExtTextView* pTextView; + +protected: + virtual void Paint( const Rectangle& ); + virtual void KeyInput( const KeyEvent& rKeyEvt ); + virtual void MouseMove( const MouseEvent& rMEvt ); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt ); + virtual void Command( const CommandEvent& rCEvt ); + virtual void DataChanged( const DataChangedEvent& ); + +public: + TextViewOutWin(Window* pParent, WinBits nBits) : + Window(pParent, nBits), pTextView(0){} + + void SetTextView( ExtTextView* pView ) {pTextView = pView;} + +}; + +//------------------------------------------------------------ +namespace svt{ class SourceViewConfig;} +class SwSrcEditWindow : public Window, public SfxListener, public utl::ConfigurationListener +{ +private: + ExtTextView* pTextView; + ExtTextEngine* pTextEngine; + + TextViewOutWin* pOutWin; + ScrollBar *pHScrollbar, + *pVScrollbar; + + SwSrcView* pSrcView; + utl::SourceViewConfig* pSourceViewConfig; + + long nCurTextWidth; + USHORT nStartLine; + rtl_TextEncoding eSourceEncoding; + BOOL bReadonly; + BOOL bDoSyntaxHighlight; + BOOL bHighlighting; + + Timer aSyntaxIdleTimer; + Table aSyntaxLineTable; + + void ImpDoHighlight( const String& rSource, USHORT nLineOff ); + + using OutputDevice::SetFont; + void SetFont(); + + DECL_LINK( SyntaxTimerHdl, Timer * ); + DECL_LINK( TimeoutHdl, Timer * ); + + using Window::Notify; + using Window::Invalidate; + +protected: + + virtual void Resize(); + virtual void DataChanged( const DataChangedEvent& ); + virtual void GetFocus(); +// virtual void LoseFocus(); + + void CreateTextEngine(); + void DoSyntaxHighlight( USHORT nPara ); + + virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); + virtual void ConfigurationChanged( utl::ConfigurationBroadcaster*, sal_uInt32 ); + + DECL_LINK(ScrollHdl, ScrollBar*); + +public: + SwSrcEditWindow( Window* pParent, SwSrcView* pParentView ); + ~SwSrcEditWindow(); + + void SetScrollBarRanges(); + void InitScrollBars(); + ULONG Read( SvStream& rInput) + {return pTextEngine->Read(rInput);} + ULONG Write( SvStream& rOutput) + {return pTextEngine->Write(rOutput);} + + ExtTextView* GetTextView() + {return pTextView;} + TextEngine* GetTextEngine() + {return pTextEngine;} + SwSrcView* GetSrcView() {return pSrcView;} + + TextViewOutWin* GetOutWin() {return pOutWin;} + + virtual void Invalidate( USHORT nFlags = 0 ); + + void ClearModifyFlag() + { pTextEngine->SetModified(FALSE); } + BOOL IsModified() const + { return pTextEngine->IsModified();} + void CreateScrollbars(); + + void SetReadonly(BOOL bSet){bReadonly = bSet;} + BOOL IsReadonly(){return bReadonly;} + + void DoDelayedSyntaxHighlight( USHORT nPara ); + + void SetStartLine(USHORT nLine){nStartLine = nLine;} + + virtual void Command( const CommandEvent& rCEvt ); + void HandleWheelCommand( const CommandEvent& rCEvt ); + + void SetTextEncoding(rtl_TextEncoding eEncoding); +}; + +#endif diff --git a/sw/source/ui/inc/srcview.hxx b/sw/source/ui/inc/srcview.hxx new file mode 100644 index 000000000000..574696f1fd27 --- /dev/null +++ b/sw/source/ui/inc/srcview.hxx @@ -0,0 +1,126 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SRCVIEW_HXX +#define _SRCVIEW_HXX + +#include <sfx2/viewfac.hxx> +#include <sfx2/viewsh.hxx> +#include <vcl/outdev.hxx> + +#include "srcedtw.hxx" +#include "shellid.hxx" + +class SwDocShell; +class SvxSearchItem; +class SfxMedium; + +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class SwSrcView: public SfxViewShell +{ + SwSrcEditWindow aEditWin; + + SvxSearchItem* pSearchItem; + + BOOL bSourceSaved :1; + rtl_TextEncoding eLoadEncoding; + void Init(); + + // fuer Readonly-Umschaltung + virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); + + +protected: + USHORT StartSearchAndReplace(const SvxSearchItem& rItem, + BOOL bFromStart, + BOOL bApi, + BOOL bRecursive = FALSE); + + +public: + + SFX_DECL_VIEWFACTORY(SwSrcView); + SFX_DECL_INTERFACE(SW_SRC_VIEWSHELL) + TYPEINFO(); + + + SwSrcView(SfxViewFrame* pFrame, SfxViewShell*); + + ~SwSrcView(); + + SwDocShell* GetDocShell(); + SwSrcEditWindow& GetEditWin() {return aEditWin;} + void SaveContent(const String& rTmpFile); + void SaveContentTo(SfxMedium& rMed); + + BOOL IsModified() {return aEditWin.IsModified();} + + + + void Execute(SfxRequest&); + void GetState(SfxItemSet&); + + SvxSearchItem* GetSearchItem(); + void SetSearchItem( const SvxSearchItem& rItem ); + + void Load(SwDocShell* pDocShell); + + virtual USHORT SetPrinter( SfxPrinter* pNew, USHORT nDiff = SFX_PRINTER_ALL, bool bIsAPI=false ); + virtual SfxPrinter* GetPrinter( BOOL bCreate = FALSE ); + + sal_Int32 PrintSource( OutputDevice *pOutDev, sal_Int32 nPage, bool bCalcNumPagesOnly ); + + void SourceSaved() {bSourceSaved = TRUE;} + BOOL HasSourceSaved() const {return bSourceSaved;} + +}; + + +#endif + + + + + + + + + + + + + + + + + + + + + diff --git a/sw/source/ui/inc/srtdlg.hxx b/sw/source/ui/inc/srtdlg.hxx new file mode 100644 index 000000000000..09d91cf64195 --- /dev/null +++ b/sw/source/ui/inc/srtdlg.hxx @@ -0,0 +1,118 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SRTDLG_HXX +#define _SRTDLG_HXX + +#ifndef _FIXED_HXX +#include <vcl/fixed.hxx> +#endif +#ifndef _BUTTON_HXX +#include <vcl/button.hxx> +#endif +#ifndef _FIELD_HXX +#include <vcl/field.hxx> +#endif +#ifndef _LSTBOX_HXX +#include <vcl/lstbox.hxx> +#endif +#include <svx/stddlg.hxx> +#include <svx/langbox.hxx> + +class SwWrtShell; +class CollatorRessource; + +class SwSortDlg : public SvxStandardDialog +{ + FixedText aColLbl; + FixedText aTypLbl; + FixedText aDirLbl; + + FixedLine aDirFL; + + CheckBox aKeyCB1; + NumericField aColEdt1; + ListBox aTypDLB1; + RadioButton aSortUpRB; + RadioButton aSortDnRB; + + CheckBox aKeyCB2; + NumericField aColEdt2; + ListBox aTypDLB2; + RadioButton aSortUp2RB; + RadioButton aSortDn2RB; + + CheckBox aKeyCB3; + NumericField aColEdt3; + ListBox aTypDLB3; + RadioButton aSortUp3RB; + RadioButton aSortDn3RB; + + FixedLine aSortFL; + RadioButton aColumnRB; + RadioButton aRowRB; + + FixedLine aDelimFL; + RadioButton aDelimTabRB; + RadioButton aDelimFreeRB; + Edit aDelimEdt; + PushButton aDelimPB; + + FixedLine aLangFL; + SvxLanguageBox aLangLB; + + FixedLine aSortOptFL; + CheckBox aCaseCB; + + OKButton aOkBtn; + CancelButton aCancelBtn; + HelpButton aHelpBtn; + + String aColTxt; + String aRowTxt; + String aNumericTxt; + + SwWrtShell &rSh; + CollatorRessource* pColRes; + + USHORT nX; + USHORT nY; + + virtual void Apply(); + sal_Unicode GetDelimChar() const; + + DECL_LINK( CheckHdl, CheckBox * ); + DECL_LINK( DelimHdl, RadioButton* ); + DECL_LINK( LanguageHdl, ListBox* ); + DECL_LINK( DelimCharHdl, PushButton* ); + +public: + SwSortDlg(Window * pParent, SwWrtShell &rSh); + ~SwSortDlg(); +}; + +#endif + diff --git a/sw/source/ui/inc/stmenu.hxx b/sw/source/ui/inc/stmenu.hxx new file mode 100644 index 000000000000..a761d60a12ed --- /dev/null +++ b/sw/source/ui/inc/stmenu.hxx @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// SMARTTAGS + +#ifndef _STMENU_HXX +#define _STMENU_HXX + +#ifndef _MENU_HXX //autogen +#include <vcl/menu.hxx> +#endif + +#include <vector> +#include <com/sun/star/smarttags/XSmartTagAction.hpp> + +#ifndef _COM_SUN_STAR_SMARTTAGS_XSTRINGKEYMAP_HPP_ +#include <com/sun/star/container/XStringKeyMap.hpp> +#endif +#include <com/sun/star/text/XTextRange.hpp> + +class SwView; + +/** Class: SwSmartTagPopup + + This class contains the implementation of the smarttag popup + menu that is opened if a user clicks on an underlined word. + + The menu is built in the constructor and the actions for each + menu entry are invoked in the excute-method. +*/ + +class SwSmartTagPopup : public PopupMenu +{ + SwView* mpSwView; + com::sun::star::uno::Reference< com::sun::star::text::XTextRange > mxTextRange; + + struct InvokeAction + { + com::sun::star::uno::Reference< com::sun::star::smarttags::XSmartTagAction > mxAction; + com::sun::star::uno::Reference< com::sun::star::container::XStringKeyMap > mxSmartTagProperties; + sal_uInt32 mnActionID; + InvokeAction( com::sun::star::uno::Reference< com::sun::star::smarttags::XSmartTagAction > xAction, + com::sun::star::uno::Reference< com::sun::star::container::XStringKeyMap > xSmartTagProperties, + sal_uInt32 nActionID ) : mxAction( xAction ), mxSmartTagProperties( xSmartTagProperties ), mnActionID( nActionID ) {} + }; + + std::vector< InvokeAction > maInvokeActions; + + using PopupMenu::Execute; + +public: + SwSmartTagPopup( SwView* _pSwView, + ::com::sun::star::uno::Sequence< rtl::OUString >& rSmartTagTypes, + ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::container::XStringKeyMap > >& rStringKeyMaps, + ::com::sun::star::uno::Reference< com::sun::star::text::XTextRange > xTextRange ); + + sal_uInt16 Execute( const Rectangle& rPopupPos, Window* pWin ); +}; + +#endif + diff --git a/sw/source/ui/inc/swcont.hxx b/sw/source/ui/inc/swcont.hxx new file mode 100644 index 000000000000..f9d5dd049b1d --- /dev/null +++ b/sw/source/ui/inc/swcont.hxx @@ -0,0 +1,113 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SWCONT_HXX +#define _SWCONT_HXX + +#include <tools/string.hxx> + +class SwContentType; + +//Reihenfolge und Anzahl mit ResIds abgleichen!! +#define CONTENT_TYPE_OUTLINE 0 +#define CONTENT_TYPE_TABLE 1 +#define CONTENT_TYPE_FRAME 2 +#define CONTENT_TYPE_GRAPHIC 3 +#define CONTENT_TYPE_OLE 4 +#define CONTENT_TYPE_BOOKMARK 5 +#define CONTENT_TYPE_REGION 6 +#define CONTENT_TYPE_URLFIELD 7 +#define CONTENT_TYPE_REFERENCE 8 +#define CONTENT_TYPE_INDEX 9 +#define CONTENT_TYPE_POSTIT 10 +#define CONTENT_TYPE_DRAWOBJECT 11 +#define CONTENT_TYPE_MAX CONTENT_TYPE_DRAWOBJECT +1 + + +// Typen fuer das Globaldokument +#define GLOBAL_CONTENT_REGION 100 +#define GLOBAL_CONTENT_INDEX 101 +#define GLOBAL_CONTENT_TEXT 102 +#define GLOBAL_CONTENT_MAX 3 + +// Strings fuer Kontextmenue +#define CONTEXT_COUNT 12 +#define GLOBAL_CONTEXT_COUNT 14 + +// Modi fuer Drag 'n Drop +#define REGION_MODE_NONE 0 +#define REGION_MODE_LINK 1 +#define REGION_MODE_EMBEDDED 2 + +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- + +//mini rtti +class SwTypeNumber +{ + BYTE nTypeId; + + public: + SwTypeNumber(BYTE nId) :nTypeId(nId){} + virtual ~SwTypeNumber(); + + virtual BYTE GetTypeId(); +}; +//---------------------------------------------------------------------------- + +class SwContent : public SwTypeNumber +{ + const SwContentType* pParent; + String sContentName; + long nYPosition; + BOOL bInvisible; +public: + SwContent(const SwContentType* pCnt, const String& rName, long nYPos ); + + virtual BOOL IsProtect() const; + const SwContentType* GetParent() const {return pParent;} + const String& GetName() const {return sContentName;} + int operator==(const SwContent& /*rCont*/) const + { + //gleich sind sie nie, sonst fallen sie aus dem Array + return FALSE; + } + int operator<(const SwContent& rCont) const + { + //zuerst nach Position dann nach Name sortieren + return nYPosition != rCont.nYPosition ? + nYPosition < rCont.nYPosition : + sContentName < rCont.sContentName;; + } + + long GetYPos() const {return nYPosition;} + + BOOL IsInvisible() const {return bInvisible;} + void SetInvisible(){ bInvisible = TRUE;} +}; + +#endif diff --git a/sw/source/ui/inc/swdtflvr.hxx b/sw/source/ui/inc/swdtflvr.hxx new file mode 100644 index 000000000000..84b3309f70bc --- /dev/null +++ b/sw/source/ui/inc/swdtflvr.hxx @@ -0,0 +1,223 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWDTFLVR_HXX +#define _SWDTFLVR_HXX +#ifndef _TRANSFER_HXX + +#include <sfx2/objsh.hxx> + +#include <svtools/transfer.hxx> +#endif +#include <vcl/graph.hxx> +#include <sfx2/lnkbase.hxx> +#include <com/sun/star/embed/XEmbeddedObject.hpp> + +class Graphic; +class ImageMap; +class INetBookmark; +class INetImage; +class SwDoc; +class SwDocFac; +class SwTextBlocks; +class SwWrtShell; +class SvxClipboardFmtItem; +class ViewShell; +class SwView_Impl; + +typedef sal_uInt16 TransferBufferType; +namespace nsTransferBufferType +{ + const sal_uInt16 TRNSFR_NONE = 0x0000; + const sal_uInt16 TRNSFR_DOCUMENT = 0x0001; + const sal_uInt16 TRNSFR_DOCUMENT_WORD = 0x0002; + const sal_uInt16 TRNSFR_GRAPHIC = 0x0004; + const sal_uInt16 TRNSFR_TABELLE = 0x0008; + const sal_uInt16 TRNSFR_DDELINK = 0x0010; + const sal_uInt16 TRNSFR_OLE = 0x0020; + const sal_uInt16 TRNSFR_INETFLD = 0x0040; + const sal_uInt16 TRNSFR_DRAWING = 0x0081; //Drawing ist auch intern! +} + +#define DATA_FLAVOR ::com::sun::star::datatransfer::DataFlavor + +class SwTransferable : public TransferableHelper +{ + friend class SwView_Impl; + SfxObjectShellRef aDocShellRef; + TransferableDataHelper aOleData; + TransferableObjectDescriptor aObjDesc; + ::sfx2::SvBaseLinkRef refDdeLink; + + SwWrtShell *pWrtShell; + /* #96392# Added pCreatorView to distinguish SwFrameShell from + SwWrtShell. */ + const ViewShell *pCreatorView; + SwDocFac *pClpDocFac; + Graphic *pClpGraphic, *pClpBitmap, *pOrigGrf; + INetBookmark *pBkmk; // URL und Beschreibung! + ImageMap *pImageMap; + INetImage *pTargetURL; + + TransferBufferType eBufferType; + + BOOL bOldIdle :1; //D&D Idle flag from the viewsettings + BOOL bCleanUp :1; //D&D cleanup after Drop (not by internal Drop) + + // helper methods for the copy + com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject > FindOLEObj( sal_Int64& nAspect ) const; + Graphic* FindOLEReplacementGraphic() const; + void DeleteSelection(); + + // helper methods for the paste + static void SetSelInShell( SwWrtShell& , BOOL , const Point* ); + static BOOL _CheckForURLOrLNKFile( TransferableDataHelper& rData, + String& rFileName, String* pTitle = 0 ); + static int _TestAllowedFormat( const TransferableDataHelper& rData, + ULONG nFormat, USHORT nDestination ); + + static int _PasteFileContent( TransferableDataHelper&, + SwWrtShell& rSh, ULONG nFmt, BOOL bMsg ); + static int _PasteOLE( TransferableDataHelper& rData, SwWrtShell& rSh, + ULONG nFmt, BYTE nActionFlags, BOOL bMsg ); + static int _PasteTargetURL( TransferableDataHelper& rData, SwWrtShell& rSh, + USHORT nAction, const Point* pPt, BOOL bInsertGRF ); + + static int _PasteDDE( TransferableDataHelper& rData, SwWrtShell& rWrtShell, + BOOL bReReadGrf, BOOL bMsg ); + + static int _PasteSdrFormat( TransferableDataHelper& rData, + SwWrtShell& rSh, USHORT nAction, + const Point* pPt, BYTE nActionFlags ); + + static int _PasteGrf( TransferableDataHelper& rData, SwWrtShell& rSh, + ULONG nFmt, USHORT nAction, const Point* pPt, + BYTE nActionFlags, BOOL bMsg ); + + static int _PasteImageMap( TransferableDataHelper& rData, + SwWrtShell& rSh ); + + static int _PasteAsHyperlink( TransferableDataHelper& rData, + SwWrtShell& rSh, ULONG nFmt ); + + static int _PasteFileName( TransferableDataHelper& rData, + SwWrtShell& rSh, ULONG nFmt, USHORT nAction, + const Point* pPt, BYTE nActionFlags, BOOL bMsg ); + + static int _PasteDBData( TransferableDataHelper& rData, SwWrtShell& rSh, + ULONG nFmt, BOOL bLink, const Point* pDragPt, + BOOL bMsg ); + + static int _PasteFileList( TransferableDataHelper& rData, + SwWrtShell& rSh, BOOL bLink, + const Point* pPt, BOOL bMsg ); + + int PrivateDrop( SwWrtShell& rSh, const Point& rDragPt, BOOL bMove, + BOOL bIsXSelection ); + int PrivatePaste( SwWrtShell& rShell ); + + void SetDataForDragAndDrop( const Point& rSttPos ); + + // not available + SwTransferable(); + SwTransferable( const SwTransferable& ); + SwTransferable& operator=( const SwTransferable& ); + +protected: + virtual void AddSupportedFormats(); + virtual sal_Bool GetData( const DATA_FLAVOR& rFlavor ); + virtual sal_Bool WriteObject( SotStorageStreamRef& rxOStm, + void* pUserObject, + sal_uInt32 nUserObjectId, + const DATA_FLAVOR& rFlavor ); + virtual void DragFinished( sal_Int8 nDropAction ); + virtual void ObjectReleased(); + + using TransferableHelper::StartDrag; + +public: + SwTransferable( SwWrtShell& ); + virtual ~SwTransferable(); + + static USHORT GetSotDestination( const SwWrtShell& rSh, const Point* = 0 ); + + // set properties on the document, like PageMargin, VisArea. + // And set real Size + static void InitOle( SfxObjectShell* pDoc, SwDoc& rDoc ); + + // copy - methods and helper methods for the copy + int Cut(); + int Copy( BOOL bIsCut = FALSE ); + int PrepareForCopy( BOOL bIsCut = FALSE ); + int CalculateAndCopy(); // special for Calculator + int CopyGlossary( SwTextBlocks& rGlossary, const String& rStr ); + + // remove the DDE-Link format promise + void RemoveDDELinkFormat( const Window& rWin ); + + // paste - methods and helper methods for the paste + static BOOL IsPaste( const SwWrtShell&, const TransferableDataHelper& ); + static int Paste( SwWrtShell&, TransferableDataHelper& ); + static int PasteData( TransferableDataHelper& rData, + SwWrtShell& rSh, USHORT nAction, ULONG nFormat, + USHORT nDestination, BOOL bIsPasteFmt, + sal_Bool bIsDefault, + const Point* pDDPos = 0, sal_Int8 nDropAction = 0, + BOOL bPasteSelection = FALSE ); + + static BOOL IsPasteSpecial( const SwWrtShell& rWrtShell, + const TransferableDataHelper& ); + static int PasteUnformatted( SwWrtShell& rSh, TransferableDataHelper& ); + static int PasteSpecial( SwWrtShell& rSh, TransferableDataHelper&, ULONG& rFormatUsed ); + static int PasteFormat( SwWrtShell& rSh, TransferableDataHelper& rData, + ULONG nFormat ); + + static void FillClipFmtItem( const SwWrtShell& rSh, + const TransferableDataHelper& rData, + SvxClipboardFmtItem & rToFill ); + + // Interfaces for Drag & Drop + void StartDrag( Window* pWin, const Point& rPos ); + + SwWrtShell* GetShell() { return pWrtShell; } + void SetCleanUp( BOOL bFlag ) { bCleanUp = bFlag; } + + // Interfaces for Selection + /* #96392# Added pCreator to distinguish SwFrameShell from SwWrtShell. */ + static void CreateSelection( SwWrtShell & rSh, + const ViewShell * pCreator = NULL ); + static void ClearSelection( SwWrtShell& rSh, + const ViewShell * pCreator = NULL ); + + // the related SwView is being closed and the SwTransferable is invalid now + void Invalidate() {pWrtShell = 0;} + static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId(); + + virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rId ) throw( ::com::sun::star::uno::RuntimeException ); +}; + + +#endif diff --git a/sw/source/ui/inc/swlbox.hxx b/sw/source/ui/inc/swlbox.hxx new file mode 100644 index 000000000000..0c31a9ab977f --- /dev/null +++ b/sw/source/ui/inc/swlbox.hxx @@ -0,0 +1,128 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWLBOX_HXX +#define _SWLBOX_HXX + +#include <svl/svarray.hxx> + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif +#include "swdllapi.h" + +class SwBoxEntry; +class Window; + +SV_DECL_PTRARR_DEL(SwEntryLst, SwBoxEntry*, 10, 10) + +/*-------------------------------------------------------------------- + Beschreibung: SwBoxEntry + --------------------------------------------------------------------*/ + +class SW_DLLPUBLIC SwBoxEntry +{ + friend class SwComboBox; + + BOOL bModified : 1; + BOOL bNew : 1; + + String aName; + USHORT nId; + +public: + SwBoxEntry(const String& aName, USHORT nId=0); + SwBoxEntry(const SwBoxEntry& rOrg); + SwBoxEntry(); + + const String& GetName() const { return aName;} +}; + +/*-------------------------------------------------------------------- + Beschreibung: fuer ComboBoxen + --------------------------------------------------------------------*/ + +typedef USHORT SwComboBoxStyle; +namespace nsSwComboBoxStyle +{ + const SwComboBoxStyle CBS_UPPER = 0x01; + const SwComboBoxStyle CBS_LOWER = 0x02; + const SwComboBoxStyle CBS_ALL = 0x04; + const SwComboBoxStyle CBS_FILENAME = 0x08; +#ifdef WIN + const SwComboBoxStyle CBS_SW_FILENAME = CBS_FILENAME | CBS_LOWER; +#else + const SwComboBoxStyle CBS_SW_FILENAME = CBS_FILENAME; +#endif +} + +class SW_DLLPUBLIC SwComboBox : public ComboBox +{ + SwEntryLst aEntryLst; + SwEntryLst aDelEntryLst; + SwBoxEntry aDefault; + USHORT nStyle; + + SW_DLLPRIVATE void InitComboBox(); + SW_DLLPRIVATE void InsertSorted(SwBoxEntry* pEntry); + + using ComboBox::InsertEntry; + using ComboBox::RemoveEntry; + using Window::SetStyle; + +public: + + using ComboBox::GetEntryPos; + + SwComboBox(Window* pParent, const ResId& rId, + USHORT nStyleBits = nsSwComboBoxStyle::CBS_ALL); + ~SwComboBox(); + + virtual void KeyInput( const KeyEvent& rKEvt ); + + void InsertEntry(const SwBoxEntry&); + USHORT InsertEntry( const XubString& rStr, USHORT = 0) + { InsertEntry( SwBoxEntry( rStr ) ); return 0; } + + void RemoveEntry(USHORT nPos); + + USHORT GetEntryPos(const SwBoxEntry& rEntry) const; + const SwBoxEntry& GetEntry(USHORT) const; + + USHORT GetRemovedCount() const; + const SwBoxEntry& GetRemovedEntry(USHORT nPos) const; + + USHORT GetStyle() const { return nStyle; } + void SetStyle(const USHORT nSt) { nStyle = nSt; } + + String GetText() const; +}; + +#endif /* _SWLBOX_HXX */ diff --git a/sw/source/ui/inc/swmn_tmpl.hrc b/sw/source/ui/inc/swmn_tmpl.hrc new file mode 100644 index 000000000000..3128f741be30 --- /dev/null +++ b/sw/source/ui/inc/swmn_tmpl.hrc @@ -0,0 +1,383 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SWMN_HRC +#define _SWMN_HRC + +#include <svx/dialogs.hrc> +#include <svx/globlmn.hrc> +#include "cmdid.h" +#include "app.hrc" +#include "globals.hrc" +#include "helpid.h" +#include "popup.hrc" +//#include "cfgid.h" + +/* --------------------- F O R M A T --------------------------------- */ + +#define SEPARATOR MenuItem { Separator = TRUE; } + +//define for ITEM_FORMAT_NUMBERING +#define DEFINE_SLOTID_FOR_NUMBER_BULLETS FN_NUMBER_BULLETS +#define MN_NUMBERING ITEM_FORMAT_NUMBERING + +#define MN_TXT\ + MenuItem\ + {\ + ITEM_FORMAT_CHAR_DLG\ + };\ + MenuItem\ + {\ + ITEM_FORMAT_PARA_DLG\ + };\ + MenuItem\ + {\ + Identifier = FN_FORMAT_PAGE_DLG ; \ + HelpID = FN_FORMAT_PAGE_DLG ; \ + Text [ en-US ] = "Pa~ge..." ; \ + }; + + +#define MN_TEXT_ATTR\ + MenuItem\ + {\ + ITEM_FORMAT_ATTR_CHAR_FONT\ + };\ + MenuItem\ + {\ + ITEM_FORMAT_ATTR_CHAR_FONTHEIGHT\ + };\ + MenuItem\ + {\ + Identifier = MN_FORMAT_STYLE ; \ + HelpID = MN_FORMAT_STYLE ; \ + Command = ".uno:StyleMenu" ; \ + Text [ en-US ] = "St~yle" ; \ + SubMenu = Menu\ + {\ + ItemList = \ + {\ + MenuItem\ + {\ + ITEM_FORMAT_ATTR_CHAR_WEIGHT\ + };\ + MenuItem\ + {\ + ITEM_FORMAT_ATTR_CHAR_POSTURE\ + };\ + MenuItem\ + {\ + ITEM_FORMAT_ATTR_CHAR_OVERLINE\ + };\ + MenuItem\ + {\ + ITEM_FORMAT_ATTR_CHAR_UNDERLINE\ + };\ + MenuItem\ + {\ + ITEM_FORMAT_ATTR_CHAR_STRIKEOUT\ + };\ + MenuItem\ + {\ + ITEM_FORMAT_ATTR_CHAR_SHADOWED\ + };\ + MenuItem\ + {\ + ITEM_FORMAT_ATTR_CHAR_CONTOUR\ + };\ + SEPARATOR ; \ + MenuItem\ + {\ + Identifier = FN_SET_SUPER_SCRIPT ; \ + HelpID = FN_SET_SUPER_SCRIPT ; \ + Text [ en-US ] = "Superscript" ; \ + };\ + MenuItem\ + {\ + Identifier = FN_SET_SUB_SCRIPT ; \ + HelpID = FN_SET_SUB_SCRIPT ; \ + Text [ en-US ] = "Subscript" ; \ + };\ + };\ + };\ + };\ + MenuItem\ + {\ + Identifier = MN_FORMAT_ALGN ; \ + HelpID = MN_FORMAT_ALGN ; \ + Command = ".uno:AlignTextMenu" ; \ + Text [ en-US ] = "A~lignment" ; \ + RadioCheck = TRUE ; \ + SubMenu = Menu\ + {\ + ItemList = \ + {\ + MenuItem\ + {\ + RadioCheck = TRUE ; \ + ITEM_FORMAT_ATTR_PARA_ADJUST_LEFT\ + };\ + MenuItem\ + {\ + RadioCheck = TRUE ; \ + ITEM_FORMAT_ATTR_PARA_ADJUST_RIGHT\ + };\ + MenuItem\ + {\ + RadioCheck = TRUE ; \ + ITEM_FORMAT_ATTR_PARA_ADJUST_CENTER\ + };\ + MenuItem\ + {\ + Identifier = SID_ATTR_PARA_ADJUST_BLOCK ; \ + HelpID = SID_ATTR_PARA_ADJUST_BLOCK ; \ + RadioCheck = TRUE ; \ + Text [ en-US ] = "Justified" ; \ + };\ + };\ + };\ + };\ + MenuItem\ + {\ + Identifier = MN_FORMAT_LINESPACE ; \ + HelpID = MN_FORMAT_LINESPACE ; \ + Command = ".uno:LineSpacingMenu" ; \ + Text [ en-US ] = "Line Spacing" ; \ + _MenuItemFlags = MIB_RADIOCHECK ; \ + SubMenu = Menu\ + {\ + ItemList = \ + {\ + MenuItem\ + {\ + RadioCheck = TRUE ; \ + ITEM_FORMAT_PARA_LINESPACE_10\ + };\ + MenuItem\ + {\ + RadioCheck = TRUE ; \ + ITEM_FORMAT_PARA_LINESPACE_15\ + };\ + MenuItem\ + {\ + RadioCheck = TRUE ; \ + ITEM_FORMAT_PARA_LINESPACE_20\ + };\ + };\ + };\ + }; + +/* --------------------- M E N U --------------------------------- */ + +/* + + +The application menu bar resource has become obsolete. You can now find the menu bar at the following +location: <project>/uiconfig/[swriter|sweb|sglobal]/menubar/menubar.xml + + +*/ + +/* --------------------- D O C U M E N T -------------------------- */ + + +#define _MN_EDIT_FIELD \ + MenuItem \ + { \ + Identifier = FN_EDIT_FIELD ; \ + HelpID = FN_EDIT_FIELD ; \ + Text [ en-US ] = "Fields..." ; \ + }; +#define _MN_EDIT_FOOTNOTE \ + MenuItem \ + { \ + Identifier = FN_EDIT_FOOTNOTE ; \ + HelpID = FN_EDIT_FOOTNOTE ; \ + Text [ en-US ] = "Footnote/Endnote~..." ; \ + }; + #define _MN_EDIT_IDX_ENTRY_DLG \ + MenuItem \ + { \ + Identifier = FN_EDIT_IDX_ENTRY_DLG ; \ + HelpID = FN_EDIT_IDX_ENTRY_DLG ; \ + Text [ en-US ] = "Inde~x Entry..." ; \ + }; + +#define _MN_EDIT_REDLINE \ + MenuItem \ + { \ + Identifier = FN_REDLINE_ACCEPT_DIRECT; \ + HelpID = FN_REDLINE_ACCEPT_DIRECT ; \ + Text [ en-US ] = "Accept Change" ; \ + };\ + MenuItem \ + { \ + Identifier = FN_REDLINE_REJECT_DIRECT ; \ + HelpID = FN_REDLINE_REJECT_DIRECT ; \ + Text [ en-US ] = "Reject Change" ; \ + }; \ + SEPARATOR ; +#define _MN_EDIT_BIB_ENTRY_DLG \ + MenuItem \ + { \ + Identifier = FN_EDIT_AUTH_ENTRY_DLG ; \ + HelpID = FN_EDIT_AUTH_ENTRY_DLG ; \ + Text [ en-US ] = "~Bibliography Entry..."; \ + }; \ + SEPARATOR ; + +#define _MN_EDIT_OPEN_HYPERLINK \ + MenuItem \ + { \ + ITEM_OPEN_HYPERLINK \ + };\ + MenuItem \ + { \ + Identifier = FN_EDIT_HYPERLINK ; \ + HelpID = FN_EDIT_HYPERLINK ; \ + Text [ en-US ] = "Edit Hyperlink..."; \ + }; \ + MenuItem \ + { \ + Identifier = FN_COPY_HYPERLINK_LOCATION; \ + HelpID = FN_COPY_HYPERLINK_LOCATION; \ + Text [ en-US ] = "Copy Hyperlink ~Location"; \ + }; \ + MenuItem \ + { \ + Identifier = FN_REMOVE_HYPERLINK ; \ + HelpID = FN_REMOVE_HYPERLINK ; \ + Text [ en-US ] = "Remo~ve Hyperlink"; \ + }; + +#define _MN_EDIT_OPEN_SMARTTAGMENU \ + MenuItem \ + { \ + ITEM_OPEN_SMARTTAGMENU \ + }; + +#define _MN_EDIT__HYPERLINK \ + MenuItem\ + {\ + Identifier = FN_EDIT_HYPERLINK ; \ + HelpID = FN_EDIT_HYPERLINK ; \ + Text [ en-US ] = "~Edit Hyperlink" ; \ + }; + +#define _DEFAULT_TEXT_EDIT_ELEMENTS \ + _MN_EDIT_FIELD \ + _MN_EDIT_FOOTNOTE \ + _MN_EDIT_IDX_ENTRY_DLG \ + _MN_EDIT_BIB_ENTRY_DLG \ + _MN_EDIT_REDLINE \ + MenuItem \ + { \ + ITEM_POPUP_TEMPLATE_EDIT \ + }; \ + SEPARATOR ; \ + _MN_EDIT_OPEN_HYPERLINK \ + _MN_EDIT_OPEN_SMARTTAGMENU + + +#define MN_RESET\ + MenuItem\ + {\ + Identifier = FN_FORMAT_RESET ; \ + HelpID = FN_FORMAT_RESET ; \ + Text [ en-US ] = "~Default Formatting" ; \ + }; + +#define _NUMBERING_RELATED_MENU \ + SEPARATOR ; \ + MenuItem \ + { \ + Identifier = FN_NUMBER_NEWSTART; \ + HelpId = FN_NUMBER_NEWSTART; \ + Text[ en-US ] = "Restart Numbering"; \ + }; \ + MenuItem \ + { \ + Identifier = FN_NUM_CONTINUE; \ + HelpId = FN_NUM_CONTINUE; \ + Text[ en-US ] = "Continue previous numbering"; \ + }; \ + MenuItem \ + { \ + Identifier = FN_NUM_BULLET_UP; \ + HelpId = FN_NUM_BULLET_UP; \ + Text[ en-US ] = "Up One Level"; \ + }; \ + MenuItem \ + { \ + Identifier = FN_NUM_BULLET_DOWN; \ + HelpId = FN_NUM_BULLET_DOWN; \ + Text[ en-US ] = "Down One Level"; \ + }; + +#define BASE_TEXT_POPUPMENU_BEGIN \ +{ \ + ItemList = \ + { \ + MN_RESET \ + _NUMBERING_RELATED_MENU \ + SEPARATOR ; \ + MN_TEXT_ATTR \ + SEPARATOR ; \ + MN_TXT \ + MN_NUMBERING \ + ITEM_TRANSLITERATE_MENU \ + SEPARATOR ; + +// not in Writer/Web +#define BASE_TEXT_POPUPMENU_NOWEB \ + MenuItem \ + { \ + Identifier = FN_UPDATE_CUR_TOX ; \ + HelpID = FN_UPDATE_CUR_TOX ; \ + Text [ en-US ] = "~Update Index/Table"; \ + }; \ + MenuItem \ + { \ + Identifier = FN_EDIT_CURRENT_TOX; \ + HelpID = FN_EDIT_CURRENT_TOX; \ + Text [ en-US ] = "~Edit Index/Table"; \ + }; \ + MenuItem \ + { \ + Identifier = FN_REMOVE_CUR_TOX; \ + HelpID = FN_REMOVE_CUR_TOX; \ + Text [ en-US ] = "Delete Index/Table"; \ + }; \ + SEPARATOR ; + +#define BASE_TEXT_POPUPMENU_END \ + _DEFAULT_TEXT_EDIT_ELEMENTS \ + }; \ +}; + +#endif + diff --git a/sw/source/ui/inc/swmodalredlineacceptdlg.hxx b/sw/source/ui/inc/swmodalredlineacceptdlg.hxx new file mode 100644 index 000000000000..c3af65d764ff --- /dev/null +++ b/sw/source/ui/inc/swmodalredlineacceptdlg.hxx @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWMODALREDLINEACCEPTDLG_HXX +#define _SWMODALREDLINEACCEPTDLG_HXX +#include "chldwrap.hxx" +#include <sfx2/basedlgs.hxx> + +class SwRedlineAcceptDlg; + +class SwModalRedlineAcceptDlg : public SfxModalDialog +{ + SwRedlineAcceptDlg* pImplDlg; + + virtual void Resize(); + +public: + SwModalRedlineAcceptDlg(Window *pParent); + ~SwModalRedlineAcceptDlg(); + + void AcceptAll( BOOL bAccept ); + virtual void Activate(); +}; + +#endif diff --git a/sw/source/ui/inc/swrenamexnameddlg.hxx b/sw/source/ui/inc/swrenamexnameddlg.hxx new file mode 100644 index 000000000000..16f3d56852e6 --- /dev/null +++ b/sw/source/ui/inc/swrenamexnameddlg.hxx @@ -0,0 +1,87 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWRENAMEXNAMEDDLG_HXX +#define _SWRENAMEXNAMEDDLG_HXX + + +#include <vcl/dialog.hxx> +#include <vcl/fixed.hxx> +#include <vcl/edit.hxx> +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#include <actctrl.hxx> +#include <com/sun/star/frame/XController.hpp> +#include <com/sun/star/text/XTextCursor.hpp> +#include <com/sun/star/container/XNameAccess.hpp> +#include <com/sun/star/awt/XControl.hpp> +#include <com/sun/star/container/XNamed.hpp> +#include <tools/resary.hxx> +#include <swunodef.hxx> + + + +/* -----------------09.06.99 14:36------------------- + * + * --------------------------------------------------*/ +class SwRenameXNamedDlg : public ModalDialog +{ + FixedText aNewNameFT; + NoSpaceEdit aNewNameED; + FixedLine aNameFL; + OKButton aOk; + CancelButton aCancel; + HelpButton aHelp; + + String sRemoveWarning; + + STAR_REFERENCE( container::XNamed ) & xNamed; + STAR_REFERENCE( container::XNameAccess ) & xNameAccess; + STAR_REFERENCE( container::XNameAccess ) xSecondAccess; + STAR_REFERENCE( container::XNameAccess ) xThirdAccess; + + DECL_LINK(OkHdl, OKButton*); + DECL_LINK(ModifyHdl, NoSpaceEdit*); + +public: + SwRenameXNamedDlg( Window* pParent, + STAR_REFERENCE( container::XNamed ) & xNamed, + STAR_REFERENCE( container::XNameAccess ) & xNameAccess ); + + void SetForbiddenChars( const String& rSet ) + { aNewNameED.SetForbiddenChars( rSet ); } + + void SetAlternativeAccess( + STAR_REFERENCE( container::XNameAccess ) & xSecond, + STAR_REFERENCE( container::XNameAccess ) & xThird ) + { + xSecondAccess = xSecond; + xThirdAccess = xThird; + } +}; + +#endif diff --git a/sw/source/ui/inc/swtablerep.hxx b/sw/source/ui/inc/swtablerep.hxx new file mode 100644 index 000000000000..20af27911317 --- /dev/null +++ b/sw/source/ui/inc/swtablerep.hxx @@ -0,0 +1,94 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWTABLEREP_HXX +#define _SWTABLEREP_HXX + + +#include <sfx2/tabdlg.hxx> +#include "swdllapi.h" +#include "swtypes.hxx" + +class SwTabCols; +struct TColumn; +class SW_DLLPUBLIC SwTableRep +{ + TColumn* pTColumns; + + SwTwips nTblWidth; + SwTwips nSpace; + SwTwips nLeftSpace; + SwTwips nRightSpace; + USHORT nAlign; + USHORT nColCount; + USHORT nAllCols; + USHORT nWidthPercent; + BOOL bComplex : 1; + BOOL bLineSelected : 1; + BOOL bWidthChanged : 1; + BOOL bColsChanged : 1; + +public: + SwTableRep( const SwTabCols& rTabCol, BOOL bComplex ); + ~SwTableRep(); + + BOOL FillTabCols( SwTabCols& rTabCol ) const; + + SwTwips GetLeftSpace() const {return nLeftSpace;} + void SetLeftSpace(SwTwips nSet) {nLeftSpace = nSet;} + + SwTwips GetRightSpace() const {return nRightSpace;} + void SetRightSpace(SwTwips nSet) {nRightSpace = nSet;} + + SwTwips GetWidth() const {return nTblWidth;} + void SetWidth(SwTwips nSet) {nTblWidth = nSet;} + + USHORT GetWidthPercent() const {return nWidthPercent;} + void SetWidthPercent(USHORT nSet) {nWidthPercent = nSet;} + + USHORT GetAlign() const {return nAlign;} + void SetAlign(USHORT nSet) {nAlign = nSet;} + + BOOL IsComplex() const {return bComplex;} + USHORT GetColCount() const {return nColCount;} + USHORT GetAllColCount() const {return nAllCols;} + + BOOL HasColsChanged() const {return bColsChanged;} + void SetColsChanged() {bColsChanged = TRUE;} + + BOOL HasWidthChanged() const {return bWidthChanged;} + void SetWidthChanged() {bWidthChanged = TRUE;} + + BOOL IsLineSelected() const {return bLineSelected;} + void SetLineSelected(BOOL bSet) {bLineSelected = bSet;} + + SwTwips GetSpace() const { return nSpace;} + void SetSpace(SwTwips nSet) {nSpace = nSet;} + + TColumn* GetColumns() const {return pTColumns;} +}; +#endif + diff --git a/sw/source/ui/inc/swuiccoll.hxx b/sw/source/ui/inc/swuiccoll.hxx new file mode 100644 index 000000000000..5079d9ebda08 --- /dev/null +++ b/sw/source/ui/inc/swuiccoll.hxx @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWUI_CCOLL_HXX +#define _SWUI_CCOLL_HXX + +#include "ccoll.hxx" + +class SwWrtShell; +class SwFmt; + +class SwCondCollPage : public SfxTabPage +{ + FixedLine aConditionFL; + CheckBox aConditionCB; + + FixedText aContextFT; + FixedText aUsedFT; + SvTabListBox aTbLinks; + + FixedText aStyleFT; + ListBox aStyleLB; + ListBox aFilterLB; + + PushButton aRemovePB; + PushButton aAssignPB; + + String sNoTmpl; + ResStringArray aStrArr; + + SwWrtShell &rSh; + const CommandStruct*pCmds; + SwFmt* pFmt; + + CollName* pNms; + + BOOL bNewTemplate; + + + SwCondCollPage(Window *pParent, const SfxItemSet &rSet); + virtual ~SwCondCollPage(); + + virtual int DeactivatePage(SfxItemSet *pSet); + + DECL_LINK( OnOffHdl, CheckBox* ); + DECL_LINK( AssignRemoveHdl, PushButton*); + DECL_LINK( SelectHdl, ListBox* ); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + static USHORT* GetRanges(); + + virtual BOOL FillItemSet( SfxItemSet &rSet); + virtual void Reset (const SfxItemSet &rSet); + + void SetCollection( SwFmt* pFormat, BOOL bNew ); +}; + + + +#endif + diff --git a/sw/source/ui/inc/swuicnttab.hxx b/sw/source/ui/inc/swuicnttab.hxx new file mode 100644 index 000000000000..8c7160433837 --- /dev/null +++ b/sw/source/ui/inc/swuicnttab.hxx @@ -0,0 +1,537 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWUI_CNTTAB_HXX +#define _SWUI_CNTTAB_HXX + +#include <svx/stddlg.hxx> + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#include <vcl/lstbox.hxx> +#include <sfx2/tabdlg.hxx> + +#include "tox.hxx" +#include <tools/list.hxx> +#include <toxmgr.hxx> +#include <svx/checklbx.hxx> +#include <tools/resary.hxx> +#include <svtools/svtreebx.hxx> +#include <vcl/menubtn.hxx> +#include <svx/langbox.hxx> +#include <cnttab.hxx> +class SwWrtShell; +class SwTOXMgr; +namespace com{namespace sun{namespace star{ + namespace text{ + class XTextSection; + class XDocumentIndex; + } +}}} + +//----------------------------------------------------------------------------- +struct SwIndexSections_Impl +{ + com::sun::star::uno::Reference< com::sun::star::text::XTextSection > xContainerSection; + com::sun::star::uno::Reference< com::sun::star::text::XDocumentIndex > xDocumentIndex; +}; + +//----------------------------------------------------------------------------- +class SwOneExampleFrame; +struct SwIndexSections_Impl; + +class SwMultiTOXTabDialog : public SfxTabDialog +{ + Window aExampleContainerWIN; + Window aExampleWIN; + CheckBox aShowExampleCB; + SwTOXMgr* pMgr; + SwWrtShell& rSh; + + SwOneExampleFrame* pExampleFrame; + + SwTOXDescription** pDescArr; // + SwForm** pFormArr; // + SwIndexSections_Impl** pxIndexSectionsArr; + + SwTOXBase* pParamTOXBase; + + CurTOXType eCurrentTOXType; + + String sUserDefinedIndex; + USHORT nTypeCount; + USHORT nInitialTOXType; + + BOOL bEditTOX; + BOOL bExampleCreated; + BOOL bGlobalFlag; + + virtual short Ok(); + SwTOXDescription* CreateTOXDescFromTOXBase(const SwTOXBase*pCurTOX); + + DECL_LINK(CreateExample_Hdl, void* ); + DECL_LINK(ShowPreviewHdl, CheckBox*); + +public: + SwMultiTOXTabDialog(Window* pParent, const SfxItemSet& rSet, + SwWrtShell &rShell, + SwTOXBase* pCurTOX, USHORT nToxType = USHRT_MAX, + BOOL bGlobal = FALSE); + ~SwMultiTOXTabDialog(); + + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); + + SwForm* GetForm(CurTOXType eType); + + CurTOXType GetCurrentTOXType() const { return eCurrentTOXType;} + void SetCurrentTOXType(CurTOXType eSet) + { + eCurrentTOXType = eSet; + } + + void UpdateExample(); + BOOL IsTOXEditMode() const { return bEditTOX;} + + SwWrtShell& GetWrtShell() {return rSh;} + + SwTOXDescription& GetTOXDescription(CurTOXType eTOXTypes); + void CreateOrUpdateExample( + TOXTypes nTOXIndex, USHORT nPage = 0, USHORT nCurLevel = USHRT_MAX); + + static BOOL IsNoNum(SwWrtShell& rSh, const String& rName); +}; +/* -----------------14.07.99 12:17------------------- + + --------------------------------------------------*/ +class IndexEntryRessource; +class IndexEntrySupplierWrapper; + +class SwTOXSelectTabPage : public SfxTabPage +{ + FixedLine aTypeTitleFL; + FixedText aTitleFT; + Edit aTitleED; + FixedText aTypeFT; + ListBox aTypeLB; + CheckBox aReadOnlyCB; + + FixedLine aAreaFL; + FixedText aAreaFT; + ListBox aAreaLB; + FixedText aLevelFT; //content, user + NumericField aLevelNF; //content, user + + //content + FixedLine aCreateFromFL; // content, user, illustration + CheckBox aFromHeadingsCB; +// PushButton aChapterDlgPB; //#outline level,removed by zhaojianwei + CheckBox aAddStylesCB; + PushButton aAddStylesPB; + //user + CheckBox aFromTablesCB; + CheckBox aFromFramesCB; + CheckBox aFromGraphicsCB; + CheckBox aFromOLECB; + CheckBox aLevelFromChapterCB; + + //illustration + table + RadioButton aFromCaptionsRB; + RadioButton aFromObjectNamesRB; + + //illustration and tables + FixedText aCaptionSequenceFT; + ListBox aCaptionSequenceLB; + FixedText aDisplayTypeFT; + ListBox aDisplayTypeLB; + + //all but illustration and table + CheckBox aTOXMarksCB; + + // + + //index only + CheckBox aCollectSameCB; + CheckBox aUseFFCB; + CheckBox aUseDashCB; + CheckBox aCaseSensitiveCB; + CheckBox aInitialCapsCB; + CheckBox aKeyAsEntryCB; + CheckBox aFromFileCB; + MenuButton aAutoMarkPB; + FixedLine aIdxOptionsFL; // index only + + // object only + SwOLENames aFromNames; + SvxCheckListBox aFromObjCLB; + FixedLine aFromObjFL; + + CheckBox aSequenceCB; + FixedText aBracketFT; + ListBox aBracketLB; + FixedLine aAuthorityFormatFL; + + //all + FixedLine aSortOptionsFL; + FixedText aLanguageFT; + SvxLanguageBox aLanguageLB; + FixedText aSortAlgorithmFT; + ListBox aSortAlgorithmLB; + + IndexEntryRessource* pIndexRes; + + Point aCBLeftPos1; + Point aCBLeftPos2; + Point aCBLeftPos3; + + String aStyleArr[MAXLEVEL]; + String sAutoMarkURL; + String sAutoMarkType; + String sAddStyleUser; + String sAddStyleContent; + + const IndexEntrySupplierWrapper* pIndexEntryWrapper; + + BOOL bFirstCall; + + DECL_LINK(TOXTypeHdl, ListBox* ); + DECL_LINK(TOXAreaHdl, ListBox* ); +// DECL_LINK(ChapterHdl, PushButton* ); //#outline level,removed by zhaojianwei + DECL_LINK(AddStylesHdl, PushButton* ); + DECL_LINK(MenuEnableHdl, Menu*); + DECL_LINK(MenuExecuteHdl, Menu*); + DECL_LINK(LanguageHdl, ListBox*); + + DECL_LINK(CheckBoxHdl, CheckBox* ); + DECL_LINK(RadioButtonHdl, RadioButton* ); + DECL_LINK(ModifyHdl, void*); + + void ApplyTOXDescription(); + void FillTOXDescription(); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + SwTOXSelectTabPage(Window* pParent, const SfxItemSet& rAttrSet); + ~SwTOXSelectTabPage(); + + virtual BOOL FillItemSet( SfxItemSet& ); + virtual void Reset( const SfxItemSet& ); + + virtual void ActivatePage( const SfxItemSet& ); + virtual int DeactivatePage( SfxItemSet* pSet = 0 ); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + void SelectType(TOXTypes eSet); //preset TOXType, GlobalDoc + void SetWrtShell(SwWrtShell& rSh); +}; +/* -----------------16.06.99 08:33------------------- + + --------------------------------------------------*/ + +DECLARE_LIST(TOXControlList, Control*) + +class SwTOXEdit; +class SwTOXButton; +class SwTOXEntryTabPage; + +class SwTokenWindow : public Window +{ + ImageButton aLeftScrollWin; + Window aCtrlParentWin; + ImageButton aRightScrollWin; + TOXControlList aControlList; + SwForm* pForm; + USHORT nLevel; + BOOL bValid; + String aButtonTexts[TOKEN_END]; // Text of the buttons + String aButtonHelpTexts[TOKEN_END]; // QuickHelpText of the buttons + String sCharStyle; + Link aButtonSelectedHdl; + Control* pActiveCtrl; + Link aModifyHdl; + + SwTOXEntryTabPage* m_pParent; + + DECL_LINK(EditResize, Edit*); + DECL_LINK(NextItemHdl, SwTOXEdit* ); + DECL_LINK(TbxFocusHdl, SwTOXEdit* ); + DECL_LINK(NextItemBtnHdl, SwTOXButton* ); + DECL_LINK(TbxFocusBtnHdl, SwTOXButton* ); + DECL_LINK(ScrollHdl, ImageButton* ); + + void SetActiveControl(Control* pSet); + + Control* InsertItem(const String& rText, const SwFormToken& aToken); + void AdjustPositions(); + void AdjustScrolling(); + void MoveControls(long nOffset); + +public: + SwTokenWindow(SwTOXEntryTabPage* pParent, const ResId& rResId); + ~SwTokenWindow(); + + void SetForm(SwForm& rForm, USHORT nLevel); + USHORT GetLastLevel()const {return nLevel;}; + + BOOL IsValid() const {return bValid;} + + void SetInvalid() {bValid = FALSE;} + + String GetPattern() const; + + void SetButtonSelectedHdl(const Link& rLink) + { aButtonSelectedHdl = rLink;} + + void SetModifyHdl(const Link& rLink){aModifyHdl = rLink;} + + Control* GetActiveControl() + { return pActiveCtrl;} + + void InsertAtSelection(const String& rText, const SwFormToken& aToken); + void RemoveControl(SwTOXButton* pDel, BOOL bInternalCall = FALSE); + + BOOL Contains(FormTokenType) const; + + BOOL DetermineLinkStart(); + + //helper for pattern buttons and edits + BOOL CreateQuickHelp(Control* pCtrl, + const SwFormToken& rToken, const HelpEvent& ); + + virtual void Resize(); + virtual void GetFocus(); +}; +/* -----------------------------23.12.99 14:16-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwTOXEntryTabPage; +class SwIdxTreeListBox : public SvTreeListBox +{ + SwTOXEntryTabPage* pParent; + + virtual void RequestHelp( const HelpEvent& rHEvt ); +public: + SwIdxTreeListBox(SwTOXEntryTabPage* pPar, const ResId& rResId); +}; + +/* -----------------16.06.99 12:49------------------- + + --------------------------------------------------*/ +class SwTOXEntryTabPage : public SfxTabPage +{ + FixedText aLevelFT; + SwIdxTreeListBox aLevelLB; + + FixedText aTokenFT; + SwTokenWindow aTokenWIN; + PushButton aAllLevelsPB; + + PushButton aEntryNoPB; + PushButton aEntryPB; + PushButton aTabPB; + PushButton aChapterInfoPB; + PushButton aPageNoPB; + PushButton aHyperLinkPB; + + ListBox aAuthFieldsLB; + PushButton aAuthInsertPB; + PushButton aAuthRemovePB; + + FixedText aCharStyleFT; + ListBox aCharStyleLB; // character style of the current token + PushButton aEditStylePB; + + FixedText aChapterEntryFT; + ListBox aChapterEntryLB; // type of chapter info + + FixedText aNumberFormatFT; + ListBox aNumberFormatLB; //!< format for numbering (E#) + + FixedText aEntryOutlineLevelFT; //!< Fixed text, for i53420 + NumericField aEntryOutlineLevelNF; //!< level to evaluate outline level to, for i53420 + FixedText aFillCharFT; + ComboBox aFillCharCB; // fill char for tab stop + FixedText aTabPosFT; + MetricField aTabPosMF; // tab stop position + CheckBox aAutoRightCB; + FixedLine aEntryFL; + + CheckBox aRelToStyleCB; // position relative to the right margin of the para style + FixedText aMainEntryStyleFT; + ListBox aMainEntryStyleLB; // character style of main entries in indexes + CheckBox aAlphaDelimCB; + CheckBox aCommaSeparatedCB; + FixedLine aFormatFL; + + RadioButton aSortDocPosRB; + RadioButton aSortContentRB; + FixedLine aSortingFL; + + FixedText aFirstKeyFT; + ListBox aFirstKeyLB; + ImageRadioButton aFirstSortUpRB; + ImageRadioButton aFirstSortDownRB; + + FixedText aSecondKeyFT; + ListBox aSecondKeyLB; + ImageRadioButton aSecondSortUpRB; + ImageRadioButton aSecondSortDownRB; + + FixedText aThirdKeyFT; + ListBox aThirdKeyLB; + ImageRadioButton aThirdSortUpRB; + ImageRadioButton aThirdSortDownRB; + + FixedLine aSortKeyFL; + + String sDelimStr; + String sLevelStr; + String sAuthTypeStr; + + String sNoCharStyle; + String sNoCharSortKey; + Point aButtonPositions[5]; + SwForm* m_pCurrentForm; + + Point aRelToStylePos; + Point aRelToStyleIdxPos; + Size aLevelFLSize; + + CurTOXType aLastTOXType; + BOOL bInLevelHdl; + + Point aChapterEntryFTPosition; //!< holds position of ChapterEntryFT control, + //to be used in moving the element among different tokens + Point aEntryOutlineLevelFTPosition;//!< holds position ofrEntryOutlineLevelFT control + sal_Int32 nBiasToEntryPoint; + + DECL_LINK(StyleSelectHdl, ListBox*); + DECL_LINK(EditStyleHdl, PushButton*); + DECL_LINK(InsertTokenHdl, PushButton*); + DECL_LINK(LevelHdl, SvTreeListBox*); + DECL_LINK(AutoRightHdl, CheckBox*); + DECL_LINK(TokenSelectedHdl, SwFormToken*); + DECL_LINK(TabPosHdl, MetricField*); + DECL_LINK(FillCharHdl, ComboBox*); + DECL_LINK(RemoveInsertAuthHdl, PushButton*); + DECL_LINK(SortKeyHdl, RadioButton*); + DECL_LINK(ChapterInfoHdl, ListBox*); + DECL_LINK(ChapterInfoOutlineHdl, NumericField*); + DECL_LINK(NumberFormatHdl, ListBox*); + + DECL_LINK(AllLevelsHdl, PushButton*); + + void EnableButtons(); + void WriteBackLevel(); + void UpdateDescriptor(); + DECL_LINK(ModifyHdl, void*); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + SwTOXEntryTabPage(Window* pParent, const SfxItemSet& rAttrSet); + ~SwTOXEntryTabPage(); + + virtual BOOL FillItemSet( SfxItemSet& ); + virtual void Reset( const SfxItemSet& ); + virtual void ActivatePage( const SfxItemSet& ); + virtual int DeactivatePage( SfxItemSet* pSet = 0 ); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + void SetWrtShell(SwWrtShell& rSh); + + String GetLevelHelp(USHORT nLevel) const; + + void PreTokenButtonRemoved(const SwFormToken& rToken); +}; +/* -----------------05.07.99 13:00------------------- + + --------------------------------------------------*/ +class SwTOXStylesTabPage : public SfxTabPage +{ + FixedText aLevelFT2; + ListBox aLevelLB; + FixedText aTemplateFT; + ListBox aParaLayLB; + PushButton aStdBT; + ImageButton aAssignBT; + PushButton aEditStyleBT; + FixedLine aFormatFL; + + SwForm* m_pCurrentForm; +// void UpdatePattern(); + + DECL_LINK( EditStyleHdl, Button *); + DECL_LINK( StdHdl, Button * ); + DECL_LINK( EnableSelectHdl, ListBox * ); + DECL_LINK( DoubleClickHdl, Button * ); + DECL_LINK( AssignHdl, Button * ); + DECL_LINK( ModifyHdl, void*); + + SwForm& GetForm() + { + SwMultiTOXTabDialog* pDlg = (SwMultiTOXTabDialog*)GetTabDialog(); + return *pDlg->GetForm(pDlg->GetCurrentTOXType()); + } + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + SwTOXStylesTabPage(Window* pParent, const SfxItemSet& rAttrSet); + ~SwTOXStylesTabPage(); + + virtual BOOL FillItemSet( SfxItemSet& ); + virtual void Reset( const SfxItemSet& ); + + virtual void ActivatePage( const SfxItemSet& ); + virtual int DeactivatePage( SfxItemSet* pSet = 0 ); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + +}; + +#endif // _SWUI_CNTTAB_HXX + diff --git a/sw/source/ui/inc/swuiidxmrk.hxx b/sw/source/ui/inc/swuiidxmrk.hxx new file mode 100644 index 000000000000..037aac07fe16 --- /dev/null +++ b/sw/source/ui/inc/swuiidxmrk.hxx @@ -0,0 +1,295 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWUI_IDXMRK_HXX +#define _SWUI_IDXMRK_HXX + +#include <com/sun/star/container/XNameAccess.hpp> +#include <sfx2/basedlgs.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#include <vcl/lstbox.hxx> +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif +#include <svx/stddlg.hxx> + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _IMAGEBTN_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif +#include <sfx2/childwin.hxx> +#include "toxe.hxx" +#include <svtools/stdctrl.hxx> +#include <com/sun/star/i18n/XExtendedIndexEntrySupplier.hpp> + +class SwWrtShell; +class SwTOXMgr; +class SwTOXMark; +/*-------------------------------------------------------------------- + Beschreibung: Markierung fuer Verzeichniseintrag einfuegen + --------------------------------------------------------------------*/ +class SwIndexMarkFloatDlg; +class SwIndexMarkModalDlg; +class SwIndexMarkDlg : public Window +{ + friend class SwIndexMarkFloatDlg; + friend class SwIndexMarkModalDlg; + FixedText aTypeFT; + ListBox aTypeDCB; + ImageButton aNewBT; + + FixedText aEntryFT; + Edit aEntryED; + FixedText aPhoneticFT0; + Edit aPhoneticED0; + + FixedText aKeyFT; + ComboBox aKeyDCB; + FixedText aPhoneticFT1; + Edit aPhoneticED1; + + FixedText aKey2FT; + ComboBox aKey2DCB; + FixedText aPhoneticFT2; + Edit aPhoneticED2; + + FixedText aLevelFT; + NumericField aLevelED; + CheckBox aMainEntryCB; + CheckBox aApplyToAllCB; + CheckBox aSearchCaseSensitiveCB; + CheckBox aSearchCaseWordOnlyCB; + + FixedLine aIndexFL; + + OKButton aOKBT; + CancelButton aCancelBT; + HelpButton aHelpBT; + PushButton aDelBT; + //PushButton aNewBT; + + ImageButton aPrevSameBT; + ImageButton aNextSameBT; + ImageButton aPrevBT; + ImageButton aNextBT; + + String aOrgStr; + sal_Int32 nOptionsId; + sal_Bool bDel; + sal_Bool bNewMark; + sal_Bool bSelected; + + BOOL bPhoneticED0_ChangedByUser; + BOOL bPhoneticED1_ChangedByUser; + BOOL bPhoneticED2_ChangedByUser; + LanguageType nLangForPhoneticReading; //Language of current text used for phonetic reading proposal + BOOL bIsPhoneticReadingEnabled; //this value states wether phopentic reading is enabled in principle dependend of global cjk settings and language of current entry + com::sun::star::uno::Reference< com::sun::star::i18n::XExtendedIndexEntrySupplier > + xExtendedIndexEntrySupplier; + + SwTOXMgr* pTOXMgr; + SwWrtShell* pSh; + + void Apply(); + void InitControls(); + void InsertMark(); + void UpdateMark(); + + DECL_LINK( InsertHdl, Button * ); + DECL_LINK( CloseHdl, Button * ); + DECL_LINK( DelHdl, Button * ); + DECL_LINK( NextHdl, Button * ); + DECL_LINK( NextSameHdl, Button * ); + DECL_LINK( PrevHdl, Button * ); + DECL_LINK( PrevSameHdl, Button * ); + DECL_LINK( ModifyHdl, ListBox* pBox = 0 ); + DECL_LINK( KeyDCBModifyHdl, ComboBox * ); + DECL_LINK( NewUserIdxHdl, Button*); + DECL_LINK( SearchTypeHdl, CheckBox*); + DECL_LINK( PhoneticEDModifyHdl, Edit * ); + + //this method updates the values from 'nLangForPhoneticReading' and 'bIsPhoneticReadingEnabled' + //it needs to be called ones if this dialog is opened to create a new entry (in InitControls), + //or otherwise it has to be called for each changed TOXMark (in UpdateDialog) + void UpdateLanguageDependenciesForPhoneticReading(); + String GetDefaultPhoneticReading( const String& rText ); + + void UpdateKeyBoxes(); + + void UpdateDialog(); + void InsertUpdate(); + + virtual void Activate(); + +public: + + SwIndexMarkDlg( Window *pParent, + sal_Bool bNewDlg, + const ResId& rResId, + sal_Int32 _nOptionsId, + SwWrtShell& rWrtShell ); + + + ~SwIndexMarkDlg(); + + void ReInitDlg(SwWrtShell& rWrtShell, SwTOXMark* pCurTOXMark = 0); + sal_Bool IsTOXType(const String& rName) + {return LISTBOX_ENTRY_NOTFOUND != aTypeDCB.GetEntryPos(rName);} +}; +/* -----------------06.10.99 10:11------------------- + + --------------------------------------------------*/ +class SwIndexMarkFloatDlg : public SfxModelessDialog +{ + SwIndexMarkDlg aDlg; + virtual void Activate(); + public: + SwIndexMarkFloatDlg( SfxBindings* pBindings, + SfxChildWindow* pChild, + Window *pParent, + SfxChildWinInfo* pInfo, + sal_Bool bNew=sal_True); + void ReInitDlg(SwWrtShell& rWrtShell); +}; +/* -----------------06.10.99 10:33------------------- + + --------------------------------------------------*/ +class SwIndexMarkModalDlg : public SvxStandardDialog +{ + SwIndexMarkDlg aDlg; +public: + SwIndexMarkModalDlg(Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark); + + virtual void Apply(); + void ReInitDlg(SwWrtShell& rWrtShell); +}; + +/* -----------------15.09.99 08:39------------------- + + --------------------------------------------------*/ +class SwAuthMarkModalDlg; +class SwAuthMarkDlg : public Window +{ + static sal_Bool bIsFromComponent; + + friend class SwAuthMarkModalDlg; + friend class SwAuthMarkFloatDlg; + + RadioButton aFromComponentRB; + RadioButton aFromDocContentRB; + FixedText aAuthorFT; + FixedInfo aAuthorFI; + FixedText aTitleFT; + FixedInfo aTitleFI; + FixedText aEntryFT; + Edit aEntryED; + ListBox aEntryLB; + + FixedLine aEntryFL; + + OKButton aOKBT; + CancelButton aCancelBT; + HelpButton aHelpBT; + PushButton aCreateEntryPB; + PushButton aEditEntryPB; + + String sChangeST; + sal_Bool bNewEntry; + sal_Bool bBibAccessInitialized; + + SwWrtShell* pSh; + + String m_sColumnTitles[AUTH_FIELD_END]; + String m_sFields[AUTH_FIELD_END]; + + String m_sCreatedEntry[AUTH_FIELD_END]; + + ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > xBibAccess; + + DECL_LINK(InsertHdl, PushButton*); + DECL_LINK(CloseHdl, PushButton*); + DECL_LINK(CreateEntryHdl, PushButton*); + DECL_LINK(CompEntryHdl, ListBox*); + DECL_LINK(ChangeSourceHdl, RadioButton*); + DECL_LINK(IsEntryAllowedHdl, Edit*); + DECL_LINK(EditModifyHdl, Edit*); + + void InitControls(); + virtual void Activate(); +public: + + SwAuthMarkDlg( Window *pParent, + const ResId& rResId, + sal_Bool bNew=sal_True); + ~SwAuthMarkDlg(); + + void ReInitDlg(SwWrtShell& rWrtShell); +}; +/* -----------------06.10.99 10:11------------------- + + --------------------------------------------------*/ +class SwAuthMarkFloatDlg : public SfxModelessDialog +{ + SwAuthMarkDlg aDlg; + virtual void Activate(); + public: + SwAuthMarkFloatDlg( SfxBindings* pBindings, + SfxChildWindow* pChild, + Window *pParent, + SfxChildWinInfo* pInfo, + sal_Bool bNew=sal_True); + void ReInitDlg(SwWrtShell& rWrtShell); +}; +/* -----------------06.10.99 10:33------------------- + + --------------------------------------------------*/ +class SwAuthMarkModalDlg : public SvxStandardDialog +{ + SwAuthMarkDlg aDlg; +public: + SwAuthMarkModalDlg(Window *pParent, SwWrtShell& rSh); + + virtual void Apply(); + void ReInitDlg(SwWrtShell& rWrtShell); +}; + + +#endif // _SWUI_IDXMRK_HXX + diff --git a/sw/source/ui/inc/swuipardlg.hxx b/sw/source/ui/inc/swuipardlg.hxx new file mode 100644 index 000000000000..d9460f62ad65 --- /dev/null +++ b/sw/source/ui/inc/swuipardlg.hxx @@ -0,0 +1,51 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWUI_PARDLG_HXX +#define _SWUI_PARDLG_HXX +#include "pardlg.hxx" + +class SwParaDlg: public SfxTabDialog +{ + SwView& rView; + USHORT nHtmlMode; + BYTE nDlgMode; + BOOL bDrawParaDlg; + + void PageCreated(USHORT nID, SfxTabPage& rPage); + +public: + SwParaDlg( Window *pParent, + SwView& rVw, + const SfxItemSet&, + BYTE nDialogMode, + const String *pCollName = 0, + BOOL bDraw = FALSE, + UINT16 nDefPage = 0); + ~SwParaDlg(); +}; + +#endif diff --git a/sw/source/ui/inc/swvset.hxx b/sw/source/ui/inc/swvset.hxx new file mode 100644 index 000000000000..4e6b2a46f856 --- /dev/null +++ b/sw/source/ui/inc/swvset.hxx @@ -0,0 +1,41 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWVSET_HXX +#define _SWVSET_HXX +#include <tools/list.hxx> +#include <svx/numvset.hxx> + +class SwRulerValueSet : public SvxBmpNumValueSet +{ + public: + SwRulerValueSet( Window* pParent, + const ResId& rResId ); + ~SwRulerValueSet(); + virtual void UserDraw( const UserDrawEvent& rUDEvt ); +}; +#endif + diff --git a/sw/source/ui/inc/swwrtshitem.hxx b/sw/source/ui/inc/swwrtshitem.hxx new file mode 100644 index 000000000000..3e33c3722f6b --- /dev/null +++ b/sw/source/ui/inc/swwrtshitem.hxx @@ -0,0 +1,52 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SW_WRTSHELLITEM_HXX +#define _SW_WRTSHELLITEM_HXX +#include <svl/poolitem.hxx> +#include "swdllapi.h" + +class SwWrtShell; + +class SW_DLLPUBLIC SwWrtShellItem: public SfxPoolItem +{ + SwWrtShell* pWrtSh; + +public: + TYPEINFO(); + SwWrtShellItem(); + SwWrtShellItem( USHORT nWhich , SwWrtShell* pWrtSh); + SwWrtShellItem( const SwWrtShellItem& ); + + + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + SwWrtShell* GetValue() const { return pWrtSh; } + +}; + +#endif diff --git a/sw/source/ui/inc/syncbtn.hxx b/sw/source/ui/inc/syncbtn.hxx new file mode 100644 index 000000000000..0ae8c7009426 --- /dev/null +++ b/sw/source/ui/inc/syncbtn.hxx @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWSYNCBTN_HXX +#define _SWSYNCBTN_HXX +#include <sfx2/childwin.hxx> + +#ifdef _SYNCDLG +#include <sfx2/basedlgs.hxx> + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +/*------------------------------------------------------------------------ + Beschreibung: +------------------------------------------------------------------------*/ + +class SwSyncBtnDlg : public SfxFloatingWindow +{ + PushButton aSyncBtn; + + DECL_LINK( BtnHdl, PushButton* pBtn = 0 ); + +public: + SwSyncBtnDlg(SfxBindings*, SfxChildWindow*, Window *pParent); + ~SwSyncBtnDlg(); +}; +#endif + +/*------------------------------------------------------------------------ + Beschreibung: +------------------------------------------------------------------------*/ + +class SwSyncChildWin : public SfxChildWindow +{ +public: + SwSyncChildWin( Window* , + USHORT nId, + SfxBindings*, + SfxChildWinInfo* ); + + SFX_DECL_CHILDWINDOW( SwSyncChildWin ); +}; + + +#endif + diff --git a/sw/source/ui/inc/table.hrc b/sw/source/ui/inc/table.hrc new file mode 100644 index 000000000000..076028925804 --- /dev/null +++ b/sw/source/ui/inc/table.hrc @@ -0,0 +1,50 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#include "rcid.hrc" + +#define DLG_INSERT_TABLE RC_TABLE_BEGIN +#define DLG_FORMAT_TABLE (RC_TABLE_BEGIN + 1) +#define DLG_CONV_TEXT_TABLE (RC_TABLE_BEGIN + 2) +//#define DLG_INS_ROW_COL (RC_TABLE_BEGIN + 3) moved to svx +#define DLG_ROW_HEIGHT (RC_TABLE_BEGIN + 4) +#define DLG_SPLIT (RC_TABLE_BEGIN + 5) +#define DLG_COL_WIDTH (RC_TABLE_BEGIN + 6) +#define MSG_ERR_TABLE_MERGE (RC_TABLE_BEGIN + 7) +#define DLG_AUTOFMT_TABLE (RC_TABLE_BEGIN + 9) +#define DLG_SWDLG_STRINPUT (RC_TABLE_BEGIN + 10) +#define TP_TABLE_COLUMN (RC_TABLE_BEGIN + 11) +#define DLG_INSERT_CHART (RC_TABLE_BEGIN + 12) +#define MSG_WRONG_TABLENAME (RC_TABLE_BEGIN + 13) +#define DLG_SPLIT_TABLE (RC_TABLE_BEGIN + 14) +#define DLG_MERGE_TABLE (RC_TABLE_BEGIN + 15) + +#define TABLE_ACT_END DLG_MERGE_TABLE + +#if TABLE_ACT_END > RC_TABLE_END +#error Resource-Id Ueberlauf in #file, #line +#endif diff --git a/sw/source/ui/inc/tabledlg.hxx b/sw/source/ui/inc/tabledlg.hxx new file mode 100644 index 000000000000..497d16449774 --- /dev/null +++ b/sw/source/ui/inc/tabledlg.hxx @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _TABLEDLG_HXX +#define _TABLEDLG_HXX + +#include <sfx2/tabdlg.hxx> + + +#include "swtypes.hxx" +#include "swtablerep.hxx" + +class SwWrtShell; +class SwTabCols; +struct TColumn; + +/*------------------------------------------------------- + Tabellendialog +--------------------------------------------------------- */ +class SwTableTabDlg : public SfxTabDialog +{ + SwWrtShell* pShell; + USHORT nHtmlMode; + + virtual void PageCreated(USHORT nId, SfxTabPage& rPage); +public: + SwTableTabDlg( Window* pParent, SfxItemPool& Pool, + const SfxItemSet* pItemSet, SwWrtShell* pSh ); +}; + + +#endif diff --git a/sw/source/ui/inc/tablemgr.hxx b/sw/source/ui/inc/tablemgr.hxx new file mode 100644 index 000000000000..4256d4069fe2 --- /dev/null +++ b/sw/source/ui/inc/tablemgr.hxx @@ -0,0 +1,95 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _TABLEMGR_HXX +#define _TABLEMGR_HXX + +#include "swdllapi.h" +#include "swtypes.hxx" +#include "tabcol.hxx" + +class SwFrmFmt; +class SwWrtShell; +class Window; +class SfxItemSet; +class SwFlyFrmFmt; + +namespace com { namespace sun { namespace star { + namespace frame { + class XModel; } + namespace chart2 { + namespace data { + class XDataProvider; } } +}}} + +const SwTwips lAutoWidth = INVALID_TWIPS; +const char cParaDelim = 0x0a; + +class SW_DLLPUBLIC SwTableFUNC +{ + SwFrmFmt *pFmt; + SwWrtShell *pSh; + BOOL bCopy; + SwTabCols aCols; + +private: + SW_DLLPRIVATE int GetRightSeparator(int nNum) const; + +public: + inline SwTableFUNC(SwFrmFmt &); + SwTableFUNC(SwWrtShell *pShell, BOOL bCopyFmt = FALSE); + ~SwTableFUNC(); + + void InitTabCols(); + void ColWidthDlg(Window *pParent ); + SwTwips GetColWidth(USHORT nNum) const; + SwTwips GetMaxColWidth(USHORT nNum) const; + void SetColWidth(USHORT nNum, SwTwips nWidth ); + USHORT GetColCount() const; + USHORT GetCurColNum() const; + + BOOL IsTableSelected() const { return pFmt != 0; } + + const SwFrmFmt *GetTableFmt() const { return pFmt; } + + SwWrtShell* GetShell() const { return pSh; } + + // @deprecated + void UpdateChart(); + + /// @return the XModel of the newly inserted chart if successfull + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > + InsertChart( ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider > &rxDataProvider, sal_Bool bFillWithData, const rtl::OUString &rCellRange, SwFlyFrmFmt** ppFlyFrmFmt = 0 ); +}; + +inline SwTableFUNC::SwTableFUNC(SwFrmFmt &rFmt) : + pFmt(&rFmt), + pSh(0), + bCopy(FALSE) +{ +} + +#endif diff --git a/sw/source/ui/inc/tabsh.hxx b/sw/source/ui/inc/tabsh.hxx new file mode 100644 index 000000000000..3e3c1304b1ee --- /dev/null +++ b/sw/source/ui/inc/tabsh.hxx @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWTABSH_HXX +#define _SWTABSH_HXX + +#include "basesh.hxx" +#include "swdllapi.h" + +class SfxItemSet; +class SwWrtShell; + +SW_DLLPUBLIC void ItemSetToTableParam( const SfxItemSet& rSet, SwWrtShell &rSh ); + +extern const USHORT __FAR_DATA aUITableAttrRange[]; +SW_DLLPUBLIC const USHORT* SwuiGetUITableAttrRange(); + +class SwTableShell: public SwBaseShell +{ +public: + SFX_DECL_INTERFACE(SW_TABSHELL) + TYPEINFO(); + + void Execute(SfxRequest &); + void GetState(SfxItemSet &); + void GetFrmBorderState(SfxItemSet &rSet); + void GetLineStyleState(SfxItemSet &rSet); + void ExecTableStyle(SfxRequest& rReq); + + void ExecNumberFormat(SfxRequest& rReq); + + SwTableShell(SwView &rView); +}; + +#endif diff --git a/sw/source/ui/inc/tautofmt.hxx b/sw/source/ui/inc/tautofmt.hxx new file mode 100644 index 000000000000..9c35450eb208 --- /dev/null +++ b/sw/source/ui/inc/tautofmt.hxx @@ -0,0 +1,118 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef SW_TAUTOFMT_HXX +#define SW_TAUTOFMT_HXX +#include <sfx2/basedlgs.hxx> + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif + +#ifndef _VIRDEV_HXX //autogen +#include <vcl/virdev.hxx> +#endif + +class SwTableAutoFmt; +class AutoFmtPreview; +class SwTableAutoFmtTbl; +class SwWrtShell; + +//------------------------------------------------------------------------ + +enum AutoFmtLine { TOP_LINE, BOTTOM_LINE, LEFT_LINE, RIGHT_LINE }; + +//======================================================================== + +class SwAutoFormatDlg : public SfxModalDialog +{ + FixedLine aFlFormat; + ListBox aLbFormat; + CheckBox aBtnNumFormat; + CheckBox aBtnBorder; + CheckBox aBtnFont; + CheckBox aBtnPattern; + CheckBox aBtnAlignment; + FixedLine aFlFormats; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + PushButton aBtnAdd; + PushButton aBtnRemove; + PushButton aBtnRename; + MoreButton aBtnMore; + String aStrTitle; + String aStrLabel; + String aStrClose; + String aStrDelTitle; + String aStrDelMsg; + String aStrRenameTitle; + String aStrInvalidFmt; + AutoFmtPreview* pWndPreview; + + //------------------------ + SwWrtShell* pShell; + SwTableAutoFmtTbl* pTableTbl; + BYTE nIndex; + BYTE nDfltStylePos; + BOOL bCoreDataChanged : 1; + BOOL bSetAutoFmt : 1; + + + void Init( const SwTableAutoFmt* pSelFmt ); + void UpdateChecks( const SwTableAutoFmt&, BOOL bEnableBtn ); + //------------------------ + DECL_LINK( CheckHdl, Button * ); + DECL_LINK( OkHdl, Button * ); + DECL_LINK( AddHdl, void * ); + DECL_LINK( RemoveHdl, void * ); + DECL_LINK( RenameHdl, void * ); + DECL_LINK( SelFmtHdl, void * ); + +public: + SwAutoFormatDlg( Window* pParent, SwWrtShell* pShell, + BOOL bSetAutoFmt = TRUE, + const SwTableAutoFmt* pSelFmt = 0 ); + virtual ~SwAutoFormatDlg(); + + void FillAutoFmtOfIndex( SwTableAutoFmt*& rToFill ) const; +}; + + +#endif // SW_AUTOFMT_HXX + diff --git a/sw/source/ui/inc/tblctrl.hxx b/sw/source/ui/inc/tblctrl.hxx new file mode 100644 index 000000000000..f46103098278 --- /dev/null +++ b/sw/source/ui/inc/tblctrl.hxx @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _TBLCTRL_HXX +#define _TBLCTRL_HXX + + +#include <sfx2/tbxctrl.hxx> + + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +class SwTableOptimizeCtrl : public SfxToolBoxControl +{ + +public: + SFX_DECL_TOOLBOX_CONTROL(); + + SwTableOptimizeCtrl( USHORT nSlotId, USHORT nId, ToolBox& rTbx ); + ~SwTableOptimizeCtrl(); + + virtual SfxPopupWindowType GetPopupWindowType() const; + virtual SfxPopupWindow* CreatePopupWindow(); + +}; + +// +//---------------------------------------------------------------------------- + +#endif + + diff --git a/sw/source/ui/inc/tblnumfm.hxx b/sw/source/ui/inc/tblnumfm.hxx new file mode 100644 index 000000000000..b6118f3943fe --- /dev/null +++ b/sw/source/ui/inc/tblnumfm.hxx @@ -0,0 +1,44 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _TBLNUMFM_HXX +#define _TBLNUMFM_HXX + +#include <sfx2/basedlgs.hxx> + +class Window; +class SfxItemSet; + +class SwNumFmtDlg : public SfxSingleTabDialog +{ +public: + + SwNumFmtDlg(Window* pParent, const SfxItemSet& rSet); + ~SwNumFmtDlg(); +}; + +#endif + diff --git a/sw/source/ui/inc/tbxanchr.hxx b/sw/source/ui/inc/tbxanchr.hxx new file mode 100644 index 000000000000..a2c378f15198 --- /dev/null +++ b/sw/source/ui/inc/tbxanchr.hxx @@ -0,0 +1,49 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _TBXANCHR_HXX +#define _TBXANCHR_HXX + +#include <sfx2/tbxctrl.hxx> + +class SwTbxAnchor : public SfxToolBoxControl +{ + USHORT nActAnchorId; + +public: + + virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState ); + virtual void Click(); + virtual SfxPopupWindow* CreatePopupWindow(); + + SFX_DECL_TOOLBOX_CONTROL(); + + SwTbxAnchor( USHORT nSlotId, USHORT nId, ToolBox& rTbx ); + ~SwTbxAnchor(); +}; + +#endif + diff --git a/sw/source/ui/inc/textcontrolcombo.hxx b/sw/source/ui/inc/textcontrolcombo.hxx new file mode 100644 index 000000000000..dbf42d86d085 --- /dev/null +++ b/sw/source/ui/inc/textcontrolcombo.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _TEXTCONTROLCOMBO_HXX +#define _TEXTCONTROLCOMBO_HXX + +#ifndef _FIXED_HXX +#include <vcl/fixed.hxx> +#endif + +#include <vcl/field.hxx> +#include "swdllapi.h" + +class SW_DLLPUBLIC TextControlCombo : public Window +{ +protected: + + Control& mrCtrl; + FixedText& mrFTbefore; + FixedText& mrFTafter; + +public: + + using Window::Enable; + using Window::Disable; + + TextControlCombo( Window* _pParent, const ResId& _rResId, + Control& _rCtrl, FixedText& _rFTbefore, FixedText& _rFTafter ); + virtual ~TextControlCombo(); + + void Arrange( FixedText& _rOrg, BOOL bShow = true ); + + // identical to window functionality + void Show( BOOL bVisible = TRUE, USHORT nFlags = 0 ); + void Hide( USHORT nFlags = 0 ) { Show( FALSE, nFlags ); } + + void Enable( BOOL bEnable = TRUE, BOOL bChild = TRUE ); + void Disable( BOOL bChild = TRUE ) { Enable( FALSE, bChild ); } +}; + + +#endif diff --git a/sw/source/ui/inc/textsh.hxx b/sw/source/ui/inc/textsh.hxx new file mode 100644 index 000000000000..d4ec7b99ed25 --- /dev/null +++ b/sw/source/ui/inc/textsh.hxx @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SWTEXTSH_HXX +#define _SWTEXTSH_HXX + +#include <basesh.hxx> + +class AbstractSvxPostItDialog; +class SwFldMgr; +class SvxHyperlinkItem; + +class SwTextShell: public SwBaseShell +{ + SwFldMgr* pPostItFldMgr; + + void InsertSymbol( SfxRequest& ); + void InsertHyperlink(const SvxHyperlinkItem& rHlnkItem); + bool InsertMediaDlg( SfxRequest& ); + void ChangeHeaderOrFooter(const String& rStyleName, BOOL bHeader, BOOL bOn, BOOL bShowWarning); + +public: + SFX_DECL_INTERFACE(SW_TEXTSHELL) + TYPEINFO(); + +//CHINA001 DECL_LINK( PostItNextHdl, Button * ); +//CHINA001 DECL_LINK( PostItPrevHdl, Button * ); +//CHINA001 DECL_LINK( RedlineNextHdl, Button * ); +//CHINA001 DECL_LINK( RedlinePrevHdl, Button * ); + DECL_LINK( RedlineNextHdl, AbstractSvxPostItDialog * ); + DECL_LINK( RedlinePrevHdl, AbstractSvxPostItDialog * ); + + void Execute(SfxRequest &); + void GetState(SfxItemSet &); + + void ExecInsert(SfxRequest &); + void StateInsert(SfxItemSet&); + void ExecDelete(SfxRequest &); + void ExecEnterNum(SfxRequest &); + void ExecBasicMove(SfxRequest &); + void ExecMove(SfxRequest &); + void ExecMovePage(SfxRequest &); + void ExecMoveCol(SfxRequest &); + void ExecMoveLingu(SfxRequest &); + void ExecMoveMisc(SfxRequest &); + void ExecField(SfxRequest &rReq); + void StateField(SfxItemSet &); + void ExecIdx(SfxRequest &); + void GetIdxState(SfxItemSet &); + void ExecGlossary(SfxRequest &); + + void ExecCharAttr(SfxRequest &); + void ExecCharAttrArgs(SfxRequest &); + void ExecParaAttr(SfxRequest &); + void ExecParaAttrArgs(SfxRequest &); + void ExecAttr(SfxRequest &); + void ExecDB(SfxRequest &); + void ExecTransliteration(SfxRequest &); + + void GetAttrState(SfxItemSet &); + + SwTextShell(SwView &rView); + virtual ~SwTextShell(); +}; + +#endif diff --git a/sw/source/ui/inc/tmpdlg.hxx b/sw/source/ui/inc/tmpdlg.hxx new file mode 100644 index 000000000000..7971a6607915 --- /dev/null +++ b/sw/source/ui/inc/tmpdlg.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWTMPDLG_HXX +#define _SWTMPDLG_HXX + +#include <sfx2/styledlg.hxx> + +class SfxItemSet; +class SwWrtShell; + +/*-------------------------------------------------------------------- + Beschreibung: Der Tabdialog Traeger der TabPages + --------------------------------------------------------------------*/ + +class SwTemplateDlg: public SfxStyleDialog +{ + + USHORT nType; + USHORT nHtmlMode; + SwWrtShell* pWrtShell; + BOOL bNewStyle; + + DECL_LINK( NumOptionsHdl, PushButton* ); + +public: + SwTemplateDlg( Window* pParent, + SfxStyleSheetBase& rBase, + USHORT nRegion, + BOOL bColumn = FALSE, + SwWrtShell* pActShell = 0, + BOOL bNew = FALSE ); + + ~SwTemplateDlg(); + const SfxItemSet* GetRefreshedSet(); + + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); + virtual short Ok(); +}; + + +#endif + diff --git a/sw/source/ui/inc/tmplctrl.hxx b/sw/source/ui/inc/tmplctrl.hxx new file mode 100644 index 000000000000..206645d7fe83 --- /dev/null +++ b/sw/source/ui/inc/tmplctrl.hxx @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _TMPLCTRL_HXX +#define _TMPLCTRL_HXX + +// include --------------------------------------------------------------- + +#include <sfx2/stbitem.hxx> +#include <tools/string.hxx> + + +// class BookmarkToolBoxControl ------------------------------------------- + +class SwTemplateControl : public SfxStatusBarControl +{ +protected: + virtual void Command( const CommandEvent& rCEvt ); +public: + virtual void StateChanged( USHORT nSID, SfxItemState eState, + const SfxPoolItem* pState ); + virtual void Paint( const UserDrawEvent& rEvt ); + + SFX_DECL_STATUSBAR_CONTROL(); + + SwTemplateControl( USHORT nSlotId, USHORT nId, StatusBar& rStb ); + ~SwTemplateControl(); + +private: + String sTemplate; +}; + + +#endif + diff --git a/sw/source/ui/inc/toolbox_tmpl.hrc b/sw/source/ui/inc/toolbox_tmpl.hrc new file mode 100644 index 000000000000..73ab3059d705 --- /dev/null +++ b/sw/source/ui/inc/toolbox_tmpl.hrc @@ -0,0 +1,563 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _TOOLBOX_HRC +#define _TOOLBOX_HRC +#include "shells.hrc" +#include "globals.hrc" +#include "cmdid.h" +#define MN_FONT\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_FONT;\ + HelpID = SID_ATTR_CHAR_FONT;\ + };\ + ToolBoxItem { Type = TOOLBOXITEM_SEPARATOR ; }; \ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_FONTHEIGHT ; \ + HelpID = SID_ATTR_CHAR_FONTHEIGHT ; \ + };\ + ToolBoxItem { Type = TOOLBOXITEM_SEPARATOR ; }; + +#define MN_TEXT1( HIDE )\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_WEIGHT ; \ + HelpID = SID_ATTR_CHAR_WEIGHT ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_POSTURE ; \ + HelpID = SID_ATTR_CHAR_POSTURE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_UNDERLINE ; \ + HelpID = SID_ATTR_CHAR_UNDERLINE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_OVERLINE ; \ + HelpID = SID_ATTR_CHAR_OVERLINE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_SET_SUPER_SCRIPT;\ + HelpID = FN_SET_SUPER_SCRIPT;\ + Hide = HIDE;\ + };\ + ToolBoxItem\ + {\ + Identifier = FN_SET_SUB_SCRIPT;\ + HelpID = FN_SET_SUB_SCRIPT;\ + Hide = HIDE;\ + };\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_ADJUST_LEFT ; \ + HelpID = SID_ATTR_PARA_ADJUST_LEFT ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_ADJUST_CENTER ; \ + HelpID = SID_ATTR_PARA_ADJUST_CENTER ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_ADJUST_RIGHT ; \ + HelpID = SID_ATTR_PARA_ADJUST_RIGHT ; \ + RadioCheck = TRUE ; \ + };\ + +#define MN_TEXT1_RTL( HIDE )\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_WEIGHT ; \ + HelpID = SID_ATTR_CHAR_WEIGHT ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_POSTURE ; \ + HelpID = SID_ATTR_CHAR_POSTURE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_UNDERLINE ; \ + HelpID = SID_ATTR_CHAR_UNDERLINE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_OVERLINE ; \ + HelpID = SID_ATTR_CHAR_OVERLINE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_SET_SUPER_SCRIPT;\ + HelpID = FN_SET_SUPER_SCRIPT;\ + Hide = HIDE;\ + };\ + ToolBoxItem\ + {\ + Identifier = FN_SET_SUB_SCRIPT;\ + HelpID = FN_SET_SUB_SCRIPT;\ + Hide = HIDE;\ + };\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_ADJUST_RIGHT ; \ + HelpID = SID_ATTR_PARA_ADJUST_RIGHT ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_ADJUST_CENTER ; \ + HelpID = SID_ATTR_PARA_ADJUST_CENTER ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_ADJUST_LEFT ; \ + HelpID = SID_ATTR_PARA_ADJUST_LEFT ; \ + RadioCheck = TRUE ; \ + };\ + +#define MN_TEXT1_BLOCK \ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_ADJUST_BLOCK ; \ + HelpID = SID_ATTR_PARA_ADJUST_BLOCK ; \ + RadioCheck = TRUE ; \ + };\ + +#define MN_TEXT_LINESPACE \ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_LINESPACE_10;\ + HelpID = SID_ATTR_PARA_LINESPACE_10;\ + RadioCheck = TRUE;\ + Hide = TRUE;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_LINESPACE_15;\ + HelpID = SID_ATTR_PARA_LINESPACE_15;\ + RadioCheck = TRUE;\ + Hide = TRUE;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_LINESPACE_20;\ + HelpID = SID_ATTR_PARA_LINESPACE_20;\ + RadioCheck = TRUE;\ + Hide = TRUE;\ + };\ + +#define MN_TEXT_LTR_RTL \ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_LEFT_TO_RIGHT;\ + HelpID = SID_ATTR_PARA_LEFT_TO_RIGHT;\ + RadioCheck = TRUE;\ + Hide = TRUE;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_RIGHT_TO_LEFT;\ + HelpID = SID_ATTR_PARA_RIGHT_TO_LEFT;\ + RadioCheck = TRUE;\ + Hide = TRUE;\ + };\ + +#define MN_TEXT_RTL_LTR \ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_RIGHT_TO_LEFT;\ + HelpID = SID_ATTR_PARA_RIGHT_TO_LEFT;\ + RadioCheck = TRUE;\ + Hide = TRUE;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_PARA_LEFT_TO_RIGHT;\ + HelpID = SID_ATTR_PARA_LEFT_TO_RIGHT;\ + RadioCheck = TRUE;\ + Hide = TRUE;\ + };\ + +#define MN_TEXT2\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_NUM_NUMBERING_ON ; \ + HelpID = FN_NUM_NUMBERING_ON ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_NUM_BULLET_ON ; \ + HelpID = FN_NUM_BULLET_ON ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_DEC_INDENT ; \ + HelpId = SID_DEC_INDENT ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_INC_INDENT ; \ + HelpId = SID_INC_INDENT ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_GROW_FONT_SIZE;\ + HelpID = FN_GROW_FONT_SIZE;\ + Hide = TRUE;\ + };\ + ToolBoxItem\ + {\ + Identifier = FN_SHRINK_FONT_SIZE;\ + HelpID = FN_SHRINK_FONT_SIZE;\ + Hide = TRUE;\ + };\ + +#define MN_BACKGROUND_COLOR\ + ToolBoxItem\ + {\ + ITEM_TOOLBAR_BACKGROUND_COLOR\ + }; + +#define MN_TEXT_BACKGROUND \ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + ITEM_TOOLBAR_ATTR_CHAR_COLOR\ + Identifier = SID_ATTR_CHAR_COLOR2 ; \ + Command = ".uno:FontColor"; \ + DropDown = TRUE ;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_ATTR_CHAR_COLOR_BACKGROUND ; \ + HelpID = SID_ATTR_CHAR_COLOR_BACKGROUND ; \ + DropDown = TRUE ;\ + };\ + ToolBoxItem\ + {\ + ITEM_TOOLBAR_BACKGROUND_COLOR\ + Text [ en-US ] = "Paragraph Background" ; \ + Text [ x-comment ] = " ";\ + }; + +#define MN_TEXT_DIALOGS(HIDE)\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_SELECTALL;\ + HelpId = SID_SELECTALL;\ + Hide = HIDE;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_CHAR_DLG;\ + HelpId = SID_CHAR_DLG;\ + Hide = HIDE;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_PARA_DLG;\ + HelpId = SID_PARA_DLG;\ + Hide = HIDE;\ + }; + + +#define MN_TEMPLATE\ + ToolBoxItem\ + {\ + ITEM_TOOLBAR_TEMPLATE_APPLY\ + };\ + ToolBoxItem { Type = TOOLBOXITEM_SEPARATOR ; }; + +#define MN_FRAME_WRAP\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_NOWRAP ; \ + HelpID = FN_FRAME_NOWRAP ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_WRAP ; \ + HelpID = FN_FRAME_WRAP ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_WRAP_IDEAL ; \ + HelpID = FN_FRAME_WRAP_IDEAL ; \ + RadioCheck = TRUE ; \ + Hide = TRUE;\ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_WRAP_LEFT ; \ + HelpID = FN_FRAME_WRAP_LEFT ; \ + RadioCheck = TRUE ; \ + Hide = TRUE;\ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_WRAP_RIGHT ; \ + HelpID = FN_FRAME_WRAP_RIGHT ; \ + RadioCheck = TRUE ; \ + Hide = TRUE;\ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_WRAPTHRU ; \ + HelpID = FN_FRAME_WRAPTHRU ; \ + RadioCheck = TRUE ; \ + }; + +#define MN_FRAME_WRAP_WEB\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_NOWRAP ; \ + HelpID = FN_FRAME_NOWRAP ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_WRAP_LEFT ; \ + HelpID = FN_FRAME_WRAP_LEFT ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_WRAP_RIGHT ; \ + HelpID = FN_FRAME_WRAP_RIGHT ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_IMAP ; \ + HelpID = SID_IMAP ; \ + RadioCheck = TRUE ; \ + }; + +#define MN_CONTOUR\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_WRAP_CONTOUR ; \ + HelpID = FN_FRAME_WRAP_CONTOUR ; \ + Hide = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_CONTOUR_DLG ; \ + HelpID = SID_CONTOUR_DLG ; \ + Hide = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_IMAP ; \ + HelpID = SID_IMAP ; \ + Hide = TRUE ; \ + }; + + +#define MN_FRAME1\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_ALIGN_HORZ_LEFT ; \ + HelpID = FN_FRAME_ALIGN_HORZ_LEFT ; \ + RadioCheck = TRUE ; \ + }; + +#define MN_FRAME2\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_ALIGN_HORZ_CENTER ; \ + HelpID = FN_FRAME_ALIGN_HORZ_CENTER ; \ + RadioCheck = TRUE ; \ + }; + +#define MN_FRAME3\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_ALIGN_HORZ_RIGHT ; \ + HelpID = FN_FRAME_ALIGN_HORZ_RIGHT ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_ALIGN_VERT_TOP ; \ + HelpID = FN_FRAME_ALIGN_VERT_TOP ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_ALIGN_VERT_CENTER ; \ + HelpID = FN_FRAME_ALIGN_VERT_CENTER ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Identifier = FN_FRAME_ALIGN_VERT_BOTTOM ; \ + HelpID = FN_FRAME_ALIGN_VERT_BOTTOM ; \ + RadioCheck = TRUE ; \ + };\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR ; \ + }; + +#define MN_LAYER\ + ToolBoxItem\ + {\ + Identifier = SID_FRAME_TO_TOP ; \ + HelpID = SID_FRAME_TO_TOP ; \ + };\ + ToolBoxItem\ + {\ + Identifier = SID_FRAME_TO_BOTTOM ; \ + HelpID = SID_FRAME_TO_BOTTOM ; \ + }; + +#define MN_LINESTYLE\ + ToolBoxItem\ + {\ + ITEM_TOOLBAR_ATTR_BORDER\ + };\ + ToolBoxItem\ + {\ + ITEM_TOOLBAR_FRAME_LINESTYLE\ + };\ + ToolBoxItem\ + {\ + ITEM_TOOLBAR_FRAME_LINECOLOR\ + }; + +#define MN_ATTRIBUTES_FRAME\ + ToolBoxItem\ + {\ + Identifier = FN_FORMAT_FRAME_DLG ; \ + HelpID = FN_FORMAT_FRAME_DLG ; \ + }; + +#define MN_ATTRIBUTES_GRAFIK\ + ToolBoxItem\ + {\ + Identifier = FN_FORMAT_FRAME_DLG;\ + HelpID = FN_FORMAT_GRAFIC_DLG;\ + Text [ en-US ] = "Graphics Properties";\ + Text [ x-comment ] = " ";\ + }; + + +#define MN_ATTRIBUTES_OLE\ + ToolBoxItem\ + {\ + Identifier = FN_FORMAT_FRAME_DLG;\ + HelpID = FN_FORMAT_FRAME_DLG;\ + Text [ en-US ] = "Object Properties";\ + Text [ x-comment ] = " ";\ + }; + +#define MN_GRID(hide)\ + ToolBoxItem\ + {\ + Type = TOOLBOXITEM_SEPARATOR;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_GRID_VISIBLE;\ + HelpID = SID_GRID_VISIBLE;\ + hide;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_GRID_USE;\ + HelpID = SID_GRID_USE;\ + hide;\ + };\ + ToolBoxItem\ + {\ + Identifier = SID_HELPLINES_MOVE;\ + HelpID = SID_HELPLINES_MOVE;\ + hide;\ + }; + + + +#endif // _TOOLBOX_HRC + diff --git a/sw/source/ui/inc/toxmgr.hxx b/sw/source/ui/inc/toxmgr.hxx new file mode 100644 index 000000000000..38cc1e5398b3 --- /dev/null +++ b/sw/source/ui/inc/toxmgr.hxx @@ -0,0 +1,324 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _TOXMGR_HXX +#define _TOXMGR_HXX + +#include "swdllapi.h" +#include "tox.hxx" +#include <authfld.hxx> + +class SwWrtShell; +class SwForm; + +/*-------------------------------------------------------------------- + Beschreibung: Manager fuer Verzeichnisfunktionalitaet + --------------------------------------------------------------------*/ +//one single method will be sufficient to insert AND upate indexes + +class SW_DLLPUBLIC SwTOXDescription +{ + TOXTypes eTOXType; + String aStyleNames[MAXLEVEL]; + String sSequenceName; + String sMainEntryCharStyle; + String sAutoMarkURL; + String* pTitle; + String* pTOUName; + SwForm* pForm; + USHORT nContent; + USHORT nIndexOptions; + USHORT nOLEOptions; + LanguageType eLanguage; + String sSortAlgorithm; + + String sAuthBrackets; + SwCaptionDisplay eCaptionDisplay; + SwTOXSortKey eSortKey1; + SwTOXSortKey eSortKey2; + SwTOXSortKey eSortKey3; + BYTE nLevel; + BOOL bFromObjectNames : 1; + BOOL bFromChapter : 1; + BOOL bReadonly: 1; + BOOL bLevelFromChapter : 1; + BOOL bIsAuthSequence :1; + BOOL bSortByDocument :1; + + //TODO: TemplateNames + //const String* pTemplateName = 0, ??? + + // forbidden and not implemented. + SwTOXDescription(); + SwTOXDescription(SwTOXDescription&); + SwTOXDescription & operator= (SwTOXDescription&); + +public: + // single argument ctors shall be explicit. + explicit SwTOXDescription(TOXTypes eType) : + eTOXType(eType), + pTitle(0), + pTOUName(0), + pForm(0), + nContent(nsSwTOXElement::TOX_MARK | nsSwTOXElement::TOX_OUTLINELEVEL), + nIndexOptions(nsSwTOIOptions::TOI_SAME_ENTRY|nsSwTOIOptions::TOI_FF|nsSwTOIOptions::TOI_CASE_SENSITIVE), + nOLEOptions(0), + eLanguage((LanguageType)::GetAppLanguage()), + eCaptionDisplay(CAPTION_COMPLETE), + nLevel(MAXLEVEL), + bFromObjectNames(FALSE), + bFromChapter(FALSE), + bReadonly(TRUE), + bLevelFromChapter(FALSE), + bIsAuthSequence(FALSE), + bSortByDocument(TRUE) + {} + ~SwTOXDescription() + { + delete pTitle; + delete pForm; + delete pTOUName; + } + + void SetTOXType(TOXTypes eSet) { eTOXType = eSet;} + TOXTypes GetTOXType() const { return eTOXType;} + + const String& GetStyleNames(USHORT nLvl) const + {return aStyleNames[nLvl];} + void SetStyleNames(const String& rSet, USHORT nLvl) + {aStyleNames[nLvl] = rSet; } + + const String& GetAutoMarkURL() const { return sAutoMarkURL;} + void SetAutoMarkURL(const String& rSet) {sAutoMarkURL = rSet;} + + void SetTitle(const String& pSet) {delete pTitle; pTitle = new String(pSet);} + const String* GetTitle() const {return pTitle; } + + void SetTOUName(const String& pSet) {delete pTOUName; pTOUName = new String(pSet);} + const String* GetTOUName() const {return pTOUName; } + + void SetForm(const SwForm& rSet) {delete pForm; pForm = new SwForm(rSet);} + const SwForm* GetForm() const {return pForm;} + + void SetContentOptions(USHORT nSet) { nContent = nSet;} + USHORT GetContentOptions() const { return nContent;} + + void SetIndexOptions(USHORT nSet) { nIndexOptions = nSet;} + USHORT GetIndexOptions() const { return nIndexOptions;} + + const String& GetMainEntryCharStyle() const {return sMainEntryCharStyle;} + void SetMainEntryCharStyle(const String& rSet) {sMainEntryCharStyle = rSet;} + + void SetLevel(BYTE nSet) {nLevel = nSet;} + BYTE GetLevel()const {return nLevel; } + + void SetCreateFromObjectNames(BOOL bSet) { bFromObjectNames = bSet;} + BOOL IsCreateFromObjectNames() const {return bFromObjectNames;} + + const String& GetSequenceName() const {return sSequenceName;} + void SetSequenceName(const String& rSet) {sSequenceName = rSet;} + + SwCaptionDisplay GetCaptionDisplay() const { return eCaptionDisplay;} + void SetCaptionDisplay(SwCaptionDisplay eSet) {eCaptionDisplay = eSet;} + + void SetFromChapter(BOOL bSet) { bFromChapter = bSet;} + BOOL IsFromChapter() const {return bFromChapter;} + + void SetReadonly(BOOL bSet){bReadonly = bSet;} + BOOL IsReadonly() const {return bReadonly;} + + USHORT GetOLEOptions() const {return nOLEOptions;} + void SetOLEOptions(USHORT nOpt) {nOLEOptions = nOpt;} + + BOOL IsLevelFromChapter() const {return bLevelFromChapter;} + void SetLevelFromChapter(BOOL bSet) {bLevelFromChapter = bSet;} + + String GetAuthBrackets() const {return sAuthBrackets;} + void SetAuthBrackets(const String& rSet) {sAuthBrackets = rSet;} + + BOOL IsAuthSequence() const {return bIsAuthSequence;} + void SetAuthSequence(BOOL bSet){bIsAuthSequence = bSet;} + + BOOL IsSortByDocument()const {return bSortByDocument ;} + void SetSortByDocument(BOOL bSet) {bSortByDocument = bSet;} + + void SetSortKeys(SwTOXSortKey eKey1, + SwTOXSortKey eKey2, + SwTOXSortKey eKey3); + + SwTOXSortKey GetSortKey1() const {return eSortKey1;} + SwTOXSortKey GetSortKey2() const {return eSortKey2;} + SwTOXSortKey GetSortKey3() const {return eSortKey3;} + + LanguageType GetLanguage() const {return eLanguage;} + void SetLanguage(LanguageType nLang) {eLanguage = nLang;} + + const String& GetSortAlgorithm()const {return sSortAlgorithm;} + void SetSortAlgorithm(const String& rSet) {sSortAlgorithm = rSet;} + + void ApplyTo(SwTOXBase& rTOXBase); + +}; +// -------------------------------------------------------------------------------- +class SwTOXMarkDescription +{ + TOXTypes eTOXType; + int nLevel; + BOOL bMainEntry; + + String* pPrimKey; + String* pSecKey; + String* pAltStr; + String* pTOUName; + + String* pPhoneticReadingOfAltStr; + String* pPhoneticReadingOfPrimKey; + String* pPhoneticReadingOfSecKey; + + // forbidden and not implemented. + SwTOXMarkDescription(); + SwTOXMarkDescription(SwTOXMarkDescription&); + SwTOXMarkDescription & operator= (SwTOXMarkDescription&); + +public: + // single argument ctors shall be explicit. + explicit SwTOXMarkDescription(TOXTypes eType) : + eTOXType(eType), + nLevel(0), + bMainEntry(FALSE), + pPrimKey(0), + pSecKey(0), + pAltStr(0), + pTOUName(0), + pPhoneticReadingOfAltStr(0), + pPhoneticReadingOfPrimKey(0), + pPhoneticReadingOfSecKey(0) + { + } + ~SwTOXMarkDescription() + { + delete pPrimKey; + delete pSecKey; + delete pAltStr; + delete pTOUName; + delete pPhoneticReadingOfAltStr; + delete pPhoneticReadingOfPrimKey; + delete pPhoneticReadingOfSecKey; + } + + TOXTypes GetTOXType()const {return eTOXType;} + + void SetLevel(int nSet) {nLevel = nSet;} + int GetLevel() const {return nLevel;} + + void SetMainEntry(BOOL bSet) {bMainEntry = bSet;} + BOOL IsMainEntry() const {return bMainEntry;} + + void SetPrimKey(const String& rSet) + {delete pPrimKey; pPrimKey = new String(rSet);} + const String* GetPrimKey() const {return pPrimKey;} + + void SetSecKey(const String& rSet) + {delete pSecKey; pSecKey = new String(rSet);} + const String* GetSecKey() const { return pSecKey; } + + void SetAltStr(const String& rSet) + {delete pAltStr; pAltStr = new String(rSet);} + const String* GetAltStr() const { return pAltStr; } + + void SetTOUName(const String& rSet) + {delete pTOUName; pTOUName = new String(rSet);} + const String* GetTOUName() const {return pTOUName;} + + + void SetPhoneticReadingOfAltStr(const String& rSet) + {delete pPhoneticReadingOfAltStr; pPhoneticReadingOfAltStr = new String(rSet);} + const String* GetPhoneticReadingOfAltStr() const { return pPhoneticReadingOfAltStr; } + + void SetPhoneticReadingOfPrimKey(const String& rSet) + {delete pPhoneticReadingOfPrimKey; pPhoneticReadingOfPrimKey = new String(rSet);} + const String* GetPhoneticReadingOfPrimKey() const { return pPhoneticReadingOfPrimKey; } + + void SetPhoneticReadingOfSecKey(const String& rSet) + {delete pPhoneticReadingOfSecKey; pPhoneticReadingOfSecKey = new String(rSet);} + const String* GetPhoneticReadingOfSecKey() const { return pPhoneticReadingOfSecKey; } +}; + +class SW_DLLPUBLIC SwTOXMgr +{ + SwWrtShell* pSh; + SwTOXMark* pCurTOXMark; + SwTOXMarks aCurMarks; + + SW_DLLPRIVATE USHORT GetUserTypeID(const String& rStr); + +public: + // single argument ctors shall be explicit. + explicit SwTOXMgr(SwWrtShell* pShell); + + // + // Methoden fuer Verzeichnismarkierungen + // + void InsertTOXMark(const SwTOXMarkDescription& rDesc); + + void UpdateTOXMark(const SwTOXMarkDescription& rDesc); + + + void DeleteTOXMark(); + void NextTOXMark(BOOL bSame=FALSE); + void PrevTOXMark(BOOL bSame=FALSE); + + // Aktuelle TOXmarks holen + USHORT GetTOXMarks(); + USHORT GetTOXMarkCount(); + SwTOXMark* GetTOXMark(USHORT nId); + SwTOXMark* GetCurTOXMark(); + void SetCurTOXMark(USHORT nId); + + // + // Methoden fuer Verzeichnisse + // + BOOL UpdateOrInsertTOX(const SwTOXDescription& rDesc, SwTOXBase** ppBase = 0, const SfxItemSet* pSet = 0); + + const SwTOXType* GetTOXType(TOXTypes eTyp, USHORT nId) const; + const SwTOXBase* GetCurTOX(); + +}; + + +/*-------------------------------------------------------------------- + Beschreibung: Inlines + --------------------------------------------------------------------*/ + +inline USHORT SwTOXMgr::GetTOXMarkCount() + { return aCurMarks.Count(); } + + +inline SwTOXMark* SwTOXMgr::GetCurTOXMark() + { return pCurTOXMark; } + +#endif diff --git a/sw/source/ui/inc/uiborder.hxx b/sw/source/ui/inc/uiborder.hxx new file mode 100644 index 000000000000..a7688ac343ac --- /dev/null +++ b/sw/source/ui/inc/uiborder.hxx @@ -0,0 +1,49 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _UIBORDER_HXX +#define _UIBORDER_HXX + + +#include <sfx2/basedlgs.hxx> +class Window; +class SfxItemSet; + +class SwBorderDlg : public SfxSingleTabDialog +{ +public: + + // nType may be: + // SW_BORDER_MODE_PARA + // SW_BORDER_MODE_TABLE + // SW_BORDER_MODE_FRAME + + SwBorderDlg(Window* pParent, SfxItemSet& rSet, USHORT nType); + ~SwBorderDlg(); +}; + +#endif + diff --git a/sw/source/ui/inc/uiitems.hxx b/sw/source/ui/inc/uiitems.hxx new file mode 100644 index 000000000000..d559a9ea3fb9 --- /dev/null +++ b/sw/source/ui/inc/uiitems.hxx @@ -0,0 +1,116 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _UIITEMS_HXX +#define _UIITEMS_HXX + +#include <svl/intitem.hxx> +#include "swdllapi.h" +#include "cmdid.h" +#include "pagedesc.hxx" + +class SwNumRule; +class IntlWrapper; + +/*-------------------------------------------------------------------- + Beschreibung: Container fuer FootNote + --------------------------------------------------------------------*/ +class SW_DLLPUBLIC SwPageFtnInfoItem : public SfxPoolItem +{ + SwPageFtnInfo aFtnInfo; + +public: + + SwPageFtnInfoItem(const USHORT nId, SwPageFtnInfo& rInfo); + SwPageFtnInfoItem(const SwPageFtnInfoItem& rItem ); + ~SwPageFtnInfoItem(); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SfxMapUnit eCoreMetric, + SfxMapUnit ePresMetric, + String &rText, + const IntlWrapper* pIntl = 0 ) const; + + virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + + SwPageFtnInfo& GetPageFtnInfo() { return aFtnInfo; } + const SwPageFtnInfo& GetPageFtnInfo() const { return aFtnInfo; } + void SetPageFtnInfo(SwPageFtnInfo& rInf) { aFtnInfo = rInf; } +}; + +/*******************************************************************/ + +class SW_DLLPUBLIC SwPtrItem : public SfxPoolItem +{ + void* pMisc; + +public: + SwPtrItem( const USHORT nId = FN_PARAM_GRF_DIALOG, void* pPtr = 0); + SwPtrItem( const SwPtrItem& rItem ); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual int operator==( const SfxPoolItem& ) const; + + void SetValue(void * pPtr) { pMisc= pPtr; } + void* GetValue() const { return pMisc; } +}; + +/*******************************************************************/ + +class SW_DLLPUBLIC SwUINumRuleItem : public SfxPoolItem +{ + SwNumRule* pRule; + +public: + SwUINumRuleItem( const SwNumRule& rRule, const USHORT = FN_PARAM_ACT_NUMBER); + SwUINumRuleItem( const SwUINumRuleItem& rItem ); + virtual ~SwUINumRuleItem(); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual int operator==( const SfxPoolItem& ) const; + + virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + + const SwNumRule* GetNumRule() const { return pRule; } + SwNumRule* GetNumRule() { return pRule; } +}; + +/* -----------------17.06.98 17:40------------------- + * + * --------------------------------------------------*/ +class SwBackgroundDestinationItem : public SfxUInt16Item +{ +public: + SwBackgroundDestinationItem(USHORT nWhich, USHORT nValue); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; +}; + +#endif // _UIITEMS_HXX diff --git a/sw/source/ui/inc/uinums.hxx b/sw/source/ui/inc/uinums.hxx new file mode 100644 index 000000000000..5ba9d6f4dfc1 --- /dev/null +++ b/sw/source/ui/inc/uinums.hxx @@ -0,0 +1,136 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _UINUMS_HXX +#define _UINUMS_HXX + +#include <svl/svarray.hxx> +#include <numrule.hxx> +#include "swdllapi.h" + +class SfxPoolItem; +class SwWrtShell; +class SvStream; + +#define MAX_NUM_RULES 9 + +typedef SfxPoolItem* SfxPoolItemPtr; +SV_DECL_PTRARR_DEL( _SwNumFmtsAttrs, SfxPoolItemPtr, 5,0 ) + +//------------------------------------------------------------------------ +class SW_DLLPUBLIC SwNumRulesWithName +{ + String aName; + // die Formate der NumRule muessen! unabhaengig von einem Document sein + // (Sie sollen immer vorhanden sein!) + class SW_DLLPRIVATE _SwNumFmtGlobal + { + SwNumFmt aFmt; + String sCharFmtName; + USHORT nCharPoolId; + _SwNumFmtsAttrs aItems; + + _SwNumFmtGlobal& operator=( const _SwNumFmtGlobal& ); + + public: + _SwNumFmtGlobal( const SwNumFmt& rFmt ); + _SwNumFmtGlobal( const _SwNumFmtGlobal& ); + _SwNumFmtGlobal( SvStream&, USHORT nVersion ); + ~_SwNumFmtGlobal(); + + void Store( SvStream& ); + void ChgNumFmt( SwWrtShell& rSh, SwNumFmt& rChg ) const; + }; + + _SwNumFmtGlobal* aFmts[ MAXLEVEL ]; + +protected: + void SetName(const String& rSet) {aName = rSet;} + +public: + SwNumRulesWithName(const SwNumRule &, const String &); + SwNumRulesWithName( const SwNumRulesWithName & ); + SwNumRulesWithName(SvStream &, USHORT nVersion); + ~SwNumRulesWithName(); + + const SwNumRulesWithName &operator=(const SwNumRulesWithName &); + + const String& GetName() const { return aName; } + void MakeNumRule( SwWrtShell& rSh, SwNumRule& rChg ) const; + + void Store( SvStream& ); +}; +/******************************************************************** + +********************************************************************/ +class SwBaseNumRules +{ +public: + enum { nMaxRules = MAX_NUM_RULES }; // zur Zeit 9 definierte Forms +protected: + SwNumRulesWithName *pNumRules[ MAX_NUM_RULES ]; + String sFileName; + USHORT nVersion; + BOOL bModified; + + virtual int Load(SvStream&); + virtual BOOL Store(SvStream&); + + void Init(); + +public: + SwBaseNumRules(const String& rFileName); + virtual ~SwBaseNumRules(); + + inline const SwNumRulesWithName* GetRules(USHORT nIdx) const; + virtual void ApplyNumRules( + const SwNumRulesWithName &rCopy, + USHORT nIdx); + +}; + +/******************************************************************** + +********************************************************************/ +class SwChapterNumRules : public SwBaseNumRules +{ + +public: + SwChapterNumRules(); + virtual ~SwChapterNumRules(); + + virtual void ApplyNumRules( const SwNumRulesWithName &rCopy, + USHORT nIdx); +}; + +// INLINE METHODE -------------------------------------------------------- +inline const SwNumRulesWithName *SwBaseNumRules::GetRules(USHORT nIdx) const +{ + ASSERT(nIdx < nMaxRules, Array der NumRules ueberindiziert.); + return pNumRules[nIdx]; +} + +#endif diff --git a/sw/source/ui/inc/uitool.hxx b/sw/source/ui/inc/uitool.hxx new file mode 100644 index 000000000000..e48f78f9aa96 --- /dev/null +++ b/sw/source/ui/inc/uitool.hxx @@ -0,0 +1,92 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _UITOOL_HXX +#define _UITOOL_HXX + +#include <vcl/wintypes.hxx> +#include <vcl/field.hxx> +#include <swtypes.hxx> +#include "swdllapi.h" + +class MetricFormatter; +class SfxItemSet; +class SfxMedium; +class SwPageDesc; +class SvxTabStopItem; +class SwWrtShell; +class ListBox; +class SwDocShell; +class SwFrmFmt; +class SwTabCols; +class DateTime; +class SfxViewFrame; + +// Umschalten einer Metric +SW_DLLPUBLIC void SetMetric(MetricFormatter& rCtrl, FieldUnit eUnit); + +// BoxInfoAttribut fuellen +SW_DLLPUBLIC void PrepareBoxInfo(SfxItemSet& rSet, const SwWrtShell& rSh); + +// SfxItemSets <-> PageDesc +void ItemSetToPageDesc( const SfxItemSet& rSet, SwPageDesc& rPageDesc ); +void PageDescToItemSet( const SwPageDesc& rPageDesc, SfxItemSet& rSet); + +// Auffuellen der Tabs mit DefaultTabs +SW_DLLPUBLIC void MakeDefTabs(SwTwips nDefDist, SvxTabStopItem& rTabs); + +// DefaultTabs loeschen aus dem TabStopArray +//void EraseDefTabs(SvxTabStopItem& rTabs); + +// Abstand zwischen dem 1. und zweitem Element ermitteln +SW_DLLPUBLIC USHORT GetTabDist(const SvxTabStopItem& rTabs); + +// erfrage ob im Set eine Sfx-PageDesc-Kombination vorliegt +// und setze diesen im Set und loesche die Transport Items +// (PageBreak & PageModel) aus dem Set +void SwToSfxPageDescAttr( SfxItemSet& rSet ); +void SfxToSwPageDescAttr( const SwWrtShell& rShell, SfxItemSet& rSet ); + +SW_DLLPUBLIC FieldUnit GetDfltMetric(BOOL bWeb); +void SetDfltMetric(FieldUnit eMetric, BOOL bWeb); + +// ListBox mit allen Zeichenvorlagen fuellen - ausser Standard! +SW_DLLPUBLIC void FillCharStyleListBox(ListBox& rToFill, SwDocShell* pDocSh, BOOL bSorted = FALSE, BOOL bWithDefault = FALSE); + +//inserts a string sorted into a ListBox, +SW_DLLPUBLIC USHORT InsertStringSorted(const String& rEntry, ListBox& rToFill, USHORT nOffset); + +// Tabellenbreite und Ausrichtung ermitteln +SwTwips GetTableWidth( SwFrmFmt* pFmt, SwTabCols& rCols, USHORT *pPercent, + SwWrtShell* pSh ); + +String GetAppLangDateTimeString( const DateTime& ); + +// search for a command string withing the menu structure and execute it +// at the dispatcher if there is one, if executed return true +bool ExecuteMenuCommand( PopupMenu& rMenu, SfxViewFrame& rViewFrame, USHORT nId ); + +#endif // _UITOOL_HXX diff --git a/sw/source/ui/inc/uivwimp.hxx b/sw/source/ui/inc/uivwimp.hxx new file mode 100644 index 000000000000..9c22b44ad868 --- /dev/null +++ b/sw/source/ui/inc/uivwimp.hxx @@ -0,0 +1,191 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _UIVWIMP_HXX +#define _UIVWIMP_HXX + +#include <com/sun/star/embed/XEmbeddedObject.hpp> +#include <view.hxx> + +#include <sfx2/objsh.hxx> +#include <com/sun/star/view/XSelectionSupplier.hpp> +#include <com/sun/star/datatransfer/clipboard/XClipboardListener.hpp> +#include <cppuhelper/implbase1.hxx> // helper for implementations +#include <swunodef.hxx> +#include <cppuhelper/weakref.hxx> + +class SwXTextView; +class SfxRequest; +class SwTransferable; +class SfxRequest; + +namespace sfx2 { class DocumentInserter; } +namespace com{ namespace sun{ namespace star { + namespace frame { + class XDispatchProviderInterceptor; + } + namespace lang { + class XUnoTunnel; + } +}}} + +/* -----------------------------29.05.00 08:22-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwScannerEventListener : public ::cppu::WeakImplHelper1< + STAR_NMSPC::lang::XEventListener > +{ + SwView* pView; + +public: + + SwScannerEventListener( SwView& rView ) : pView( &rView ) {} + virtual ~SwScannerEventListener(); + + // XEventListener + virtual void SAL_CALL disposing( + const ::com::sun::star::lang::EventObject& rEventObject ) throw(::com::sun::star::uno::RuntimeException); + + void ViewDestroyed() { pView = 0; } +}; + +// --------------------------- Clipboard EventListener ------------------ + +class SwClipboardChangeListener : public ::cppu::WeakImplHelper1< + CLIP_NMSPC::XClipboardListener > +{ + SwView* pView; + + // XEventListener + virtual void SAL_CALL disposing( const STAR_NMSPC::lang::EventObject& rEventObject ) + throw ( com::sun::star::uno::RuntimeException ); + + // XClipboardListener + virtual void SAL_CALL changedContents( const CLIP_NMSPC::ClipboardEvent& rEventObject ) + throw ( com::sun::star::uno::RuntimeException ); + +public: + SwClipboardChangeListener( SwView& rView ) : pView( &rView ) {} + virtual ~SwClipboardChangeListener(); + + void ViewDestroyed() { pView = 0; } + + void AddRemoveListener( BOOL bAdd ); +}; + + +/* --------------------------------------------------------------------------- + + ---------------------------------------------------------------------------*/ +class SwMailMergeConfigItem; +class SwView_Impl +{ + STAR_REFERENCE( lang::XEventListener ) xScanEvtLstnr; + STAR_REFERENCE( lang::XEventListener ) xClipEvtLstnr; + STAR_REFERENCE( frame::XDispatchProviderInterceptor ) xDisProvInterceptor; + STAR_REFERENCE( view::XSelectionSupplier ) *pxXTextView; // UNO object + com::sun::star::uno::WeakReference< com::sun::star::lang::XUnoTunnel > xTransferable; + + // temporary document for printing text of selection / multi selection + // in PDF export. + SfxObjectShellRef xTmpSelDocSh; + SfxObjectShellRef aEmbeddedObjRef; + + SwView* pView; + SwScannerEventListener* pScanEvtLstnr; + SwClipboardChangeListener* pClipEvtLstnr; + ShellModes eShellMode; + + SwMailMergeConfigItem* pConfigItem; + sal_uInt16 nMailMergeRestartPage; + sal_Bool bMailMergeSourceView; + + sfx2::DocumentInserter* m_pDocInserter; + SfxRequest* m_pRequest; + sal_Int16 m_nParam; + + Point m_aEditingPosition; + bool m_bSelectObject; + bool m_bEditingPositionSet; + +public: + SwView_Impl(SwView* pShell); + ~SwView_Impl(); + + void SetShellMode(ShellModes eSet); + + ::com::sun::star::view::XSelectionSupplier* GetUNOObject(); + SwXTextView* GetUNOObject_Impl(); + void Invalidate(); + + ShellModes GetShellMode() {return eShellMode;} + + void ExecuteScan(SfxRequest& rReq); + SwScannerEventListener& GetScannerEventListener(); + + void AddClipboardListener(); + + SfxObjectShellRef & GetTmpSelectionDoc() { return xTmpSelDocSh; } + + SfxObjectShellRef& GetEmbeddedObjRef() { return *boost::addressof(aEmbeddedObjRef); } + + void AddTransferable(SwTransferable& rTransferable); + + void SetMailMergeConfigItem(SwMailMergeConfigItem* pItem, + sal_uInt16 nRestart, sal_Bool bIsSource) + { pConfigItem = pItem; + nMailMergeRestartPage = nRestart; + bMailMergeSourceView = bIsSource; + } + SwMailMergeConfigItem* GetMailMergeConfigItem() {return pConfigItem;} + sal_uInt16 GetMailMergeRestartPage() const {return nMailMergeRestartPage;} + sal_Bool IsMailMergeSourceView() const { return bMailMergeSourceView; } + + //#i33307# restore editing position + void SetRestorePosition(const Point& rCrsrPos, bool bSelectObj) + { + m_aEditingPosition = rCrsrPos; + m_bSelectObject = bSelectObj; + m_bEditingPositionSet = true; + } + bool GetRestorePosition(Point& rCrsrPos, bool& rbSelectObj) + { + rCrsrPos = m_aEditingPosition; + rbSelectObj = m_bSelectObject; + return m_bEditingPositionSet; + } + + + void StartDocumentInserter( const String& rFactory, const Link& rEndDialogHdl ); + SfxMedium* CreateMedium(); + void InitRequest( const SfxRequest& rRequest ); + + inline SfxRequest* GetRequest() const { return m_pRequest; } + inline sal_Int16 GetParam() const { return m_nParam; } + inline void SetParam( sal_Int16 nParam ) { m_nParam = nParam; } +}; +#endif + diff --git a/sw/source/ui/inc/unodispatch.hxx b/sw/source/ui/inc/unodispatch.hxx new file mode 100644 index 000000000000..884d647725e5 --- /dev/null +++ b/sw/source/ui/inc/unodispatch.hxx @@ -0,0 +1,134 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _UNODISPATCH_HXX +#define _UNODISPATCH_HXX + +#include <com/sun/star/frame/XDispatchProviderInterception.hpp> +#include <com/sun/star/frame/XDispatchProviderInterceptor.hpp> +#include <com/sun/star/view/XSelectionChangeListener.hpp> +#include <com/sun/star/lang/XUnoTunnel.hpp> +#include <com/sun/star/frame/XDispatch.hpp> +#include <cppuhelper/implbase2.hxx> +#include <cppuhelper/implbase3.hxx> +#include <list> +//#ifndef _OSL_MUTEX_HXX_ +//#include <osl/mutex.hxx> +//#endif +#include <vos/mutex.hxx> + +class SwView; +//--------------------------------------------------------------------------------------------------------------------- +class SwXDispatchProviderInterceptor : public cppu::WeakImplHelper3 +< + ::com::sun::star::frame::XDispatchProviderInterceptor, + ::com::sun::star::lang::XEventListener, + ::com::sun::star::lang::XUnoTunnel +> +{ + class DispatchMutexLock_Impl + { + //::osl::MutexGuard aGuard; #102295# solar mutex has to be used currently + vos::OGuard aGuard; + DispatchMutexLock_Impl(); + public: + DispatchMutexLock_Impl(SwXDispatchProviderInterceptor&); + ~DispatchMutexLock_Impl(); + }; + friend class DispatchMutexLock_Impl; + +// ::osl::Mutex m_aMutex;#102295# solar mutex has to be used currently + + // the component which's dispatches we're intercepting + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterception> m_xIntercepted; + + // chaining + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider> m_xSlaveDispatcher; + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider> m_xMasterDispatcher; + + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch> m_xDispatch; + + SwView* m_pView; + +public: + SwXDispatchProviderInterceptor(SwView& rView); + ~SwXDispatchProviderInterceptor(); + + //XDispatchProvider + virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > SAL_CALL queryDispatch( const ::com::sun::star::util::URL& aURL, const ::rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags ) throw(::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > > SAL_CALL queryDispatches( const ::com::sun::star::uno::Sequence< ::com::sun::star::frame::DispatchDescriptor >& aDescripts ) throw(::com::sun::star::uno::RuntimeException); + + //XDispatchProviderInterceptor + virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider > SAL_CALL getSlaveDispatchProvider( ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setSlaveDispatchProvider( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider >& xNewDispatchProvider ) throw(::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider > SAL_CALL getMasterDispatchProvider( ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setMasterDispatchProvider( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider >& xNewSupplier ) throw(::com::sun::star::uno::RuntimeException); + + // XEventListener + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException); + + //XUnoTunnel + static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId(); + virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException); + + // view destroyed + void Invalidate(); +}; +//--------------------------------------------------------------------------------------------------------------------- +struct StatusStruct_Impl +{ + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener> xListener; + ::com::sun::star::util::URL aURL; +}; +typedef std::list< StatusStruct_Impl > StatusListenerList; +class SwXDispatch : public cppu::WeakImplHelper2 +< + ::com::sun::star::frame::XDispatch, + ::com::sun::star::view::XSelectionChangeListener +> +{ + SwView* m_pView; + StatusListenerList m_aListenerList; + sal_Bool m_bOldEnable; + sal_Bool m_bListenerAdded; +public: + SwXDispatch(SwView& rView); + ~SwXDispatch(); + + virtual void SAL_CALL dispatch( const ::com::sun::star::util::URL& aURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgs ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addStatusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener >& xControl, const ::com::sun::star::util::URL& aURL ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeStatusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener >& xControl, const ::com::sun::star::util::URL& aURL ) throw(::com::sun::star::uno::RuntimeException); + + //XSelectionChangeListener + virtual void SAL_CALL selectionChanged( const ::com::sun::star::lang::EventObject& aEvent ) throw(::com::sun::star::uno::RuntimeException); + + //XEventListener + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException); + + static const sal_Char* GetDBChangeURL(); +}; + +#endif diff --git a/sw/source/ui/inc/unotools.hxx b/sw/source/ui/inc/unotools.hxx new file mode 100644 index 000000000000..6399e2acba9e --- /dev/null +++ b/sw/source/ui/inc/unotools.hxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _UNOTOOLS_HXX +#define _UNOTOOLS_HXX + + +#include <vcl/dialog.hxx> +#include <vcl/fixed.hxx> +#include <vcl/edit.hxx> +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#include <actctrl.hxx> +#include <com/sun/star/frame/XController.hpp> +#include <com/sun/star/text/XTextCursor.hpp> +#include <com/sun/star/container/XNameAccess.hpp> +#include <com/sun/star/awt/XControl.hpp> +#include <com/sun/star/container/XNamed.hpp> +#include <tools/resary.hxx> +#include <swunodef.hxx> +#include "swdllapi.h" + +/* -----------------------------15.12.99 09:55-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwOneExampleFrame; +class SwFrmCtrlWindow : public Window +{ + SwOneExampleFrame* pExampleFrame; +public: + SwFrmCtrlWindow(Window* pParent, WinBits nBits, SwOneExampleFrame* pFrame); + + virtual void Command( const CommandEvent& rCEvt ); +}; +/* -----------------------------15.12.99 12:56-------------------------------- + + ---------------------------------------------------------------------------*/ +class MenuResource : public Resource +{ + ResStringArray aMenuArray; + +public: + MenuResource(const ResId& rResId); + + ResStringArray& GetMenuArray() {return aMenuArray;} +}; +/* -----------------27.07.99 15:20------------------- + + --------------------------------------------------*/ +#define EX_SHOW_ONLINE_LAYOUT 0x001 + +// hard zoom value +#define EX_SHOW_BUSINESS_CARDS 0x02 +//don't modify page size +#define EX_SHOW_DEFAULT_PAGE 0x04 + +class SwView; +class SW_DLLPUBLIC SwOneExampleFrame +{ + ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl > _xControl; + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > _xModel; + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > _xController; + ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > _xCursor; + + SwFrmCtrlWindow aTopWindow; + Window& rWindow; + Timer aLoadedTimer; + Link aInitializedLink; + + MenuResource aMenuRes; + String sArgumentURL; + + SwView* pModuleView; + + sal_uInt32 nStyleFlags; + + sal_Bool bIsInitialized; + sal_Bool bServiceAvailable; + + static sal_Bool bShowServiceNotAvailableMessage; + + SW_DLLPRIVATE DECL_LINK( TimeoutHdl, Timer* ); + SW_DLLPRIVATE DECL_LINK( PopupHdl, Menu* ); + + SW_DLLPRIVATE void CreateControl(); + SW_DLLPRIVATE void DisposeControl(); + +public: + SwOneExampleFrame(Window& rWin, + sal_uInt32 nStyleFlags = EX_SHOW_ONLINE_LAYOUT, + const Link* pInitalizedLink = 0, + String* pURL = 0); + ~SwOneExampleFrame(); + + STAR_REFERENCE( awt::XControl ) & GetControl() {return _xControl; } + STAR_REFERENCE( frame::XModel ) & GetModel() {return _xModel;} + STAR_REFERENCE( frame::XController ) & GetController() {return _xController;} + STAR_REFERENCE( text::XTextCursor ) & GetTextCursor() {return _xCursor;} + + void ClearDocument( BOOL bStartTimer = FALSE ); + + sal_Bool IsInitialized() const {return bIsInitialized;} + sal_Bool IsServiceAvailable() const {return bServiceAvailable;} + + void CreatePopup(const Point& rPt); + + static void CreateErrorMessage(Window* pParent); +}; + +#endif + diff --git a/sw/source/ui/inc/unotxvw.hxx b/sw/source/ui/inc/unotxvw.hxx new file mode 100644 index 000000000000..91cf8823e124 --- /dev/null +++ b/sw/source/ui/inc/unotxvw.hxx @@ -0,0 +1,274 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _UNOTXVW_HXX +#define _UNOTXVW_HXX +#include <sfx2/sfxbasecontroller.hxx> +#include <com/sun/star/embed/XEmbeddedObject.hpp> +#include <com/sun/star/text/XTextViewCursor.hpp> +#include <com/sun/star/text/XTextViewCursorSupplier.hpp> +#include <com/sun/star/text/XRubySelection.hpp> +#include <com/sun/star/view/XFormLayerAccess.hpp> +#include <com/sun/star/view/XScreenCursor.hpp> +#include <com/sun/star/view/XViewSettingsSupplier.hpp> +#include <com/sun/star/view/XSelectionSupplier.hpp> +#include <com/sun/star/view/XLineCursor.hpp> +#include <com/sun/star/view/XViewCursor.hpp> +#include <com/sun/star/text/XPageCursor.hpp> +#include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/beans/XPropertySetInfo.hpp> +#include <com/sun/star/beans/XPropertyState.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> +#include <com/sun/star/datatransfer/XTransferableSupplier.hpp> +#include <cppuhelper/implbase8.hxx> // helper for implementations +#include <svl/itemprop.hxx> +#include "calbck.hxx" +#include "TextCursorHelper.hxx" +#include <comphelper/uno3.hxx> + +#include <sfx2/objsh.hxx> + +class SdrObject; +class SwView; + +typedef ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener > * XSelectionChangeListenerPtr; +SV_DECL_PTRARR_DEL( SelectionChangeListenerArr, XSelectionChangeListenerPtr, 4, 4 ) + +/****************************************************************************** + * + ******************************************************************************/ +class SwXTextView : + public ::com::sun::star::view::XSelectionSupplier, + public ::com::sun::star::lang::XServiceInfo, + public ::com::sun::star::view::XFormLayerAccess, + public ::com::sun::star::text::XTextViewCursorSupplier, + public ::com::sun::star::text::XRubySelection, + public ::com::sun::star::view::XViewSettingsSupplier, + public ::com::sun::star::beans::XPropertySet, + public ::com::sun::star::datatransfer::XTransferableSupplier, + public SfxBaseController +{ + SelectionChangeListenerArr aSelChangedListeners; + + SwView* m_pView; + const SfxItemPropertySet* m_pPropSet; // property map for SwXTextView properties + // (not related to pxViewSettings!) + + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > * pxViewSettings; + ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextViewCursor > * pxTextViewCursor; + + + SdrObject* GetControl( + const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > & Model, + ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& xToFill ); + +protected: + virtual ~SwXTextView(); +public: + SwXTextView(SwView* pSwView); + + + virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL acquire( ) throw(); + virtual void SAL_CALL release( ) throw(); + + //XTypeProvider + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException); + + //XSelectionSupplier + virtual ::com::sun::star::uno::Any SAL_CALL getSelection(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL select(const ::com::sun::star::uno::Any& aInterface) throw( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL addSelectionChangeListener(const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener > & xListener) throw( ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL removeSelectionChangeListener(const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener > & xListener) throw( ::com::sun::star::uno::RuntimeException ); + + // XFormLayerAccess + virtual ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > SAL_CALL getFormController( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >& Form ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL isFormDesignMode( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setFormDesignMode( ::sal_Bool DesignMode ) throw (::com::sun::star::uno::RuntimeException); + + // XControlAccess + virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl > SAL_CALL getControl(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > & Model) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException ); + + //XTextViewCursorSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextViewCursor > SAL_CALL getViewCursor(void) throw( ::com::sun::star::uno::RuntimeException ); + + //XViewSettings + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getViewSettings(void) throw( ::com::sun::star::uno::RuntimeException ); + + //XRubySelection + virtual ::com::sun::star::uno::Sequence< + ::com::sun::star::uno::Sequence< + ::com::sun::star::beans::PropertyValue > > SAL_CALL getRubyList( sal_Bool bAutomatic ) + throw(::com::sun::star::uno::RuntimeException); + + virtual void SAL_CALL setRubyList( + const ::com::sun::star::uno::Sequence< + ::com::sun::star::uno::Sequence< + ::com::sun::star::beans::PropertyValue > >& RubyList, sal_Bool bAutomatic ) + throw(::com::sun::star::uno::RuntimeException); + + //XPropertySet + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + + //XServiceInfo + virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException ); + virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); + + //XTransferableSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > SAL_CALL getTransferable( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL insertTransferable( const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& xTrans ) throw (::com::sun::star::datatransfer::UnsupportedFlavorException, ::com::sun::star::uno::RuntimeException); + + void NotifySelChanged(); + void NotifyDBChanged(); + + SwView* GetView() {return m_pView;} + void Invalidate(); + + // temporary document used for PDF export of selections/multi-selections + SfxObjectShellRef BuildTmpSelectionDoc( SfxObjectShellRef& ); +}; + +/* -----------------17.09.98 12:52------------------- + * + * --------------------------------------------------*/ + +typedef cppu::WeakImplHelper8< + ::com::sun::star::text::XTextViewCursor, + ::com::sun::star::lang::XServiceInfo, + ::com::sun::star::text::XPageCursor, + ::com::sun::star::view::XScreenCursor, + ::com::sun::star::view::XViewCursor, + ::com::sun::star::view::XLineCursor, + ::com::sun::star::beans::XPropertySet, + ::com::sun::star::beans::XPropertyState + > SwXTextViewCursor_Base; + +class SwXTextViewCursor : public SwXTextViewCursor_Base, +public SwClient, +public OTextCursorHelper +{ + SwView* m_pView; + const SfxItemPropertySet* m_pPropSet; +protected: + sal_Bool IsTextSelection( sal_Bool bAllowTables = sal_True ) const; + virtual ~SwXTextViewCursor(); +public: + SwXTextViewCursor(SwView* pVw); + + DECLARE_XINTERFACE() + + //XTextViewCursor + virtual sal_Bool SAL_CALL isVisible(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL setVisible(sal_Bool bVisible) throw( ::com::sun::star::uno::RuntimeException ); + virtual ::com::sun::star::awt::Point SAL_CALL getPosition(void) throw( ::com::sun::star::uno::RuntimeException ); + + //XTextCursor - neu + virtual void SAL_CALL collapseToStart( ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL collapseToEnd( ) throw(::com::sun::star::uno::RuntimeException); + virtual BOOL SAL_CALL isCollapsed( ) throw(::com::sun::star::uno::RuntimeException); + virtual BOOL SAL_CALL goLeft( sal_Int16 nCount, BOOL bExpand ) throw(::com::sun::star::uno::RuntimeException); + virtual BOOL SAL_CALL goRight( sal_Int16 nCount, BOOL bExpand ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL gotoStart( BOOL bExpand ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL gotoEnd( BOOL bExpand ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL gotoRange( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& xRange, BOOL bExpand ) throw(::com::sun::star::uno::RuntimeException); + + //XPageCursor + virtual sal_Bool SAL_CALL jumpToFirstPage(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL jumpToLastPage(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL jumpToPage(sal_Int16 nPage) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL jumpToNextPage(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL jumpToPreviousPage(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL jumpToEndOfPage(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL jumpToStartOfPage(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Int16 SAL_CALL getPage(void) throw( ::com::sun::star::uno::RuntimeException ); + + //XTextRange + virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL getText(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getStart(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getEnd(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual rtl::OUString SAL_CALL getString(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL setString(const rtl::OUString& aString) throw( ::com::sun::star::uno::RuntimeException ); + + //XScreenCursor + virtual sal_Bool SAL_CALL screenDown(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL screenUp(void) throw( ::com::sun::star::uno::RuntimeException ); + + //XViewCursor + virtual sal_Bool SAL_CALL goDown(sal_Int16 nCount, sal_Bool bExpand) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL goUp(sal_Int16 nCount, sal_Bool bExpand) throw( ::com::sun::star::uno::RuntimeException ); +// virtual sal_Bool goLeft(sal_Int16 nCount, sal_Bool bExpand) throw( ::com::sun::star::uno::RuntimeException ); +// virtual sal_Bool goRight(sal_Int16 nCount, sal_Bool bExpand) throw( ::com::sun::star::uno::RuntimeException ); + + //XLineCursor + virtual sal_Bool SAL_CALL isAtStartOfLine(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual sal_Bool SAL_CALL isAtEndOfLine(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL gotoEndOfLine(sal_Bool bExpand) throw( ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL gotoStartOfLine(sal_Bool bExpand) throw( ::com::sun::star::uno::RuntimeException ); + + //XPropertySet + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + + //XPropertyState + virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + + //XServiceInfo + virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException ); + virtual BOOL SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException ); + virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); + + static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId(); + + //XUnoTunnel + virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException); + + void Invalidate(){m_pView = 0;} + + // ITextCursorHelper + virtual const SwPaM* GetPaM() const; + virtual SwPaM* GetPaM(); + virtual const SwDoc* GetDoc() const; + virtual SwDoc* GetDoc(); +}; +#endif + + diff --git a/sw/source/ui/inc/usrpref.hxx b/sw/source/ui/inc/usrpref.hxx new file mode 100644 index 000000000000..7864bf135934 --- /dev/null +++ b/sw/source/ui/inc/usrpref.hxx @@ -0,0 +1,277 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _USRPREF_HXX +#define _USRPREF_HXX + + + +#include <unotools/configitem.hxx> +#include <fldupde.hxx> +#include "viewopt.hxx" +#include <vcl/fldunit.hxx> + +/* -----------------------------28.09.00 09:45-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwMasterUsrPref; +class SwContentViewConfig : public utl::ConfigItem +{ + SwMasterUsrPref& rParent; + BOOL bWeb; + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); + public: + SwContentViewConfig(BOOL bWeb, SwMasterUsrPref& rParent); + ~SwContentViewConfig(); + + // utl::ConfigItem + virtual void Notify( const com::sun::star::uno::Sequence< rtl::OUString > &rPropertyNames ); + virtual void Commit(); + + void Load(); + void SetModified(){ConfigItem::SetModified();} +}; +/* -----------------------------28.09.00 09:45-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwLayoutViewConfig : public utl::ConfigItem +{ + SwMasterUsrPref& rParent; + BOOL bWeb; + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); + public: + SwLayoutViewConfig(BOOL bWeb, SwMasterUsrPref& rParent); + ~SwLayoutViewConfig(); + + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + virtual void Commit(); + void Load(); + void SetModified(){ConfigItem::SetModified();} +}; +/* -----------------------------19.01.01 13:06-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwGridConfig : public utl::ConfigItem +{ + SwMasterUsrPref& rParent; + BOOL bWeb; + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); + public: + SwGridConfig(BOOL bWeb, SwMasterUsrPref& rParent); + ~SwGridConfig(); + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + void Load(); + void SetModified(){ConfigItem::SetModified();} +}; +/* -----------------------------19.01.01 13:06-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwCursorConfig : public utl::ConfigItem +{ + SwMasterUsrPref& rParent; + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); + public: + SwCursorConfig(SwMasterUsrPref& rParent); + ~SwCursorConfig(); + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + void Load(); + void SetModified(){ConfigItem::SetModified();} +}; +/* -----------------------------28.09.00 09:45-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwWebColorConfig : public utl::ConfigItem +{ + SwMasterUsrPref& rParent; + com::sun::star::uno::Sequence<rtl::OUString> aPropNames; + + public: + SwWebColorConfig(SwMasterUsrPref& rParent); + ~SwWebColorConfig(); + + virtual void Commit(); + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + void Load(); + void SetModified(){ConfigItem::SetModified();} +}; +/* -----------------------------28.09.00 09:45-------------------------------- + + ---------------------------------------------------------------------------*/ +class SwMasterUsrPref : public SwViewOption +{ + friend class SwContentViewConfig; + friend class SwLayoutViewConfig; + friend class SwGridConfig; + friend class SwCursorConfig; + friend class SwWebColorConfig; + + SwFldUpdateFlags eFldUpdateFlags; //udpate of fields and charts + sal_Int32 nLinkUpdateMode; + FieldUnit eUserMetric; + FieldUnit eHScrollMetric; + sal_Bool bIsHScrollMetricSet; + FieldUnit eVScrollMetric; + sal_Bool bIsVScrollMetricSet; + + sal_Int32 nDefTab; //default tab stop distance + + sal_Bool bIsSquaredPageMode; //default page mode for text grid + SwContentViewConfig aContentConfig; + SwLayoutViewConfig aLayoutConfig; + SwGridConfig aGridConfig; + SwCursorConfig aCursorConfig; + SwWebColorConfig* pWebColorConfig; + +public: + SwMasterUsrPref(BOOL bWeb); + ~SwMasterUsrPref(); + + void SetUsrPref(const SwViewOption &rCopy); + + void Commit() + { + aContentConfig.Commit(); + aLayoutConfig.Commit(); + aGridConfig.Commit(); + aCursorConfig.Commit(); + if(pWebColorConfig) + pWebColorConfig->Commit(); + } + void SetModified() + { + aContentConfig.SetModified(); + aLayoutConfig.SetModified(); + aGridConfig.SetModified(); + aCursorConfig.SetModified(); + if(pWebColorConfig) + pWebColorConfig->SetModified(); + } + + void SetUpdateLinkMode(sal_Int32 nSet, sal_Bool bNoModify = sal_False) + { + nLinkUpdateMode = nSet; + if(!bNoModify) + aContentConfig.SetModified(); + } + sal_Int32 GetUpdateLinkMode() const {return nLinkUpdateMode; } + + void SetUpdateFields(BOOL bSet, sal_Bool bNoModify = sal_False) + { + if(bSet && eFldUpdateFlags == AUTOUPD_OFF) + { + eFldUpdateFlags = AUTOUPD_FIELD_ONLY; + if(!bNoModify) + aContentConfig.SetModified(); + } + else if(!bSet) + { + eFldUpdateFlags = AUTOUPD_OFF; + if(!bNoModify) + aContentConfig.SetModified(); + } + }; + sal_Bool IsUpdateFields()const {return eFldUpdateFlags != AUTOUPD_OFF; } + + SwFldUpdateFlags GetFldUpdateFlags()const {return eFldUpdateFlags;} + void SetFldUpdateFlags(SwFldUpdateFlags eSet, sal_Bool bNoModify = sal_False) + { + eFldUpdateFlags = eSet; + if(!bNoModify) + aContentConfig.SetModified(); + } + + void SetUpdateCharts(BOOL bSet, sal_Bool bNoModify = sal_False) + { + if(bSet) + { + eFldUpdateFlags = AUTOUPD_FIELD_AND_CHARTS; + if(!bNoModify) + aContentConfig.SetModified(); + } + else if(eFldUpdateFlags == AUTOUPD_FIELD_AND_CHARTS) + { + eFldUpdateFlags = AUTOUPD_FIELD_ONLY; + if(!bNoModify) + aContentConfig.SetModified(); + } + }; + sal_Bool IsUpdateCharts()const {return eFldUpdateFlags == AUTOUPD_FIELD_AND_CHARTS; } + + FieldUnit GetMetric() const { return eUserMetric;} + void SetMetric(FieldUnit eSet, sal_Bool bNoModify = sal_False) + { + eUserMetric = eSet; + if(!bNoModify) + aLayoutConfig.SetModified(); + } + + sal_Bool IsHScrollMetric()const {return bIsHScrollMetricSet;} + FieldUnit GetHScrollMetric() const { return bIsHScrollMetricSet ? eHScrollMetric : eUserMetric;} + void SetHScrollMetric(FieldUnit eSet, sal_Bool bNoModify = sal_False) + { + eHScrollMetric = eSet; bIsHScrollMetricSet = sal_True; + if(!bNoModify) + aLayoutConfig.SetModified(); + } + + sal_Bool IsVScrollMetric()const {return bIsVScrollMetricSet;} + FieldUnit GetVScrollMetric() const { return bIsVScrollMetricSet ? eVScrollMetric : eUserMetric;} + void SetVScrollMetric(FieldUnit eSet, sal_Bool bNoModify = sal_False) + { + eVScrollMetric = eSet; bIsVScrollMetricSet = sal_True; + if(!bNoModify) + aLayoutConfig.SetModified(); + } + + sal_Int32 GetDefTab() const { return nDefTab;} + void SetDefTab( sal_Int32 nSet, sal_Bool bNoModify = sal_False ) + { + nDefTab = nSet; + if(!bNoModify) + aLayoutConfig.SetModified(); + } + + //default page mode for text grid + sal_Bool IsSquaredPageMode() const {return bIsSquaredPageMode;} + void SetDefaultPageMode( sal_Bool bVal, sal_Bool bNoModify = sal_False ) + { + bIsSquaredPageMode = bVal; + if(!bNoModify) + aLayoutConfig.SetModified(); + } + +}; + +#endif + diff --git a/sw/source/ui/inc/utlui.hrc b/sw/source/ui/inc/utlui.hrc new file mode 100644 index 000000000000..aa7dab24054a --- /dev/null +++ b/sw/source/ui/inc/utlui.hrc @@ -0,0 +1,194 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _UTLUI_HRC +#define _UTLUI_HRC + +#include "rcid.hrc" + + +#define RID_SW_SHELLRES (RC_UTLUI_BEGIN + 1) +#define RID_STR_SYSTEM (RC_UTLUI_BEGIN + 2) + +// ------------------------------------------------------------------------ + +// Strings in NumberFormatter-Listbox +#define STR_DEFINE_NUMBERFORMAT (RC_UTLUI_BEGIN + 4) +// hyperlink status bar control +#define STR_HYPERCTRL_SEL (RC_UTLUI_BEGIN + 5) +#define STR_HYPERCTRL_HYP (RC_UTLUI_BEGIN + 6) + +// Namene der Inhaltstypen (RC_UTLUI_BEGIN + 7) +#define STR_CONTENT_TYPE_FIRST (RC_UTLUI_BEGIN + 8) +#define STR_CONTENT_TYPE_OUTLINE STR_CONTENT_TYPE_FIRST +#define STR_CONTENT_TYPE_TABLE (RC_UTLUI_BEGIN + 9) +#define STR_CONTENT_TYPE_FRAME (RC_UTLUI_BEGIN + 10) +#define STR_CONTENT_TYPE_GRAPHIC (RC_UTLUI_BEGIN + 11) +#define STR_CONTENT_TYPE_OLE (RC_UTLUI_BEGIN + 12) +#define STR_CONTENT_TYPE_BOOKMARK (RC_UTLUI_BEGIN + 13) +#define STR_CONTENT_TYPE_REGION (RC_UTLUI_BEGIN + 14) +#define STR_CONTENT_TYPE_URLFIELD (RC_UTLUI_BEGIN + 15) +#define STR_CONTENT_TYPE_REFERENCE (RC_UTLUI_BEGIN + 16) +#define STR_CONTENT_TYPE_INDEX (RC_UTLUI_BEGIN + 17) +#define STR_CONTENT_TYPE_POSTIT (RC_UTLUI_BEGIN + 18) +#define STR_CONTENT_TYPE_DRAWOBJECT (RC_UTLUI_BEGIN + 19) +#define STR_CONTENT_END (RC_UTLUI_BEGIN + 19) + +#define STR_CONTENT_TYPE_SINGLE_FIRST (STR_CONTENT_END + 1) +#define STR_CONTENT_TYPE_SINGLE_OUTLINE (STR_CONTENT_TYPE_SINGLE_FIRST + 0) +#define STR_CONTENT_TYPE_SINGLE_TABLE (STR_CONTENT_TYPE_SINGLE_FIRST + 1) +#define STR_CONTENT_TYPE_SINGLE_FRAME (STR_CONTENT_TYPE_SINGLE_FIRST + 2) +#define STR_CONTENT_TYPE_SINGLE_GRAPHIC (STR_CONTENT_TYPE_SINGLE_FIRST + 3) +#define STR_CONTENT_TYPE_SINGLE_OLE (STR_CONTENT_TYPE_SINGLE_FIRST + 4) +#define STR_CONTENT_TYPE_SINGLE_BOOKMARK (STR_CONTENT_TYPE_SINGLE_FIRST + 5) +#define STR_CONTENT_TYPE_SINGLE_REGION (STR_CONTENT_TYPE_SINGLE_FIRST + 6) +#define STR_CONTENT_TYPE_SINGLE_URLFIELD (STR_CONTENT_TYPE_SINGLE_FIRST + 7) +#define STR_CONTENT_TYPE_SINGLE_REFERENCE (STR_CONTENT_TYPE_SINGLE_FIRST + 8) +#define STR_CONTENT_TYPE_SINGLE_INDEX (STR_CONTENT_TYPE_SINGLE_FIRST + 9) +#define STR_CONTENT_TYPE_SINGLE_POSTIT (STR_CONTENT_TYPE_SINGLE_FIRST + 10) +#define STR_CONTENT_TYPE_SINGLE_DRAWOBJECT (STR_CONTENT_TYPE_SINGLE_FIRST + 11) +#define STR_CONTENT_SINGLE_END STR_CONTENT_TYPE_SINGLE_DRAWOBJECT + +#define FLD_DOCINFO_BEGIN STR_CONTENT_SINGLE_END +#define FLD_DOCINFO_TITEL FLD_DOCINFO_BEGIN +#define FLD_DOCINFO_THEMA (FLD_DOCINFO_BEGIN + 1) +#define FLD_DOCINFO_KEYS (FLD_DOCINFO_BEGIN + 2) +#define FLD_DOCINFO_COMMENT (FLD_DOCINFO_BEGIN + 3) +#define FLD_DOCINFO_CREATE (FLD_DOCINFO_BEGIN + 4) +#define FLD_DOCINFO_CHANGE (FLD_DOCINFO_BEGIN + 5) +#define FLD_DOCINFO_PRINT (FLD_DOCINFO_BEGIN + 6) +#define FLD_DOCINFO_DOCNO (FLD_DOCINFO_BEGIN + 7) +#define FLD_DOCINFO_EDIT (FLD_DOCINFO_BEGIN + 8) +#define FLD_DOCINFO_END (FLD_DOCINFO_BEGIN + 9) + +#define STR_SERVICE_UNAVAILABLE (FLD_DOCINFO_END + 1) + +#define STR_AUTH_TYPE_START (FLD_DOCINFO_END + 2) +#define STR_AUTH_TYPE_ARTICLE (STR_AUTH_TYPE_START + 0) +#define STR_AUTH_TYPE_BOOK (STR_AUTH_TYPE_START + 1) +#define STR_AUTH_TYPE_BOOKLET (STR_AUTH_TYPE_START + 2) +#define STR_AUTH_TYPE_CONFERENCE (STR_AUTH_TYPE_START + 3) +#define STR_AUTH_TYPE_INBOOK (STR_AUTH_TYPE_START + 4) +#define STR_AUTH_TYPE_INCOLLECTION (STR_AUTH_TYPE_START + 5) +#define STR_AUTH_TYPE_INPROCEEDINGS (STR_AUTH_TYPE_START + 6) +#define STR_AUTH_TYPE_JOURNAL (STR_AUTH_TYPE_START + 7) +#define STR_AUTH_TYPE_MANUAL (STR_AUTH_TYPE_START + 8) +#define STR_AUTH_TYPE_MASTERSTHESIS (STR_AUTH_TYPE_START + 9) +#define STR_AUTH_TYPE_MISC (STR_AUTH_TYPE_START + 10) +#define STR_AUTH_TYPE_PHDTHESIS (STR_AUTH_TYPE_START + 11) +#define STR_AUTH_TYPE_PROCEEDINGS (STR_AUTH_TYPE_START + 12) +#define STR_AUTH_TYPE_TECHREPORT (STR_AUTH_TYPE_START + 13) +#define STR_AUTH_TYPE_UNPUBLISHED (STR_AUTH_TYPE_START + 14) +#define STR_AUTH_TYPE_EMAIL (STR_AUTH_TYPE_START + 15) +#define STR_AUTH_TYPE_WWW (STR_AUTH_TYPE_START + 16) +#define STR_AUTH_TYPE_CUSTOM1 (STR_AUTH_TYPE_START + 17) +#define STR_AUTH_TYPE_CUSTOM2 (STR_AUTH_TYPE_START + 18) +#define STR_AUTH_TYPE_CUSTOM3 (STR_AUTH_TYPE_START + 19) +#define STR_AUTH_TYPE_CUSTOM4 (STR_AUTH_TYPE_START + 20) +#define STR_AUTH_TYPE_CUSTOM5 (STR_AUTH_TYPE_START + 21) +#define STR_AUTH_TYPE_END (STR_AUTH_TYPE_CUSTOM5) + +#define STR_AUTH_FIELD_START (STR_AUTH_TYPE_END + 1) +#define STR_AUTH_FIELD_IDENTIFIER (STR_AUTH_FIELD_START + 0) +#define STR_AUTH_FIELD_AUTHORITY_TYPE (STR_AUTH_FIELD_START + 1) +#define STR_AUTH_FIELD_ADDRESS (STR_AUTH_FIELD_START + 2) +#define STR_AUTH_FIELD_ANNOTE (STR_AUTH_FIELD_START + 3) +#define STR_AUTH_FIELD_AUTHOR (STR_AUTH_FIELD_START + 4) +#define STR_AUTH_FIELD_BOOKTITLE (STR_AUTH_FIELD_START + 5) +#define STR_AUTH_FIELD_CHAPTER (STR_AUTH_FIELD_START + 6) +#define STR_AUTH_FIELD_EDITION (STR_AUTH_FIELD_START + 7) +#define STR_AUTH_FIELD_EDITOR (STR_AUTH_FIELD_START + 8) +#define STR_AUTH_FIELD_HOWPUBLISHED (STR_AUTH_FIELD_START + 9) +#define STR_AUTH_FIELD_INSTITUTION (STR_AUTH_FIELD_START + 10) +#define STR_AUTH_FIELD_JOURNAL (STR_AUTH_FIELD_START + 11) +#define STR_AUTH_FIELD_MONTH (STR_AUTH_FIELD_START + 12) +#define STR_AUTH_FIELD_NOTE (STR_AUTH_FIELD_START + 13) +#define STR_AUTH_FIELD_NUMBER (STR_AUTH_FIELD_START + 14) +#define STR_AUTH_FIELD_ORGANIZATIONS (STR_AUTH_FIELD_START + 15) +#define STR_AUTH_FIELD_PAGES (STR_AUTH_FIELD_START + 16) +#define STR_AUTH_FIELD_PUBLISHER (STR_AUTH_FIELD_START + 17) +#define STR_AUTH_FIELD_SCHOOL (STR_AUTH_FIELD_START + 18) +#define STR_AUTH_FIELD_SERIES (STR_AUTH_FIELD_START + 19) +#define STR_AUTH_FIELD_TITLE (STR_AUTH_FIELD_START + 20) +#define STR_AUTH_FIELD_TYPE (STR_AUTH_FIELD_START + 21) +#define STR_AUTH_FIELD_VOLUME (STR_AUTH_FIELD_START + 22) +#define STR_AUTH_FIELD_YEAR (STR_AUTH_FIELD_START + 23) +#define STR_AUTH_FIELD_URL (STR_AUTH_FIELD_START + 24) +#define STR_AUTH_FIELD_CUSTOM1 (STR_AUTH_FIELD_START + 25) +#define STR_AUTH_FIELD_CUSTOM2 (STR_AUTH_FIELD_START + 26) +#define STR_AUTH_FIELD_CUSTOM3 (STR_AUTH_FIELD_START + 27) +#define STR_AUTH_FIELD_CUSTOM4 (STR_AUTH_FIELD_START + 28) +#define STR_AUTH_FIELD_CUSTOM5 (STR_AUTH_FIELD_START + 29) +#define STR_AUTH_FIELD_ISBN (STR_AUTH_FIELD_START + 30) +#define STR_AUTH_FIELD_END (STR_AUTH_FIELD_ISBN) + + +#define RES_FRMEX_MENU (STR_AUTH_FIELD_END + 1) + +#define DLG_NAVIGATION_PI (RC_UTLUI_BEGIN + 1) +#define DLG_ADDR_PI (RC_UTLUI_BEGIN + 2) +#define DLG_GLOSSARY_DECIDE_DLG (RC_UTLUI_BEGIN + 3) + +#define IMG_NAVI_ENTRYBMP (RC_UTLUI_BEGIN + 4) +#define IMG_NAVI_ENTRYBMPH (RC_UTLUI_BEGIN + 5) +#define ILIST_DB_DLG (RC_UTLUI_BEGIN + 6) +#define ILIST_DB_DLG_HC (RC_UTLUI_BEGIN + 7) + +#define IMG_ONE_LEFT_HC (RC_UTLUI_BEGIN + 8) +#define IMG_ONE_RIGHT_HC (RC_UTLUI_BEGIN + 9) +#define IMG_ALL_LEFT_HC (RC_UTLUI_BEGIN + 10) +#define IMG_ALL_RIGHT_HC (RC_UTLUI_BEGIN + 11) + + +#define IMG_VIEWLAYOUT_AUTOMATIC (RC_UTLUI_BEGIN + 12) +#define IMG_VIEWLAYOUT_AUTOMATIC_ACTIVE (RC_UTLUI_BEGIN + 13) +#define IMG_VIEWLAYOUT_BOOKMODE (RC_UTLUI_BEGIN + 14) +#define IMG_VIEWLAYOUT_BOOKMODE_ACTIVE (RC_UTLUI_BEGIN + 15) +#define IMG_VIEWLAYOUT_SINGLECOLUMN (RC_UTLUI_BEGIN + 16) +#define IMG_VIEWLAYOUT_SINGLECOLUMN_ACTIVE (RC_UTLUI_BEGIN + 17) +#define IMG_VIEWLAYOUT_AUTOMATIC_HC (RC_UTLUI_BEGIN + 18) +#define IMG_VIEWLAYOUT_AUTOMATIC_ACTIVE_HC (RC_UTLUI_BEGIN + 19) +#define IMG_VIEWLAYOUT_BOOKMODE_HC (RC_UTLUI_BEGIN + 20) +#define IMG_VIEWLAYOUT_BOOKMODE_ACTIVE_HC (RC_UTLUI_BEGIN + 21) +#define IMG_VIEWLAYOUT_SINGLECOLUMN_HC (RC_UTLUI_BEGIN + 22) +#define IMG_VIEWLAYOUT_SINGLECOLUMN_ACTIVE_HC (RC_UTLUI_BEGIN + 23) + + +//local ids of the Database ImageLists +#define IMG_COLLAPSE 18002 /*RID_SVXIMG_COLLAPSEDNODE*/ +#define IMG_EXPAND 18003 /*RID_SVXIMG_EXPANDEDNODE*/ +#define IMG_DB 1 +#define IMG_DBTABLE 2 +#define IMG_DBQUERY 3 + +#define UTLUI_ACT_END RES_FRMEX_MENU + +#if UTLUI_ACT_END > RC_UTLUI_END +#error Resource-Id Ueberlauf in #file, #line +#endif + +#endif diff --git a/sw/source/ui/inc/view.hxx b/sw/source/ui/inc/view.hxx new file mode 100644 index 000000000000..7cff88c897cc --- /dev/null +++ b/sw/source/ui/inc/view.hxx @@ -0,0 +1,691 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWVIEW_HXX +#define _SWVIEW_HXX + +#include <vcl/timer.hxx> +#include <vcl/field.hxx> +#include <svtools/htmlcfg.hxx> +#include <sfx2/viewfac.hxx> +#include <sfx2/viewsh.hxx> +#include <sfx2/objsh.hxx> // SfxObjectShellRef <-> SV_DECL_REF(SfxObjectShell) +#include <editeng/svxenum.hxx> +#include <svx/zoomitem.hxx> +#include <editeng/editstat.hxx> +#include "swdllapi.h" +#include <swtypes.hxx> +#include <shellid.hxx> +#include <layout/layout.hxx> +#include <IMark.hxx> + +class SwBaseShell; +class Button; +class ImageButton; +class SwTxtFmtColl; +class SwPageDesc; +class SwFrmFmt; +class SwCharFmt; +class SwNumRule; +class SwViewOption; +class SwGlossaryHdl; +class SwDrawBase; +class SvxRuler; +class SvxLRSpaceItem; +class SwDocShell; +class SwScrollbar; +class PrintDialog; +class SvxVCBrowser; +class SvBorder; +class Ruler; +class OutlinerView; +class SvxSearchItem; +class SearchAttrItemList; +class SvxSearchDialog; +class SdrView; +class Dialog; +class SdrObject; +class SdrPageView; +class SwNaviImageButton; +class SwHlpImageButton; +class Outliner; +class SwView; +class SwEditWin; +class SwWrtShell; +class SwView_Impl; +class XSelectionObject; +struct SwSearchOptions; +class FmFormShell; +class CommandEvent; +class InsCaptionOpt; +class SvGlobalName; +class SvtAccessibilityOptions; +class SwPrtOptions; +class SwTransferable; +class SwMailMergeConfigItem; +class SwTxtNode; // #i23726# +class SwPrintData; +class SwFormatClipboard; +struct SwConversionArgs; +class Graphic; +class GraphicFilter; +class SwPostItMgr; +class SwFieldBookmark; + +namespace com{ namespace sun { namespace star { + namespace view{ class XSelectionSupplier; } +}}} +namespace sfx2 { class FileDialogHelper; } + +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 +{ + 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, + SHELL_MODE_FONTWORK, + SHELL_MODE_POSTIT +}; + +/*-------------------------------------------------------------------- + Beschreibung: Anwendung einer Vorlage + --------------------------------------------------------------------*/ + +struct SwApplyTemplate +{ + union + { + SwTxtFmtColl* pTxtColl; + SwPageDesc* pPageDesc; + SwFrmFmt* pFrmFmt; + SwCharFmt* pCharFmt; + SwNumRule* pNumRule; + } aColl; + + int eType; + USHORT nColor; + SwFormatClipboard* pFormatClipboard; + BOOL bUndo; + + SwApplyTemplate() : + eType(0), + nColor(0), + pFormatClipboard(0), + bUndo(FALSE) + { + aColl.pTxtColl = 0; + } +}; + + +/*-------------------------------------------------------------------- + Beschreibung: Sicht auf ein Dokument + --------------------------------------------------------------------*/ + +class SW_DLLPUBLIC SwView: public SfxViewShell +{ + //Messehack (MA,MBA) + friend void lcl_SelectShellForDrop( SwView &rView ); + + friend class TestTemplateItem; + friend class SwHHCWrapper; + friend class SwHyphWrapper; + friend class SwView_Impl; + friend class SwClipboardChangeListener; + + //suchen & ersetzen + static SvxSearchDialog *pSrchDlg; + static SvxSearchItem *pSrchItem; + + static USHORT nInsertCtrlState; + static USHORT nWebInsertCtrlState; + static USHORT nInsertObjectCtrlState; + static USHORT nInsertFieldCtrlState; + static USHORT nMoveType; // fuer Buttons unter dem Scrollbar (viewmdi) + static sal_Int32 nActMark; // aktuelle Sprungmarke fuer unbenannte Merker + + static BOOL bExtra; + static BOOL bFound; + static BOOL bJustOpened; + + static SearchAttrItemList* pSrchList; + static SearchAttrItemList* pReplList; + + + SvxHtmlOptions aHTMLOpt; + Timer aTimer; //Fuer verzoegerte ChgLnks waehrend + //einer Aktion + String aPageStr; //Statusanzeige, aktuelle Seite + String sSwViewData, + //and the new cursor position if the user double click in the PagePreView + sNewCrsrPos; + // to support keyboard the number of the page to go to can be set too + USHORT nNewPage; + + Point aTabColFromDocPos; //Verschieben von Tabellenspalten aus + //aus dem Dokument heraus. + SwTxtNode * pNumRuleNodeFromDoc; // Moving indent of numrule #i23726# + + Size aDocSz; // aktuelle Dokumentgroesse + Rectangle aVisArea; // sichtbarer Bereich + + SwEditWin *pEditWin; + SwWrtShell *pWrtShell; + + SfxShell *pShell; //aktuelle SubShell auf dem Dispatcher + FmFormShell *pFormShell; // DB-FormShell + + SwView_Impl *pViewImpl; // Impl-Daten fuer UNO + Basic + + + SwScrollbar *pHScrollbar, // MDI Bedienelemente + *pVScrollbar; + + Window *pScrollFill; // Dummy-Window zum Fuellen der rechten + // unteren Ecke, wenn beide Scrollbars + // aktiv sind + + SvxRuler *pHRuler, + *pVRuler; + ImageButton *pTogglePageBtn; + + SwHlpImageButton *pPageUpBtn, + *pPageDownBtn; + + SwNaviImageButton *pNaviBtn; + SwGlossaryHdl *pGlosHdl; // Henkel Textbausteine + SwDrawBase *pDrawActual; + + const SwFrmFmt *pLastTableFormat; + + SwFormatClipboard *pFormatClipboard; //holds data for format paintbrush + + SwPostItMgr *mpPostItMgr; + + int nSelectionType; + + static const int MASTERENUMCOMMANDS = 6; + + String aCurrShapeEnumCommand[ MASTERENUMCOMMANDS ]; + + USHORT nPageCnt; + + // Aktueller Drawmode + USHORT nDrawSfxId; + String sDrawCustom; //some drawing types are marked with strings! + USHORT nFormSfxId; + USHORT nLastPasteDestination; + + // save the border distance status from SwView::StateTabWin to re-use it in SwView::ExecTabWin() + USHORT nLeftBorderDistance; + USHORT nRightBorderDistance; + + BOOL bCenterCrsr : 1, + bTopCrsr : 1, + bAllwaysShowSel : 1, + bTabColFromDoc : 1, + bNumIndentFromDoc : 1, // #i23726# + bTabRowFromDoc : 1, + bSetTabColFromDoc : 1 , + bSetTabRowFromDoc : 1, + bAttrChgNotified : 1, + bAttrChgNotifiedWithRegistrations : 1, + bVerbsActive : 1, + bDrawRotate : 1, + bDrawSelMode : 1, + bShowAtResize : 1, + bInOuterResizePixel : 1, + bInInnerResizePixel : 1, + bPasteState : 1, + bPasteSpecialState : 1, + bInMailMerge : 1, + bInDtor : 1, //detect destructor to prevent creating of sub shells while closing + bOldShellWasPagePreView : 1, + bMakeSelectionVisible : 1 // #b6330459# transport the bookmark selection + ; + + // Methoden fuers Suchen + // Suchkontext setzen + SW_DLLPRIVATE BOOL SearchAndWrap(BOOL bApi = FALSE); + SW_DLLPRIVATE BOOL SearchAll(USHORT* pFound = 0); + SW_DLLPRIVATE ULONG FUNC_Search( const SwSearchOptions& rOptions ); + SW_DLLPRIVATE void Replace(); + + BOOL IsDocumentBorder(); + + SW_DLLPRIVATE BOOL IsTextTool() const; + + // Bedienelemente verwalten anlegen + SW_DLLPRIVATE void CreateBtns(); + SW_DLLPRIVATE DECL_LINK( BtnPage, Button * ); + + SW_DLLPRIVATE DECL_LINK( TimeoutHdl, Timer * ); + SW_DLLPRIVATE DECL_LINK( UpdatePercentHdl, GraphicFilter* ); + + SW_DLLPRIVATE DECL_LINK( HtmlOptionsHdl, void * ); + + 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, + USHORT nRangeX = USHRT_MAX, + USHORT nRangeY = USHRT_MAX); + + SW_DLLPRIVATE BOOL GetPageScrollUpOffset(SwTwips& rOff) const; + SW_DLLPRIVATE BOOL GetPageScrollDownOffset(SwTwips& rOff) const; + + // Scrollbar Movements + SW_DLLPRIVATE long PageUp(); + SW_DLLPRIVATE long PageDown(); + SW_DLLPRIVATE long PageUpCrsr(BOOL bSelect); + SW_DLLPRIVATE long PageDownCrsr(BOOL bSelect); + SW_DLLPRIVATE long PhyPageUp(); + SW_DLLPRIVATE long PhyPageDown(); + + SW_DLLPRIVATE int _CreateScrollbar( BOOL bHori ); + SW_DLLPRIVATE DECL_LINK( ScrollHdl, SwScrollbar * ); + SW_DLLPRIVATE DECL_LINK( EndScrollHdl, SwScrollbar * ); + SW_DLLPRIVATE BOOL UpdateScrollbars(); + SW_DLLPRIVATE void CalcVisArea( const Size &rPixelSz ); + + SW_DLLPRIVATE void CreatePageButtons(BOOL bShow); + + // Linguistik-Funktionen + SW_DLLPRIVATE void HyphenateDocument(); + SW_DLLPRIVATE BOOL IsDrawTextHyphenate(); + 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 + SW_DLLPRIVATE void SpellStart( SvxSpellArea eSpell, BOOL bStartDone, + BOOL bEndDone, SwConversionArgs *pConvArgs = 0 ); + SW_DLLPRIVATE void SpellEnd( SwConversionArgs *pConvArgs = 0 ); + + SW_DLLPRIVATE void HyphStart( SvxSpellArea eSpell ); + SW_DLLPRIVATE BOOL CheckSpecialCntnt(); + SW_DLLPRIVATE void SpellKontext(BOOL bOn = TRUE) + { bCenterCrsr = bOn; bAllwaysShowSel = bOn; } + + // Methoden fuers Printing + SW_DLLPRIVATE virtual SfxPrinter* GetPrinter( BOOL bCreate = FALSE ); + SW_DLLPRIVATE virtual PrintDialog* CreatePrintDialog( Window* pParent ); + SfxTabPage* CreatePrintOptionsPage( Window* pParent, + const SfxItemSet& rSet); + // fuer Readonly-Umschaltung + SW_DLLPRIVATE virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); + SW_DLLPRIVATE void _CheckReadonlyState(); + SW_DLLPRIVATE void _CheckReadonlySelection(); + + // Methode fuer PageDesc drehen + SW_DLLPRIVATE void SwapPageMargin(const SwPageDesc&, SvxLRSpaceItem& rLR); + + SW_DLLPRIVATE void _SetZoom( const Size &rEditSz, + SvxZoomType eZoomType, + short nFactor = 100, + BOOL bViewOnly = FALSE); + SW_DLLPRIVATE void CalcAndSetBorderPixel( SvBorder &rToFill, BOOL bInner ); + + SW_DLLPRIVATE void ShowAtResize(); + + SW_DLLPRIVATE virtual void Move(); + + SW_DLLPRIVATE BOOL InsertGraphicDlg( SfxRequest& ); + +protected: + + SwView_Impl* GetViewImpl() {return pViewImpl;} + + void ImpSetVerb( int nSelType ); + + int GetSelectionType() const { return nSelectionType; } + void SetSelectionType(int nSet) { nSelectionType = nSet;} + + // fuer die SwWebView + void SetShell( SfxShell* pS ) { pShell = pS; } + void SetFormShell( FmFormShell* pSh ) { pFormShell = pSh; } + + virtual void SelectShell(); + + virtual void Activate(BOOL); + virtual void Deactivate(BOOL); + virtual void InnerResizePixel( const Point &rOfs, const Size &rSize ); + virtual void OuterResizePixel( const Point &rOfs, const Size &rSize ); + virtual Size GetOptimalSizePixel() const; + + void SetImageButtonColor(Color& rColor); + + const SwFrmFmt* GetLastTblFrmFmt() const {return pLastTableFormat;} + void SetLastTblFrmFmt(const SwFrmFmt* pSet) {pLastTableFormat = pSet;} + + // form letter execution + void GenerateFormLetter(BOOL bUseCurrentDocument); + + using SfxShell::GetDispatcher; + +public: + + SFX_DECL_VIEWFACTORY(SwView); + SFX_DECL_INTERFACE(SW_VIEWSHELL) + TYPEINFO(); + + SfxDispatcher &GetDispatcher(); + + void GotFocus() const; + virtual SdrView* GetDrawView() const; + virtual sal_Bool HasUIFeature( sal_uInt32 nFeature ); + virtual void ShowCursor( FASTBOOL bOn = TRUE ); + virtual ErrCode DoVerb( long nVerb ); + + virtual USHORT SetPrinter( SfxPrinter* pNew, + USHORT nDiff = SFX_PRINTER_ALL, bool bIsAPI=false); + ShellModes GetShellMode(); + + com::sun::star::view::XSelectionSupplier* GetUNOObject(); + + String GetSelectionTextParam( BOOL bCompleteWords, + BOOL bEraseTrail ); + virtual BOOL HasSelection( BOOL bText ) const; + virtual String GetSelectionText( BOOL bCompleteWords = FALSE ); + virtual USHORT PrepareClose( BOOL bUI = TRUE, BOOL bForBrowsing = FALSE ); + virtual void MarginChanged(); + + // Shell sofort wechseln -> fuer GetSelectionObject + void StopShellTimer(); + + inline SwWrtShell& GetWrtShell () const { return *pWrtShell; } + inline SwWrtShell* GetWrtShellPtr() const { return pWrtShell; } + + inline SwEditWin &GetEditWin() { return *pEditWin; } + inline const SwEditWin &GetEditWin () const { return *pEditWin; } + +#if defined WIN || defined WNT || defined UNX + void ScannerEventHdl( const ::com::sun::star::lang::EventObject& rEventObject ); +#endif + + //Handler fuer Textbausteine an die Textshell rausreichen, gfs. anlegen + SwGlossaryHdl* GetGlosHdl(); + + inline const Rectangle& GetVisArea() const { return aVisArea; } + + BOOL IsScroll(const Rectangle& rRect) const; + void Scroll( const Rectangle& rRect, + USHORT nRangeX = USHRT_MAX, + USHORT nRangeY = USHRT_MAX); + + long SetVScrollMax(long lMax); + long SetHScrollMax(long lMax); + + DECL_LINK( SpellError, LanguageType * ); + BOOL ExecSpellPopup( const Point& rPt ); + BOOL ExecFieldPopup( const Point& rPt, sw::mark::IFieldmark *fieldBM ); + // SMARTTAGS + BOOL ExecSmartTagPopup( const Point& rPt ); + + DECL_LINK( OnlineSpellCallback, SpellCallbackInfo*); + BOOL ExecDrwTxtSpellPopup(const Point& rPt); + + void SetTabColFromDocPos( const Point &rPt ) { aTabColFromDocPos = rPt; } + void SetTabColFromDoc( BOOL b ) { bTabColFromDoc = b; } + BOOL IsTabColFromDoc() const { return bTabColFromDoc; } + void SetTabRowFromDoc( BOOL b ) { bTabRowFromDoc = b; } + BOOL IsTabRowFromDoc() const { return bTabRowFromDoc; } + + // -> #i23726# + void SetNumRuleNodeFromDoc( SwTxtNode * pNumRuleNode ) + { pNumRuleNodeFromDoc = pNumRuleNode; } + void SetNumIndentFromDoc(BOOL b) { bNumIndentFromDoc = b; } + BOOL IsNumIndentFromDoc() const { return NULL != pNumRuleNodeFromDoc; } + // <- #i23726# + + void DocSzChgd( const Size& rNewSize ); + const Size& GetDocSz() const { return aDocSz; } + virtual void SetVisArea( const Rectangle&, BOOL bUpdateScrollbar = TRUE); + void SetVisArea( const Point&, BOOL bUpdateScrollbar = TRUE); + void CheckVisArea(); + + static LAYOUT_NS Dialog* GetSearchDialog(); + + static USHORT GetMoveType(); + static void SetMoveType(USHORT nSet); + DECL_STATIC_LINK( SwView, MoveNavigationHdl, bool* ); // #i75416# + static void SetActMark(sal_Int32 nSet); + + BOOL HandleWheelCommands( const CommandEvent& ); + + // Rahmen einfuegen + void InsFrmMode(USHORT nCols); + + void SetZoom( SvxZoomType eZoomType, short nFactor = 100, BOOL bViewOnly = FALSE); + virtual void SetZoomFactor( const Fraction &rX, const Fraction & ); + + void SetViewLayout( USHORT nColumns, bool bBookMode, BOOL bViewOnly = FALSE ); + + void ShowHScrollbar(sal_Bool bShow); + sal_Bool IsHScrollbarVisible()const; + + void ShowVScrollbar(sal_Bool bShow); + sal_Bool IsVScrollbarVisible()const; + + int CreateVLineal(); + int KillVLineal(); + int CreateTab(); + int KillTab(); + + int StatVLineal() const { return ((Window*)pVRuler)->IsVisible(); } + void ChangeVLinealMetric(FieldUnit eUnit); + void GetVLinealMetric(FieldUnit& rToFill) const; + + int StatTab() const { return ((Window*)pHRuler)->IsVisible(); } + SvxRuler& GetHLineal() { return *pHRuler; } + SvxRuler& GetVLineal() { return *pVRuler; } + void InvalidateRulerPos(); + void ChangeTabMetric(FieldUnit eUnit); + void GetHLinealMetric(FieldUnit& rToFill) const; + + // 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 * ); + void ExecSearch(SfxRequest&, BOOL bNoMessage = FALSE); + void ExecViewOptions(SfxRequest &); + + void StateViewOptions(SfxItemSet &); + void StateSearch(SfxItemSet &); + void GetState(SfxItemSet&); + void StateStatusLine(SfxItemSet&); + + + // Funktionen fuer Drawing + void SetDrawFuncPtr(SwDrawBase* pFuncPtr); + inline SwDrawBase* GetDrawFuncPtr(/*BOOL bBuf = FALSE*/) const { return pDrawActual; } + void GetDrawState(SfxItemSet &rSet); + void ExitDraw(); + inline BOOL IsDrawRotate() { return bDrawRotate; } + inline void FlipDrawRotate() { bDrawRotate = !bDrawRotate; } + inline BOOL IsDrawSelMode() { return bDrawSelMode; } + void SetSelDrawSlot(); + inline void FlipDrawSelMode() { bDrawSelMode = !bDrawSelMode; } + void NoRotate(); // Rotate-Mode abschalten + BOOL EnterDrawTextMode(const Point& aDocPos); + void LeaveDrawCreate() { nDrawSfxId = nFormSfxId = USHRT_MAX; sDrawCustom.Erase();} + BOOL IsDrawMode() { return (nDrawSfxId != USHRT_MAX || nFormSfxId != USHRT_MAX); } + BOOL IsFormMode() const; + BOOL IsBezierEditMode(); + BOOL AreOnlyFormsSelected() const; + BOOL HasDrwObj(SdrObject *pSdrObj) const; + BOOL HasOnlyObj(SdrObject *pSdrObj, UINT32 eObjInventor) const; + BOOL BeginTextEdit( SdrObject* pObj, SdrPageView* pPV=NULL, + Window* pWin=NULL, BOOL bIsNewObj=FALSE); + + void StateTabWin(SfxItemSet&); + + // Attribute haben sich geaendert + DECL_LINK( AttrChangedNotify, SwWrtShell * ); + + // form control has been activated + DECL_LINK( FormControlActivated, FmFormShell* ); + + // Links bearbeiten + void EditLinkDlg(); + void AutoCaption(const USHORT nType, const SvGlobalName *pOleId = 0); + void InsertCaption(const InsCaptionOpt *pOpt); + + // Async Aufruf durch Core + void UpdatePageNums(USHORT nPhyNum, USHORT nVirtNum, const String& rPgStr); + + String GetPageStr(USHORT nPhyNum, USHORT nVirtNum, const String& rPgStr); + + // Shell rausreichen + SfxShell *GetCurShell() { return pShell; } + SwDocShell *GetDocShell(); + inline const SwDocShell *GetDocShell() const; + inline FmFormShell *GetFormShell() { return pFormShell; } + + //damit in DToren der SubShells ggf. pShell zurueckgesetzt werden kann + void ResetSubShell() { pShell = 0; } + + virtual void WriteUserData(String &, BOOL bBrowse = FALSE ); + virtual void ReadUserData(const String &, BOOL bBrowse = FALSE ); + 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 ); + + void SetCrsrAtTop( BOOL bFlag, BOOL bCenter = FALSE ) + { bTopCrsr = bFlag, bCenterCrsr = bCenter; } + BOOL IsCrsrAtTop() const { return bTopCrsr; } + BOOL IsCrsrAtCenter() const { return bCenterCrsr; } + + BOOL JumpToSwMark( const String& rMark ); + + long InsertDoc( USHORT nSlotId, const String& rFileName, + const String& rFilterName, INT16 nVersion = 0 ); + + void ExecuteInsertDoc( SfxRequest& rRequest, const SfxPoolItem* pItem ); + long InsertMedium( USHORT nSlotId, SfxMedium* pMedium, INT16 nVersion ); + DECL_LINK( DialogClosedHdl, sfx2::FileDialogHelper * ); + + // status methods for clipboard. + // Status changes now notified from the clipboard. + BOOL IsPasteAllowed(); + BOOL IsPasteSpecialAllowed(); + + // Enable mail merge - mail merge field dialog enabled + void EnableMailMerge(BOOL bEnable = TRUE); + //apply Accessiblity options + void ApplyAccessiblityOptions(SvtAccessibilityOptions& rAccessibilityOptions); + + SwView(SfxViewFrame* pFrame, SfxViewShell*); + ~SwView(); + + void NotifyDBChanged(); + + SfxObjectShellRef & GetTmpSelectionDoc(); + SfxObjectShellRef & GetOrCreateTmpSelectionDoc(); + + 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, + BOOL bLink = TRUE, GraphicFilter *pFlt = 0, + Graphic* pPreviewGrf = 0, + BOOL bRule = FALSE ); + + void ExecuteScan( SfxRequest& rReq ); + + SwPostItMgr* GetPostItMgr() { return mpPostItMgr;} + const SwPostItMgr* GetPostItMgr() const { return mpPostItMgr;} +}; + +// ----------------- inline Methoden ---------------------- + +inline long SwView::GetXScroll() const +{ + return aVisArea.GetWidth() * nScrollX / 100L; +} + +inline long SwView::GetYScroll() const +{ + return aVisArea.GetHeight() * nScrollY / 100L; +} + +inline const SwDocShell *SwView::GetDocShell() const +{ + return ((SwView*)this)->GetDocShell(); +} + +//*********************************************************** + +SfxTabPage* CreatePrintOptionsPage( Window *pParent, + const SfxItemSet &rOptions, + BOOL bPreview); + +#endif + diff --git a/sw/source/ui/inc/viewlayoutctrl.hxx b/sw/source/ui/inc/viewlayoutctrl.hxx new file mode 100644 index 000000000000..60d05b63a79e --- /dev/null +++ b/sw/source/ui/inc/viewlayoutctrl.hxx @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _VIEWLAYOUTCTRL_HXX +#define _VIEWLAYOUTCTRL_HXX + +// include --------------------------------------------------------------- + +#include <sfx2/stbitem.hxx> + +// class SwViewLayoutControl ---------------------------------------------- + +class SwViewLayoutControl : public SfxStatusBarControl +{ +private: + + struct SwViewLayoutControl_Impl; + SwViewLayoutControl_Impl* mpImpl; + +public: + + SFX_DECL_STATUSBAR_CONTROL(); + + SwViewLayoutControl( USHORT nSlotId, USHORT nId, StatusBar& rStb ); + ~SwViewLayoutControl(); + + virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState ); + virtual void Paint( const UserDrawEvent& rEvt ); + virtual BOOL MouseButtonDown( const MouseEvent & ); +}; + +#endif + diff --git a/sw/source/ui/inc/web.hrc b/sw/source/ui/inc/web.hrc new file mode 100644 index 000000000000..e9e446d62cdb --- /dev/null +++ b/sw/source/ui/inc/web.hrc @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _WEB_HRC +#define _WEB_HRC + +#include "rcid.hrc" + +#define RC_WEB_ICON (RC_WEB_BEGIN + 1) +#define RID_WEBTOOLS_TOOLBOX (RC_WEB_BEGIN + 2) +#define RID_WEBTEXT_TOOLBOX (RC_WEB_BEGIN + 3) +#define STR_HUMAN_SWWEBDOC_NAME (RC_WEB_BEGIN + 4) +#define STR_WRITER_WEBDOC_FULLTYPE_40 (RC_WEB_BEGIN + 5) +#define STR_SHELLNAME_WEBTEXT (RC_WEB_BEGIN + 6) +#define STR_SHELLNAME_WEBFRAME (RC_WEB_BEGIN + 7) +#define RID_WEBFRAME_TOOLBOX (RC_WEB_BEGIN + 8) +#define STR_WRITER_WEBDOC_FULLTYPE_50 (RC_WEB_BEGIN + 9) +#define RID_WEBGRAPHIC_TOOLBOX (RC_WEB_BEGIN + 10) +#define RID_WEBOLE_TOOLBOX (RC_WEB_BEGIN + 11) +#define STR_WRITER_WEBDOC_FULLTYPE (RC_WEB_BEGIN + 12) + + +#define MN_WEBFILE (RC_WEB_BEGIN + 30) +#define MN_WEBEDIT (RC_WEB_BEGIN + 31) +#define MN_WEBVIEW (RC_WEB_BEGIN + 32) +#define MN_WEBINS (RC_WEB_BEGIN + 33) +#define MN_WEBFORMAT (RC_WEB_BEGIN + 34) +#define MN_WEBEXTRA (RC_WEB_BEGIN + 35) +#define MN_WEBWIN (RC_WEB_BEGIN + 36) + +#define MN_WEB_TEXT_POPUPMENU (RC_WEB_BEGIN + 46) + +#define MN_WEBFILE_PORT (RC_WEB_BEGIN + 47) +#define MN_WEBEDIT_PORT (RC_WEB_BEGIN + 48) +#define MN_WEBVIEW_PORT (RC_WEB_BEGIN + 49) +#define MN_WEBINS_PORT (RC_WEB_BEGIN + 50) +#define MN_WEBFORMAT_PORT (RC_WEB_BEGIN + 51) +#define MN_WEBEXTRA_PORT (RC_WEB_BEGIN + 52) +#define MN_WEBWIN_PORT (RC_WEB_BEGIN + 53) + +// ------------------------------------------------------------------------ + +#define WEB_ACT_END MN_WEBWIN_PORT + + +#if WEB_ACT_END > RC_WEB_END +#error Resource-Id Ueberlauf in #file, #line +#endif + +#endif diff --git a/sw/source/ui/inc/wformsh.hxx b/sw/source/ui/inc/wformsh.hxx new file mode 100644 index 000000000000..abd98d510e65 --- /dev/null +++ b/sw/source/ui/inc/wformsh.hxx @@ -0,0 +1,45 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWWDRWFORMSH_HXX +#define _SWWDRWFORMSH_HXX + +#include "drformsh.hxx" + +class SwWebDrawFormShell : public SwDrawFormShell +{ +public: + SwWebDrawFormShell(SwView &rShell); + virtual ~SwWebDrawFormShell(); + + SFX_DECL_INTERFACE(SW_WEBDRAWFORMSHELL) + TYPEINFO(); +}; + + +#endif + + diff --git a/sw/source/ui/inc/wfrmsh.hxx b/sw/source/ui/inc/wfrmsh.hxx new file mode 100644 index 000000000000..dfe5bd5f422f --- /dev/null +++ b/sw/source/ui/inc/wfrmsh.hxx @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SWWFRMSH_HXX +#define _SWWFRMSH_HXX + +#include "frmsh.hxx" + + +class SwWebFrameShell: public SwFrameShell +{ + +public: + SFX_DECL_INTERFACE(SW_WEBFRAMESHELL) + TYPEINFO(); + + SwWebFrameShell(SwView &rView); + virtual ~SwWebFrameShell(); +}; + +#endif + + + diff --git a/sw/source/ui/inc/wgrfsh.hxx b/sw/source/ui/inc/wgrfsh.hxx new file mode 100644 index 000000000000..b53743885d66 --- /dev/null +++ b/sw/source/ui/inc/wgrfsh.hxx @@ -0,0 +1,45 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWWGRFSH_HXX +#define _SWWGRFSH_HXX + +#include "grfsh.hxx" + +class SwWebGrfShell: public SwGrfShell +{ +public: + SwWebGrfShell(SwView &rShell); + virtual ~SwWebGrfShell(); + + SFX_DECL_INTERFACE(SW_WEBGRFSHELL) + TYPEINFO(); +}; + + +#endif + + diff --git a/sw/source/ui/inc/wlistsh.hxx b/sw/source/ui/inc/wlistsh.hxx new file mode 100644 index 000000000000..e3503a54e448 --- /dev/null +++ b/sw/source/ui/inc/wlistsh.hxx @@ -0,0 +1,42 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWWLISTSH_HXX +#define _SWWLISTSH_HXX + +#include "listsh.hxx" + +class SwWebListShell: public SwListShell +{ +public: + SFX_DECL_INTERFACE(SW_WEBLISTSHELL) + TYPEINFO(); + + virtual ~SwWebListShell(); + SwWebListShell(SwView &rView); +}; + +#endif diff --git a/sw/source/ui/inc/wolesh.hxx b/sw/source/ui/inc/wolesh.hxx new file mode 100644 index 000000000000..87b48db5593e --- /dev/null +++ b/sw/source/ui/inc/wolesh.hxx @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWWOLESH_HXX +#define _SWWOLESH_HXX + +#include "olesh.hxx" + +class SwWebOleShell: public SwOleShell +{ +public: + SFX_DECL_INTERFACE(SW_WEBOLESHELL) + + virtual ~SwWebOleShell(); + SwWebOleShell(SwView &rView); +}; + +#endif + + + + + + + diff --git a/sw/source/ui/inc/wordcountdialog.hxx b/sw/source/ui/inc/wordcountdialog.hxx new file mode 100644 index 000000000000..a228b8bdea77 --- /dev/null +++ b/sw/source/ui/inc/wordcountdialog.hxx @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef SW_WORDCOUNTDIALOG_HXX +#define SW_WORDCOUNTDIALOG_HXX +#include <sfx2/basedlgs.hxx> +#include <svtools/stdctrl.hxx> +#ifndef _SV_BUTTON_HXX +#include <vcl/button.hxx> +#endif +#include <layout/layout.hxx> +#include <layout/layout-pre.hxx> +struct SwDocStat; +class SwWordCountDialog : public SfxModalDialog +{ + FixedLine aCurrentFL; + FixedText aCurrentWordFT; + FixedInfo aCurrentWordFI; + FixedText aCurrentCharacterFT; + FixedInfo aCurrentCharacterFI; + + FixedLine aDocFL; + FixedText aDocWordFT; + FixedInfo aDocWordFI; + FixedText aDocCharacterFT; + FixedInfo aDocCharacterFI; + + FixedLine aBottomFL; + + OKButton aOK; + HelpButton aHelp; + +public: + SwWordCountDialog(Window* pParent); + ~SwWordCountDialog(); + + void SetValues(const SwDocStat& rCurrent, const SwDocStat& rDoc); +}; + +#include <layout/layout-post.hxx> + +#endif diff --git a/sw/source/ui/inc/workctrl.hxx b/sw/source/ui/inc/workctrl.hxx new file mode 100644 index 000000000000..4ca42086d93e --- /dev/null +++ b/sw/source/ui/inc/workctrl.hxx @@ -0,0 +1,225 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _WORKCTRL_HXX +#define _WORKCTRL_HXX + +#include <sfx2/tbxctrl.hxx> +#include <vcl/toolbox.hxx> +#include <svtools/stdctrl.hxx> +#ifndef _IMAGEBTN_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +class PopupMenu; +class SwView; + +// doppelter Eintrag! hrc und hxx +// diese Ids bestimmen, was die Buttons unter dem Scrollbar tun +#define NID_START 20000 +#define NID_NEXT 20000 +#define NID_PREV 20001 +#define NID_TBL 20002 +#define NID_FRM 20003 +#define NID_PGE 20004 +#define NID_DRW 20005 +#define NID_CTRL 20006 +#define NID_REG 20007 +#define NID_BKM 20008 +#define NID_GRF 20009 +#define NID_OLE 20010 +#define NID_OUTL 20011 +#define NID_SEL 20012 +#define NID_FTN 20013 +#define NID_MARK 20014 +#define NID_POSTIT 20015 +#define NID_SRCH_REP 20016 +#define NID_INDEX_ENTRY 20017 +#define NID_TABLE_FORMULA 20018 +#define NID_TABLE_FORMULA_ERROR 20019 +#define NID_COUNT 20 + + + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +class SwTbxInsertCtrl : public SfxToolBoxControl +{ + USHORT nLastSlotId; + + using SfxToolBoxControl::Select; + virtual void Select( BOOL bMod1 = FALSE ); + +public: + SFX_DECL_TOOLBOX_CONTROL(); + + SwTbxInsertCtrl( USHORT nSlotId, USHORT nId, ToolBox& rTbx ); + ~SwTbxInsertCtrl(); + + virtual SfxPopupWindowType GetPopupWindowType() const; + virtual SfxPopupWindow* CreatePopupWindow(); + virtual void StateChanged( USHORT nSID, + SfxItemState eState, + const SfxPoolItem* pState ); + + virtual void SAL_CALL update() throw (::com::sun::star::uno::RuntimeException); +}; + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +class SwTbxAutoTextCtrl : public SfxToolBoxControl +{ + PopupMenu* pPopup; + SwView* pView; + + + void DelPopup(); +public: + SFX_DECL_TOOLBOX_CONTROL(); + + SwTbxAutoTextCtrl( USHORT nSlotId, USHORT nId, ToolBox& rTbx ); + ~SwTbxAutoTextCtrl(); + + virtual SfxPopupWindowType GetPopupWindowType() const; + virtual SfxPopupWindow* CreatePopupWindow(); + virtual void StateChanged( USHORT nSID, + SfxItemState eState, + const SfxPoolItem* pState ); + + DECL_LINK(PopupHdl, PopupMenu*); +}; + + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +class SwScrollNaviToolBox : public ToolBox +{ + virtual void MouseButtonUp( const MouseEvent& rMEvt ); + virtual void RequestHelp( const HelpEvent& rHEvt ); + + public: + SwScrollNaviToolBox(Window* pParent, WinBits nWinStyle ) : + ToolBox(pParent, nWinStyle ) {} +}; + +class SwScrollNaviPopup : public SfxPopupWindow +{ + SwScrollNaviToolBox aToolBox; + FixedLine aSeparator; + FixedInfo aInfoField; + ImageList aIList; + ImageList aIListH; + + String sQuickHelp[2 * NID_COUNT]; + + USHORT nFwdId; + USHORT nBackId; + + void ApplyImageList(); + + using Window::GetQuickHelpText; + +protected: + DECL_LINK(SelectHdl, ToolBox*); + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + +public: + SwScrollNaviPopup( USHORT nId, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame ); + ~SwScrollNaviPopup(); + + static String GetQuickHelpText(BOOL bNext); + + virtual SfxPopupWindow* Clone() const; + void GrabFocus(){aToolBox.GrabFocus();} +}; + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +class SwNaviImageButton : public ImageButton +{ + SwScrollNaviPopup* pPopup; + Image aImage; + Image aImageH; + String sQuickText; + SfxPopupWindow* pPopupWindow; + SfxPopupWindow* pFloatingWindow; + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > m_xFrame; + + protected: + DECL_LINK( PopupModeEndHdl, void * ); + DECL_LINK( ClosePopupWindow, SfxPopupWindow * ); + + virtual void Click(); + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + void SetPopupWindow( SfxPopupWindow* pWindow ); + + public: + SwNaviImageButton(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame ); +}; + +//---------------------------------------------------------------------------- +// Die ImageButtons muessen sich bei Bedarf den HelpText selbst setzen +//---------------------------------------------------------------------------- + +class SwHlpImageButton : public ImageButton +{ + BOOL bUp; + public: + SwHlpImageButton(Window* pParent, const ResId& rResId, BOOL bUpBtn) : + ImageButton(pParent, rResId), bUp(bUpBtn){} + + virtual void RequestHelp( const HelpEvent& rHEvt ); + +}; +/* -----------------26.11.2002 09:25----------------- + * + * --------------------------------------------------*/ +class SwPreviewZoomControl : public SfxToolBoxControl +{ +public: + SFX_DECL_TOOLBOX_CONTROL(); + + SwPreviewZoomControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx ); + ~SwPreviewZoomControl(); + + virtual void StateChanged( USHORT nSID, + SfxItemState eState, + const SfxPoolItem* pState ); + + virtual Window* CreateItemWindow( Window *pParent ); +}; +#endif + + + diff --git a/sw/source/ui/inc/wrap.hxx b/sw/source/ui/inc/wrap.hxx new file mode 100644 index 000000000000..7d435f90cd17 --- /dev/null +++ b/sw/source/ui/inc/wrap.hxx @@ -0,0 +1,151 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _WRAP_HXX +#define _WRAP_HXX + +#include <sfx2/tabdlg.hxx> +#include <sfx2/basedlgs.hxx> + +#ifndef _IMAGEBTN_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +class Window; +class SfxItemSet; +class SwWrtShell; + +class SwWrapDlg : public SfxSingleTabDialog +{ + SwWrtShell* pWrtShell; + +public: + SwWrapDlg(Window* pParent, SfxItemSet& rSet, SwWrtShell* pSh, BOOL bDrawMode); + ~SwWrapDlg(); + + inline SwWrtShell* GetWrtShell() { return pWrtShell; } +}; + + +/*-------------------------------------------------------------------- + Beschreibung: Umlauf-TabPage + --------------------------------------------------------------------*/ + +class SwWrapTabPage: public SfxTabPage +{ + // WRAPPING + FixedLine aWrapFLC; + ImageRadioButton aNoWrapRB; + ImageRadioButton aWrapLeftRB; + ImageRadioButton aWrapRightRB; + ImageRadioButton aWrapParallelRB; + ImageRadioButton aWrapThroughRB; + ImageRadioButton aIdealWrapRB; + + // MARGIN + FixedLine aMarginFL; + FixedText aLeftMarginFT; + MetricField aLeftMarginED; + FixedText aRightMarginFT; + MetricField aRightMarginED; + FixedText aTopMarginFT; + MetricField aTopMarginED; + FixedText aBottomMarginFT; + MetricField aBottomMarginED; + + // OPTIONS + FixedLine aOptionsSepFL; + FixedLine aOptionsFL; + CheckBox aWrapAnchorOnlyCB; + CheckBox aWrapTransparentCB; + CheckBox aWrapOutlineCB; + CheckBox aWrapOutsideCB; + + ImageList aWrapIL; + ImageList aWrapILH; + + USHORT nOldLeftMargin; + USHORT nOldRightMargin; + USHORT nOldUpperMargin; + USHORT nOldLowerMargin; + + RndStdIds nAnchorId; + USHORT nHtmlMode; + + Size aFrmSize; + SwWrtShell* pWrtSh; + + BOOL bFormat; + BOOL bNew; + BOOL bHtmlMode; + BOOL bDrawMode; + BOOL bContourImage; + + SwWrapTabPage(Window *pParent, const SfxItemSet &rSet); + ~SwWrapTabPage(); + + void ApplyImageList(); + void EnableModes(const SfxItemSet& rSet); + virtual void ActivatePage(const SfxItemSet& rSet); + virtual int DeactivatePage(SfxItemSet *pSet); + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + DECL_LINK( RangeModifyHdl, MetricField * ); + DECL_LINK( WrapTypeHdl, ImageRadioButton * ); + DECL_LINK( ContourHdl, CheckBox * ); + + using SfxTabPage::ActivatePage; + using SfxTabPage::DeactivatePage; + +public: + + static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet); + + virtual BOOL FillItemSet(SfxItemSet &rSet); + virtual void Reset(const SfxItemSet &rSet); + + static USHORT* GetRanges(); + inline void SetNewFrame(BOOL bNewFrame) { bNew = bNewFrame; } + inline void SetFormatUsed(BOOL bFmt, BOOL bDrw) { bFormat = bFmt; + bDrawMode = bDrw; } + inline void SetShell(SwWrtShell* pSh) { pWrtSh = pSh; } +}; + +#endif + + diff --git a/sw/source/ui/inc/wrtsh.hxx b/sw/source/ui/inc/wrtsh.hxx new file mode 100644 index 000000000000..2fce41b1a972 --- /dev/null +++ b/sw/source/ui/inc/wrtsh.hxx @@ -0,0 +1,653 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _WRTSH_HXX +#define _WRTSH_HXX + +#include <com/sun/star/embed/XEmbeddedObject.hpp> +#include "swdllapi.h" +#include <fesh.hxx> +#include <sortopt.hxx> +#include <swurl.hxx> +#include <IMark.hxx> + +class Window; +class OutputDevice; +class SbxArray; +class SwDoc; +class SpellCheck; +class SwViewOption; +class SwFlyFrmAttrMgr; +class SwField; +class SwTOXBase; +class SdrView; +class SwView; +class SvGlobalName; +class SwInputFieldList; +class SwSectionData; +class Timer; +class SvxMacro; +class SwFmtINetFmt; +class SvxINetBookmark; +class SvxAutoCorrect; +class NaviContentBookmark; +struct SwCallMouseEvent; +class DropEvent; +struct ChartSelectionInfo; +class SfxStringListItem; +class SfxRequest; + +namespace com { namespace sun { namespace star { namespace util { + struct SearchOptions; +} } } } + + +typedef sal_Int32 SelectionType; +namespace nsSelectionType +{ + const SelectionType SEL_TXT = CNT_TXT; // Text, niemals auch Rahmen 0x0001 + const SelectionType SEL_GRF = CNT_GRF; // Grafik 0x0002 + const SelectionType SEL_OLE = CNT_OLE; // OLE 0x0010 + const SelectionType SEL_FRM = 0x000020; // Rahmen, keine Inhaltsform + const SelectionType SEL_NUM = 0x000040; // NumListe + const SelectionType SEL_TBL = 0x000080; // Cursor steht in Tabelle + const SelectionType SEL_TBL_CELLS = 0x000100; // Tabellenzellen sind selektiert + const SelectionType SEL_DRW = 0x000200; // Zeichenobjekte (Rechteck, Kreis...) + const SelectionType SEL_DRW_TXT = 0x000400; // Draw-Textobjekte im Editmode + const SelectionType SEL_BEZ = 0x000800; // Bezierobjekte editieren + const SelectionType SEL_DRW_FORM = 0x001000; // Zeichenobjekte: DB-Forms + const SelectionType SEL_FOC_FRM_CTRL = 0x002000; // a form control is focused. Neither set nor evaluated by the SwWrtShell itself, only by it's clients. + const SelectionType SEL_MEDIA = 0x004000; // Media object + const SelectionType SEL_EXTRUDED_CUSTOMSHAPE = 0x008000; // extruded custom shape + const SelectionType SEL_FONTWORK = 0x010000; // fontwork + const SelectionType SEL_POSTIT = 0x020000; //annotation +} + + +class SW_DLLPUBLIC SwWrtShell: public SwFEShell +{ +private: + using SwCrsrShell::Left; + using SwCrsrShell::Right; + using SwCrsrShell::Up; + using SwCrsrShell::Down; + using SwCrsrShell::LeftMargin; + using SwCrsrShell::RightMargin; + using SwCrsrShell::SelectTxtAttr; + using SwCrsrShell::GotoPage; + using SwFEShell::InsertObject; + using SwEditShell::AutoCorrect; + using SwCrsrShell::GotoMark; + +public: + + using SwEditShell::Insert; + + typedef long (SwWrtShell::*SELECTFUNC)(const Point *, BOOL bProp ); + + SELECTFUNC fnDrag; + SELECTFUNC fnSetCrsr; + SELECTFUNC fnEndDrag; + SELECTFUNC fnKillSel; + + // Alle Selektionen aufheben + long ResetSelect( const Point *, BOOL ); + + //setzt den Cursorstack nach dem Bewegen mit PageUp/-Down + //zurueck, falls ein Stack aufgebaut ist + inline void ResetCursorStack(); + SelectionType GetSelectionType() const; + + BOOL IsModePushed() const { return 0 != pModeStack; } + void PushMode(); + void PopMode(); + + void SttSelect(); + void EndSelect(); + BOOL IsInSelect() const { return bInSelect; } + void SetInSelect(BOOL bSel = TRUE) { bInSelect = bSel; } + // Liegt eine Text- oder Rahmenselektion vor? + BOOL HasSelection() const { return SwCrsrShell::HasSelection() || + IsMultiSelection() || IsSelFrmMode() || IsObjSelected(); } + BOOL Pop( BOOL bOldCrsr = TRUE ); + + void EnterStdMode(); + BOOL IsStdMode() const { return !bExtMode && !bAddMode && !bBlockMode; } + + void EnterExtMode(); + void LeaveExtMode(); + long ToggleExtMode(); + BOOL IsExtMode() const { return bExtMode; } + + void EnterAddMode(); + void LeaveAddMode(); + long ToggleAddMode(); + BOOL IsAddMode() const { return bAddMode; } + + void EnterBlockMode(); + void LeaveBlockMode(); + long ToggleBlockMode(); + BOOL IsBlockMode() const { return bBlockMode; } + + void SetInsMode( BOOL bOn = TRUE ); + void ToggleInsMode() { SetInsMode( !bIns ); } + BOOL IsInsMode() const { return bIns; } + void SetRedlineModeAndCheckInsMode( USHORT eMode ); + + void EnterSelFrmMode(const Point *pStartDrag = 0); + void LeaveSelFrmMode(); + BOOL IsSelFrmMode() const { return bLayoutMode; } + // Selektion von Rahmen aufheben + void UnSelectFrm(); + + void Invalidate(); + + // Tabellenzellen selektieren fuer Bearbeiten von Formeln in der Ribbonbar + inline void SelTblCells( const Link &rLink, BOOL bMark = TRUE ); + inline void EndSelTblCells(); + + //Wortweisen oder zeilenweisen Selektionsmodus verlassen. Wird + //in der Regel in MB-Up gerufen. + BOOL IsExtSel() const { return bSelWrd || bSelLn; } + + // erfrage, ob der akt. fnDrag - Pointer auf BeginDrag gesetzt ist + // Wird fuer MouseMove gebraucht, um die Bugs 55592/55931 zu umgehen. + inline BOOL Is_FnDragEQBeginDrag() const; + + //Basisabfragen + BOOL IsInWrd() { return IsInWord(); } + BOOL IsSttWrd() { return IsStartWord(); } + BOOL IsEndWrd(); + BOOL IsSttOfPara() const { return IsSttPara(); } + BOOL IsEndOfPara() const { return IsEndPara(); } + + //Word bzw. Satz selektieren. + BOOL SelNearestWrd(); + BOOL SelWrd (const Point * = 0, BOOL bProp=FALSE ); + // --> FME 2004-07-30 #i32329# Enhanced selection + void SelSentence (const Point * = 0, BOOL bProp=FALSE ); + void SelPara (const Point * = 0, BOOL bProp=FALSE ); + // <-- + long SelAll(); + + //Basiscursortravelling +typedef BOOL (SwWrtShell:: *FNSimpleMove)(); + BOOL SimpleMove( FNSimpleMove, BOOL bSelect ); + + BOOL Left ( USHORT nMode, BOOL bSelect, + USHORT nCount, BOOL bBasicCall, BOOL bVisual = FALSE ); + BOOL Right ( USHORT nMode, BOOL bSelect, + USHORT nCount, BOOL bBasicCall, BOOL bVisual = FALSE ); + BOOL Up ( BOOL bSelect = FALSE, USHORT nCount = 1, + BOOL bBasicCall = FALSE ); + BOOL Down ( BOOL bSelect = FALSE, USHORT nCount = 1, + BOOL bBasicCall = FALSE ); + BOOL NxtWrd ( BOOL bSelect = FALSE ) { return SimpleMove( &SwWrtShell::_NxtWrd, bSelect ); } + BOOL PrvWrd ( BOOL bSelect = FALSE ) { return SimpleMove( &SwWrtShell::_PrvWrd, bSelect ); } + + BOOL LeftMargin ( BOOL bSelect, BOOL bBasicCall ); + BOOL RightMargin( BOOL bSelect, BOOL bBasicCall ); + + BOOL SttDoc ( BOOL bSelect = FALSE ); + BOOL EndDoc ( BOOL bSelect = FALSE ); + + BOOL SttNxtPg ( BOOL bSelect = FALSE ); + BOOL SttPrvPg ( BOOL bSelect = FALSE ); + BOOL EndNxtPg ( BOOL bSelect = FALSE ); + BOOL EndPrvPg ( BOOL bSelect = FALSE ); + BOOL SttPg ( BOOL bSelect = FALSE ); + BOOL EndPg ( BOOL bSelect = FALSE ); + BOOL SttPara ( BOOL bSelect = FALSE ); + BOOL EndPara ( BOOL bSelect = FALSE ); + BOOL FwdPara ( BOOL bSelect = FALSE ) + { return SimpleMove( &SwWrtShell::_FwdPara, bSelect ); } + BOOL BwdPara ( BOOL bSelect = FALSE ) + { return SimpleMove( &SwWrtShell::_BwdPara, bSelect ); } + BOOL FwdSentence( BOOL bSelect = FALSE ) + { return SimpleMove( &SwWrtShell::_FwdSentence, bSelect ); } + BOOL BwdSentence( BOOL bSelect = FALSE ) + { return SimpleMove( &SwWrtShell::_BwdSentence, bSelect ); } + + // --> FME 2004-07-30 #i20126# Enhanced table selection + BOOL SelectTableRowCol( const Point& rPt, const Point* pEnd = 0, bool bRowDrag = false ); + // <-- + BOOL SelectTableRow(); + BOOL SelectTableCol(); + BOOL SelectTableCell(); + + BOOL SelectTxtAttr( USHORT nWhich, const SwTxtAttr* pAttr = 0 ); + + // Spaltenweise Spruenge + BOOL StartOfColumn ( BOOL bSelect = FALSE ); + BOOL EndOfColumn ( BOOL bSelect = FALSE ); + BOOL StartOfNextColumn ( BOOL bSelect = FALSE ); + BOOL EndOfNextColumn ( BOOL bSelect = FALSE ); + BOOL StartOfPrevColumn ( BOOL bSelect = FALSE ); + BOOL EndOfPrevColumn ( BOOL bSelect = FALSE ); + + // setze den Cursor auf die Seite "nPage" an den Anfang + // zusaetzlich zu der gleichnamigen Implementierung in crsrsh.hxx + // werden hier alle bestehenden Selektionen vor dem Setzen des + // Cursors aufgehoben + BOOL GotoPage( USHORT nPage, BOOL bRecord ); + + //setzen des Cursors; merken der alten Position fuer Zurueckblaettern. + DECL_LINK( ExecFlyMac, void * ); + + BOOL PageCrsr(SwTwips lOffset, BOOL bSelect); + + // Felder Update + void UpdateInputFlds( SwInputFieldList* pLst = 0, BOOL bOnlyInSel = FALSE ); + + void NoEdit(BOOL bHideCrsr = TRUE); + void Edit(); + BOOL IsNoEdit() const { return bNoEdit; } + + BOOL IsRetainSelection() const { return mbRetainSelection; } + void SetRetainSelection( BOOL bRet ) { mbRetainSelection = bRet; } + + // change current data base and notify + void ChgDBData(const SwDBData& SwDBData); + + // Loeschen + long DelToEndOfLine(); + long DelToStartOfLine(); + long DelLine(); + long DelLeft(); + + // loescht auch Rahmen bzw. setzt den Cursor in den Rahmen, + // wenn bDelFrm == FALSE ist + long DelRight(); + long DelToEndOfPara(); + long DelToStartOfPara(); + long DelToEndOfSentence(); + long DelToStartOfSentence(); + long DelNxtWord(); + long DelPrvWord(); + + // Prueft, ob eine Wortselektion vorliegt. + // Gemaess den Regeln fuer intelligentes Cut / Paste + // werden umgebende Spaces rausgeschnitten. + // Liefert Art der Wortselektion zurueck (siehe enum) + enum word { + NO_WORD = 0, + WORD_SPACE_BEFORE = 1, + WORD_SPACE_AFTER = 2, + WORD_NO_SPACE = 3 + }; + int IntelligentCut(int nSelectionType, BOOL bCut = TRUE); + + // Editieren + void Insert(SwField &); + void Insert(const String &); + // Graphic + void Insert( const String &rPath, const String &rFilter, + const Graphic &, SwFlyFrmAttrMgr * = 0, + BOOL bRule = FALSE ); + + void InsertByWord( const String & ); + void InsertPageBreak(const String *pPageDesc = 0, USHORT nPgNum = 0 ); + void InsertLineBreak(); + void InsertColumnBreak(); + void InsertFootnote(const String &, BOOL bEndNote = FALSE, BOOL bEdit = TRUE ); + void SplitNode( BOOL bAutoFormat = FALSE, BOOL bCheckTableStart = TRUE ); + BOOL CanInsert(); + + // Verzeichnisse + void InsertTableOf(const SwTOXBase& rTOX, const SfxItemSet* pSet = 0); + BOOL UpdateTableOf(const SwTOXBase& rTOX, const SfxItemSet* pSet = 0); + + // new fields + BOOL UpdateField( sw::mark::IFieldmark &fieldBM); + + // Numerierung und Bullets + /** + Turns on numbering or bullets. + + @param bNum TRUE: turn on numbering + FALSE: turn on bullets + */ + void NumOrBulletOn(BOOL bNum); // #i29560# + void NumOrBulletOff(); // #i29560# + void NumOn(); + void BulletOn(); + + //OLE + void InsertObject( /*SvInPlaceObjectRef *pObj, */ // != 0 fuer Clipboard + const svt::EmbeddedObjectRef&, + SvGlobalName *pName = 0, // != 0 entspr. Object erzeugen. + BOOL bActivate = TRUE, + USHORT nSlotId = 0); // SlotId fuer Dialog + + BOOL InsertOleObject( const svt::EmbeddedObjectRef& xObj, SwFlyFrmFmt **pFlyFrmFmt = 0 ); + void LaunchOLEObj( long nVerb = 0 ); // Server starten + BOOL IsOLEObj() const { return GetCntType() == CNT_OLE;} + virtual void MoveObjectIfActive( svt::EmbeddedObjectRef& xObj, const Point& rOffset ); + virtual void CalcAndSetScale( svt::EmbeddedObjectRef& xObj, + const SwRect *pFlyPrtRect = 0, + const SwRect *pFlyFrmRect = 0 ); + virtual void ConnectObj( svt::EmbeddedObjectRef& xIPObj, const SwRect &rPrt, + const SwRect &rFrm ); + + // Vorlagen und Formate + + // enum gibt an, was geschehen soll, wenn das Style nicht gefunden wurde + enum GetStyle { GETSTYLE_NOCREATE, // keins anlegen + GETSTYLE_CREATESOME, // falls auf PoolId mapt anlegen + GETSTYLE_CREATEANY }; // ggfs Standard returnen + + SwTxtFmtColl* GetParaStyle(const String &rCollName, + GetStyle eCreate = GETSTYLE_NOCREATE); + SwCharFmt* GetCharStyle(const String &rFmtName, + GetStyle eCreate = GETSTYLE_NOCREATE); + SwFrmFmt* GetTblStyle(const String &rFmtName); + + void SetPageStyle(const String &rCollName); + + String GetCurPageStyle( const BOOL bCalcFrm = TRUE ) const; + + // Aktuelle Vorlage anhand der geltenden Attribute aendern + void QuickUpdateStyle(); + + enum DoType { UNDO, REDO, REPEAT }; + + void Do( DoType eDoType, USHORT nCnt = 1 ); + String GetDoString( DoType eDoType ) const; + String GetRepeatString() const; + USHORT GetDoStrings( DoType eDoType, SfxStringListItem& rStrLstItem ) const; + + //Suchen oder Ersetzen + ULONG SearchPattern(const com::sun::star::util::SearchOptions& rSearchOpt, + BOOL bSearchInNotes, + SwDocPositions eStart, SwDocPositions eEnde, + FindRanges eFlags = FND_IN_BODY, + int bReplace = FALSE ); + + ULONG SearchTempl (const String &rTempl, + SwDocPositions eStart, SwDocPositions eEnde, + FindRanges eFlags = FND_IN_BODY, + const String* pReplTempl = 0 ); + + ULONG SearchAttr (const SfxItemSet& rFindSet, + BOOL bNoColls, + SwDocPositions eStart,SwDocPositions eEnde, + FindRanges eFlags = FND_IN_BODY, + const com::sun::star::util::SearchOptions* pSearchOpt = 0, + const SfxItemSet* pReplaceSet = 0); + + void AutoCorrect( SvxAutoCorrect& rACorr, sal_Unicode cChar = ' ' ); + + // Aktion vor Cursorbewegung + // Hebt gfs. Selektionen auf, triggert Timer und GCAttr() + void MoveCrsr( BOOL bWithSelect = FALSE ); + + // Eingabefelder updaten + BOOL StartInputFldDlg(SwField*, BOOL bNextButton, Window* pParentWin = 0, ByteString* pWindowState = 0); + // update DropDown fields + BOOL StartDropDownFldDlg(SwField*, BOOL bNextButton, ByteString* pWindowState = 0); + + //"Handler" fuer Anederungen an der DrawView - fuer Controls. + virtual void DrawSelChanged( ); + + // springe zum Bookmark und setze die "Selections-Flags" wieder richtig + BOOL GotoMark( const ::sw::mark::IMark* const pMark ); + BOOL GotoMark( const ::sw::mark::IMark* const pMark, BOOL bSelect, BOOL bStart ); + BOOL GotoMark( const ::rtl::OUString& rName ); + BOOL GoNextBookmark(); // TRUE, wenn's noch eine gab + BOOL GoPrevBookmark(); + + bool GotoFieldmark(::sw::mark::IFieldmark const * const pMark); + + BOOL GotoField( const SwFmtFld& rFld ); + + // jump to the next / previous hyperlink - inside text and also + // on graphics + BOOL SelectNextPrevHyperlink( BOOL bNext = TRUE ); + + // Zugehoerige SwView ermitteln + const SwView& GetView() const { return rView; } + SwView& GetView() { return rView; } + + //Weil es sonst keiner macht, gibt es hier eine ExecMacro() + void ExecMacro( const SvxMacro& rMacro, String* pRet = 0, SbxArray* pArgs = 0 ); + // rufe ins dunkle Basic/JavaScript + USHORT CallEvent( USHORT nEvent, const SwCallMouseEvent& rCallEvent, + BOOL bCheckPtr = FALSE, SbxArray* pArgs = 0, + const Link* pCallBack = 0 ); + + // ein Klick aus das angegebene Feld. Der Cursor steht auf diesem. + // Fuehre die vor definierten Aktionen aus. + void ClickToField( const SwField& rFld ); + void ClickToINetAttr( const SwFmtINetFmt& rItem, USHORT nFilter = URLLOAD_NOFILTER ); + BOOL ClickToINetGrf( const Point& rDocPt, USHORT nFilter = URLLOAD_NOFILTER ); + inline BOOL IsInClickToEdit() const ; + + // fall ein URL-Button selektiert ist, dessen URL returnen, ansonsten + // einen LeerString + BOOL GetURLFromButton( String& rURL, String& rDescr ) const; + + void NavigatorPaste( const NaviContentBookmark& rBkmk, + const USHORT nAction ); + + // die Core erzeugt eine Selektion, das SttSelect muss gerufen werden + virtual void NewCoreSelection(); + + // autom. Update von Vorlagen + void AutoUpdateFrame(SwFrmFmt* pFmt, const SfxItemSet& rStyleSet); + void AutoUpdatePara(SwTxtFmtColl* pColl, const SfxItemSet& rStyleSet); + + // Link fuers einfuegen von Bereichen uebers Drag&Drop/Clipboard + DECL_STATIC_LINK( SwWrtShell, InsertRegionDialog, SwSectionData* ); + + + //ctoren, der erstere ist eine Art kontrollierter copy ctor fuer weitere + //Sichten auf ein Dokument + SwWrtShell( SwWrtShell&, Window *pWin, SwView &rShell); + SwWrtShell( SwDoc& rDoc, Window *pWin, SwView &rShell, + const SwViewOption *pViewOpt = 0); + virtual ~SwWrtShell(); + + BOOL TryRemoveIndent(); // #i23725# + + String GetSelDescr() const; + +private: + + SW_DLLPRIVATE void OpenMark(); + SW_DLLPRIVATE void CloseMark( BOOL bOkFlag ); + + SW_DLLPRIVATE String GetWrdDelim(); + SW_DLLPRIVATE String GetSDelim(); + SW_DLLPRIVATE String GetBothDelim(); + + struct ModeStack + { + ModeStack *pNext; + BOOL bAdd, + bBlock, + bExt, + bIns; + ModeStack(ModeStack *pNextMode, BOOL _bIns, BOOL _bExt, BOOL _bAdd, BOOL _bBlock): + pNext(pNextMode), + bAdd(_bAdd), + bBlock(_bBlock), + bExt(_bExt), + bIns(_bIns) + {} + } *pModeStack; + + // Cursor bei PageUp / -Down mitnehmen + enum PageMove + { + MV_NO, + MV_PAGE_UP, + MV_PAGE_DOWN + } ePageMove; + + struct CrsrStack + { + Point aDocPos; + CrsrStack *pNext; + BOOL bValidCurPos : 1; + BOOL bIsFrmSel : 1; + SwTwips lOffset; + + CrsrStack( BOOL bValid, BOOL bFrmSel, const Point &rDocPos, + SwTwips lOff, CrsrStack *pN ) + : aDocPos(rDocPos), + pNext(pN), + bValidCurPos( bValid ), + bIsFrmSel( bFrmSel ), + lOffset(lOff) + { + + + } + + } *pCrsrStack; + + SwView &rView; + + Point aDest; + BOOL bDestOnStack; + BOOL HasCrsrStack() const { return 0 != pCrsrStack; } + SW_DLLPRIVATE BOOL PushCrsr(SwTwips lOffset, BOOL bSelect); + SW_DLLPRIVATE BOOL PopCrsr(BOOL bUpdate, BOOL bSelect = FALSE); + + // ENDE Cursor bei PageUp / -Down mitnehmen + SW_DLLPRIVATE BOOL _SttWrd(); + SW_DLLPRIVATE BOOL _EndWrd(); + SW_DLLPRIVATE BOOL _NxtWrd(); + SW_DLLPRIVATE BOOL _PrvWrd(); + // --> OD 2008-08-06 #i92468# + SW_DLLPRIVATE BOOL _NxtWrdForDelete(); + SW_DLLPRIVATE BOOL _PrvWrdForDelete(); + // <-- + SW_DLLPRIVATE BOOL _FwdSentence(); + SW_DLLPRIVATE BOOL _BwdSentence(); + BOOL _FwdPara(); + SW_DLLPRIVATE BOOL _BwdPara(); + + // Selektionen + BOOL bIns :1; + BOOL bInSelect :1; + BOOL bExtMode :1; + BOOL bAddMode :1; + BOOL bBlockMode :1; + BOOL bLayoutMode :1; + BOOL bNoEdit :1; + BOOL bCopy :1; + BOOL bSelWrd :1; + BOOL bSelLn :1; + BOOL bIsInClickToEdit:1; + BOOL bClearMark :1; // Selektion fuer ChartAutoPilot nicht loeschen + BOOL mbRetainSelection :1; // Do not remove selections + + Point aStart; + Link aSelTblLink; + + SELECTFUNC fnLeaveSelect; + + //setzt den Cursorstack nach dem Bewegen mit PageUp/-Down zurueck. + SW_DLLPRIVATE void _ResetCursorStack(); + + SW_DLLPRIVATE void SttDragDrop(Timer *); + + using SwCrsrShell::SetCrsr; + SW_DLLPRIVATE long SetCrsr(const Point *, BOOL bProp=FALSE ); + + SW_DLLPRIVATE long SetCrsrKillSel(const Point *, BOOL bProp=FALSE ); + + SW_DLLPRIVATE long StdSelect(const Point *, BOOL bProp=FALSE ); + SW_DLLPRIVATE long BeginDrag(const Point *, BOOL bProp=FALSE ); + SW_DLLPRIVATE long Drag(const Point *, BOOL bProp=FALSE ); + SW_DLLPRIVATE long EndDrag(const Point *, BOOL bProp=FALSE ); + + SW_DLLPRIVATE long ExtSelWrd(const Point *, BOOL bProp=FALSE ); + SW_DLLPRIVATE long ExtSelLn(const Point *, BOOL bProp=FALSE ); + + //Verschieben von Text aus Drag and Drop; Point ist + //Destination fuer alle Selektionen. + SW_DLLPRIVATE long MoveText(const Point *, BOOL bProp=FALSE ); + + SW_DLLPRIVATE long BeginFrmDrag(const Point *, BOOL bProp=FALSE ); + + //nach SSize/Move eines Frames Update; Point ist Destination. + SW_DLLPRIVATE long UpdateLayoutFrm(const Point *, BOOL bProp=FALSE ); + + SW_DLLPRIVATE long SttLeaveSelect(const Point *, BOOL bProp=FALSE ); + SW_DLLPRIVATE long AddLeaveSelect(const Point *, BOOL bProp=FALSE ); + SW_DLLPRIVATE long Ignore(const Point *, BOOL bProp=FALSE ); + + SW_DLLPRIVATE void LeaveExtSel() { bSelWrd = bSelLn = FALSE;} + SW_DLLPRIVATE BOOL _CanInsert(); + + SW_DLLPRIVATE BOOL GoStart(BOOL KeepArea = FALSE, BOOL * = 0, + BOOL bSelect = FALSE, BOOL bDontMoveRegion = FALSE); + SW_DLLPRIVATE BOOL GoEnd(BOOL KeepArea = FALSE, BOOL * = 0); + + enum BookMarkMove + { + BOOKMARK_INDEX, + BOOKMARK_NEXT, + BOOKMARK_PREV, + BOOKMARK_LAST_LAST_ENTRY + }; + + SW_DLLPRIVATE BOOL MoveBookMark(BookMarkMove eFuncId, const ::sw::mark::IMark* const pMark=NULL); +}; + +inline void SwWrtShell::ResetCursorStack() +{ + if ( HasCrsrStack() ) + _ResetCursorStack(); +} + +inline void SwWrtShell::SelTblCells(const Link &rLink, BOOL bMark ) +{ + SetSelTblCells( TRUE ); + bClearMark = bMark; + aSelTblLink = rLink; +} +inline void SwWrtShell::EndSelTblCells() +{ + SetSelTblCells( FALSE ); + bClearMark = TRUE; +} + +inline BOOL SwWrtShell::IsInClickToEdit() const { return bIsInClickToEdit; } + +inline BOOL SwWrtShell::Is_FnDragEQBeginDrag() const +{ +#ifdef GCC + SELECTFUNC fnTmp = &SwWrtShell::BeginDrag; + return fnDrag == fnTmp; +#else + return sal::static_int_cast< BOOL >(fnDrag == &SwWrtShell::BeginDrag); +#endif +} + +#endif diff --git a/sw/source/ui/inc/wtabsh.hxx b/sw/source/ui/inc/wtabsh.hxx new file mode 100644 index 000000000000..5ab809821de8 --- /dev/null +++ b/sw/source/ui/inc/wtabsh.hxx @@ -0,0 +1,42 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWWTABSH_HXX +#define _SWWTABSH_HXX + +#include "tabsh.hxx" + +class SwWebTableShell: public SwTableShell +{ +public: + SFX_DECL_INTERFACE(SW_WEBTABSHELL) + TYPEINFO(); + + virtual ~SwWebTableShell(); + SwWebTableShell(SwView &rView); +}; + +#endif diff --git a/sw/source/ui/inc/wtextsh.hxx b/sw/source/ui/inc/wtextsh.hxx new file mode 100644 index 000000000000..cc03de602400 --- /dev/null +++ b/sw/source/ui/inc/wtextsh.hxx @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SWWTEXTSH_HXX +#define _SWWTEXTSH_HXX + +#include "textsh.hxx" + + +class SwWebTextShell: public SwTextShell +{ + +public: + SFX_DECL_INTERFACE(SW_WEBTEXTSHELL) + TYPEINFO(); + + SwWebTextShell(SwView &rView); + virtual ~SwWebTextShell(); +}; + +#endif + + + diff --git a/sw/source/ui/inc/wview.hxx b/sw/source/ui/inc/wview.hxx new file mode 100644 index 000000000000..2b36bbf97dce --- /dev/null +++ b/sw/source/ui/inc/wview.hxx @@ -0,0 +1,51 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SWWVIEW_HXX +#define _SWWVIEW_HXX + +#include "swdllapi.h" +#include "view.hxx" + +/*-------------------------------------------------------------------- + Beschreibung: + --------------------------------------------------------------------*/ + +class SW_DLLPUBLIC SwWebView: public SwView +{ +protected: + virtual void SelectShell(); +public: + + SFX_DECL_VIEWFACTORY(SwWebView); + SFX_DECL_INTERFACE(SW_WEBVIEWSHELL) + TYPEINFO(); + + SwWebView(SfxViewFrame* pFrame, SfxViewShell*); + ~SwWebView(); +}; + +#endif diff --git a/sw/source/ui/inc/zoomctrl.hxx b/sw/source/ui/inc/zoomctrl.hxx new file mode 100644 index 000000000000..f2d1843828fb --- /dev/null +++ b/sw/source/ui/inc/zoomctrl.hxx @@ -0,0 +1,52 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _ZOOMCTRL_HXX +#define _ZOOMCTRL_HXX + +#include <svx/zoomctrl.hxx> + +class SwZoomControl : public SvxZoomStatusBarControl +{ +private: + String sPreviewZoom; +public: + virtual void Command( const CommandEvent& rCEvt ); + virtual void StateChanged( USHORT nSID, SfxItemState eState, + const SfxPoolItem* pState ); + virtual void Paint( const UserDrawEvent& rEvt ); + + SFX_DECL_STATUSBAR_CONTROL(); + + SwZoomControl( USHORT nSlotId, USHORT nId, StatusBar& rStb ); + ~SwZoomControl(); + +}; + + +#endif + + |