2000-09-18 16:07:07 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
|
|
|
* $RCSfile: srchdlg.hxx,v $
|
|
|
|
*
|
2001-09-04 10:17:11 +00:00
|
|
|
* $Revision: 1.7 $
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2001-09-04 10:17:11 +00:00
|
|
|
* last change: $Author: gt $ $Date: 2001-09-04 11:17:11 $
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
|
|
|
* The Contents of this file are made available subject to the terms of
|
|
|
|
* either of the following licenses
|
|
|
|
*
|
|
|
|
* - GNU Lesser General Public License Version 2.1
|
|
|
|
* - Sun Industry Standards Source License Version 1.1
|
|
|
|
*
|
|
|
|
* Sun Microsystems Inc., October, 2000
|
|
|
|
*
|
|
|
|
* GNU Lesser General Public License Version 2.1
|
|
|
|
* =============================================
|
|
|
|
* Copyright 2000 by Sun Microsystems, Inc.
|
|
|
|
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License version 2.1, as published by the Free Software Foundation.
|
|
|
|
*
|
|
|
|
* This library 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 for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
|
|
* MA 02111-1307 USA
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Sun Industry Standards Source License Version 1.1
|
|
|
|
* =================================================
|
|
|
|
* The contents of this file are subject to the Sun Industry Standards
|
|
|
|
* Source License Version 1.1 (the "License"); You may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of the
|
|
|
|
* License at http://www.openoffice.org/license.html.
|
|
|
|
*
|
|
|
|
* Software provided under this License is provided on an "AS IS" basis,
|
|
|
|
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
|
|
|
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
|
|
|
|
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
|
|
|
|
* See the License for the specific provisions governing your rights and
|
|
|
|
* obligations concerning the Software.
|
|
|
|
*
|
|
|
|
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
|
|
|
|
*
|
|
|
|
* Copyright: 2000 by Sun Microsystems, Inc.
|
|
|
|
*
|
|
|
|
* All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s): _______________________________________
|
|
|
|
*
|
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
#ifndef _SVX_SRCHDLG_HXX
|
|
|
|
#define _SVX_SRCHDLG_HXX
|
|
|
|
|
|
|
|
// include ---------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _STDCTRL_HXX //autogen
|
|
|
|
#include <svtools/stdctrl.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _COMBOBOX_HXX //autogen
|
|
|
|
#include <vcl/combobox.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _EDIT_HXX //autogen
|
|
|
|
#include <vcl/edit.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _LSTBOX_HXX //autogen
|
|
|
|
#include <vcl/lstbox.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _BUTTON_HXX //autogen
|
|
|
|
#include <vcl/button.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _GROUP_HXX //autogen
|
|
|
|
#include <vcl/group.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _FIXED_HXX //autogen
|
|
|
|
#include <vcl/fixed.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _DIALOG_HXX //autogen
|
|
|
|
#include <vcl/dialog.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _SFX_CHILDWIN_HXX //autogen
|
|
|
|
#include <sfx2/childwin.hxx>
|
|
|
|
#endif
|
2001-02-23 12:12:55 +00:00
|
|
|
#ifndef _BASEDLGS_HXX
|
|
|
|
#include <sfx2/basedlgs.hxx>
|
|
|
|
#endif
|
2000-09-18 16:07:07 +00:00
|
|
|
#ifndef _SVARRAY_HXX //autogen
|
|
|
|
#include <svtools/svarray.hxx>
|
|
|
|
#endif
|
|
|
|
#define _SVSTDARR_STRINGSDTOR
|
|
|
|
#include <svtools/svstdarr.hxx>
|
|
|
|
|
|
|
|
#ifndef _SVEDIT_HXX //autogen
|
|
|
|
#include <svtools/svmedit.hxx>
|
|
|
|
#endif
|
|
|
|
|
2001-02-21 12:28:07 +00:00
|
|
|
#ifndef _SFX_SRCHDEFS_HXX_
|
|
|
|
#include <sfx2/srchdefs.hxx>
|
|
|
|
#endif
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// forward ---------------------------------------------------------------
|
|
|
|
|
|
|
|
class SvxSearchItem;
|
|
|
|
class MoreButton;
|
|
|
|
class SfxStyleSheetBasePool;
|
2001-02-23 12:12:55 +00:00
|
|
|
class SvxJSearchOptionsPage;
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
struct SearchDlg_Impl;
|
|
|
|
|
|
|
|
#ifndef NO_SVX_SEARCH
|
|
|
|
|
|
|
|
// struct SearchAttrItem -------------------------------------------------
|
|
|
|
|
|
|
|
struct SearchAttrItem
|
|
|
|
{
|
|
|
|
USHORT nSlot;
|
|
|
|
SfxPoolItem* pItem;
|
|
|
|
};
|
|
|
|
|
|
|
|
// class SearchAttrItemList ----------------------------------------------
|
|
|
|
|
|
|
|
SV_DECL_VARARR(SrchAttrItemList, SearchAttrItem, 8, 8);
|
|
|
|
|
|
|
|
class SearchAttrItemList : private SrchAttrItemList
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SearchAttrItemList() {}
|
|
|
|
SearchAttrItemList( const SearchAttrItemList& rList );
|
|
|
|
~SearchAttrItemList();
|
|
|
|
|
|
|
|
void Put( const SfxItemSet& rSet );
|
|
|
|
SfxItemSet& Get( SfxItemSet& rSet );
|
|
|
|
void Clear();
|
|
|
|
USHORT Count() const { return SrchAttrItemList::Count(); }
|
|
|
|
SearchAttrItem& operator[](USHORT nPos) const
|
|
|
|
{ return SrchAttrItemList::operator[]( nPos ); }
|
|
|
|
SearchAttrItem& GetObject( USHORT nPos ) const
|
|
|
|
{ return SrchAttrItemList::GetObject( nPos ); }
|
|
|
|
|
|
|
|
// der Pointer auf das Item wird nicht kopiert!!! (also nicht l"oschen)
|
|
|
|
void Insert( const SearchAttrItem& rItem )
|
|
|
|
{ SrchAttrItemList::Insert( rItem, SrchAttrItemList::Count() ); }
|
|
|
|
// l"oscht die Pointer auf die Items
|
|
|
|
void Remove( USHORT nPos, USHORT nLen = 1 );
|
|
|
|
};
|
|
|
|
|
|
|
|
#ifndef SV_NODIALOG
|
|
|
|
|
|
|
|
// class SvxSearchDialogWrapper ------------------------------------------
|
|
|
|
|
|
|
|
class SvxSearchDialogWrapper : public SfxChildWindow
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SvxSearchDialogWrapper( Window*pParent, USHORT nId,
|
|
|
|
SfxBindings* pBindings, SfxChildWinInfo* pInfo );
|
|
|
|
|
|
|
|
SFX_DECL_CHILDWINDOW(SvxSearchDialogWrapper);
|
|
|
|
};
|
|
|
|
|
|
|
|
// class SvxSearchDialog -------------------------------------------------
|
|
|
|
|
|
|
|
/*
|
|
|
|
{k:\svx\prototyp\dialog\srchdlg.hxx}
|
|
|
|
|
|
|
|
[Beschreibung]
|
|
|
|
In diesem Modeless-Dialog werden die Attribute einer Suche eingestellt
|
|
|
|
und damit eine Suche gestartet. Es sind mehrere Sucharten
|
|
|
|
( Suchen, Alle suchen, Ersetzen, Alle ersetzen ) m"oglich.
|
|
|
|
|
|
|
|
[Items]
|
|
|
|
<SvxSearchItem><SID_ATTR_SEARCH>
|
|
|
|
*/
|
|
|
|
|
|
|
|
class SvxSearchDialog : public ModelessDialog
|
|
|
|
{
|
|
|
|
friend class SvxSearchController;
|
|
|
|
friend class SvxSearchDialogWrapper;
|
2001-02-23 12:12:55 +00:00
|
|
|
friend class SvxJSearchOptionsDialog;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
SvxSearchDialog( Window* pParent, SfxBindings& rBind );
|
|
|
|
~SvxSearchDialog();
|
|
|
|
|
|
|
|
virtual BOOL Close();
|
|
|
|
|
2001-02-23 12:12:55 +00:00
|
|
|
// Window
|
|
|
|
virtual void Activate();
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
void GetSearchItems( SfxItemSet& rSet );
|
|
|
|
void GetReplaceItems( SfxItemSet& rSet );
|
|
|
|
|
|
|
|
const SearchAttrItemList* GetSearchItemList() const
|
|
|
|
{ return pSearchList; }
|
|
|
|
const SearchAttrItemList* GetReplaceItemList() const
|
|
|
|
{ return pReplaceList; }
|
|
|
|
|
2001-02-19 10:18:17 +00:00
|
|
|
inline BOOL HasSearchAttributes() const;
|
|
|
|
inline BOOL HasReplaceAttributes() const;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
PushButton& GetReplaceBtn() { return aReplaceBtn; }
|
|
|
|
|
2001-02-21 12:28:07 +00:00
|
|
|
INT32 GetTransliterationFlags() const;
|
2001-02-19 10:18:17 +00:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
private:
|
|
|
|
FixedText aSearchText;
|
|
|
|
ComboBox aSearchLB;
|
|
|
|
ListBox aSearchTmplLB;
|
|
|
|
FixedInfo aSearchAttrText;
|
2001-09-04 10:17:11 +00:00
|
|
|
#if SUPD < 641 || defined( GT_DEBUG )
|
2000-09-18 16:07:07 +00:00
|
|
|
MultiLineEdit aSearchFormatsED;
|
2001-09-04 10:17:11 +00:00
|
|
|
#endif
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
FixedText aReplaceText;
|
|
|
|
ComboBox aReplaceLB;
|
|
|
|
ListBox aReplaceTmplLB;
|
|
|
|
FixedInfo aReplaceAttrText;
|
2001-09-04 10:17:11 +00:00
|
|
|
#if SUPD < 641 || defined( GT_DEBUG )
|
2000-09-18 16:07:07 +00:00
|
|
|
MultiLineEdit aReplaceFormatsED;
|
2001-09-04 10:17:11 +00:00
|
|
|
#endif
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
PushButton aSearchAllBtn;
|
|
|
|
PushButton aSearchBtn;
|
|
|
|
PushButton aReplaceAllBtn;
|
|
|
|
PushButton aReplaceBtn;
|
|
|
|
PushButton aAttributeBtn;
|
|
|
|
CancelButton aCloseBtn;
|
|
|
|
PushButton aFormatBtn;
|
|
|
|
HelpButton aHelpBtn;
|
|
|
|
PushButton aNoFormatBtn;
|
|
|
|
MoreButton* pMoreBtn;
|
|
|
|
|
|
|
|
CheckBox aWordBtn;
|
2001-02-21 12:28:07 +00:00
|
|
|
CheckBox aMatchCaseCB;
|
2000-09-18 16:07:07 +00:00
|
|
|
CheckBox aBackwardsBtn;
|
|
|
|
CheckBox aSelectionBtn;
|
|
|
|
CheckBox aRegExpBtn;
|
|
|
|
CheckBox aLayoutBtn;
|
|
|
|
// "Ahnlichkeitssuche
|
|
|
|
CheckBox aSimilarityBox;
|
|
|
|
PushButton aSimilarityBtn;
|
2001-02-19 10:18:17 +00:00
|
|
|
CheckBox aJapMatchFullHalfWidthCB;
|
2001-02-21 12:28:07 +00:00
|
|
|
CheckBox aJapOptionsCB;
|
2001-02-19 10:18:17 +00:00
|
|
|
PushButton aJapOptionsBtn;
|
2001-05-15 10:55:05 +00:00
|
|
|
FixedLine aOptionsFL;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// nur f"ur Calc
|
|
|
|
RadioButton aFormulasBtn;
|
|
|
|
RadioButton aValuesBtn;
|
|
|
|
RadioButton aNotesBtn;
|
2001-05-15 10:55:05 +00:00
|
|
|
FixedLine aSearchFL;
|
|
|
|
FixedLine aSearchVertFL;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
RadioButton aRowsBtn;
|
|
|
|
RadioButton aColumnsBtn;
|
2001-05-15 10:55:05 +00:00
|
|
|
FixedLine aSearchDirFL;
|
|
|
|
FixedLine aSearchDirVertFL;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
CheckBox aAllTablesCB;
|
2001-05-15 10:55:05 +00:00
|
|
|
FixedLine aCalcExtrasFL;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxBindings& rBindings;
|
|
|
|
BOOL bWriter;
|
|
|
|
BOOL bSearch;
|
|
|
|
BOOL bFormat;
|
|
|
|
USHORT nOptions;
|
|
|
|
FASTBOOL bSet;
|
|
|
|
FASTBOOL bReadOnly;
|
|
|
|
FASTBOOL bConstruct;
|
|
|
|
ULONG nModifyFlag;
|
|
|
|
String aStylesStr;
|
|
|
|
String aLayoutStr;
|
|
|
|
String aCalcStr;
|
|
|
|
|
|
|
|
SvStringsDtor aSearchStrings;
|
|
|
|
SvStringsDtor aReplaceStrings;
|
|
|
|
|
|
|
|
SearchDlg_Impl* pImpl;
|
|
|
|
SearchAttrItemList* pSearchList;
|
|
|
|
SearchAttrItemList* pReplaceList;
|
|
|
|
SvxSearchItem* pSearchItem;
|
|
|
|
|
|
|
|
SvxSearchController* pSearchController;
|
|
|
|
SvxSearchController* pOptionsController;
|
|
|
|
SvxSearchController* pFamilyController;
|
|
|
|
SvxSearchController* pSearchSetController;
|
|
|
|
SvxSearchController* pReplaceSetController;
|
|
|
|
|
2001-02-21 12:28:07 +00:00
|
|
|
INT32 nTransliterationFlags;
|
2001-02-19 10:18:17 +00:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
#ifdef _SVX_SRCHDLG_CXX
|
|
|
|
DECL_LINK( ModifyHdl_Impl, ComboBox* pEdit );
|
|
|
|
DECL_LINK( FlagHdl_Impl, Button* pBtn );
|
|
|
|
DECL_LINK( CommandHdl_Impl, Button* pBtn );
|
|
|
|
DECL_LINK( TemplateHdl_Impl, Button* );
|
|
|
|
DECL_LINK( FocusHdl_Impl, Control* );
|
|
|
|
DECL_LINK( LoseFocusHdl_Impl, Control* );
|
|
|
|
DECL_LINK( FormatHdl_Impl, Button* );
|
|
|
|
DECL_LINK( NoFormatHdl_Impl, Button* );
|
|
|
|
DECL_LINK( AttributeHdl_Impl, Button* );
|
|
|
|
DECL_LINK( TimeoutHdl_Impl, Timer* );
|
|
|
|
|
|
|
|
void InitControls_Impl();
|
|
|
|
void Init_Impl( int bHasItemSet );
|
|
|
|
void InitAttrList_Impl( const SfxItemSet* pSSet,
|
|
|
|
const SfxItemSet* pRSet );
|
|
|
|
void Remember_Impl( const String &rStr,BOOL bSearch );
|
|
|
|
void PaintAttrText_Impl();
|
|
|
|
String& BuildAttrText_Impl( String& rStr, BOOL bSrchFlag ) const;
|
|
|
|
|
|
|
|
void TemplatesChanged_Impl( SfxStyleSheetBasePool& rPool );
|
|
|
|
void EnableControls_Impl( const USHORT nFlags );
|
|
|
|
void EnableControl_Impl( Control* pCtrl );
|
|
|
|
void SetItem_Impl( const SvxSearchItem* pItem );
|
|
|
|
|
|
|
|
void SetModifyFlag_Impl( const Control* pCtrl );
|
|
|
|
void SaveToModule_Impl();
|
2001-02-19 10:18:17 +00:00
|
|
|
|
2001-02-21 12:28:07 +00:00
|
|
|
void ApplyTransliterationFlags_Impl( INT32 nSettings );
|
2000-09-18 16:07:07 +00:00
|
|
|
#endif
|
|
|
|
};
|
|
|
|
|
|
|
|
inline BOOL SvxSearchDialog::HasSearchAttributes() const
|
|
|
|
{
|
|
|
|
int bLen = aSearchAttrText.GetText().Len();
|
|
|
|
return ( aSearchAttrText.IsEnabled() && bLen );
|
|
|
|
}
|
|
|
|
|
|
|
|
inline BOOL SvxSearchDialog::HasReplaceAttributes() const
|
|
|
|
{
|
|
|
|
int bLen = aReplaceAttrText.GetText().Len();
|
|
|
|
return ( aReplaceAttrText.IsEnabled() && bLen );
|
|
|
|
}
|
|
|
|
|
2001-02-23 12:12:55 +00:00
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
class SvxJSearchOptionsDialog : public SfxSingleTabDialog
|
|
|
|
{
|
2001-04-18 06:41:34 +00:00
|
|
|
INT32 nInitialTlFlags;
|
2001-02-23 12:12:55 +00:00
|
|
|
SvxJSearchOptionsPage *pPage;
|
|
|
|
|
|
|
|
// disallow copy-constructor and assignment-operator for now
|
|
|
|
SvxJSearchOptionsDialog( const SvxJSearchOptionsDialog & );
|
|
|
|
SvxJSearchOptionsDialog & operator == ( const SvxJSearchOptionsDialog & );
|
|
|
|
|
|
|
|
public:
|
2001-04-18 06:41:34 +00:00
|
|
|
SvxJSearchOptionsDialog( Window *pParent,
|
|
|
|
const SfxItemSet& rOptionsSet, USHORT nUniqueId,
|
|
|
|
INT32 nInitialFlags );
|
2001-02-23 12:12:55 +00:00
|
|
|
virtual ~SvxJSearchOptionsDialog();
|
|
|
|
|
|
|
|
// Window
|
|
|
|
virtual void Activate();
|
|
|
|
|
|
|
|
INT32 GetTransliterationFlags() const;
|
|
|
|
void SetTransliterationFlags( INT32 nSettings );
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
#endif // SV_NODIALOG
|
|
|
|
#endif // NO_SVX_SEARCH
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|