diff options
Diffstat (limited to 'cui/source/factory')
-rw-r--r-- | cui/source/factory/cuiexp.cxx | 51 | ||||
-rw-r--r-- | cui/source/factory/cuiresmgr.cxx | 50 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.cxx | 1954 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.hxx | 802 | ||||
-rw-r--r-- | cui/source/factory/init.cxx | 53 | ||||
-rw-r--r-- | cui/source/factory/makefile.mk | 52 |
6 files changed, 2962 insertions, 0 deletions
diff --git a/cui/source/factory/cuiexp.cxx b/cui/source/factory/cuiexp.cxx new file mode 100644 index 000000000000..d9fb854311e2 --- /dev/null +++ b/cui/source/factory/cuiexp.cxx @@ -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. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_cui.hxx" + +#include "dlgfact.hxx" +#include "sal/types.h" + +namespace cui +{ + static AbstractDialogFactory_Impl* pFactory=NULL; + AbstractDialogFactory_Impl* GetFactory() + { + if ( !pFactory ) + pFactory = new AbstractDialogFactory_Impl; + return pFactory; + } +} + +extern "C" +{ + SAL_DLLPUBLIC_EXPORT VclAbstractDialogFactory* CreateDialogFactory() + { + return ::cui::GetFactory(); + } +} diff --git a/cui/source/factory/cuiresmgr.cxx b/cui/source/factory/cuiresmgr.cxx new file mode 100644 index 000000000000..dac995a0d193 --- /dev/null +++ b/cui/source/factory/cuiresmgr.cxx @@ -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. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_cui.hxx" + +// include --------------------------------------------------------------- + +#include <dialmgr.hxx> +#include <tools/rc.hxx> +#include <svl/solar.hrc> +#include <vcl/svapp.hxx> + +static ResMgr* pResMgr=0; + +// struct DialogsResMgr -------------------------------------------------- +ResMgr* CuiResMgr::GetResMgr() +{ + if ( !pResMgr ) + { + ByteString aName( "cui" ); + pResMgr = ResMgr::CreateResMgr( aName.GetBuffer(), Application::GetSettings().GetUILocale() ); + } + + return pResMgr; +} diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx new file mode 100644 index 000000000000..8929e9ebdef5 --- /dev/null +++ b/cui/source/factory/dlgfact.cxx @@ -0,0 +1,1954 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_cui.hxx" + +#include "align.hxx" //add for SvxAlignmentTabPage +#include "dlgfact.hxx" + +#include <tools/rc.hxx> +#include <sfx2/basedlgs.hxx> +#include <sfx2/app.hxx> +#include <sfx2/request.hxx> +#include <cuires.hrc> +#include <svx/dialogs.hrc> +#include "numfmt.hxx" +#include "optimprove.hxx" +#include "splitcelldlg.hxx" +#include "gallery.hrc" +#include "dstribut.hxx" +#include "cuigaldlg.hxx" +#include "cuiimapwnd.hxx" +#include "hlmarkwn.hxx" +#include "cuicharmap.hxx" +#include "srchxtra.hxx" +#include "textanim.hxx" +#include "autocdlg.hxx" +#include "treeopt.hxx" +#include "internationaloptions.hxx" +#include "labdlg.hxx" +#include "hangulhanjadlg.hxx" //add for HangulHanjaConversionDialog +#include "showcols.hxx" //add for FmShowColsDialog +#include "zoom.hxx" //add for SvxZoomDialog +#include "cuigaldlg.hxx" //add for Gallery 6 Dialogs and 1 TabPage +#include "cuiimapwnd.hxx" //add for URLDlg +#include "hlmarkwn.hxx" //add for SvxHlinkDlgMarkWnd +#include "srchxtra.hxx" //add for SvxSearchFormatDialog +#include "transfrm.hxx" //add for SvxTransformTabDialog +#include "bbdlg.hxx" //add for SvxBorderBackgroundDlg +#include "cuisrchdlg.hxx" //add for SvxJSearchOptionsDialog +#include "cuitbxform.hxx" //add for FmInputRecordNoDialog +#include "optdict.hxx" //add for SvxNewDictionaryDialog +#include "dlgname.hxx" //add for SvxNameDialog & SvxMessDialog +#include "multipat.hxx" //add for SvxMultiPathDialog +#include "multifil.hxx" //add for SvxMultiFileDialog +#include "cuihyperdlg.hxx" //add for SvxHpLinkDlg +#include "cuifmsearch.hxx" //add for FmSearchDialog +#include "cuigrfflt.hxx" //add for GraphicFilterDialog +#include "cuitabarea.hxx" //add for SvxAreaTabDialog +#include "cuitabline.hxx" //add for SvxLineTabDialog +#include "measure.hxx" //add for SvxMeasureDialog +#include "connect.hxx" //add for SvxConnectionDialog +#include "dbregister.hxx" // add for DatabaseRegistrationDialog +#include "cuioptgenrl.hxx" //add for SvxGeneralTabPage +#include "optasian.hxx" +#include "insdlg.hxx" +#include "pastedlg.hxx" +#include "linkdlg.hxx" +#include "SpellDialog.hxx" +#include "cfg.hxx" //add for SvxConfigDialog +#include "numpages.hxx" // add for +#include "paragrph.hxx" //add for +#include "tabstpge.hxx" // add for +#include "textattr.hxx" // add for SvxTextAttrPage +#include "backgrnd.hxx" //add for SvxBackgroundTabPage +#include "border.hxx" //add for SvxBorderTabPage +#include "chardlg.hxx" //add for SvxCharNamePage,SvxCharEffectsPage,SvxCharPositionPage,SvxCharTwoLinesPage +#include "page.hxx" //add for SvxPageDescPage +#include "postdlg.hxx" //add for SvxPostItDialog +#include "grfpage.hxx" //add for SvxGrfCropPage +#include "scriptdlg.hxx" // for ScriptOrgDialog +#include "selector.hxx" // for SvxScriptSelectorDialog +#include "macropg.hxx" // for SvxMacroAssignDlg +#include "sdrcelldlg.hxx" +#include "newtabledlg.hxx" +#include "macroass.hxx" +#include "acccfg.hxx" +#include "insrc.hxx" +#include "hyphen.hxx" +#include "thesdlg.hxx" + +using namespace ::com::sun::star; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::container; + +using ::com::sun::star::uno::Reference; + +using namespace svx; +// AbstractTabDialog implementations just forwards everything to the dialog +IMPL_ABSTDLG_BASE(AbstractSfxDialog_Impl) +IMPL_ABSTDLG_BASE(VclAbstractDialog_Impl) +IMPL_ABSTDLG_BASE(VclAbstractRefreshableDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxDistributeDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractHangulHanjaConversionDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractFmShowColsDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractHyphenWordDialog_Impl) +IMPL_ABSTDLG_BASE(AbstractThesaurusDialog_Impl) + +AbstractSvxZoomDialog_Impl::~AbstractSvxZoomDialog_Impl() \ +{ + delete pDlg; +} +short AbstractSvxZoomDialog_Impl::Execute() +{ + return pDlg->Execute(); +} + +//IMPL_ABSTDLG_BASE(AbstractSvxZoomDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSearchProgress_Impl); +IMPL_ABSTDLG_BASE(AbstractTakeProgress_Impl); +IMPL_ABSTDLG_BASE(AbstractTitleDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractScriptSelectorDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractGalleryIdDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractURLDlg_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxHlinkDlgMarkWnd_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxSearchSimilarityDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxTransformTabDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxCaptionDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxJSearchOptionsDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractFmInputRecordNoDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxNewDictionaryDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxNameDialog_Impl); + +// #i68101# +IMPL_ABSTDLG_BASE(AbstractSvxObjectNameDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxObjectTitleDescDialog_Impl); + +IMPL_ABSTDLG_BASE(AbstractSvxMessDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxMultiPathDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxMultiFileDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxHpLinkDlg_Impl); +IMPL_ABSTDLG_BASE(AbstractFmSearchDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractGraphicFilterDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxAreaTabDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractPasteDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractInsertObjectDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractLinksDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSpellDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxPostItDialog_Impl); + +////////////////////////////////////////////////////////////////////////// +// VclAbstractDialog2_Impl +////////////////////////////////////////////////////////////////////////// + +// virtual +VclAbstractDialog2_Impl::~VclAbstractDialog2_Impl() +{ + delete m_pDlg; +} + +// virtual +void VclAbstractDialog2_Impl::StartExecuteModal( const Link& rEndDialogHdl ) +{ + m_aEndDlgHdl = rEndDialogHdl; + m_pDlg->StartExecuteModal( + LINK( this, VclAbstractDialog2_Impl, EndDialogHdl ) ); +} + +// virtual +long VclAbstractDialog2_Impl::GetResult() +{ + return m_pDlg->GetResult(); +} + +IMPL_LINK( VclAbstractDialog2_Impl, EndDialogHdl, Dialog*, pDlg ) +{ + if ( pDlg != m_pDlg ) + { + DBG_ERRORFILE( "VclAbstractDialog2_Impl::EndDialogHdl(): wrong dialog" ); + } + + m_aEndDlgHdl.Call( this ); + m_aEndDlgHdl = Link(); + + return 0L; +} + +////////////////////////////////////////////////////////////////////////// + +void AbstractTabDialog_Impl::SetCurPageId( USHORT nId ) +{ + pDlg->SetCurPageId( nId ); +} + +const SfxItemSet* AbstractTabDialog_Impl::GetOutputItemSet() const +{ + return pDlg->GetOutputItemSet(); +} + +const USHORT* AbstractTabDialog_Impl::GetInputRanges(const SfxItemPool& pItem ) +{ + return pDlg->GetInputRanges( pItem ); +} + +void AbstractTabDialog_Impl::SetInputSet( const SfxItemSet* pInSet ) +{ + pDlg->SetInputSet( pInSet ); +} +//From class Window. +void AbstractTabDialog_Impl::SetText( const XubString& rStr ) +{ + pDlg->SetText( rStr ); +} +String AbstractTabDialog_Impl::GetText() const +{ + return pDlg->GetText(); +} + + +const SfxItemSet* AbstractSfxDialog_Impl::GetOutputItemSet() const +{ + return pDlg->GetOutputItemSet(); +} + +void AbstractSfxDialog_Impl::SetText( const XubString& rStr ) +{ + pDlg->SetText( rStr ); +} + +String AbstractSfxDialog_Impl::GetText() const +{ + return pDlg->GetText(); +} + +SvxDistributeHorizontal AbstractSvxDistributeDialog_Impl::GetDistributeHor()const +{ + return pDlg->GetDistributeHor(); +} +SvxDistributeVertical AbstractSvxDistributeDialog_Impl::GetDistributeVer()const +{ + return pDlg->GetDistributeVer(); +} + +void AbstractHangulHanjaConversionDialog_Impl::EndDialog(long nResult) +{ + pDlg->EndDialog(nResult); +} + +void AbstractHangulHanjaConversionDialog_Impl::EnableRubySupport( sal_Bool _bVal ) +{ + pDlg->EnableRubySupport(_bVal); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetByCharacter( sal_Bool _bByCharacter ) +{ + pDlg->SetByCharacter(_bByCharacter); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetConversionDirectionState( sal_Bool _bTryBothDirections, editeng::HangulHanjaConversion::ConversionDirection _ePrimaryConversionDirection ) +{ + pDlg->SetConversionDirectionState(_bTryBothDirections, _ePrimaryConversionDirection); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetConversionFormat( editeng::HangulHanjaConversion::ConversionFormat _eType ) +{ + pDlg->SetConversionFormat(_eType); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetOptionsChangedHdl( const Link& _rHdl ) +{ + pDlg->SetOptionsChangedHdl(_rHdl ); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetIgnoreHdl( const Link& _rHdl ) +{ + pDlg->SetIgnoreHdl(_rHdl ); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetIgnoreAllHdl( const Link& _rHdl ) +{ + pDlg->SetIgnoreAllHdl(_rHdl ); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetChangeHdl( const Link& _rHdl ) +{ + pDlg->SetChangeHdl(_rHdl ); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetChangeAllHdl( const Link& _rHdl ) +{ + pDlg->SetChangeAllHdl(_rHdl ); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetClickByCharacterHdl( const Link& _rHdl ) +{ + pDlg->SetClickByCharacterHdl(_rHdl ); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetConversionFormatChangedHdl( const Link& _rHdl ) +{ + pDlg->SetConversionFormatChangedHdl(_rHdl ); +} +void AbstractHangulHanjaConversionDialog_Impl::SetFindHdl( const Link& _rHdl ) +{ + pDlg->SetFindHdl(_rHdl ); +} + +sal_Bool AbstractHangulHanjaConversionDialog_Impl::GetUseBothDirections( ) const +{ + return pDlg->GetUseBothDirections(); +} + +editeng::HangulHanjaConversion::ConversionDirection AbstractHangulHanjaConversionDialog_Impl::GetDirection( editeng::HangulHanjaConversion::ConversionDirection _eDefaultDirection ) const +{ + return pDlg->GetDirection( _eDefaultDirection ); +} + +void AbstractHangulHanjaConversionDialog_Impl::SetCurrentString( + const String& _rNewString, + const ::com::sun::star::uno::Sequence< ::rtl::OUString >& _rSuggestions, + bool _bOriginatesFromDocument + ) +{ + pDlg->SetCurrentString(_rNewString,_rSuggestions,_bOriginatesFromDocument); +} +String AbstractHangulHanjaConversionDialog_Impl::GetCurrentString( ) const +{ + return pDlg->GetCurrentString(); +} +editeng::HangulHanjaConversion::ConversionFormat AbstractHangulHanjaConversionDialog_Impl::GetConversionFormat( ) const +{ + return pDlg->GetConversionFormat(); +} + +void AbstractHangulHanjaConversionDialog_Impl::FocusSuggestion( ) +{ + pDlg->FocusSuggestion(); +} + +String AbstractHangulHanjaConversionDialog_Impl::GetCurrentSuggestion( ) const +{ + return pDlg->GetCurrentSuggestion(); +} + +String AbstractThesaurusDialog_Impl::GetWord() +{ + return pDlg->GetWord(); +}; + +sal_uInt16 AbstractThesaurusDialog_Impl::GetLanguage() const +{ + return pDlg->GetLanguage(); +}; + +Window* AbstractThesaurusDialog_Impl::GetWindow() +{ + return pDlg; +} + +void AbstractHyphenWordDialog_Impl::SelLeft() +{ + pDlg->SelLeft(); +} + +void AbstractHyphenWordDialog_Impl::SelRight() +{ + pDlg->SelRight(); +} + +Window* AbstractHyphenWordDialog_Impl::GetWindow() +{ + return pDlg; +} + +Reference < com::sun::star::embed::XEmbeddedObject > AbstractInsertObjectDialog_Impl::GetObject() +{ + return pDlg->GetObject(); +} + +BOOL AbstractInsertObjectDialog_Impl::IsCreateNew() +{ + return pDlg->IsCreateNew(); +} + +::Reference< ::com::sun::star::io::XInputStream > AbstractInsertObjectDialog_Impl::GetIconIfIconified( ::rtl::OUString* pGraphicMediaType ) +{ + return pDlg->GetIconIfIconified( pGraphicMediaType ); +} + +void AbstractPasteDialog_Impl::Insert( SotFormatStringId nFormat, const String & rFormatName ) +{ + pDlg->Insert( nFormat, rFormatName ); +} + +void AbstractPasteDialog_Impl::SetObjName( const SvGlobalName & rClass, const String & rObjName ) +{ + pDlg->SetObjName( rClass, rObjName ); +} + +ULONG AbstractPasteDialog_Impl::GetFormat( const TransferableDataHelper& aHelper, + const DataFlavorExVector* pFormats, + const TransferableObjectDescriptor* pDesc ) +{ + return pDlg->GetFormat( aHelper, pFormats, pDesc ); +} + +void AbstractFmShowColsDialog_Impl::SetColumns(const ::Reference< ::com::sun::star::container::XIndexContainer>& xCols) +{ + pDlg->SetColumns(xCols); +} + +void AbstractSvxZoomDialog_Impl::SetLimits( USHORT nMin, USHORT nMax ) +{ + pDlg->SetLimits( nMin, nMax ); +} + +void AbstractSvxZoomDialog_Impl::HideButton( USHORT nBtnId ) +{ + pDlg->HideButton( nBtnId ); +} + +const SfxItemSet* AbstractSvxZoomDialog_Impl::GetOutputItemSet() const +{ + return pDlg->GetOutputItemSet(); +} + +void AbstractSpellDialog_Impl::SetLanguage( sal_uInt16 nLang ) +{ + pDlg->SetLanguage(nLang); +} + +sal_Bool AbstractSpellDialog_Impl::Close() +{ + return pDlg->Close(); +} + +void AbstractSpellDialog_Impl::Invalidate() +{ + pDlg->InvalidateDialog(); +} + +Window* AbstractSpellDialog_Impl::GetWindow() +{ + return pDlg; +} + +SfxBindings& AbstractSpellDialog_Impl::GetBindings() +{ + return pDlg->GetBindings(); +} + +void AbstractSearchProgress_Impl::Update() +{ + pDlg->Update(); +} + +void AbstractSearchProgress_Impl::Sync() +{ + pDlg-> Sync(); +} + +void AbstractSearchProgress_Impl::SetFileType( const String& rType ) +{ + pDlg->SetFileType( rType ); +} + +void AbstractSearchProgress_Impl::SetDirectory( const INetURLObject& rURL ) +{ + pDlg->SetDirectory( rURL ); +} +PLinkStub AbstractSearchProgress_Impl::GetLinkStubCleanUpHdl() +{ + return SearchProgress::LinkStubCleanUpHdl; +} + +void AbstractTakeProgress_Impl::Update() +{ + pDlg->Update(); +} + +void AbstractTakeProgress_Impl::Sync() +{ + pDlg-> Sync(); +} + +void AbstractTakeProgress_Impl::SetFile( const INetURLObject& rURL ) +{ + pDlg->SetFile( rURL ); +} + +PLinkStub AbstractTakeProgress_Impl::GetLinkStubCleanUpHdl() +{ + return TakeProgress::LinkStubCleanUpHdl; +} + +String AbstractTitleDialog_Impl::GetTitle() const +{ + return pDlg->GetTitle(); +} + +ULONG AbstractGalleryIdDialog_Impl::GetId() const +{ + return pDlg->GetId(); +} + +void VclAbstractRefreshableDialog_Impl::Update() +{ + pDlg->Update(); +} + +void VclAbstractRefreshableDialog_Impl::Sync() +{ + pDlg-> Sync(); +} + +String AbstractURLDlg_Impl::GetURL() const +{ + return pDlg->GetURL(); +} + +String AbstractURLDlg_Impl::GetAltText() const +{ + return pDlg->GetAltText(); +} + +String AbstractURLDlg_Impl::GetDesc() const +{ + return pDlg->GetDesc(); +} + +String AbstractURLDlg_Impl::GetTarget() const +{ + return pDlg->GetTarget(); +} + +String AbstractURLDlg_Impl::GetName() const +{ + return pDlg->GetName(); +} + +void AbstractSvxHlinkDlgMarkWnd_Impl::Hide( USHORT nFlags ) +{ + ((Window*)pDlg)->Hide( nFlags ); +} + +void AbstractSvxHlinkDlgMarkWnd_Impl::SetSizePixel( const Size& rNewSize ) +{ + pDlg->SetSizePixel( rNewSize ); +} + +Size AbstractSvxHlinkDlgMarkWnd_Impl::GetSizePixel() const +{ + return pDlg->GetSizePixel(); +} + +BOOL AbstractSvxHlinkDlgMarkWnd_Impl::IsVisible( ) const +{ + return (( Window* )pDlg)->IsVisible(); +} + +void AbstractSvxHlinkDlgMarkWnd_Impl::Invalidate( USHORT nFlags ) +{ + (( Window* )pDlg)->Invalidate(nFlags); +} + +BOOL AbstractSvxHlinkDlgMarkWnd_Impl::MoveTo( Point aNewPos )const +{ + return pDlg->MoveTo(aNewPos); +} + +BOOL AbstractSvxHlinkDlgMarkWnd_Impl::ConnectToDialog( BOOL bDoit )const +{ + return pDlg->ConnectToDialog(bDoit); +} + +void AbstractSvxHlinkDlgMarkWnd_Impl::RefreshTree ( String aStrURL ) +{ + pDlg->RefreshTree(aStrURL); +} + +void AbstractSvxHlinkDlgMarkWnd_Impl::SelectEntry ( String aStrMark ) +{ + pDlg->SelectEntry(aStrMark); +} + +USHORT AbstractSvxHlinkDlgMarkWnd_Impl::SetError( USHORT nError) +{ + return pDlg->SetError(nError); +} + +USHORT AbstractSvxSearchSimilarityDialog_Impl::GetOther() +{ + return pDlg->GetOther(); +} + +USHORT AbstractSvxSearchSimilarityDialog_Impl::GetShorter() +{ + return pDlg->GetShorter(); +} + +USHORT AbstractSvxSearchSimilarityDialog_Impl::GetLonger() +{ + return pDlg-> GetLonger(); +} + +BOOL AbstractSvxSearchSimilarityDialog_Impl::IsRelaxed() +{ + return pDlg-> IsRelaxed(); +} + +// AbstractSvxTransformTabDialog implementations just forwards everything to the dialog +void AbstractSvxTransformTabDialog_Impl::SetCurPageId( USHORT nId ) +{ + pDlg->SetCurPageId( nId ); +} +const SfxItemSet* AbstractSvxTransformTabDialog_Impl::GetOutputItemSet() const +{ + return pDlg->GetOutputItemSet(); +} +// +const USHORT* AbstractSvxTransformTabDialog_Impl::GetInputRanges(const SfxItemPool& pItem ) +{ + return pDlg->GetInputRanges( pItem ); +} +// +void AbstractSvxTransformTabDialog_Impl::SetInputSet( const SfxItemSet* pInSet ) +{ + pDlg->SetInputSet( pInSet ); +} +//From class Window. +void AbstractSvxTransformTabDialog_Impl::SetText( const XubString& rStr ) +{ + pDlg->SetText( rStr ); +} +String AbstractSvxTransformTabDialog_Impl::GetText() const +{ + return pDlg->GetText(); +} +void AbstractSvxTransformTabDialog_Impl::SetValidateFramePosLink( const Link& rLink ) +{ + pDlg->SetValidateFramePosLink( rLink ); +} + +// AbstractSvxCaptionDialog implementations just forwards everything to the dialog +void AbstractSvxCaptionDialog_Impl::SetCurPageId( USHORT nId ) +{ + pDlg->SetCurPageId( nId ); +} +const SfxItemSet* AbstractSvxCaptionDialog_Impl::GetOutputItemSet() const +{ + return pDlg->GetOutputItemSet(); +} +// +const USHORT* AbstractSvxCaptionDialog_Impl::GetInputRanges(const SfxItemPool& pItem ) +{ + return pDlg->GetInputRanges( pItem ); +} +// +void AbstractSvxCaptionDialog_Impl::SetInputSet( const SfxItemSet* pInSet ) +{ + pDlg->SetInputSet( pInSet ); +} +//From class Window. +void AbstractSvxCaptionDialog_Impl::SetText( const XubString& rStr ) +{ + pDlg->SetText( rStr ); +} +String AbstractSvxCaptionDialog_Impl::GetText() const +{ + return pDlg->GetText(); +} +void AbstractSvxCaptionDialog_Impl::SetValidateFramePosLink( const Link& rLink ) +{ + pDlg->SetValidateFramePosLink( rLink ); +} + +INT32 AbstractSvxJSearchOptionsDialog_Impl::GetTransliterationFlags() const +{ + return pDlg->GetTransliterationFlags(); +} + +void AbstractFmInputRecordNoDialog_Impl::SetValue(long nNew) +{ + pDlg->SetValue(nNew); +} + +long AbstractFmInputRecordNoDialog_Impl::GetValue() const +{ + return pDlg->GetValue(); +} + +::Reference< + ::com::sun::star::linguistic2::XDictionary > AbstractSvxNewDictionaryDialog_Impl::GetNewDictionary() +{ + return pDlg->GetNewDictionary(); +} + +void AbstractSvxNameDialog_Impl::GetName( String& rName ) +{ + pDlg->GetName( rName ); +} + +void AbstractSvxNameDialog_Impl::SetCheckNameHdl( const Link& rLink, bool bCheckImmediately ) +{ + aCheckNameHdl = rLink; + if( rLink.IsSet() ) + pDlg->SetCheckNameHdl( LINK(this, AbstractSvxNameDialog_Impl, CheckNameHdl), bCheckImmediately ); + else + pDlg->SetCheckNameHdl( Link(), bCheckImmediately ); +} +void AbstractSvxNameDialog_Impl::SetEditHelpId(ULONG nHelpId) +{ + pDlg->SetEditHelpId( nHelpId ); +} +void AbstractSvxNameDialog_Impl::SetHelpId( ULONG nHelpId ) +{ + pDlg->SetHelpId( nHelpId ); +} +void AbstractSvxNameDialog_Impl::SetText( const XubString& rStr ) +{ + pDlg->SetText( rStr ); +} +IMPL_LINK( AbstractSvxNameDialog_Impl, CheckNameHdl, Window*, EMPTYARG ) +{ + if( aCheckNameHdl.IsSet() ) + return aCheckNameHdl.Call(this); + return 0; +} + +void AbstractSvxObjectNameDialog_Impl::GetName(String& rName) +{ + pDlg->GetName(rName); +} + +void AbstractSvxObjectNameDialog_Impl::SetCheckNameHdl(const Link& rLink, bool bCheckImmediately) +{ + aCheckNameHdl = rLink; + + if(rLink.IsSet()) + { + pDlg->SetCheckNameHdl(LINK(this, AbstractSvxObjectNameDialog_Impl, CheckNameHdl), bCheckImmediately); + } + else + { + pDlg->SetCheckNameHdl(Link(), bCheckImmediately); + } +} + +IMPL_LINK(AbstractSvxObjectNameDialog_Impl, CheckNameHdl, Window*, EMPTYARG) +{ + if(aCheckNameHdl.IsSet()) + { + return aCheckNameHdl.Call(this); + } + + return 0; +} + +void AbstractSvxObjectTitleDescDialog_Impl::GetTitle(String& rTitle) +{ + pDlg->GetTitle(rTitle); +} + +void AbstractSvxObjectTitleDescDialog_Impl::GetDescription(String& rDescription) +{ + pDlg->GetDescription(rDescription); +} + +void AbstractSvxMessDialog_Impl::SetButtonText( USHORT nBtnId, const String& rNewTxt ) +{ + pDlg->SetButtonText( nBtnId, rNewTxt ); +} + +String AbstractSvxMultiPathDialog_Impl::GetPath() const +{ + return pDlg->GetPath(); +} + +void AbstractSvxMultiPathDialog_Impl::SetPath( const String& rPath ) +{ + pDlg->SetPath( rPath ); +} + +void AbstractSvxMultiPathDialog_Impl::EnableRadioButtonMode() +{ + pDlg->EnableRadioButtonMode(); +} + +void AbstractSvxMultiPathDialog_Impl::SetTitle( const String& rNewTitle ) +{ + pDlg->SetText( rNewTitle ); +} + +String AbstractSvxMultiFileDialog_Impl::GetPath() const +{ + return pDlg->GetPath(); +} + +void AbstractSvxMultiFileDialog_Impl::SetPath( const String& rPath ) +{ + pDlg->SetPath( rPath ); +} + +String AbstractSvxMultiFileDialog_Impl::GetFiles() const +{ + return pDlg->GetFiles(); +} + +void AbstractSvxMultiFileDialog_Impl::SetFiles( const String& rPath ) +{ + pDlg->SetFiles( rPath ); +} + +void AbstractSvxMultiFileDialog_Impl::SetClassPathMode() +{ + pDlg->SetClassPathMode(); +} + +void AbstractSvxMultiFileDialog_Impl::EnableRadioButtonMode() +{ + pDlg->EnableRadioButtonMode(); +} + +void AbstractSvxMultiFileDialog_Impl::SetTitle( const String& rNewTitle ) +{ + pDlg->SetText( rNewTitle ); +} + +void AbstractSvxMultiFileDialog_Impl::SetHelpId( ULONG nHelpId ) +{ + pDlg->SetHelpId( nHelpId ); +} + +Window * AbstractSvxHpLinkDlg_Impl::GetWindow() +{ + return (Window *)pDlg; +} + +sal_Bool AbstractSvxHpLinkDlg_Impl::QueryClose() +{ + return pDlg->QueryClose(); +} + + +void AbstractFmSearchDialog_Impl::SetFoundHandler(const Link& lnk) +{ + pDlg->SetFoundHandler(lnk); +} +void AbstractFmSearchDialog_Impl::SetCanceledNotFoundHdl(const Link& lnk) +{ + pDlg->SetCanceledNotFoundHdl(lnk); +} +void AbstractFmSearchDialog_Impl::SetActiveField(const String& strField) +{ + pDlg->SetActiveField(strField); +} + +Graphic AbstractGraphicFilterDialog_Impl::GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) +{ + return pDlg->GetFilteredGraphic( rGraphic, fScaleX, fScaleY ); +} + +// AbstractSvxAreaTabDialog implementations just forwards everything to the dialog +void AbstractSvxAreaTabDialog_Impl::SetCurPageId( USHORT nId ) +{ + pDlg->SetCurPageId( nId ); +} + +const SfxItemSet* AbstractSvxAreaTabDialog_Impl::GetOutputItemSet() const +{ + return pDlg->GetOutputItemSet(); +} + +const USHORT* AbstractSvxAreaTabDialog_Impl::GetInputRanges(const SfxItemPool& pItem ) +{ + return pDlg->GetInputRanges( pItem ); +} + +void AbstractSvxAreaTabDialog_Impl::SetInputSet( const SfxItemSet* pInSet ) +{ + pDlg->SetInputSet( pInSet ); +} +//From class Window. +void AbstractSvxAreaTabDialog_Impl::SetText( const XubString& rStr ) +{ + pDlg->SetText( rStr ); +} +String AbstractSvxAreaTabDialog_Impl::GetText() const +{ + return pDlg->GetText(); +} + +void AbstractSvxAreaTabDialog_Impl::DontDeleteColorTable() +{ + return pDlg->DontDeleteColorTable(); +} + +void AbstractSvxPostItDialog_Impl::SetText( const XubString& rStr ) +{ + pDlg->SetText( rStr ); +} +const SfxItemSet* AbstractSvxPostItDialog_Impl::GetOutputItemSet() const +{ + return pDlg->GetOutputItemSet(); +} +void AbstractSvxPostItDialog_Impl::EnableTravel(BOOL bNext, BOOL bPrev) +{ + pDlg->EnableTravel( bNext, bPrev ); +} +String AbstractSvxPostItDialog_Impl::GetNote() +{ + return pDlg->GetNote(); +} +void AbstractSvxPostItDialog_Impl::SetNote(const String& rTxt) +{ + pDlg->SetNote( rTxt ); +} +void AbstractSvxPostItDialog_Impl::ShowLastAuthor(const String& rAuthor, const String& rDate) +{ + pDlg->ShowLastAuthor( rAuthor, rDate ); +} +void AbstractSvxPostItDialog_Impl::DontChangeAuthor() +{ + pDlg->DontChangeAuthor(); +} +void AbstractSvxPostItDialog_Impl::HideAuthor() +{ + pDlg->HideAuthor(); +} +void AbstractSvxPostItDialog_Impl::SetReadonlyPostIt(BOOL bDisable) +{ + pDlg->SetReadonlyPostIt( bDisable ); +} +BOOL AbstractSvxPostItDialog_Impl::IsOkEnabled() const +{ + return pDlg->IsOkEnabled(); +} +void AbstractSvxPostItDialog_Impl::SetNextHdl( const Link& rLink ) +{ + aNextHdl = rLink; + if( rLink.IsSet() ) + pDlg->SetNextHdl( LINK(this, AbstractSvxPostItDialog_Impl, NextHdl ) ); + else + pDlg->SetNextHdl( Link() ); +} +void AbstractSvxPostItDialog_Impl::SetPrevHdl( const Link& rLink ) +{ + aPrevHdl = rLink; + if( rLink.IsSet() ) + pDlg->SetPrevHdl( LINK(this, AbstractSvxPostItDialog_Impl, PrevHdl ) ); + else + pDlg->SetPrevHdl( Link() ); +} +IMPL_LINK( AbstractSvxPostItDialog_Impl, NextHdl, Window*, EMPTYARG ) +{ + if( aNextHdl.IsSet() ) + aNextHdl.Call(this); + return 0; +} +IMPL_LINK( AbstractSvxPostItDialog_Impl, PrevHdl, Window*, EMPTYARG ) +{ + if( aPrevHdl.IsSet() ) + aPrevHdl.Call(this); + return 0; +} +Window * AbstractSvxPostItDialog_Impl::GetWindow() +{ + return (Window *)pDlg; +} + +// Create dialogs with simplest interface +VclAbstractDialog* AbstractDialogFactory_Impl::CreateVclDialog( Window* pParent, sal_uInt32 nResId ) +{ + Dialog* pDlg=NULL; + switch ( nResId ) + { + case SID_OPTIONS_TREEDIALOG : + case SID_OPTIONS_DATABASES : + case SID_LANGUAGE_OPTIONS : + { + bool bActivateLastSelection = false; + if (nResId == SID_OPTIONS_TREEDIALOG) + bActivateLastSelection = true; + Reference< frame::XFrame > xFrame; + OfaTreeOptionsDialog* pOptDlg = new OfaTreeOptionsDialog( pParent, xFrame, bActivateLastSelection ); + if (nResId == SID_OPTIONS_DATABASES) + { + pOptDlg->ActivatePage(SID_SB_DBREGISTEROPTIONS); + } + else if (nResId == SID_LANGUAGE_OPTIONS) + { + //open the tab page "tools/options/languages" + pOptDlg->ActivatePage(OFA_TP_LANGUAGES_FOR_SET_DOCUMENT_LANGUAGE); + } + pDlg = pOptDlg; + } + break; + default: + break; + } + + if ( pDlg ) + return new VclAbstractDialog_Impl( pDlg ); + return 0; +} + +// dialogs that use SfxBindings +VclAbstractDialog* AbstractDialogFactory_Impl::CreateSfxDialog( Window* /*pParent*/, const SfxBindings&, sal_uInt32 ) +{ + return 0; +} + +VclAbstractDialog* AbstractDialogFactory_Impl::CreateFrameDialog( + Window* pParent, const Reference< frame::XFrame >& rxFrame, + sal_uInt32 nResId, const String& rParameter ) +{ + Dialog* pDlg = NULL; + if ( SID_OPTIONS_TREEDIALOG == nResId || SID_OPTIONS_DATABASES == nResId ) + { + // only activate last page if we dont want to activate a special page + bool bActivateLastSelection = ( nResId != SID_OPTIONS_DATABASES && rParameter.Len() == 0 ); + OfaTreeOptionsDialog* pOptDlg = new OfaTreeOptionsDialog( pParent, rxFrame, bActivateLastSelection ); + if ( nResId == SID_OPTIONS_DATABASES ) + pOptDlg->ActivatePage(SID_SB_DBREGISTEROPTIONS); + else if ( rParameter.Len() > 0 ) + pOptDlg->ActivatePage( rParameter ); + pDlg = pOptDlg; + } + + if ( pDlg ) + return new VclAbstractDialog_Impl( pDlg ); + else + return NULL; +} + +// TabDialog outside the drawing layer +SfxAbstractTabDialog* AbstractDialogFactory_Impl::CreateTabDialog( sal_uInt32 nResId, + Window* pParent, + const SfxItemSet* pAttrSet, + SfxViewFrame* , + bool /*bEditFmt*/, + const String * ) +{ + SfxTabDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_OFA_AUTOCORR_DLG : + pDlg = new OfaAutoCorrDlg( pParent, pAttrSet ); + break; + case RID_SVXDLG_CUSTOMIZE : + pDlg = new SvxConfigDialog( pParent, pAttrSet ); + break; + default: + break; + } + + if ( pDlg ) + return new AbstractTabDialog_Impl( pDlg ); + return 0; +} + +SfxAbstractTabDialog* AbstractDialogFactory_Impl::CreateTabDialog( sal_uInt32 nResId, + Window* pParent, + const SfxItemSet* pAttrSet, + const Reference< frame::XFrame >& xViewFrame, + bool /*bEditFmt*/, + const String * ) +{ + SfxTabDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_OFA_AUTOCORR_DLG : + pDlg = new OfaAutoCorrDlg( pParent, pAttrSet ); + break; + case RID_SVXDLG_CUSTOMIZE : + { + SvxConfigDialog* pDlg1 = new SvxConfigDialog( pParent, pAttrSet ); + pDlg1->SetFrame(xViewFrame); + pDlg = (SfxTabDialog*)pDlg1; + } + break; + default: + break; + } + + if ( pDlg ) + return new AbstractTabDialog_Impl( pDlg ); + return 0; +} + +// TabDialog that use functionality of the drawing layer +SfxAbstractTabDialog* AbstractDialogFactory_Impl::CreateTextTabDialog( Window* pParent, + const SfxItemSet* pAttrSet, + SdrView* pView, + SdrModel* ) +{ + SfxTabDialog* pDlg = new SvxTextTabDialog( pParent, pAttrSet, pView ); + return new AbstractTabDialog_Impl( pDlg ); +} + +//TabDialog that use functionality of the drawing layer and add AnchorTypes -- for SvxCaptionTabDialog CHINA001 +AbstractSvxCaptionDialog* AbstractDialogFactory_Impl::CreateCaptionDialog( Window* pParent, + const SdrView* pView, + USHORT nAnchorTypes ) +{ + SvxCaptionTabDialog* pDlg = new SvxCaptionTabDialog( pParent, pView, nAnchorTypes ); + return new AbstractSvxCaptionDialog_Impl( pDlg ); +} + +AbstractSvxDistributeDialog* AbstractDialogFactory_Impl::CreateSvxDistributeDialog(Window* pParent, + const SfxItemSet& rAttr, + SvxDistributeHorizontal eHor , + SvxDistributeVertical eVer) +{ + SvxDistributeDialog* pDlg = new SvxDistributeDialog( pParent, rAttr, eHor, eVer); + return new AbstractSvxDistributeDialog_Impl( pDlg ); +} + +AbstractHangulHanjaConversionDialog* AbstractDialogFactory_Impl::CreateHangulHanjaConversionDialog(Window* pParent, + editeng::HangulHanjaConversion::ConversionDirection _ePrimaryDirection ) +{ + HangulHanjaConversionDialog* pDlg = new HangulHanjaConversionDialog( pParent, _ePrimaryDirection); + return new AbstractHangulHanjaConversionDialog_Impl( pDlg ); +} + +AbstractThesaurusDialog* AbstractDialogFactory_Impl::CreateThesaurusDialog( Window* pParent, + ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XThesaurus > xThesaurus, + const String &rWord, sal_Int16 nLanguage ) +{ + SvxThesaurusDialog* pDlg = new SvxThesaurusDialog( pParent, xThesaurus, rWord, nLanguage ); + return new AbstractThesaurusDialog_Impl( pDlg ); +} + +AbstractHyphenWordDialog* AbstractDialogFactory_Impl::CreateHyphenWordDialog( Window* pParent, + const String &rWord, LanguageType nLang, + ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XHyphenator > &xHyphen, + SvxSpellWrapper* pWrapper ) +{ + SvxHyphenWordDialog* pDlg = new SvxHyphenWordDialog( rWord, nLang, pParent, xHyphen, pWrapper ); + return new AbstractHyphenWordDialog_Impl( pDlg ); +} + +AbstractFmShowColsDialog * AbstractDialogFactory_Impl::CreateFmShowColsDialog( Window* pParent ) +{ + FmShowColsDialog* pDlg = new FmShowColsDialog( pParent); + return new AbstractFmShowColsDialog_Impl( pDlg ); +} +AbstractSvxZoomDialog * AbstractDialogFactory_Impl::CreateSvxZoomDialog( Window* pParent, //add for SvxZoomDialog + const SfxItemSet& rCoreSet) +{ + SvxZoomDialog* pDlg = new SvxZoomDialog( pParent, rCoreSet); + return new AbstractSvxZoomDialog_Impl( pDlg ); +} + +AbstractSpellDialog * AbstractDialogFactory_Impl::CreateSvxSpellDialog( + Window* pParent, + SfxBindings* pBindings, + svx::SpellDialogChildWindow* pSpellChildWindow ) +{ + svx::SpellDialog* pDlg = new svx::SpellDialog(pSpellChildWindow, pParent, pBindings); + return new AbstractSpellDialog_Impl(pDlg); +} + +VclAbstractRefreshableDialog * AbstractDialogFactory_Impl::CreateActualizeProgressDialog( Window* pParent, GalleryTheme* pThm ) +{ + Dialog* pDlg = new ActualizeProgress( pParent, pThm); + return new VclAbstractRefreshableDialog_Impl( pDlg ); +} + +AbstractSearchProgress * AbstractDialogFactory_Impl::CreateSearchProgressDialog( Window* pParent, //add for SearchProgress + const INetURLObject& rStartURL ) +{ + SearchProgress* pDlg = new SearchProgress( pParent, rStartURL); + return new AbstractSearchProgress_Impl( pDlg ); +} + +AbstractTakeProgress * AbstractDialogFactory_Impl::CreateTakeProgressDialog( Window* pParent ) +{ + TakeProgress* pDlg = new TakeProgress( pParent ); + return new AbstractTakeProgress_Impl( pDlg ); +} + +VclAbstractDialog* +AbstractDialogFactory_Impl::CreateScriptErrorDialog( + Window* pParent, ::com::sun::star::uno::Any aException ) +{ + return new SvxScriptErrorDialog( pParent, aException ); +} + +AbstractScriptSelectorDialog* +AbstractDialogFactory_Impl::CreateScriptSelectorDialog( + Window* pParent, BOOL bShowSlots, const Reference< frame::XFrame >& _rxFrame ) +{ + SvxScriptSelectorDialog* pDlg = NULL; + + pDlg = new SvxScriptSelectorDialog( pParent, bShowSlots, _rxFrame ); + + if (pDlg) + { + return new AbstractScriptSelectorDialog_Impl( pDlg ); + } + return 0; +} + +String AbstractScriptSelectorDialog_Impl::GetScriptURL() const +{ + if (pDlg) + return pDlg->GetScriptURL(); + return String(); +} + +void AbstractScriptSelectorDialog_Impl::SetRunLabel() +{ + if (pDlg) + pDlg->SetRunLabel(); + return; +} + +VclAbstractDialog * AbstractDialogFactory_Impl::CreateSvxScriptOrgDialog( Window* pParent, //add for SvxScriptOrgDialog + const String& rLanguage) +{ + Dialog* pDlg=NULL; + + pDlg = new SvxScriptOrgDialog( pParent, rLanguage); + + if ( pDlg ) + return new VclAbstractDialog_Impl( pDlg ); + return 0; +} + +AbstractTitleDialog * AbstractDialogFactory_Impl::CreateTitleDialog( Window* pParent, //add for TitleDialog + const String& rOldText) +{ + TitleDialog* pDlg = new TitleDialog( pParent, rOldText); + return new AbstractTitleDialog_Impl( pDlg ); +} + +AbstractGalleryIdDialog * AbstractDialogFactory_Impl::CreateGalleryIdDialog( Window* pParent, //add for SvxZoomDialog + GalleryTheme* pThm ) +{ + GalleryIdDialog* pDlg = new GalleryIdDialog( pParent, pThm); + return new AbstractGalleryIdDialog_Impl( pDlg ); +} + +VclAbstractDialog2 * AbstractDialogFactory_Impl::CreateGalleryThemePropertiesDialog( Window* pParent, //add for GalleryThemeProperties + ExchangeData* pData, + SfxItemSet* pItemSet) +{ + Dialog* pDlg = new GalleryThemeProperties( pParent, pData, pItemSet); + return new VclAbstractDialog2_Impl( pDlg ); +} + +AbstractURLDlg * AbstractDialogFactory_Impl::CreateURLDialog( Window* pParent, //add for URLDlg + const String& rURL, const String& rAltText, const String& rDescription, + const String& rTarget, const String& rName, + TargetList& rTargetList ) +{ + URLDlg* pDlg = new URLDlg( pParent, rURL, rAltText, rDescription, rTarget, rName, rTargetList); + return new AbstractURLDlg_Impl( pDlg ); +} + +AbstractSvxHlinkDlgMarkWnd* AbstractDialogFactory_Impl::CreateSvxHlinkDlgMarkWndDialog( SvxHyperlinkTabPageBase* pParent, sal_uInt32 nResId ) +{ + SvxHlinkDlgMarkWnd* pDlg=NULL; + switch ( nResId ) + { + case RID_SVXFLOAT_HYPERLINK_MARKWND : + pDlg = new SvxHlinkDlgMarkWnd( pParent ); + break; + default: + break; + } + + if ( pDlg ) + return new AbstractSvxHlinkDlgMarkWnd_Impl( pDlg ); + return 0; +} + +SfxAbstractDialog* AbstractDialogFactory_Impl::CreateSfxDialog( sal_uInt32 nResId, + Window* pParent, + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& , + const SfxItemSet* pAttrSet ) +{ + SfxModalDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_SVXDLG_CHARMAP : + pDlg = new SvxCharacterMap( pParent, TRUE, pAttrSet ); + break; + default: + break; + } + + if ( pDlg ) + return new AbstractSfxDialog_Impl( pDlg ); + return 0; +} + +SfxAbstractTabDialog* AbstractDialogFactory_Impl::CreateTabItemDialog( Window* pParent, + const SfxItemSet& rSet, + sal_uInt32 nResId) +{ + SfxTabDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_SVXDLG_SEARCHFORMAT : + pDlg = new SvxSearchFormatDialog( pParent, rSet ); + break; + default: + break; + } + + if ( pDlg ) + return new AbstractTabDialog_Impl( pDlg ); + return 0; +} + +VclAbstractDialog* AbstractDialogFactory_Impl::CreateSvxSearchAttributeDialog( Window* pParent, + SearchAttrItemList& rLst, + const USHORT* pWhRanges ) +{ + Dialog* pDlg = new SvxSearchAttributeDialog( pParent, rLst, pWhRanges); + return new VclAbstractDialog_Impl( pDlg ); +} + +AbstractSvxSearchSimilarityDialog * AbstractDialogFactory_Impl::CreateSvxSearchSimilarityDialog( Window* pParent, + BOOL bRelax, + USHORT nOther, + USHORT nShorter, + USHORT nLonger) +{ + SvxSearchSimilarityDialog* pDlg = new SvxSearchSimilarityDialog( pParent, bRelax, nOther, nShorter, nLonger ); + if ( pDlg ) + return new AbstractSvxSearchSimilarityDialog_Impl( pDlg ); + return NULL; +} + +SfxAbstractTabDialog* AbstractDialogFactory_Impl::CreateSvxBorderBackgroundDlg( Window* pParent, + const SfxItemSet& rCoreSet, + BOOL bEnableSelector) +{ + SfxTabDialog* pDlg = new SvxBorderBackgroundDlg( pParent, rCoreSet, bEnableSelector); + return new AbstractTabDialog_Impl( pDlg ); +} + +AbstractSvxTransformTabDialog* AbstractDialogFactory_Impl::CreateSvxTransformTabDialog( Window* pParent, + const SfxItemSet* pAttr, + const SdrView* pView, + USHORT nAnchorTypes ) +{ + SvxTransformTabDialog* pDlg = new SvxTransformTabDialog( pParent, pAttr,pView, nAnchorTypes); + return new AbstractSvxTransformTabDialog_Impl( pDlg ); +} + +SfxAbstractTabDialog* AbstractDialogFactory_Impl::CreateSchTransformTabDialog( Window* pParent, + const SfxItemSet* pAttr, + const SdrView* pSdrView, + sal_uInt32 nResId, + bool bSizeTabPage + ) +{ + SfxTabDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_SCH_TransformTabDLG_SVXPAGE_ANGLE : + { + pDlg = new SvxTransformTabDialog( pParent, pAttr,pSdrView, bSizeTabPage ? SVX_OBJ_NOPROTECT : SVX_OBJ_NOPROTECT|SVX_OBJ_NORESIZE); + pDlg->RemoveTabPage( RID_SVXPAGE_ANGLE ); + pDlg->RemoveTabPage( RID_SVXPAGE_SLANT ); + } + break; + case RID_SCH_TransformTabDLG_SVXPAGE_SLANT: + { + pDlg = new SvxTransformTabDialog( pParent, pAttr,pSdrView, bSizeTabPage ? SVX_OBJ_NOPROTECT : SVX_OBJ_NOPROTECT|SVX_OBJ_NORESIZE); + pDlg->RemoveTabPage( RID_SVXPAGE_SLANT ); + } + break; + default: + break; + } + + if ( pDlg ) + return new AbstractTabDialog_Impl( pDlg ); + return 0; +} + +AbstractSvxJSearchOptionsDialog * AbstractDialogFactory_Impl::CreateSvxJSearchOptionsDialog( Window* pParent, + const SfxItemSet& rOptionsSet, + INT32 nInitialFlags) +{ + SvxJSearchOptionsDialog* pDlg = new SvxJSearchOptionsDialog( pParent, rOptionsSet, nInitialFlags ); + return new AbstractSvxJSearchOptionsDialog_Impl( pDlg ); +} + +AbstractFmInputRecordNoDialog * AbstractDialogFactory_Impl::CreateFmInputRecordNoDialog( Window* pParent ) +{ + FmInputRecordNoDialog* pDlg = new FmInputRecordNoDialog( pParent ); + return new AbstractFmInputRecordNoDialog_Impl( pDlg ); +} + +AbstractSvxNewDictionaryDialog * AbstractDialogFactory_Impl::CreateSvxNewDictionaryDialog( Window* pParent, + ::Reference< ::com::sun::star::linguistic2::XSpellChecker1 > &xSpl, + sal_uInt32 nResId ) +{ + SvxNewDictionaryDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_SFXDLG_NEWDICT : + pDlg = new SvxNewDictionaryDialog( pParent, xSpl ); + break; + default: + break; + } + + if ( pDlg ) + return new AbstractSvxNewDictionaryDialog_Impl( pDlg ); + return 0; +} + +VclAbstractDialog* AbstractDialogFactory_Impl::CreateSvxEditDictionaryDialog( Window* pParent, + const String& rName, + ::Reference< ::com::sun::star::linguistic2::XSpellChecker1> &xSpl, + sal_uInt32 nResId ) +{ + Dialog* pDlg=NULL; + switch ( nResId ) + { + case RID_SFXDLG_EDITDICT : + pDlg = new SvxEditDictionaryDialog( pParent, rName, xSpl ); + break; + default: + break; + } + + if ( pDlg ) + return new VclAbstractDialog_Impl( pDlg ); + return 0; +} + +AbstractSvxNameDialog * AbstractDialogFactory_Impl::CreateSvxNameDialog( Window* pParent, + const String& rName, const String& rDesc ) +{ + SvxNameDialog* pDlg = new SvxNameDialog( pParent, rName, rDesc ); + return new AbstractSvxNameDialog_Impl( pDlg ); +} + +AbstractSvxObjectNameDialog* AbstractDialogFactory_Impl::CreateSvxObjectNameDialog(Window* pParent, const String& rName ) +{ + return new AbstractSvxObjectNameDialog_Impl(new SvxObjectNameDialog(pParent, rName)); +} + +AbstractSvxObjectTitleDescDialog* AbstractDialogFactory_Impl::CreateSvxObjectTitleDescDialog(Window* pParent, const String& rTitle, const String& rDescription) +{ + return new AbstractSvxObjectTitleDescDialog_Impl(new SvxObjectTitleDescDialog(pParent, rTitle, rDescription)); +} + +AbstractSvxMessDialog * AbstractDialogFactory_Impl::CreateSvxMessDialog( Window* pParent, sal_uInt32 nResId, + const String& rText, const String& rDesc, Image* pImg ) +{ + SvxMessDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_SVXDLG_MESSBOX : + pDlg = new SvxMessDialog( pParent, rText, rDesc, pImg ); + break; + default: + break; + } + + if ( pDlg ) + return new AbstractSvxMessDialog_Impl( pDlg ); + return 0; +} + +AbstractSvxMultiPathDialog * AbstractDialogFactory_Impl::CreateSvxMultiPathDialog( Window* pParent, BOOL bEmptyAllowed ) +{ + SvxMultiPathDialog* pDlg = new SvxMultiPathDialog( pParent, bEmptyAllowed ); + return new AbstractSvxMultiPathDialog_Impl( pDlg ); +} + +AbstractSvxMultiFileDialog * AbstractDialogFactory_Impl::CreateSvxMultiFileDialog( Window* pParent, BOOL bEmptyAllowed ) +{ + SvxMultiFileDialog* pDlg = new SvxMultiFileDialog( pParent, bEmptyAllowed ); + return new AbstractSvxMultiFileDialog_Impl( pDlg ); +} + +AbstractSvxHpLinkDlg * AbstractDialogFactory_Impl::CreateSvxHpLinkDlg (Window* pParent, //add for SvxMultiFileDialog + SfxBindings* pBindings, + sal_uInt32 nResId) +{ + SvxHpLinkDlg* pDlg=NULL; + switch ( nResId ) + { + case SID_HYPERLINK_DIALOG : + pDlg = new SvxHpLinkDlg( pParent, pBindings ); + break; + default: + break; + } + + if ( pDlg ) + return new AbstractSvxHpLinkDlg_Impl( pDlg ); + return 0; +} + +AbstractFmSearchDialog* AbstractDialogFactory_Impl::CreateFmSearchDialog(Window* pParent, //add for FmSearchDialog + const String& strInitialText, + const ::std::vector< String >& _rContexts, + sal_Int16 nInitialContext, + const Link& lnkContextSupplier) +{ + FmSearchDialog* pDlg = new FmSearchDialog( pParent, strInitialText, _rContexts, nInitialContext, lnkContextSupplier ); + if ( pDlg ) + return new AbstractFmSearchDialog_Impl( pDlg ); + return 0; +} + +AbstractGraphicFilterDialog * AbstractDialogFactory_Impl::CreateGraphicFilterEmboss (Window* pParent, //add for GraphicFilterEmboss + const Graphic& rGraphic, + RECT_POINT eLightSource, + sal_uInt32) +{ + GraphicFilterDialog* pDlg = new GraphicFilterEmboss( pParent, rGraphic, eLightSource ); + return new AbstractGraphicFilterDialog_Impl( pDlg ); +} + +AbstractGraphicFilterDialog * AbstractDialogFactory_Impl::CreateGraphicFilterPosterSepia (Window* pParent, + const Graphic& rGraphic, + USHORT nCount, + sal_uInt32 nResId) +{ + GraphicFilterDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_SVX_GRFFILTER_DLG_POSTER : + pDlg = new GraphicFilterPoster( pParent, rGraphic, nCount ); + break; + case RID_SVX_GRFFILTER_DLG_SEPIA : + pDlg = new GraphicFilterSepia( pParent, rGraphic, nCount ); + break; + + default: + break; + } + + if ( pDlg ) + return new AbstractGraphicFilterDialog_Impl( pDlg ); + return 0; +} + +AbstractGraphicFilterDialog * AbstractDialogFactory_Impl::CreateGraphicFilterSolarize (Window* pParent, //add for GraphicFilterSolarize + const Graphic& rGraphic, + BYTE nGreyThreshold, BOOL bInvert, sal_uInt32 ) +{ + GraphicFilterDialog* pDlg = new GraphicFilterSolarize( pParent, rGraphic, nGreyThreshold, bInvert ); + return new AbstractGraphicFilterDialog_Impl( pDlg ); +} + +AbstractGraphicFilterDialog * AbstractDialogFactory_Impl::CreateGraphicFilterMosaic (Window* pParent, //add for GraphicFilterMosaic + const Graphic& rGraphic, + USHORT nTileWidth, USHORT nTileHeight, BOOL bEnhanceEdges, + sal_uInt32 nResId) +{ + GraphicFilterDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_SVX_GRFFILTER_DLG_MOSAIC : + pDlg = new GraphicFilterMosaic( pParent, rGraphic, nTileWidth, nTileHeight, bEnhanceEdges ); + break; + default: + break; + } + + if ( pDlg ) + return new AbstractGraphicFilterDialog_Impl( pDlg ); + return 0; +} + +AbstractSvxAreaTabDialog* AbstractDialogFactory_Impl::CreateSvxAreaTabDialog( Window* pParent, + const SfxItemSet* pAttr, + SdrModel* pModel, + const SdrView* pSdrView ) +{ + SvxAreaTabDialog* pDlg = new SvxAreaTabDialog( pParent, pAttr, pModel,pSdrView ); + return new AbstractSvxAreaTabDialog_Impl( pDlg ); +} + +SfxAbstractTabDialog* AbstractDialogFactory_Impl::CreateSvxLineTabDialog( Window* pParent, const SfxItemSet* pAttr, //add forSvxLineTabDialog + SdrModel* pModel, + const SdrObject* pObj , + BOOL bHasObj) +{ + SfxTabDialog* pDlg = new SvxLineTabDialog( pParent, pAttr, pModel,pObj,bHasObj ); + return new AbstractTabDialog_Impl( pDlg ); +} + +SfxAbstractDialog* AbstractDialogFactory_Impl::CreateSfxDialog( Window* pParent, + const SfxItemSet& rAttr, + const Reference< XFrame >& _rxDocumentFrame, + sal_uInt32 nResId + ) +{ + SfxModalDialog* pDlg=NULL; + switch ( nResId ) + { + case SID_EVENTCONFIG : + pDlg = new SfxMacroAssignDlg( pParent, _rxDocumentFrame, rAttr ); + break; + case RID_SVXPAGE_MACROASSIGN : + pDlg = new SvxShortcutAssignDlg( pParent, _rxDocumentFrame, rAttr ); + break; + case RID_SVXDLG_CHARMAP : + pDlg = new SvxCharacterMap( pParent, TRUE, &rAttr ); + break; + default: + break; + } + + if ( pDlg ) + return new AbstractSfxDialog_Impl( pDlg ); + return 0; +} + +SfxAbstractDialog* AbstractDialogFactory_Impl::CreateSfxDialog( Window* pParent, + const SfxItemSet& rAttr, + const SdrView* pView, + sal_uInt32 nResId + ) +{ + SfxSingleTabDialog* pDlg=NULL; + switch ( nResId ) + { + case RID_SVXPAGE_MEASURE : + pDlg = new SvxMeasureDialog( pParent, rAttr, pView ); + break; + case RID_SVXPAGE_CONNECTION : + pDlg = new SvxConnectionDialog( pParent, rAttr, pView ); + break; + case RID_SFXPAGE_DBREGISTER : + pDlg = new DatabaseRegistrationDialog( pParent, rAttr ); + break; + case RID_SVXPAGE_IMPROVEMENT : + { + String help_url; + SFX_ITEMSET_ARG( &rAttr, pItem, SfxStringItem, SID_CURRENT_URL, sal_False ); + if ( pItem ) + help_url = pItem->GetValue(); + pDlg = new SvxImprovementDialog( pParent, help_url); + } + default: + break; + } + + if ( pDlg ) + return new AbstractSfxDialog_Impl( pDlg ); + return 0; +} + +AbstractSvxPostItDialog* AbstractDialogFactory_Impl::CreateSvxPostItDialog( Window* pParent, + const SfxItemSet& rCoreSet, + BOOL bPrevNext, BOOL bRedline ) +{ + SvxPostItDialog* pDlg = new SvxPostItDialog( pParent, rCoreSet, bPrevNext, bRedline ); + return new AbstractSvxPostItDialog_Impl( pDlg ); +} + +class SvxMacroAssignDialog : public VclAbstractDialog +{ +public: + SvxMacroAssignDialog( Window* _pParent, const Reference< XFrame >& _rxDocumentFrame, const bool _bUnoDialogMode, + const Reference< XNameReplace >& _rxEvents, const sal_uInt16 _nInitiallySelectedEvent ) + :m_aItems( SFX_APP()->GetPool(), SID_ATTR_MACROITEM, SID_ATTR_MACROITEM ) + { + m_aItems.Put( SfxBoolItem( SID_ATTR_MACROITEM, _bUnoDialogMode ) ); + m_pDialog.reset( new SvxMacroAssignDlg( _pParent, _rxDocumentFrame, m_aItems, _rxEvents, _nInitiallySelectedEvent ) ); + } + + virtual short Execute(); + virtual ~SvxMacroAssignDialog(); + +private: + SfxItemSet m_aItems; + ::std::auto_ptr< SvxMacroAssignDlg > m_pDialog; +}; + +short SvxMacroAssignDialog::Execute() +{ + return m_pDialog->Execute(); +} + +SvxMacroAssignDialog::~SvxMacroAssignDialog() +{ +} + +VclAbstractDialog * AbstractDialogFactory_Impl::CreateSvxMacroAssignDlg( + Window* _pParent, const Reference< XFrame >& _rxDocumentFrame, const bool _bUnoDialogMode, + const Reference< XNameReplace >& _rxEvents, const sal_uInt16 _nInitiallySelectedEvent ) +{ + return new SvxMacroAssignDialog( _pParent, _rxDocumentFrame, _bUnoDialogMode, _rxEvents, _nInitiallySelectedEvent ); +} + +// Factories for TabPages +CreateTabPage AbstractDialogFactory_Impl::GetTabPageCreatorFunc( USHORT nId ) +{ + switch ( nId ) + { + case RID_OFA_TP_INTERNATIONAL: + return ::offapp::InternationalOptionsPage::CreateSc; + case RID_OFA_TP_INTERNATIONAL_SD: + case RID_OFA_TP_INTERNATIONAL_IMPR: + return offapp::InternationalOptionsPage::CreateSd; + case RID_SVXPAGE_TEXTANIMATION : + return SvxTextAnimationPage::Create; + case RID_SVXTABPAGE_GALLERY_GENERAL : + return TPGalleryThemeGeneral::Create; + case RID_SVXPAGE_TRANSPARENCE : + return SvxTransparenceTabPage::Create; + case RID_SVXPAGE_AREA : + return SvxAreaTabPage::Create; + case RID_SVXPAGE_SHADOW : + return SvxShadowTabPage::Create; + case RID_SVXPAGE_LINE : + return SvxLineTabPage::Create; + case RID_SVXPAGE_CONNECTION : + return SvxConnectionPage::Create; + case RID_SVXPAGE_MEASURE : + return SvxMeasurePage::Create; + case RID_SFXPAGE_GENERAL : + return SvxGeneralTabPage::Create; + case RID_SVXPAGE_PICK_SINGLE_NUM : + return SvxSingleNumPickTabPage::Create; + case RID_SVXPAGE_PICK_BMP : + return SvxBitmapPickTabPage::Create; + case RID_SVXPAGE_PICK_BULLET : + return SvxBulletPickTabPage::Create; + case RID_SVXPAGE_NUM_OPTIONS : + return SvxNumOptionsTabPage::Create; + case RID_SVXPAGE_PICK_NUM : + return SvxNumPickTabPage::Create; + case RID_SVXPAGE_NUM_POSITION : + return SvxNumPositionTabPage::Create; + case RID_SVXPAGE_PARA_ASIAN : + return SvxAsianTabPage::Create; + case RID_SVXPAGE_EXT_PARAGRAPH : + return SvxExtParagraphTabPage::Create; + case RID_SVXPAGE_ALIGN_PARAGRAPH : + return SvxParaAlignTabPage::Create; + case RID_SVXPAGE_STD_PARAGRAPH : + return SvxStdParagraphTabPage::Create; + case RID_SVXPAGE_TABULATOR : + return SvxTabulatorTabPage::Create; + case RID_SVXPAGE_TEXTATTR : + return SvxTextAttrPage::Create; + case RID_SVXPAGE_ALIGNMENT : + return svx::AlignmentTabPage::Create; + case RID_SW_TP_BACKGROUND : + case RID_SVXPAGE_BACKGROUND : + return SvxBackgroundTabPage::Create; + case RID_SVXPAGE_BORDER : + return SvxBorderTabPage::Create; + case RID_SVXPAGE_CHAR_NAME : + return SvxCharNamePage::Create; + case RID_SVXPAGE_CHAR_EFFECTS : + return SvxCharEffectsPage::Create; + case RID_SVXPAGE_CHAR_POSITION : + return SvxCharPositionPage::Create; + case RID_SVXPAGE_CHAR_TWOLINES : + return SvxCharTwoLinesPage::Create; + case RID_SVXPAGE_NUMBERFORMAT : + return SvxNumberFormatTabPage::Create; + case RID_SVXPAGE_PAGE : + return SvxPageDescPage::Create; + case RID_SVXPAGE_GRFCROP : + return SvxGrfCropPage::Create; + case RID_SVXPAGE_MACROASSIGN : + return SfxMacroTabPage::Create; + default: + break; + } + + return 0; +} + +CreateSvxDistributePage AbstractDialogFactory_Impl::GetSvxDistributePageCreatorFunc() +{ + return SvxDistributePage::Create; +} + +DialogGetRanges AbstractDialogFactory_Impl::GetDialogGetRangesFunc( USHORT nId ) +{ + switch ( nId ) + { + case RID_SVXDLG_POSTIT: + return SvxPostItDialog::GetRanges; //add for SvxPostItDialog + default: + break; + } + + return 0; +} +GetTabPageRanges AbstractDialogFactory_Impl::GetTabPageRangesFunc( USHORT nId ) +{ + switch ( nId ) + { + case RID_SVXPAGE_TEXTANIMATION : + return SvxTextAnimationPage::GetRanges; + case RID_SVXPAGE_DISTRIBUTE: + return SvxDistributePage::GetRanges; + case RID_SVXPAGE_TRANSPARENCE : + return SvxTransparenceTabPage::GetRanges; + case RID_SVXPAGE_AREA : + return SvxAreaTabPage::GetRanges; + case RID_SVXPAGE_SHADOW : + return SvxShadowTabPage::GetRanges; + case RID_SVXPAGE_LINE : + return SvxLineTabPage::GetRanges; + case RID_SVXPAGE_CONNECTION : + return SvxConnectionPage::GetRanges; + case RID_SVXPAGE_MEASURE : + return SvxMeasurePage::GetRanges; + case RID_SVXPAGE_PARA_ASIAN : + return SvxAsianTabPage::GetRanges; + case RID_SVXPAGE_EXT_PARAGRAPH : + return SvxExtParagraphTabPage::GetRanges; + case RID_SVXPAGE_ALIGN_PARAGRAPH : + return SvxParaAlignTabPage::GetRanges; + case RID_SVXPAGE_STD_PARAGRAPH : + return SvxStdParagraphTabPage::GetRanges; + case RID_SVXPAGE_TABULATOR : + return SvxTabulatorTabPage::GetRanges; + case RID_SVXPAGE_TEXTATTR : + return SvxTextAttrPage::GetRanges; + case RID_SVXPAGE_ALIGNMENT : + return svx::AlignmentTabPage::GetRanges; + case RID_SW_TP_BACKGROUND : + case RID_SVXPAGE_BACKGROUND : + return SvxBackgroundTabPage::GetRanges; + case RID_SVXPAGE_BORDER : + return SvxBorderTabPage::GetRanges; + case RID_SVXPAGE_CHAR_NAME : + return SvxCharNamePage::GetRanges; + case RID_SVXPAGE_CHAR_EFFECTS : + return SvxCharEffectsPage::GetRanges; + case RID_SVXPAGE_CHAR_POSITION : + return SvxCharPositionPage::GetRanges; + case RID_SVXPAGE_CHAR_TWOLINES : + return SvxCharTwoLinesPage::GetRanges; + case RID_SVXPAGE_NUMBERFORMAT : + return SvxNumberFormatTabPage::GetRanges; + case RID_SVXPAGE_PAGE : + return SvxPageDescPage::GetRanges; + case RID_SVXPAGE_ASIAN_LAYOUT: + return SvxAsianLayoutPage::GetRanges; + default: + break; + } + + return 0; +} + +SfxAbstractInsertObjectDialog* AbstractDialogFactory_Impl::CreateInsertObjectDialog( Window* pParent, USHORT nSlotId, + const Reference < com::sun::star::embed::XStorage >& xStor, + const SvObjectServerList* pList ) +{ + InsertObjectDialog_Impl* pDlg=0; + switch ( nSlotId ) + { + case SID_INSERT_OBJECT : pDlg = new SvInsertOleDlg( pParent, xStor, pList ); break; + case SID_INSERT_PLUGIN : pDlg = new SvInsertPlugInDialog( pParent, xStor ); break; + case SID_INSERT_APPLET : pDlg = new SvInsertAppletDialog( pParent, xStor ); break; + case SID_INSERT_FLOATINGFRAME : pDlg = new SfxInsertFloatingFrameDialog( pParent, xStor ); break; + default: break; + } + + if ( pDlg ) + { + pDlg->SetHelpId( nSlotId ); + return new AbstractInsertObjectDialog_Impl( pDlg ); + } + return 0; +} + +VclAbstractDialog* AbstractDialogFactory_Impl::CreateEditObjectDialog( Window* pParent, USHORT nSlotId, + const Reference < com::sun::star::embed::XEmbeddedObject >& xObj ) +{ + InsertObjectDialog_Impl* pDlg=0; + switch ( nSlotId ) + { + case SID_INSERT_APPLET : pDlg = new SvInsertAppletDialog( pParent, xObj ); break; + case SID_INSERT_FLOATINGFRAME : pDlg = new SfxInsertFloatingFrameDialog( pParent, xObj ); break; + default: break; + } + + if ( pDlg ) + { + pDlg->SetHelpId( nSlotId ); + return new VclAbstractDialog_Impl( pDlg ); + } + return 0; +} + +SfxAbstractPasteDialog* AbstractDialogFactory_Impl::CreatePasteDialog( Window* pParent ) +{ + return new AbstractPasteDialog_Impl( new SvPasteObjectDialog( pParent ) ); +} + +SfxAbstractLinksDialog* AbstractDialogFactory_Impl::CreateLinksDialog( Window* pParent, sfx2::LinkManager* pMgr, BOOL bHTML, sfx2::SvBaseLink* p) +{ + SvBaseLinksDlg* pLinkDlg = new SvBaseLinksDlg( pParent, pMgr, bHTML ); + if ( p ) + pLinkDlg->SetActLink(p); + return new AbstractLinksDialog_Impl( pLinkDlg ); +} + +SfxAbstractTabDialog* AbstractDialogFactory_Impl::CreateSvxFormatCellsDialog( Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, const SdrObject* /*pObj*/ ) +{ + return new AbstractTabDialog_Impl( new SvxFormatCellsDialog( pParent, pAttr, pModel ) ); +} + +SvxAbstractSplittTableDialog* AbstractDialogFactory_Impl::CreateSvxSplittTableDialog( Window* pParent, bool bIsTableVertical, long nMaxVertical, long nMaxHorizontal ) +{ + return new SvxSplitTableDlg( pParent, bIsTableVertical, nMaxVertical, nMaxHorizontal ); +} + +SvxAbstractNewTableDialog* AbstractDialogFactory_Impl::CreateSvxNewTableDialog( Window* pParent ) +{ + return new SvxNewTableDialog( pParent ); +} + +VclAbstractDialog* AbstractDialogFactory_Impl::CreateOptionsDialog( + Window* pParent, const rtl::OUString& rExtensionId, const rtl::OUString& /*rApplicationContext*/ ) +{ + return new VclAbstractDialog_Impl( new OfaTreeOptionsDialog( pParent, rExtensionId ) ); +} + +SvxAbstractInsRowColDlg* AbstractDialogFactory_Impl::CreateSvxInsRowColDlg( Window* pParent, bool bCol, ULONG nHelpId ) +{ + return new SvxInsRowColDlg( pParent, bCol, nHelpId ); +} diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx new file mode 100644 index 000000000000..844439efbf61 --- /dev/null +++ b/cui/source/factory/dlgfact.hxx @@ -0,0 +1,802 @@ +/************************************************************************* + * + * 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 _CUI_DLGFACT_HXX +#define _CUI_DLGFACT_HXX + +// include --------------------------------------------------------------- +#include <svx/svxdlg.hxx> +#include <com/sun/star/container/XNameReplace.hpp> + +#include "tools/link.hxx" +#include <com/sun/star/frame/XFrame.hpp> + +class SfxTabDialog; +class SfxModalDialog; +class Dialog; +class SfxItemPool; +class FmShowColsDialog; +class SvxZoomDialog; +class FmInputRecordNoDialog; +class SvxJSearchOptionsDialog; +class FmFormShell; +class SvxNewDictionaryDialog; +class SvxNameDialog; + +// #i68101# +class SvxObjectNameDialog; +class SvxObjectTitleDescDialog; + +class SvxMessDialog; +class SvxMultiPathDialog; +class SvxMultiFileDialog; +class SvxHpLinkDlg; +class FmSearchDialog; +class Graphic; +class GraphicFilterDialog; +class SvxAreaTabDialog; +class InsertObjectDialog_Impl; +class SvPasteObjectDialog; +class SvBaseLinksDlg; +class SvxTransformTabDialog; +class SvxCaptionTabDialog; +class SvxThesaurusDialog; +class SvxHyphenWordDialog; + +namespace svx{ +class HangulHanjaConversionDialog; +} +using namespace svx; + +#define DECL_ABSTDLG_BASE(Class,DialogClass) \ + DialogClass* pDlg; \ +public: \ + Class( DialogClass* p) \ + : pDlg(p) \ + {} \ + virtual ~Class(); \ + virtual short Execute() ; +// virtual void Show( BOOL bVisible = TRUE, USHORT nFlags = 0 ) + +#define IMPL_ABSTDLG_BASE(Class) \ +Class::~Class() \ +{ \ + delete pDlg; \ +} \ +short Class::Execute() \ +{ \ + return pDlg->Execute(); \ +} + +//for GalleryThemeProperties begin +class VclAbstractDialog2_Impl : public VclAbstractDialog2 +{ + Dialog* m_pDlg; + Link m_aEndDlgHdl; +public: + VclAbstractDialog2_Impl( Dialog* p ) : m_pDlg( p ) {} \ + virtual ~VclAbstractDialog2_Impl(); + virtual void StartExecuteModal( const Link& rEndDialogHdl ); + virtual long GetResult(); +private: + DECL_LINK( EndDialogHdl, Dialog* ); +}; +//for GalleryThemeProperties end + +class VclAbstractDialog_Impl : public VclAbstractDialog +{ + DECL_ABSTDLG_BASE(VclAbstractDialog_Impl,Dialog) +}; + +//for ActualizeProgress begin +class VclAbstractRefreshableDialog_Impl : public VclAbstractRefreshableDialog +{ + DECL_ABSTDLG_BASE(VclAbstractRefreshableDialog_Impl,Dialog) + virtual void Update() ; + virtual void Sync() ; +}; +//for ActualizeProgress end + +class AbstractSfxDialog_Impl : public SfxAbstractDialog +{ + DECL_ABSTDLG_BASE(AbstractSfxDialog_Impl,SfxModalDialog) + virtual const SfxItemSet* GetOutputItemSet() const; + + //From class Window. + virtual void SetText( const XubString& rStr ); + virtual String GetText() const ; +}; + +class AbstractTabDialog_Impl : public SfxAbstractTabDialog +{ + DECL_ABSTDLG_BASE(AbstractTabDialog_Impl,SfxTabDialog) + virtual void SetCurPageId( USHORT nId ); + virtual const SfxItemSet* GetOutputItemSet() const; + virtual const USHORT* GetInputRanges( const SfxItemPool& pItem ); //add by CHINA001 + virtual void SetInputSet( const SfxItemSet* pInSet ); //add by CHINA001 + //From class Window. + virtual void SetText( const XubString& rStr ); //add by CHINA001 + virtual String GetText() const; //add by CHINA001 +}; + +//for SvxDistributeDialog begin +class SvxDistributeDialog; +class AbstractSvxDistributeDialog_Impl: public AbstractSvxDistributeDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxDistributeDialog_Impl,SvxDistributeDialog) +public: + virtual SvxDistributeHorizontal GetDistributeHor() const; + virtual SvxDistributeVertical GetDistributeVer() const; +}; +//for SvxDistributeDialog end + +// for HangulHanjaConversionDialog begin +class AbstractHangulHanjaConversionDialog_Impl: public AbstractHangulHanjaConversionDialog +{ + DECL_ABSTDLG_BASE(AbstractHangulHanjaConversionDialog_Impl,HangulHanjaConversionDialog) + virtual void EndDialog(long nResult = 0); + virtual void EnableRubySupport( sal_Bool _bVal ); + virtual void SetByCharacter( sal_Bool _bByCharacter ) ; + virtual void SetConversionDirectionState( sal_Bool _bTryBothDirections, editeng::HangulHanjaConversion::ConversionDirection _ePrimaryConversionDirection ); + virtual void SetConversionFormat( editeng::HangulHanjaConversion::ConversionFormat _eType ); + virtual void SetOptionsChangedHdl( const Link& _rHdl ); + virtual void SetIgnoreHdl( const Link& _rHdl ); + virtual void SetIgnoreAllHdl( const Link& _rHdl ) ; + virtual void SetChangeHdl( const Link& _rHdl ) ; + virtual void SetChangeAllHdl( const Link& _rHdl ) ; + virtual void SetClickByCharacterHdl( const Link& _rHdl ) ; + virtual void SetConversionFormatChangedHdl( const Link& _rHdl ) ; + virtual void SetFindHdl( const Link& _rHdl ); + virtual sal_Bool GetUseBothDirections( ) const; + virtual editeng::HangulHanjaConversion::ConversionDirection GetDirection( editeng::HangulHanjaConversion::ConversionDirection _eDefaultDirection ) const; + virtual void SetCurrentString( + const String& _rNewString, + const ::com::sun::star::uno::Sequence< ::rtl::OUString >& _rSuggestions, + bool _bOriginatesFromDocument = true + ); + virtual String GetCurrentString( ) const ; + virtual editeng::HangulHanjaConversion::ConversionFormat GetConversionFormat( ) const ; + virtual void FocusSuggestion( ); + virtual String GetCurrentSuggestion( ) const; +}; + +class AbstractThesaurusDialog_Impl : public AbstractThesaurusDialog +{ + DECL_ABSTDLG_BASE(AbstractThesaurusDialog_Impl,SvxThesaurusDialog) + virtual String GetWord(); + virtual sal_uInt16 GetLanguage() const; + virtual Window* GetWindow(); +}; + + +class AbstractHyphenWordDialog_Impl: public AbstractHyphenWordDialog +{ + DECL_ABSTDLG_BASE(AbstractHyphenWordDialog_Impl,SvxHyphenWordDialog) + virtual void SelLeft(); + virtual void SelRight(); + virtual Window* GetWindow(); +}; + +// for FmShowColsDialog begin +class FmShowColsDialog; +class AbstractFmShowColsDialog_Impl : public AbstractFmShowColsDialog +{ + DECL_ABSTDLG_BASE(AbstractFmShowColsDialog_Impl,FmShowColsDialog) + virtual void SetColumns(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer>& xCols); +}; +//for FmShowColsDialog end + + +//for SvxZoomDialog begin +class SvxZoomDialog; +class AbstractSvxZoomDialog_Impl : public AbstractSvxZoomDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxZoomDialog_Impl,SvxZoomDialog) + virtual void SetLimits( USHORT nMin, USHORT nMax ); + virtual void HideButton( USHORT nBtnId ); + virtual const SfxItemSet* GetOutputItemSet() const ; + +}; +//for SvxZoomDialog end + +//for SvxSpellDialog begin +namespace svx{ class SpellDialog;} +class AbstractSpellDialog_Impl : public AbstractSpellDialog +{ + public: + DECL_ABSTDLG_BASE(AbstractSpellDialog_Impl, svx::SpellDialog) + virtual void SetLanguage( sal_uInt16 nLang ); + virtual sal_Bool Close(); + virtual void Invalidate(); + virtual Window* GetWindow(); + virtual SfxBindings& GetBindings(); +}; + +//for SvxSpellCheckDialog begin +//STRIP001 class AbstractSvxSpellCheckDialog_Impl : public AbstractSvxSpellCheckDialog //add for FmShowColsDialog +//STRIP001 { +//STRIP001 SvxSpellCheckDialog * pDlg; +//STRIP001 public +//STRIP001 AbstractSvxSpellCheckDialog_Impl ( SvxSpellCheckDialog* p) +//STRIP001 : pDlg(p) +//STRIP001 {} +//STRIP001 virtual USHORT Execute() ; +//STRIP001 virtual void SetNewEditWord( const String& _rNew ) ; +//STRIP001 virtual void SetLanguage( sal_uInt16 nLang ) ; +//STRIP001 virtual void HideAutoCorrect() ; +//STRIP001 virtual String GetNewEditWord(); +//STRIP001 virtual void SetNewEditWord( const String& _rNew ); +//STRIP001 } +//for SvxSpellCheckDialog end + + +//for SearchProgress begin +class SearchProgress; +class AbstractSearchProgress_Impl : public AbstractSearchProgress +{ + DECL_ABSTDLG_BASE(AbstractSearchProgress_Impl,SearchProgress) + virtual void Update() ; + virtual void Sync() ; + virtual void SetFileType( const String& rType ) ; + virtual void SetDirectory( const INetURLObject& rURL ) ; + virtual PLinkStub GetLinkStubCleanUpHdl() ; + +}; +//for SearchProgress end + +//for TakeProgress begin +class TakeProgress; +class AbstractTakeProgress_Impl : public AbstractTakeProgress +{ + DECL_ABSTDLG_BASE(AbstractTakeProgress_Impl,TakeProgress) + virtual void Update() ; + virtual void Sync() ; + virtual void SetFile( const INetURLObject& rURL ) ; + virtual PLinkStub GetLinkStubCleanUpHdl() ; + +}; +//for TakeProgress end + +//for TitleDialog begin +class TitleDialog; +class AbstractTitleDialog_Impl : public AbstractTitleDialog +{ + DECL_ABSTDLG_BASE(AbstractTitleDialog_Impl,TitleDialog) + virtual String GetTitle() const ; + +}; +//for TitleDialog end + +//for SvxScriptSelectorDialog begin +class SvxScriptSelectorDialog; +class AbstractScriptSelectorDialog_Impl : public AbstractScriptSelectorDialog +{ + DECL_ABSTDLG_BASE( + AbstractScriptSelectorDialog_Impl, SvxScriptSelectorDialog) + + virtual String GetScriptURL() const; + + virtual void SetRunLabel(); +}; + +//for GalleryIdDialog begin +class GalleryIdDialog; +class AbstractGalleryIdDialog_Impl : public AbstractGalleryIdDialog +{ + DECL_ABSTDLG_BASE(AbstractGalleryIdDialog_Impl,GalleryIdDialog) + virtual ULONG GetId() const ; + +}; +//for GalleryIdDialog end + +//for URLDlg start +class URLDlg; +class AbstractURLDlg_Impl :public AbstractURLDlg +{ + DECL_ABSTDLG_BASE(AbstractURLDlg_Impl,URLDlg) + virtual String GetURL() const; + virtual String GetAltText() const; + virtual String GetDesc() const; + virtual String GetTarget() const; + virtual String GetName() const; +}; +//for URLDlg end + +//for SvxHlinkDlgMarkWnd begin +class SvxHlinkDlgMarkWnd; +class AbstractSvxHlinkDlgMarkWnd_Impl : public AbstractSvxHlinkDlgMarkWnd +{ + DECL_ABSTDLG_BASE(AbstractSvxHlinkDlgMarkWnd_Impl,SvxHlinkDlgMarkWnd) + virtual void Hide( USHORT nFlags = 0 ); + virtual BOOL IsVisible() const ; + virtual void Invalidate( USHORT nFlags = 0 ); + virtual void SetSizePixel( const Size& rNewSize ); + virtual Size GetSizePixel() const; + virtual BOOL MoveTo ( Point aNewPos )const; + virtual BOOL ConnectToDialog( BOOL bDoit = TRUE )const; + virtual void RefreshTree ( String aStrURL ) ; + virtual void SelectEntry ( String aStrMark ); + virtual USHORT SetError( USHORT nError) ; + +}; +//for SvxHlinkDlgMarkWnd end + +//for SvxSearchSimilarityDialog begin +class SvxSearchSimilarityDialog; +class AbstractSvxSearchSimilarityDialog_Impl :public AbstractSvxSearchSimilarityDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxSearchSimilarityDialog_Impl,SvxSearchSimilarityDialog) + virtual USHORT GetOther(); + virtual USHORT GetShorter(); + virtual USHORT GetLonger(); + virtual BOOL IsRelaxed(); +}; +//for SvxSearchSimilarityDialog end + +//for SvxJSearchOptionsDialog end +class SvxJSearchOptionsDialog; +class AbstractSvxJSearchOptionsDialog_Impl :public AbstractSvxJSearchOptionsDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxJSearchOptionsDialog_Impl,SvxJSearchOptionsDialog) + virtual INT32 GetTransliterationFlags() const; +}; +//for SvxJSearchOptionsDialog end + +class AbstractSvxTransformTabDialog_Impl : public AbstractSvxTransformTabDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxTransformTabDialog_Impl,SvxTransformTabDialog) + virtual void SetValidateFramePosLink( const Link& rLink ); + virtual void SetCurPageId( USHORT nId ); + virtual const SfxItemSet* GetOutputItemSet() const; + virtual const USHORT* GetInputRanges( const SfxItemPool& pItem ); + virtual void SetInputSet( const SfxItemSet* pInSet ); + virtual void SetText( const XubString& rStr ); + virtual String GetText() const; +}; +class AbstractSvxCaptionDialog_Impl : public AbstractSvxCaptionDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxCaptionDialog_Impl,SvxCaptionTabDialog) + virtual void SetValidateFramePosLink( const Link& rLink ); + virtual void SetCurPageId( USHORT nId ); + virtual const SfxItemSet* GetOutputItemSet() const; + virtual const USHORT* GetInputRanges( const SfxItemPool& pItem ); + virtual void SetInputSet( const SfxItemSet* pInSet ); + virtual void SetText( const XubString& rStr ); + virtual String GetText() const; +}; + +//for FmInputRecordNoDialog end +class FmInputRecordNoDialog; +class AbstractFmInputRecordNoDialog_Impl :public AbstractFmInputRecordNoDialog +{ + DECL_ABSTDLG_BASE(AbstractFmInputRecordNoDialog_Impl,FmInputRecordNoDialog) + virtual void SetValue(long nNew) ; + virtual long GetValue() const ; +}; +//for FmInputRecordNoDialog end + +//for SvxNewDictionaryDialog end +class SvxNewDictionaryDialog; +class AbstractSvxNewDictionaryDialog_Impl :public AbstractSvxNewDictionaryDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxNewDictionaryDialog_Impl,SvxNewDictionaryDialog) + virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionary > GetNewDictionary(); +}; +//for SvxNewDictionaryDialog end + +//for SvxNameDialog end +class SvxNameDialog; +class AbstractSvxNameDialog_Impl :public AbstractSvxNameDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxNameDialog_Impl,SvxNameDialog) + virtual void GetName( String& rName ) ; + virtual void SetCheckNameHdl( const Link& rLink, bool bCheckImmediately = false ) ; + virtual void SetEditHelpId(ULONG nHelpId) ; + //from class Window + virtual void SetHelpId( ULONG nHelpId ) ; + virtual void SetText( const XubString& rStr ) ; +private: + Link aCheckNameHdl; + DECL_LINK( CheckNameHdl, Window*); +}; +//for SvxNameDialog end + +/////////////////////////////////////////////////////////////////////////////////////////////// +// #i68101# + +// predefines +class SvxObjectNameDialog; +class SvxObjectTitleDescDialog; + +class AbstractSvxObjectNameDialog_Impl :public AbstractSvxObjectNameDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxObjectNameDialog_Impl, SvxObjectNameDialog) + virtual void GetName(String& rName) ; + virtual void SetCheckNameHdl(const Link& rLink, bool bCheckImmediately = false); + +private: + Link aCheckNameHdl; + DECL_LINK(CheckNameHdl, Window*); +}; + +class AbstractSvxObjectTitleDescDialog_Impl :public AbstractSvxObjectTitleDescDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxObjectTitleDescDialog_Impl, SvxObjectTitleDescDialog) + virtual void GetTitle(String& rName); + virtual void GetDescription(String& rName); +}; + +/////////////////////////////////////////////////////////////////////////////////////////////// + +//for SvxMessDialog end +class SvxMessDialog; +class AbstractSvxMessDialog_Impl :public AbstractSvxMessDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxMessDialog_Impl,SvxMessDialog) + virtual void SetButtonText( USHORT nBtnId, const String& rNewTxt ); +}; +//for SvxMessDialog end + +//for SvxMultiPathDialog end +class SvxMultiPathDialog; +class AbstractSvxMultiPathDialog_Impl :public AbstractSvxMultiPathDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxMultiPathDialog_Impl,SvxMultiPathDialog) + virtual String GetPath() const; + virtual void SetPath( const String& rPath ); + virtual void EnableRadioButtonMode(); + virtual void SetTitle( const String& rNewTitle ); +}; +//for SvxMultiPathDialog end + +//for SvxMultiFileDialog begin +class SvxMultiFileDialog; +class AbstractSvxMultiFileDialog_Impl :public AbstractSvxMultiFileDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxMultiFileDialog_Impl,SvxMultiFileDialog) + virtual String GetFiles() const ; + virtual void SetFiles( const String& rPath ) ; + //from SvxMultiPathDialog + virtual String GetPath() const; + virtual void SetPath( const String& rPath ); + virtual void SetClassPathMode(); + virtual void EnableRadioButtonMode(); + virtual void SetTitle( const String& rNewTitle ); + //From Class Window + virtual void SetHelpId( ULONG nHelpId ) ; + +}; +//for SvxMultiFileDialog end + +//for SvxHpLinkDlg begin +class SvxHpLinkDlg; +class AbstractSvxHpLinkDlg_Impl :public AbstractSvxHpLinkDlg +{ + DECL_ABSTDLG_BASE(AbstractSvxHpLinkDlg_Impl,SvxHpLinkDlg) + virtual Window* GetWindow(); + virtual sal_Bool QueryClose(); +}; +//for SvxHpLinkDlg end + +//for FmSearchDialog begin +class FmSearchDialog; +class AbstractFmSearchDialog_Impl :public AbstractFmSearchDialog +{ + DECL_ABSTDLG_BASE(AbstractFmSearchDialog_Impl,FmSearchDialog) + virtual void SetFoundHandler(const Link& lnk) ; + virtual void SetCanceledNotFoundHdl(const Link& lnk); + virtual void SetActiveField(const String& strField); +}; +//for FmSearchDialog end + +//for GraphicFilterDialog begin +class GraphicFilterDialog; +class AbstractGraphicFilterDialog_Impl :public AbstractGraphicFilterDialog +{ + DECL_ABSTDLG_BASE(AbstractGraphicFilterDialog_Impl,GraphicFilterDialog) + virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ); +}; +//for GraphicFilterDialog end + +//add for SvxAreaTabDialog begin +class SvxAreaTabDialog; +class AbstractSvxAreaTabDialog_Impl :public AbstractSvxAreaTabDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxAreaTabDialog_Impl,SvxAreaTabDialog) + virtual void SetCurPageId( USHORT nId ); + virtual const SfxItemSet* GetOutputItemSet() const; + virtual const USHORT* GetInputRanges( const SfxItemPool& pItem ); + virtual void SetInputSet( const SfxItemSet* pInSet ); + //From class Window. + virtual void SetText( const XubString& rStr ); + virtual String GetText() const; + virtual void DontDeleteColorTable() ; +}; +//add for SvxAreaTabDialog end + +class AbstractInsertObjectDialog_Impl : public SfxAbstractInsertObjectDialog +{ + DECL_ABSTDLG_BASE(AbstractInsertObjectDialog_Impl, InsertObjectDialog_Impl) + virtual com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject > GetObject(); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > GetIconIfIconified( ::rtl::OUString* pGraphicMediaType ); + virtual BOOL IsCreateNew(); +}; + +class AbstractPasteDialog_Impl : public SfxAbstractPasteDialog +{ +public: + DECL_ABSTDLG_BASE(AbstractPasteDialog_Impl, SvPasteObjectDialog ) + virtual void Insert( SotFormatStringId nFormat, const String & rFormatName ); + virtual void SetObjName( const SvGlobalName & rClass, const String & rObjName ); + virtual ULONG GetFormat( const TransferableDataHelper& aHelper, + const DataFlavorExVector* pFormats=0, + const TransferableObjectDescriptor* pDesc=0 ); +}; + +class AbstractLinksDialog_Impl : public SfxAbstractLinksDialog +{ +public: + DECL_ABSTDLG_BASE(AbstractLinksDialog_Impl, SvBaseLinksDlg ) +}; + + +//add for SvxPostItDialog begin +class SvxPostItDialog; +class AbstractSvxPostItDialog_Impl :public AbstractSvxPostItDialog +{ + DECL_ABSTDLG_BASE( AbstractSvxPostItDialog_Impl, SvxPostItDialog ) + virtual void SetText( const XubString& rStr ); //From class Window + virtual const SfxItemSet* GetOutputItemSet() const; + virtual void SetPrevHdl( const Link& rLink ) ; + virtual void SetNextHdl( const Link& rLink ) ; + virtual void EnableTravel(BOOL bNext, BOOL bPrev) ; + virtual String GetNote() ; + virtual void SetNote(const String& rTxt) ; + virtual void ShowLastAuthor(const String& rAuthor, const String& rDate) ; + virtual void DontChangeAuthor() ; + virtual void HideAuthor() ; + virtual void SetReadonlyPostIt(BOOL bDisable) ; + virtual BOOL IsOkEnabled() const ; + virtual Window * GetWindow(); +private: + Link aNextHdl; + Link aPrevHdl; + DECL_LINK( NextHdl, Window*); + DECL_LINK( PrevHdl, Window*); +}; +//add for SvxPostItDialog end + +//------------------------------------------------------------------------ +//AbstractDialogFactory_Impl implementations +class AbstractDialogFactory_Impl : public SvxAbstractDialogFactory +{ +public: + virtual VclAbstractDialog* CreateVclDialog( Window* pParent, sal_uInt32 nResId ); + virtual VclAbstractDialog* CreateSfxDialog( Window* pParent, const SfxBindings& rBindings, sal_uInt32 nResId ); + virtual SfxAbstractDialog* CreateSfxDialog( sal_uInt32 nResId, + Window* pParent, + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xViewFrame, + const SfxItemSet* pAttrSet=0 ); + virtual SfxAbstractDialog* CreateSfxDialog( Window* pParent, + const SfxItemSet& rAttr, + const SdrView* pView, + sal_uInt32 nResId ); + virtual SfxAbstractDialog* CreateSfxDialog( Window* pParent, //add for SvxMeasureDialog & SvxConnectionDialog + const SfxItemSet& rAttr, + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame, + sal_uInt32 nResId + ); + virtual VclAbstractDialog* CreateFrameDialog( Window* pParent, const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame, sal_uInt32 nResId, const String& rParameter ); + virtual SfxAbstractTabDialog* CreateTabDialog( sal_uInt32 nResId, + Window* pParent, + const SfxItemSet* pAttrSet, + SfxViewFrame* pViewFrame, + bool bEditFmt=false, + const String *pUserButtonText=0 ); + virtual SfxAbstractTabDialog* CreateTabDialog( sal_uInt32 nResId, + Window* pParent, + const SfxItemSet* pAttrSet, + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xViewFrame, + bool bEditFmt=false, + const String *pUserButtonText=0 ); + virtual SfxAbstractTabDialog* CreateTextTabDialog( Window* pParent, + const SfxItemSet* pAttrSet, + SdrView* pView, + SdrModel* pModel=0 ); //add for SvxTextTabDialog + virtual SfxAbstractTabDialog* CreateTabItemDialog( Window* pParent, + const SfxItemSet& rSet, + sal_uInt32 nResId); //add by CHINA001 + virtual AbstractSvxCaptionDialog* CreateCaptionDialog( Window* pParent, + const SdrView* pView, + USHORT nAnchorTypes = 0 ); //add for SvxCaptionTabDialog CHINA001 + virtual AbstractSvxDistributeDialog* CreateSvxDistributeDialog(Window* pParent, + const SfxItemSet& rAttr, + SvxDistributeHorizontal eHor = SvxDistributeHorizontalNone, + SvxDistributeVertical eVer = SvxDistributeVerticalNone); + virtual SfxAbstractInsertObjectDialog* CreateInsertObjectDialog( Window* pParent, USHORT nSlotId, + const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& xStor, + const SvObjectServerList* pList = 0 ); + virtual VclAbstractDialog* CreateEditObjectDialog( Window* pParent, USHORT nSlotId, + const com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject >& xObj ); + virtual SfxAbstractPasteDialog* CreatePasteDialog( Window* pParent ); + virtual SfxAbstractLinksDialog* CreateLinksDialog( Window* pParent, sfx2::LinkManager* pMgr, BOOL bHTML, sfx2::SvBaseLink* p=0 ); + + virtual AbstractHangulHanjaConversionDialog * CreateHangulHanjaConversionDialog( Window* _pParent, //add for HangulHanjaConversionDialog CHINA001 + editeng::HangulHanjaConversion::ConversionDirection _ePrimaryDirection ); + virtual AbstractThesaurusDialog* CreateThesaurusDialog( Window*, ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XThesaurus > xThesaurus, + const String &rWord, sal_Int16 nLanguage ); + + virtual AbstractHyphenWordDialog* CreateHyphenWordDialog( Window*, + const String &rWord, LanguageType nLang, + ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XHyphenator > &xHyphen, + SvxSpellWrapper* pWrapper ); + + virtual AbstractFmShowColsDialog * CreateFmShowColsDialog( Window* pParent ); //add for FmShowColsDialog + virtual AbstractSvxZoomDialog * CreateSvxZoomDialog( Window* pParent, //add for SvxZoomDialog + const SfxItemSet& rCoreSet); + virtual SfxAbstractTabDialog* CreateSvxBorderBackgroundDlg( Window* pParent, //add for SvxBorderBackgroundDlg + const SfxItemSet& rCoreSet, + BOOL bEnableSelector = FALSE) ; + virtual AbstractSvxTransformTabDialog* CreateSvxTransformTabDialog( Window* pParent, //add for SvxTransformTabDialog + const SfxItemSet* pAttr, + const SdrView* pView, + USHORT nAnchorTypes = 0) ; + virtual SfxAbstractTabDialog* CreateSchTransformTabDialog( Window* pParent, //add for SchTransformTabDialog + const SfxItemSet* pAttr, + const SdrView* pSdrView, + sal_uInt32 nResId, + bool bSizeTabPage = false + ); + virtual AbstractSpellDialog * CreateSvxSpellDialog( + Window* pParent, + SfxBindings* pBindings, + svx::SpellDialogChildWindow* pSpellChildWindow ); + +//STRIP001 virtual AbstractSvxSpellCheckDialog * CreateSvxSpellCheckDialog( Window* pParent, //add for SvxSpellCheckDialog +//STRIP001 ::com::sun::star::uno::Reference< +//STRIP001 ::com::sun::star::linguistic2::XSpellChecker1 > &xChecker, +//STRIP001 SvxSpellWrapper* pWrapper, +//STRIP001 sal_uInt32 nResId); + virtual VclAbstractRefreshableDialog * CreateActualizeProgressDialog( Window* pParent, GalleryTheme* pThm ); + virtual AbstractSearchProgress * CreateSearchProgressDialog( Window* pParent, + const INetURLObject& rStartURL); + virtual AbstractTakeProgress * CreateTakeProgressDialog( Window* pParent ); + virtual AbstractTitleDialog * CreateTitleDialog( Window* pParent, //add for TitleDialog + const String& rOldText); + virtual AbstractGalleryIdDialog * CreateGalleryIdDialog( Window* pParent, //add for SvxZoomDialog + GalleryTheme* pThm); + virtual VclAbstractDialog2 * CreateGalleryThemePropertiesDialog( Window* pParent, //add for GalleryThemeProperties + ExchangeData* pData, + SfxItemSet* pItemSet); + virtual AbstractURLDlg * CreateURLDialog( Window* pParent, //add for URLDlg + const String& rURL, const String& rAltText, const String& rDescription, + const String& rTarget, const String& rName, + TargetList& rTargetList ); + virtual AbstractSvxHlinkDlgMarkWnd* CreateSvxHlinkDlgMarkWndDialog( SvxHyperlinkTabPageBase* pParent, sal_uInt32 nResId ); //add for SvxHlinkDlgMarkWnd + + virtual VclAbstractDialog* CreateSvxSearchAttributeDialog( Window* pParent, + SearchAttrItemList& rLst, + const USHORT* pWhRanges); + virtual AbstractSvxSearchSimilarityDialog * CreateSvxSearchSimilarityDialog( Window* pParent, + BOOL bRelax, + USHORT nOther, + USHORT nShorter, + USHORT nLonger); //add for SvxSearchSimilarityDialog + virtual AbstractSvxJSearchOptionsDialog * CreateSvxJSearchOptionsDialog( Window* pParent, + const SfxItemSet& rOptionsSet, + INT32 nInitialFlags); + virtual AbstractFmInputRecordNoDialog * CreateFmInputRecordNoDialog( Window* pParent ); + virtual AbstractSvxNewDictionaryDialog* CreateSvxNewDictionaryDialog( Window* pParent, + ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XSpellChecker1 > &xSpl, + sal_uInt32 nResId ); //add for SvxNewDictionaryDialog + virtual VclAbstractDialog * CreateSvxEditDictionaryDialog( Window* pParent, + const String& rName, + ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XSpellChecker1> &xSpl, + sal_uInt32 nResId);//add for SvxEditDictionaryDialog + virtual AbstractSvxNameDialog * CreateSvxNameDialog( Window* pParent, + const String& rName, const String& rDesc ); + // #i68101# + virtual AbstractSvxObjectNameDialog* CreateSvxObjectNameDialog(Window* pParent, const String& rName ); + virtual AbstractSvxObjectTitleDescDialog* CreateSvxObjectTitleDescDialog(Window* pParent, const String& rTitle, const String& rDescription); + + virtual AbstractSvxMessDialog * CreateSvxMessDialog( Window* pParent, sal_uInt32 nResId, + const String& rText, const String& rDesc, + Image* pImg = NULL ); //add for SvxMessDialog + virtual AbstractSvxMultiPathDialog * CreateSvxMultiPathDialog( Window* pParent, BOOL bEmptyAllowed = FALSE ); //add for SvxMultiPathDialog + virtual AbstractSvxMultiFileDialog * CreateSvxMultiFileDialog( Window* pParent, BOOL bEmptyAllowed = FALSE ); //add for SvxMultiFileDialog + virtual AbstractSvxHpLinkDlg * CreateSvxHpLinkDlg (Window* pParent, //add for SvxHpLink + SfxBindings* pBindings, + sal_uInt32 nResId); + virtual AbstractFmSearchDialog* CreateFmSearchDialog(Window* pParent, //add for FmSearchDialog + const String& strInitialText, + const ::std::vector< String >& _rContexts, + sal_Int16 nInitialContext, + const Link& lnkContextSupplier); + virtual AbstractGraphicFilterDialog * CreateGraphicFilterEmboss (Window* pParent, //add for GraphicFilterEmboss + const Graphic& rGraphic, + RECT_POINT eLightSource, sal_uInt32 nResId); + virtual AbstractGraphicFilterDialog * CreateGraphicFilterPosterSepia (Window* pParent, //add for GraphicFilterPoster & GraphicFilterSepia + const Graphic& rGraphic, + USHORT nCount, + sal_uInt32 nResId); + virtual AbstractGraphicFilterDialog * CreateGraphicFilterSolarize (Window* pParent, //add for GraphicFilterSolarize + const Graphic& rGraphic, + BYTE nGreyThreshold, BOOL bInvert, sal_uInt32 nResId); + virtual AbstractGraphicFilterDialog * CreateGraphicFilterMosaic (Window* pParent, //add for GraphicFilterMosaic + const Graphic& rGraphic, + USHORT nTileWidth, USHORT nTileHeight, BOOL bEnhanceEdges, sal_uInt32 nResId); + virtual AbstractSvxAreaTabDialog* CreateSvxAreaTabDialog( Window* pParent,//add for SvxAreaTabDialog + const SfxItemSet* pAttr, + SdrModel* pModel, + const SdrView* pSdrView = NULL ); //add for SvxAreaTabDialog + virtual SfxAbstractTabDialog* CreateSvxLineTabDialog( Window* pParent, const SfxItemSet* pAttr, //add for SvxLineTabDialog + SdrModel* pModel, + const SdrObject* pObj = NULL, + BOOL bHasObj = TRUE ); + virtual AbstractSvxPostItDialog* CreateSvxPostItDialog( Window* pParent, //add for SvxPostItDialog + const SfxItemSet& rCoreSet, + BOOL bPrevNext = FALSE, BOOL bRedline = FALSE ); + + // For TabPage + virtual CreateTabPage GetTabPageCreatorFunc( USHORT nId ); + virtual CreateSvxDistributePage GetSvxDistributePageCreatorFunc(); + + virtual GetTabPageRanges GetTabPageRangesFunc( USHORT nId ); + virtual DialogGetRanges GetDialogGetRangesFunc( USHORT nId ); //add for SvxPostItDialog + virtual VclAbstractDialog* CreateSvxScriptOrgDialog( Window* pParent, const String& rLanguage ); + + virtual AbstractScriptSelectorDialog* + CreateScriptSelectorDialog( + Window* pParent, + BOOL bShowSlots, + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame + ); + + virtual VclAbstractDialog* CreateScriptErrorDialog( + Window* pParent, ::com::sun::star::uno::Any aException); + + virtual VclAbstractDialog* CreateSvxMacroAssignDlg( + Window* _pParent, + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxDocumentFrame, + const bool _bUnoDialogMode, + const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameReplace >& _rxEvents, + const sal_uInt16 _nInitiallySelectedEvent + ); + + virtual SfxAbstractTabDialog* CreateSvxFormatCellsDialog( Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, const SdrObject* pObj = NULL ); + + virtual SvxAbstractSplittTableDialog* CreateSvxSplittTableDialog( Window* pParent, bool bIsTableVertical, long nMaxVertical, long nMaxHorizontal ); + + virtual SvxAbstractNewTableDialog* CreateSvxNewTableDialog( Window* pParent ) ; + + virtual VclAbstractDialog* CreateOptionsDialog( + Window* pParent, const rtl::OUString& rExtensionId, const rtl::OUString& rApplicationContext ); + + virtual SvxAbstractInsRowColDlg* CreateSvxInsRowColDlg( Window* pParent, bool bCol, ULONG nHelpId ); +}; + +#endif + diff --git a/cui/source/factory/init.cxx b/cui/source/factory/init.cxx new file mode 100644 index 000000000000..19df0ac00e7b --- /dev/null +++ b/cui/source/factory/init.cxx @@ -0,0 +1,53 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_cui.hxx" + +#include <vcl/msgbox.hxx> +#include "cuicharmap.hxx" + +// ------------------------------------------------------------------------ +// hook to call special character dialog for edits +// caution: needs C-Linkage since dynamically loaded via symbol name +extern "C" +{ +SAL_DLLPUBLIC_EXPORT bool GetSpecialCharsForEdit(Window* i_pParent, const Font& i_rFont, String& o_rResult) +{ + bool bRet = false; + SvxCharacterMap* aDlg = new SvxCharacterMap( i_pParent ); + aDlg->DisableFontSelection(); + aDlg->SetCharFont(i_rFont); + if ( aDlg->Execute() == RET_OK ) + { + o_rResult = aDlg->GetCharacters(); + bRet = true; + } + delete aDlg; + return bRet; +} +} diff --git a/cui/source/factory/makefile.mk b/cui/source/factory/makefile.mk new file mode 100644 index 000000000000..1ccbbdb3b677 --- /dev/null +++ b/cui/source/factory/makefile.mk @@ -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. +# +#************************************************************************* +PRJ=..$/.. +PRJNAME=cui +TARGET=factory +ENABLE_EXCEPTIONS=TRUE + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +.IF "$(ENABLE_LAYOUT)" == "TRUE" +CFLAGS+= -DENABLE_LAYOUT=1 -I../$(PRJ)/layout/inc -I../$(PRJ)/layout/$(INPATH)/inc +.ENDIF # ENABLE_LAYOUT == TRUE + +# --- Files -------------------------------------------------------- + +SLOFILES+=\ + $(SLO)$/dlgfact.obj \ + $(SLO)$/cuiexp.obj \ + $(SLO)$/cuiresmgr.obj \ + $(SLO)$/init.obj \ + + +# --- Targets ------------------------------------------------------- + +.INCLUDE : target.mk |