blob: d55a1577edf1eeda928cf45cb6019bc3a1bf4df8 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef _SVXCFG_HXX
#define _SVXCFG_HXX
#include <vcl/lstbox.hxx>
#include <vcl/toolbox.hxx>
#include <vcl/fixed.hxx>
#include <vcl/group.hxx>
#include <vcl/menubtn.hxx>
#include <vcl/toolbox.hxx>
#include <svtools/svtreebx.hxx>
#include <svtools/svmedit2.hxx>
#include <svtools/svmedit.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/container/XIndexContainer.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/frame/XModuleManager.hpp>
#include <com/sun/star/ui/XUIConfigurationListener.hpp>
#include <com/sun/star/ui/XUIConfigurationManager.hpp>
#include <com/sun/star/ui/XImageManager.hpp>
#include <com/sun/star/graphic/XGraphicProvider.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/lang/XSingleComponentFactory.hpp>
#define _SVSTDARR_USHORTS
#define _SVSTDARR_STRINGSDTOR
#include <svl/svstdarr.hxx> // SvUShorts
#include <sfx2/minarray.hxx>
#include <sfx2/tabdlg.hxx>
#include <vector>
#include <vcl/msgbox.hxx>
#include "selector.hxx"
class SvxConfigEntry;
class SvxConfigPage;
class SvxMenuConfigPage;
class SvxToolbarConfigPage;
typedef std::vector< SvxConfigEntry* > SvxEntries;
class SvxConfigDialog : public SfxTabDialog
{
private:
::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > m_xFrame;
public:
SvxConfigDialog( Window*, const SfxItemSet* );
~SvxConfigDialog();
virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage );
virtual short Ok();
void SetFrame(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame);
};
class SaveInData : public ImageProvider
{
private:
bool bModified;
bool bDocConfig;
bool bReadOnly;
::com::sun::star::uno::Reference
< com::sun::star::ui::XUIConfigurationManager > m_xCfgMgr;
::com::sun::star::uno::Reference
< com::sun::star::ui::XUIConfigurationManager > m_xParentCfgMgr;
::com::sun::star::uno::Reference
< com::sun::star::ui::XImageManager > m_xImgMgr;
::com::sun::star::uno::Reference
< com::sun::star::ui::XImageManager > m_xParentImgMgr;
static ::com::sun::star::uno::Reference
< com::sun::star::ui::XImageManager >* xDefaultImgMgr;
public:
SaveInData(
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >& xCfgMgr,
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >& xParentCfgMgr,
const rtl::OUString& aModuleId,
bool docConfig );
~SaveInData() {}
bool PersistChanges(
const com::sun::star::uno::Reference
< com::sun::star::uno::XInterface >& xManager );
void SetModified( bool bValue = sal_True ) { bModified = bValue; }
bool IsModified( ) { return bModified; }
bool IsReadOnly( ) { return bReadOnly; }
bool IsDocConfig( ) { return bDocConfig; }
::com::sun::star::uno::Reference
< ::com::sun::star::ui::XUIConfigurationManager >
GetConfigManager() { return m_xCfgMgr; };
::com::sun::star::uno::Reference
< ::com::sun::star::ui::XUIConfigurationManager >
GetParentConfigManager() { return m_xParentCfgMgr; };
::com::sun::star::uno::Reference
< ::com::sun::star::ui::XImageManager >
GetImageManager() { return m_xImgMgr; };
::com::sun::star::uno::Reference
< ::com::sun::star::ui::XImageManager >
GetParentImageManager() { return m_xParentImgMgr; };
::com::sun::star::uno::Reference
< com::sun::star::lang::XMultiServiceFactory > m_xServiceManager;
::com::sun::star::uno::Reference
< com::sun::star::container::XNameAccess > m_xCommandToLabelMap;
com::sun::star::uno::Reference
< com::sun::star::uno::XComponentContext > m_xComponentContext;
com::sun::star::uno::Sequence
< com::sun::star::beans::PropertyValue > m_aSeparatorSeq;
Image GetImage( const rtl::OUString& rCommandURL );
virtual bool HasURL( const rtl::OUString& aURL ) = 0;
virtual bool HasSettings() = 0;
virtual SvxEntries* GetEntries() = 0;
virtual void SetEntries( SvxEntries* ) = 0;
virtual void Reset() = 0;
virtual bool Apply() = 0;
};
class MenuSaveInData : public SaveInData
{
private:
rtl::OUString m_aMenuResourceURL;
rtl::OUString m_aDescriptorContainer;
::com::sun::star::uno::Reference
< com::sun::star::container::XIndexAccess > m_xMenuSettings;
SvxConfigEntry* pRootEntry;
// static holder of the default menu data
static MenuSaveInData* pDefaultData;
static void SetDefaultData( MenuSaveInData* pData ) {pDefaultData = pData;}
static MenuSaveInData* GetDefaultData() { return pDefaultData; }
void Apply( bool bDefault );
void Apply(
SvxConfigEntry* pRootEntry,
com::sun::star::uno::Reference<
com::sun::star::container::XIndexContainer >& rNewMenuBar,
com::sun::star::uno::Reference<
com::sun::star::lang::XSingleComponentFactory >& rFactory,
SvLBoxEntry *pParent = NULL );
void ApplyMenu(
com::sun::star::uno::Reference<
com::sun::star::container::XIndexContainer >& rNewMenuBar,
com::sun::star::uno::Reference<
com::sun::star::lang::XSingleComponentFactory >& rFactory,
SvxConfigEntry *pMenuData = NULL );
bool LoadSubMenus(
const ::com::sun::star::uno::Reference<
com::sun::star::container::XIndexAccess >& xMenuBarSettings,
const rtl::OUString& rBaseTitle, SvxConfigEntry* pParentData );
public:
MenuSaveInData(
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const rtl::OUString& aModuleId,
bool docConfig );
~MenuSaveInData();
// methods inherited from SaveInData
SvxEntries* GetEntries();
void SetEntries( SvxEntries* );
bool HasURL( const rtl::OUString& URL ) { (void)URL; return sal_False; }
bool HasSettings() { return m_xMenuSettings.is(); }
void Reset();
bool Apply();
};
class SvxConfigEntry
{
private:
// common properties
sal_uInt16 nId;
::rtl::OUString aHelpText;
::rtl::OUString aLabel;
::rtl::OUString aCommand;
::rtl::OUString aHelpURL;
bool bPopUp;
bool bStrEdited;
bool bIsUserDefined;
bool bIsMain;
bool bIsDeletable;
bool bIsMovable;
bool bIsParentData;
// toolbar specific properties
bool bIsVisible;
sal_Int32 nStyle;
::com::sun::star::uno::Reference<
::com::sun::star::graphic::XGraphic > xBackupGraphic;
SvxEntries *pEntries;
public:
SvxConfigEntry( const ::rtl::OUString& rDisplayName,
const ::rtl::OUString& rCommandURL,
bool bPopup = sal_False,
bool bParentData = sal_False );
SvxConfigEntry()
:
nId( 0 ),
bPopUp( sal_False ),
bStrEdited( sal_False ),
bIsUserDefined( sal_False ),
bIsMain( sal_False ),
bIsParentData( sal_False ),
bIsVisible( sal_True ),
nStyle( 0 ),
pEntries( 0 )
{}
~SvxConfigEntry();
const ::rtl::OUString& GetCommand() const { return aCommand; }
void SetCommand( const String& rCmd ) { aCommand = rCmd; }
const ::rtl::OUString& GetName() const { return aLabel; }
void SetName( const String& rStr ) { aLabel = rStr; bStrEdited = sal_True; }
bool HasChangedName() const { return bStrEdited; }
const ::rtl::OUString& GetHelpText() ;
void SetHelpText( const String& rStr ) { aHelpText = rStr; }
const ::rtl::OUString& GetHelpURL() const { return aHelpURL; }
void SetHelpURL( const String& rStr ) { aHelpURL = rStr; }
void SetPopup( bool bOn = sal_True ) { bPopUp = bOn; }
bool IsPopup() const { return bPopUp; }
void SetUserDefined( bool bOn = sal_True ) { bIsUserDefined = bOn; }
bool IsUserDefined() const { return bIsUserDefined; }
bool IsBinding() const { return !bPopUp; }
bool IsSeparator() const { return nId == 0; }
SvxEntries* GetEntries() const { return pEntries; }
void SetEntries( SvxEntries* entries ) { pEntries = entries; }
bool HasEntries() const { return pEntries != NULL; }
void SetMain( bool bValue = sal_True ) { bIsMain = bValue; }
bool IsMain() { return bIsMain; }
void SetParentData( bool bValue = sal_True ) { bIsParentData = bValue; }
bool IsParentData() { return bIsParentData; }
bool IsMovable();
bool IsDeletable();
bool IsRenamable();
void SetVisible( bool b ) { bIsVisible = b; }
bool IsVisible() const { return bIsVisible; }
void SetBackupGraphic(
::com::sun::star::uno::Reference<
::com::sun::star::graphic::XGraphic > graphic )
{ xBackupGraphic = graphic; }
::com::sun::star::uno::Reference<
::com::sun::star::graphic::XGraphic >
GetBackupGraphic()
{ return xBackupGraphic; }
bool IsIconModified() { return xBackupGraphic.is(); }
sal_Int32 GetStyle() { return nStyle; }
void SetStyle( sal_Int32 style ) { nStyle = style; }
};
class SvxMenuEntriesListBox : public SvTreeListBox
{
private:
SvxConfigPage* pPage;
protected:
bool m_bIsInternalDrag;
public:
SvxMenuEntriesListBox( Window*, const ResId& );
~SvxMenuEntriesListBox();
virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt );
virtual sal_Bool NotifyAcceptDrop( SvLBoxEntry* pEntry );
virtual sal_Bool NotifyMoving( SvLBoxEntry*, SvLBoxEntry*,
SvLBoxEntry*&, sal_uLong& );
virtual sal_Bool NotifyCopying( SvLBoxEntry*, SvLBoxEntry*,
SvLBoxEntry*&, sal_uLong&);
virtual DragDropMode NotifyStartDrag(
TransferDataContainer&, SvLBoxEntry* );
virtual void DragFinished( sal_Int8 );
void KeyInput( const KeyEvent& rKeyEvent );
};
class SvxDescriptionEdit : public ExtMultiLineEdit
{
private:
Rectangle m_aRealRect;
public:
SvxDescriptionEdit( Window* pParent, const ResId& _rId );
inline ~SvxDescriptionEdit() {}
void SetNewText( const String& _rText );
inline void Clear() { SetNewText( String() ); }
};
class SvxConfigPage : public SfxTabPage
{
private:
bool bInitialised;
SaveInData* pCurrentSaveInData;
DECL_LINK( SelectSaveInLocation, ListBox * );
DECL_LINK( AsyncInfoMsg, String* );
bool SwapEntryData( SvLBoxEntry* pSourceEntry, SvLBoxEntry* pTargetEntry );
void AlignControls();
protected:
// the top section of the tab page where top level menus and toolbars
// are displayed in a listbox
FixedLine aTopLevelSeparator;
FixedText aTopLevelLabel;
ListBox aTopLevelListBox;
PushButton aNewTopLevelButton;
MenuButton aModifyTopLevelButton;
// the contents section where the contents of the selected
// menu or toolbar are displayed
FixedLine aContentsSeparator;
FixedText aContentsLabel;
SvTreeListBox* aContentsListBox;
PushButton aAddCommandsButton;
MenuButton aModifyCommandButton;
ImageButton aMoveUpButton;
ImageButton aMoveDownButton;
FixedText aSaveInText;
ListBox aSaveInListBox;
FixedText aDescriptionLabel;
SvxDescriptionEdit aDescriptionField;
SvxScriptSelectorDialog* pSelectorDlg;
// the ResourceURL to select when opening the dialog
rtl::OUString m_aURLToSelect;
::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame > m_xFrame;
SvxConfigPage( Window*, /* const ResId&, */ const SfxItemSet& );
virtual ~SvxConfigPage();
DECL_LINK( MoveHdl, Button * );
virtual SaveInData* CreateSaveInData(
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const rtl::OUString& aModuleId,
bool docConfig ) = 0;
virtual void Init() = 0;
virtual void UpdateButtonStates() = 0;
virtual short QueryReset() = 0;
void PositionContentsListBox();
SvLBoxEntry* InsertEntry( SvxConfigEntry* pNewEntryData,
SvLBoxEntry* pTarget = NULL,
bool bFront = sal_False );
void AddSubMenusToUI( const String& rBaseTitle,
SvxConfigEntry* pParentData );
SvLBoxEntry* InsertEntryIntoUI ( SvxConfigEntry* pNewEntryData,
sal_uLong nPos = LIST_APPEND );
SvxEntries* FindParentForChild( SvxEntries* pParentEntries,
SvxConfigEntry* pChildData );
void ReloadTopLevelListBox( SvxConfigEntry* pSelection = NULL );
public:
static bool CanConfig( const ::rtl::OUString& rModuleId );
SaveInData* GetSaveInData() { return pCurrentSaveInData; }
SvLBoxEntry* AddFunction( SvLBoxEntry* pTarget = NULL,
bool bFront = sal_False,
bool bAllowDuplicates = sal_False );
virtual void MoveEntry( bool bMoveUp );
bool MoveEntryData( SvLBoxEntry* pSourceEntry,
SvLBoxEntry* pTargetEntry );
sal_Bool FillItemSet( SfxItemSet& );
void Reset( const SfxItemSet& );
virtual bool DeleteSelectedContent() = 0;
virtual void DeleteSelectedTopLevel() = 0;
SvxConfigEntry* GetTopLevelSelection()
{
return (SvxConfigEntry*) aTopLevelListBox.GetEntryData(
aTopLevelListBox.GetSelectEntryPos() );
}
/** identifies the module in the given frame. If the frame is <NULL/>, a default
frame will be determined beforehand.
If the given frame is <NULL/>, a default frame will be used: The method the active
frame of the desktop, then the current frame. If both are <NULL/>,
the SfxViewFrame::Current's XFrame is used. If this is <NULL/>, too, an empty string is returned.
If the given frame is not <NULL/>, or an default frame could be successfully determined, then
the ModuleManager is asked for the module ID of the component in the frame.
*/
static ::rtl::OUString
GetFrameWithDefaultAndIdentify( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _inout_rxFrame );
};
class SvxMenuConfigPage : public SvxConfigPage
{
private:
DECL_LINK( SelectMenu, ListBox * );
DECL_LINK( SelectMenuEntry, Control * );
DECL_LINK( NewMenuHdl, Button * );
DECL_LINK( MenuSelectHdl, MenuButton * );
DECL_LINK( EntrySelectHdl, MenuButton * );
DECL_LINK( AddCommandsHdl, Button * );
DECL_LINK( AddFunctionHdl, SvxScriptSelectorDialog * );
void Init();
void UpdateButtonStates();
short QueryReset();
bool DeleteSelectedContent();
void DeleteSelectedTopLevel();
public:
SvxMenuConfigPage( Window *pParent, const SfxItemSet& rItemSet );
~SvxMenuConfigPage();
SaveInData* CreateSaveInData(
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const rtl::OUString& aModuleId,
bool docConfig );
};
class SvxMainMenuOrganizerDialog : public ModalDialog
{
FixedText aMenuNameText;
Edit aMenuNameEdit;
FixedText aMenuListText;
SvTreeListBox aMenuListBox;
ImageButton aMoveUpButton;
ImageButton aMoveDownButton;
OKButton aOKButton;
CancelButton aCloseButton;
HelpButton aHelpButton;
SvxEntries* pEntries;
SvLBoxEntry* pNewMenuEntry;
bool bModified;
void UpdateButtonStates();
DECL_LINK( MoveHdl, Button * );
DECL_LINK( ModifyHdl, Edit * );
DECL_LINK( SelectHdl, Control* );
public:
SvxMainMenuOrganizerDialog (
Window*, SvxEntries*,
SvxConfigEntry*, bool bCreateMenu = sal_False );
~SvxMainMenuOrganizerDialog ();
SvxEntries* GetEntries();
void SetEntries( SvxEntries* );
SvxConfigEntry* GetSelectedEntry();
};
class SvxToolbarEntriesListBox : public SvxMenuEntriesListBox
{
Size m_aCheckBoxImageSizePixel;
Link m_aChangedListener;
SvLBoxButtonData* m_pButtonData;
sal_Bool m_bHiContrastMode;
SvxConfigPage* pPage;
void ChangeVisibility( SvLBoxEntry* pEntry );
protected:
virtual void CheckButtonHdl();
virtual void DataChanged( const DataChangedEvent& rDCEvt );
void BuildCheckBoxButtonImages( SvLBoxButtonData* );
Image GetSizedImage(
VirtualDevice& aDev, const Size& aNewSize, const Image& aImage );
public:
SvxToolbarEntriesListBox(
Window* pParent, const ResId& );
~SvxToolbarEntriesListBox();
void SetChangedListener( const Link& aChangedListener )
{ m_aChangedListener = aChangedListener; }
const Link& GetChangedListener() const { return m_aChangedListener; }
Size GetCheckBoxPixelSize() const
{ return m_aCheckBoxImageSizePixel; }
virtual sal_Bool NotifyMoving(
SvLBoxEntry*, SvLBoxEntry*, SvLBoxEntry*&, sal_uLong& );
virtual sal_Bool NotifyCopying(
SvLBoxEntry*, SvLBoxEntry*, SvLBoxEntry*&, sal_uLong&);
void KeyInput( const KeyEvent& rKeyEvent );
};
class SvxToolbarConfigPage : public SvxConfigPage
{
private:
DECL_LINK( SelectToolbar, ListBox * );
DECL_LINK( SelectToolbarEntry, Control * );
DECL_LINK( ToolbarSelectHdl, MenuButton * );
DECL_LINK( EntrySelectHdl, MenuButton * );
DECL_LINK( NewToolbarHdl, Button * );
DECL_LINK( AddCommandsHdl, Button * );
DECL_LINK( AddFunctionHdl, SvxScriptSelectorDialog * );
DECL_LINK( MoveHdl, Button * );
void UpdateButtonStates();
short QueryReset();
void Init();
bool DeleteSelectedContent();
void DeleteSelectedTopLevel();
public:
SvxToolbarConfigPage( Window *pParent, const SfxItemSet& rItemSet );
~SvxToolbarConfigPage();
SvLBoxEntry* AddFunction( SvLBoxEntry* pTarget = NULL,
bool bFront = sal_False,
bool bAllowDuplicates = sal_True );
void MoveEntry( bool bMoveUp );
SaveInData* CreateSaveInData(
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const rtl::OUString& aModuleId,
bool docConfig );
};
class ToolbarSaveInData : public SaveInData
{
private:
SvxConfigEntry* pRootEntry;
rtl::OUString m_aDescriptorContainer;
::com::sun::star::uno::Reference
< com::sun::star::container::XNameAccess > m_xPersistentWindowState;
bool LoadToolbar(
const ::com::sun::star::uno::Reference<
com::sun::star::container::XIndexAccess >& xToolBarSettings,
SvxConfigEntry* pParentData );
void ApplyToolbar(
com::sun::star::uno::Reference<
com::sun::star::container::XIndexContainer >& rNewToolbarBar,
com::sun::star::uno::Reference<
com::sun::star::lang::XSingleComponentFactory >& rFactory,
SvxConfigEntry *pToolbar = NULL );
public:
ToolbarSaveInData(
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const ::com::sun::star::uno::Reference <
::com::sun::star::ui::XUIConfigurationManager >&,
const rtl::OUString& aModuleId,
bool docConfig );
~ToolbarSaveInData();
void CreateToolbar( SvxConfigEntry* pToolbar );
void RestoreToolbar( SvxConfigEntry* pToolbar );
void RemoveToolbar( SvxConfigEntry* pToolbar );
void ApplyToolbar( SvxConfigEntry* pToolbar );
rtl::OUString GetSystemUIName( const rtl::OUString& rResourceURL );
sal_Int32 GetSystemStyle( const rtl::OUString& rResourceURL );
void SetSystemStyle(
const rtl::OUString& rResourceURL, sal_Int32 nStyle );
void SetSystemStyle(
::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame > xFrame,
const rtl::OUString& rResourceURL, sal_Int32 nStyle );
SvxEntries* GetEntries();
void SetEntries( SvxEntries* );
bool HasSettings();
bool HasURL( const rtl::OUString& rURL );
void Reset();
bool Apply();
};
class SvxNewToolbarDialog : public ModalDialog
{
private:
FixedText aFtDescription;
Edit aEdtName;
FixedText aSaveInText;
OKButton aBtnOK;
CancelButton aBtnCancel;
HelpButton aBtnHelp;
Link aCheckNameHdl;
DECL_LINK(ModifyHdl, Edit*);
public:
SvxNewToolbarDialog( Window* pWindow, const String& rName );
ListBox aSaveInListBox;
void GetName( rtl::OUString& rName ){rName = aEdtName.GetText();}
void SetCheckNameHdl( const Link& rLink, bool bCheckImmediately = false )
{
aCheckNameHdl = rLink;
if ( bCheckImmediately )
aBtnOK.Enable( rLink.Call( this ) > 0 );
}
void SetEditHelpId( const rtl::OString& aHelpId) {aEdtName.SetHelpId(aHelpId);}
};
class SvxIconSelectorDialog : public ModalDialog
{
private:
FixedText aFtDescription;
ToolBox aTbSymbol;
FixedText aFtNote;
OKButton aBtnOK;
CancelButton aBtnCancel;
HelpButton aBtnHelp;
PushButton aBtnImport;
PushButton aBtnDelete;
FixedLine aFlSeparator;
sal_uInt16 m_nNextId;
sal_Int32 m_nExpectedSize;
::com::sun::star::uno::Reference<
::com::sun::star::ui::XImageManager > m_xImageManager;
::com::sun::star::uno::Reference<
::com::sun::star::ui::XImageManager > m_xParentImageManager;
::com::sun::star::uno::Reference<
::com::sun::star::ui::XImageManager > m_xImportedImageManager;
::com::sun::star::uno::Reference<
::com::sun::star::graphic::XGraphicProvider > m_xGraphProvider;
bool ReplaceGraphicItem( const ::rtl::OUString& aURL );
bool ImportGraphic( const ::rtl::OUString& aURL );
void ImportGraphics(
const com::sun::star::uno::Sequence< rtl::OUString >& aURLs );
BitmapEx AutoScaleBitmap(BitmapEx & aBitmap, const long aStandardSize);// Added by shizhoubo
public:
SvxIconSelectorDialog(
Window *pWindow,
const ::com::sun::star::uno::Reference<
::com::sun::star::ui::XImageManager >& rXImageManager,
const ::com::sun::star::uno::Reference<
::com::sun::star::ui::XImageManager >& rXParentImageManager
);
~SvxIconSelectorDialog();
::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic >
GetSelectedIcon();
DECL_LINK( SelectHdl, ToolBox * );
DECL_LINK( ImportHdl, PushButton * );
DECL_LINK( DeleteHdl, PushButton * );
};
class SvxIconReplacementDialog : public MessBox
{
public:
SvxIconReplacementDialog(
Window *pWindow,
const rtl::OUString& aMessage,
bool aYestoAll);
SvxIconReplacementDialog(
Window *pWindow,
const rtl::OUString& aMessage );
rtl::OUString ReplaceIconName( const rtl::OUString& );
sal_uInt16 ShowDialog();
};
//added for issue83555
class SvxIconChangeDialog : public ModalDialog
{
private:
FixedImage aFImageInfo;
OKButton aBtnOK;
FixedText aDescriptionLabel;
SvxDescriptionEdit aLineEditDescription;
public:
SvxIconChangeDialog(Window *pWindow, const rtl::OUString& aMessage);
};
#endif // _SVXCFG_HXX