1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
22 #include <vcl/lstbox.hxx>
23 #include <vcl/fixed.hxx>
24 #include <vcl/group.hxx>
25 #include <vcl/menubtn.hxx>
26 #include <vcl/toolbox.hxx>
27 #include <svtools/treelistbox.hxx>
28 #include <svtools/svmedit2.hxx>
29 #include <svtools/svmedit.hxx>
30 #include <com/sun/star/beans/XPropertySet.hpp>
31 #include <com/sun/star/container/XIndexContainer.hpp>
32 #include <com/sun/star/container/XNameAccess.hpp>
33 #include <com/sun/star/frame/XModuleManager.hpp>
34 #include <com/sun/star/ui/XUIConfigurationListener.hpp>
35 #include <com/sun/star/ui/XUIConfigurationManager.hpp>
36 #include <com/sun/star/ui/XImageManager.hpp>
37 #include <com/sun/star/graphic/XGraphicProvider.hpp>
38 #include <com/sun/star/frame/XFrame.hpp>
39 #include <com/sun/star/frame/XStorable.hpp>
40 #include <com/sun/star/uno/XComponentContext.hpp>
41 #include <com/sun/star/lang/XSingleComponentFactory.hpp>
43 #include <sfx2/tabdlg.hxx>
45 #include <vcl/msgbox.hxx>
47 #include "selector.hxx"
51 class SvxMenuConfigPage
;
52 class SvxToolbarConfigPage
;
54 typedef std::vector
< SvxConfigEntry
* > SvxEntries
;
56 class SvxConfigDialog
: public SfxTabDialog
59 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
> m_xFrame
;
62 SvxConfigDialog( Window
*, const SfxItemSet
* );
65 virtual void PageCreated( sal_uInt16 nId
, SfxTabPage
&rPage
);
68 void SetFrame(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
>& xFrame
);
71 class SaveInData
: public ImageProvider
80 ::com::sun::star::uno::Reference
81 < com::sun::star::ui::XUIConfigurationManager
> m_xCfgMgr
;
83 ::com::sun::star::uno::Reference
84 < com::sun::star::ui::XUIConfigurationManager
> m_xParentCfgMgr
;
86 ::com::sun::star::uno::Reference
87 < com::sun::star::ui::XImageManager
> m_xImgMgr
;
89 ::com::sun::star::uno::Reference
90 < com::sun::star::ui::XImageManager
> m_xParentImgMgr
;
92 static ::com::sun::star::uno::Reference
93 < com::sun::star::ui::XImageManager
>* xDefaultImgMgr
;
98 const ::com::sun::star::uno::Reference
<
99 ::com::sun::star::ui::XUIConfigurationManager
>& xCfgMgr
,
100 const ::com::sun::star::uno::Reference
<
101 ::com::sun::star::ui::XUIConfigurationManager
>& xParentCfgMgr
,
102 const OUString
& aModuleId
,
108 const com::sun::star::uno::Reference
109 < com::sun::star::uno::XInterface
>& xManager
);
111 void SetModified( bool bValue
= sal_True
) { bModified
= bValue
; }
112 bool IsModified( ) { return bModified
; }
114 bool IsReadOnly( ) { return bReadOnly
; }
115 bool IsDocConfig( ) { return bDocConfig
; }
117 ::com::sun::star::uno::Reference
118 < ::com::sun::star::ui::XUIConfigurationManager
>
119 GetConfigManager() { return m_xCfgMgr
; };
121 ::com::sun::star::uno::Reference
122 < ::com::sun::star::ui::XUIConfigurationManager
>
123 GetParentConfigManager() { return m_xParentCfgMgr
; };
125 ::com::sun::star::uno::Reference
126 < ::com::sun::star::ui::XImageManager
>
127 GetImageManager() { return m_xImgMgr
; };
129 ::com::sun::star::uno::Reference
130 < ::com::sun::star::ui::XImageManager
>
131 GetParentImageManager() { return m_xParentImgMgr
; };
133 ::com::sun::star::uno::Reference
134 < com::sun::star::container::XNameAccess
> m_xCommandToLabelMap
;
136 com::sun::star::uno::Sequence
137 < com::sun::star::beans::PropertyValue
> m_aSeparatorSeq
;
139 Image
GetImage( const OUString
& rCommandURL
);
141 virtual bool HasURL( const OUString
& aURL
) = 0;
142 virtual bool HasSettings() = 0;
143 virtual SvxEntries
* GetEntries() = 0;
144 virtual void SetEntries( SvxEntries
* ) = 0;
145 virtual void Reset() = 0;
146 virtual bool Apply() = 0;
149 class MenuSaveInData
: public SaveInData
153 OUString m_aMenuResourceURL
;
154 OUString m_aDescriptorContainer
;
156 ::com::sun::star::uno::Reference
157 < com::sun::star::container::XIndexAccess
> m_xMenuSettings
;
159 SvxConfigEntry
* pRootEntry
;
162 static MenuSaveInData
* pDefaultData
; ///< static holder of the default menu data
164 static void SetDefaultData( MenuSaveInData
* pData
) {pDefaultData
= pData
;}
165 static MenuSaveInData
* GetDefaultData() { return pDefaultData
; }
167 void Apply( bool bDefault
);
170 SvxConfigEntry
* pRootEntry
,
171 com::sun::star::uno::Reference
<
172 com::sun::star::container::XIndexContainer
>& rNewMenuBar
,
173 com::sun::star::uno::Reference
<
174 com::sun::star::lang::XSingleComponentFactory
>& rFactory
,
175 SvTreeListEntry
*pParent
= NULL
);
178 com::sun::star::uno::Reference
<
179 com::sun::star::container::XIndexContainer
>& rNewMenuBar
,
180 com::sun::star::uno::Reference
<
181 com::sun::star::lang::XSingleComponentFactory
>& rFactory
,
182 SvxConfigEntry
*pMenuData
= NULL
);
185 const ::com::sun::star::uno::Reference
<
186 com::sun::star::container::XIndexAccess
>& xMenuBarSettings
,
187 const OUString
& rBaseTitle
, SvxConfigEntry
* pParentData
);
192 const ::com::sun::star::uno::Reference
<
193 ::com::sun::star::ui::XUIConfigurationManager
>&,
194 const ::com::sun::star::uno::Reference
<
195 ::com::sun::star::ui::XUIConfigurationManager
>&,
196 const OUString
& aModuleId
,
201 /// methods inherited from SaveInData
202 SvxEntries
* GetEntries();
203 void SetEntries( SvxEntries
* );
204 bool HasURL( const OUString
& URL
) { (void)URL
; return sal_False
; }
205 bool HasSettings() { return m_xMenuSettings
.is(); }
214 /// common properties
227 /// toolbar specific properties
231 ::com::sun::star::uno::Reference
<
232 ::com::sun::star::graphic::XGraphic
> xBackupGraphic
;
234 SvxEntries
*pEntries
;
238 SvxConfigEntry( const OUString
& rDisplayName
,
239 const OUString
& rCommandURL
,
240 bool bPopup
= sal_False
,
241 bool bParentData
= sal_False
);
247 bStrEdited( sal_False
),
248 bIsUserDefined( sal_False
),
249 bIsMain( sal_False
),
250 bIsParentData( sal_False
),
251 bIsVisible( sal_True
),
258 const OUString
& GetCommand() const { return aCommand
; }
259 void SetCommand( const String
& rCmd
) { aCommand
= rCmd
; }
261 const OUString
& GetName() const { return aLabel
; }
262 void SetName( const String
& rStr
) { aLabel
= rStr
; bStrEdited
= sal_True
; }
263 bool HasChangedName() const { return bStrEdited
; }
265 const OUString
& GetHelpText() ;
266 void SetHelpText( const String
& rStr
) { aHelpText
= rStr
; }
268 const OUString
& GetHelpURL() const { return aHelpURL
; }
269 void SetHelpURL( const String
& rStr
) { aHelpURL
= rStr
; }
271 void SetPopup( bool bOn
= sal_True
) { bPopUp
= bOn
; }
272 bool IsPopup() const { return bPopUp
; }
274 void SetUserDefined( bool bOn
= sal_True
) { bIsUserDefined
= bOn
; }
275 bool IsUserDefined() const { return bIsUserDefined
; }
277 bool IsBinding() const { return !bPopUp
; }
278 bool IsSeparator() const { return nId
== 0; }
280 SvxEntries
* GetEntries() const { return pEntries
; }
281 void SetEntries( SvxEntries
* entries
) { pEntries
= entries
; }
282 bool HasEntries() const { return pEntries
!= NULL
; }
284 void SetMain( bool bValue
= sal_True
) { bIsMain
= bValue
; }
285 bool IsMain() { return bIsMain
; }
287 void SetParentData( bool bValue
= sal_True
) { bIsParentData
= bValue
; }
288 bool IsParentData() { return bIsParentData
; }
294 void SetVisible( bool b
) { bIsVisible
= b
; }
295 bool IsVisible() const { return bIsVisible
; }
297 void SetBackupGraphic(
298 ::com::sun::star::uno::Reference
<
299 ::com::sun::star::graphic::XGraphic
> graphic
)
300 { xBackupGraphic
= graphic
; }
302 ::com::sun::star::uno::Reference
<
303 ::com::sun::star::graphic::XGraphic
>
305 { return xBackupGraphic
; }
307 bool IsIconModified() { return xBackupGraphic
.is(); }
309 sal_Int32
GetStyle() { return nStyle
; }
310 void SetStyle( sal_Int32 style
) { nStyle
= style
; }
313 class SvxMenuEntriesListBox
: public SvTreeListBox
316 SvxConfigPage
* pPage
;
319 bool m_bIsInternalDrag
;
322 SvxMenuEntriesListBox( Window
*, const ResId
& );
323 ~SvxMenuEntriesListBox();
325 virtual sal_Int8
AcceptDrop( const AcceptDropEvent
& rEvt
);
327 virtual sal_Bool
NotifyAcceptDrop( SvTreeListEntry
* pEntry
);
329 virtual sal_Bool
NotifyMoving( SvTreeListEntry
*, SvTreeListEntry
*,
330 SvTreeListEntry
*&, sal_uLong
& );
332 virtual sal_Bool
NotifyCopying( SvTreeListEntry
*, SvTreeListEntry
*,
333 SvTreeListEntry
*&, sal_uLong
&);
335 virtual DragDropMode
NotifyStartDrag(
336 TransferDataContainer
&, SvTreeListEntry
* );
338 virtual void DragFinished( sal_Int8
);
340 void KeyInput( const KeyEvent
& rKeyEvent
);
343 class SvxDescriptionEdit
: public ExtMultiLineEdit
346 Rectangle m_aRealRect
;
349 SvxDescriptionEdit( Window
* pParent
, const ResId
& _rId
);
350 inline ~SvxDescriptionEdit() {}
352 void SetNewText( const String
& _rText
);
353 inline void Clear() { SetNewText( String() ); }
356 class SvxConfigPage
: public SfxTabPage
361 SaveInData
* pCurrentSaveInData
;
363 DECL_LINK( SelectSaveInLocation
, ListBox
* );
364 DECL_LINK( AsyncInfoMsg
, String
* );
366 bool SwapEntryData( SvTreeListEntry
* pSourceEntry
, SvTreeListEntry
* pTargetEntry
);
367 void AlignControls();
371 // the top section of the tab page where top level menus and toolbars
372 // are displayed in a listbox
373 FixedLine aTopLevelSeparator
;
374 FixedText aTopLevelLabel
;
375 ListBox aTopLevelListBox
;
376 PushButton aNewTopLevelButton
;
377 MenuButton aModifyTopLevelButton
;
379 // the contents section where the contents of the selected
380 // menu or toolbar are displayed
381 FixedLine aContentsSeparator
;
382 FixedText aContentsLabel
;
383 SvTreeListBox
* aContentsListBox
;
385 PushButton aAddCommandsButton
;
386 MenuButton aModifyCommandButton
;
388 ImageButton aMoveUpButton
;
389 ImageButton aMoveDownButton
;
391 FixedText aSaveInText
;
392 ListBox aSaveInListBox
;
394 FixedText aDescriptionLabel
;
395 SvxDescriptionEdit aDescriptionField
;
397 SvxScriptSelectorDialog
* pSelectorDlg
;
399 /// the ResourceURL to select when opening the dialog
400 OUString m_aURLToSelect
;
402 ::com::sun::star::uno::Reference
403 < ::com::sun::star::frame::XFrame
> m_xFrame
;
405 SvxConfigPage( Window
*, const SfxItemSet
& );
406 virtual ~SvxConfigPage();
408 DECL_LINK( MoveHdl
, Button
* );
410 virtual SaveInData
* CreateSaveInData(
411 const ::com::sun::star::uno::Reference
<
412 ::com::sun::star::ui::XUIConfigurationManager
>&,
413 const ::com::sun::star::uno::Reference
<
414 ::com::sun::star::ui::XUIConfigurationManager
>&,
415 const OUString
& aModuleId
,
416 bool docConfig
) = 0;
418 virtual void Init() = 0;
419 virtual void UpdateButtonStates() = 0;
420 virtual short QueryReset() = 0;
422 void PositionContentsListBox();
424 SvTreeListEntry
* InsertEntry( SvxConfigEntry
* pNewEntryData
,
425 SvTreeListEntry
* pTarget
= NULL
,
426 bool bFront
= sal_False
);
428 void AddSubMenusToUI( const String
& rBaseTitle
,
429 SvxConfigEntry
* pParentData
);
431 SvTreeListEntry
* InsertEntryIntoUI ( SvxConfigEntry
* pNewEntryData
,
432 sal_uLong nPos
= LIST_APPEND
);
434 SvxEntries
* FindParentForChild( SvxEntries
* pParentEntries
,
435 SvxConfigEntry
* pChildData
);
437 void ReloadTopLevelListBox( SvxConfigEntry
* pSelection
= NULL
);
441 static bool CanConfig( const OUString
& rModuleId
);
443 SaveInData
* GetSaveInData() { return pCurrentSaveInData
; }
445 SvTreeListEntry
* AddFunction( SvTreeListEntry
* pTarget
= NULL
,
446 bool bFront
= sal_False
,
447 bool bAllowDuplicates
= sal_False
);
449 virtual void MoveEntry( bool bMoveUp
);
451 bool MoveEntryData( SvTreeListEntry
* pSourceEntry
,
452 SvTreeListEntry
* pTargetEntry
);
454 sal_Bool
FillItemSet( SfxItemSet
& );
455 void Reset( const SfxItemSet
& );
457 virtual bool DeleteSelectedContent() = 0;
458 virtual void DeleteSelectedTopLevel() = 0;
460 SvxConfigEntry
* GetTopLevelSelection()
462 return (SvxConfigEntry
*) aTopLevelListBox
.GetEntryData(
463 aTopLevelListBox
.GetSelectEntryPos() );
466 /** identifies the module in the given frame. If the frame is <NULL/>, a default
467 frame will be determined beforehand.
469 If the given frame is <NULL/>, a default frame will be used: The method the active
470 frame of the desktop, then the current frame. If both are <NULL/>,
471 the SfxViewFrame::Current's XFrame is used. If this is <NULL/>, too, an empty string is returned.
473 If the given frame is not <NULL/>, or an default frame could be successfully determined, then
474 the ModuleManager is asked for the module ID of the component in the frame.
477 GetFrameWithDefaultAndIdentify( ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
>& _inout_rxFrame
);
480 class SvxMenuConfigPage
: public SvxConfigPage
484 DECL_LINK( SelectMenu
, ListBox
* );
485 DECL_LINK( SelectMenuEntry
, Control
* );
486 DECL_LINK( NewMenuHdl
, Button
* );
487 DECL_LINK( MenuSelectHdl
, MenuButton
* );
488 DECL_LINK( EntrySelectHdl
, MenuButton
* );
489 DECL_LINK( AddCommandsHdl
, Button
* );
490 DECL_LINK( AddFunctionHdl
, SvxScriptSelectorDialog
* );
493 void UpdateButtonStates();
495 bool DeleteSelectedContent();
496 void DeleteSelectedTopLevel();
499 SvxMenuConfigPage( Window
*pParent
, const SfxItemSet
& rItemSet
);
500 ~SvxMenuConfigPage();
502 SaveInData
* CreateSaveInData(
503 const ::com::sun::star::uno::Reference
<
504 ::com::sun::star::ui::XUIConfigurationManager
>&,
505 const ::com::sun::star::uno::Reference
<
506 ::com::sun::star::ui::XUIConfigurationManager
>&,
507 const OUString
& aModuleId
,
511 class SvxMainMenuOrganizerDialog
: public ModalDialog
513 FixedText aMenuNameText
;
515 FixedText aMenuListText
;
516 SvTreeListBox aMenuListBox
;
517 ImageButton aMoveUpButton
;
518 ImageButton aMoveDownButton
;
520 CancelButton aCloseButton
;
521 HelpButton aHelpButton
;
523 SvxEntries
* pEntries
;
524 SvTreeListEntry
* pNewMenuEntry
;
527 void UpdateButtonStates();
529 DECL_LINK( MoveHdl
, Button
* );
530 DECL_LINK( ModifyHdl
, Edit
* );
531 DECL_LINK( SelectHdl
, Control
* );
534 SvxMainMenuOrganizerDialog (
535 Window
*, SvxEntries
*,
536 SvxConfigEntry
*, bool bCreateMenu
= sal_False
);
538 ~SvxMainMenuOrganizerDialog ();
540 SvxEntries
* GetEntries();
541 void SetEntries( SvxEntries
* );
542 SvxConfigEntry
* GetSelectedEntry();
545 class SvxToolbarEntriesListBox
: public SvxMenuEntriesListBox
547 Size m_aCheckBoxImageSizePixel
;
548 Link m_aChangedListener
;
549 SvLBoxButtonData
* m_pButtonData
;
550 SvxConfigPage
* pPage
;
552 void ChangeVisibility( SvTreeListEntry
* pEntry
);
556 virtual void CheckButtonHdl();
557 virtual void DataChanged( const DataChangedEvent
& rDCEvt
);
558 void BuildCheckBoxButtonImages( SvLBoxButtonData
* );
560 VirtualDevice
& aDev
, const Size
& aNewSize
, const Image
& aImage
);
564 SvxToolbarEntriesListBox(
565 Window
* pParent
, const ResId
& );
567 ~SvxToolbarEntriesListBox();
569 void SetChangedListener( const Link
& aChangedListener
)
570 { m_aChangedListener
= aChangedListener
; }
572 const Link
& GetChangedListener() const { return m_aChangedListener
; }
574 Size
GetCheckBoxPixelSize() const
575 { return m_aCheckBoxImageSizePixel
; }
577 virtual sal_Bool
NotifyMoving(
578 SvTreeListEntry
*, SvTreeListEntry
*, SvTreeListEntry
*&, sal_uLong
& );
580 virtual sal_Bool
NotifyCopying(
581 SvTreeListEntry
*, SvTreeListEntry
*, SvTreeListEntry
*&, sal_uLong
&);
583 void KeyInput( const KeyEvent
& rKeyEvent
);
586 class SvxToolbarConfigPage
: public SvxConfigPage
590 DECL_LINK( SelectToolbar
, ListBox
* );
591 DECL_LINK( SelectToolbarEntry
, Control
* );
592 DECL_LINK( ToolbarSelectHdl
, MenuButton
* );
593 DECL_LINK( EntrySelectHdl
, MenuButton
* );
594 DECL_LINK( NewToolbarHdl
, Button
* );
595 DECL_LINK( AddCommandsHdl
, Button
* );
596 DECL_LINK( AddFunctionHdl
, SvxScriptSelectorDialog
* );
597 DECL_LINK( MoveHdl
, Button
* );
599 void UpdateButtonStates();
602 bool DeleteSelectedContent();
603 void DeleteSelectedTopLevel();
606 SvxToolbarConfigPage( Window
*pParent
, const SfxItemSet
& rItemSet
);
607 ~SvxToolbarConfigPage();
609 SvTreeListEntry
* AddFunction( SvTreeListEntry
* pTarget
= NULL
,
610 bool bFront
= sal_False
,
611 bool bAllowDuplicates
= sal_True
);
613 void MoveEntry( bool bMoveUp
);
615 SaveInData
* CreateSaveInData(
616 const ::com::sun::star::uno::Reference
<
617 ::com::sun::star::ui::XUIConfigurationManager
>&,
618 const ::com::sun::star::uno::Reference
<
619 ::com::sun::star::ui::XUIConfigurationManager
>&,
620 const OUString
& aModuleId
,
624 class ToolbarSaveInData
: public SaveInData
628 SvxConfigEntry
* pRootEntry
;
629 OUString m_aDescriptorContainer
;
631 ::com::sun::star::uno::Reference
632 < com::sun::star::container::XNameAccess
> m_xPersistentWindowState
;
635 const ::com::sun::star::uno::Reference
<
636 com::sun::star::container::XIndexAccess
>& xToolBarSettings
,
637 SvxConfigEntry
* pParentData
);
640 com::sun::star::uno::Reference
<
641 com::sun::star::container::XIndexContainer
>& rNewToolbarBar
,
642 com::sun::star::uno::Reference
<
643 com::sun::star::lang::XSingleComponentFactory
>& rFactory
,
644 SvxConfigEntry
*pToolbar
= NULL
);
649 const ::com::sun::star::uno::Reference
<
650 ::com::sun::star::ui::XUIConfigurationManager
>&,
651 const ::com::sun::star::uno::Reference
<
652 ::com::sun::star::ui::XUIConfigurationManager
>&,
653 const OUString
& aModuleId
,
656 ~ToolbarSaveInData();
658 void CreateToolbar( SvxConfigEntry
* pToolbar
);
659 void RestoreToolbar( SvxConfigEntry
* pToolbar
);
660 void RemoveToolbar( SvxConfigEntry
* pToolbar
);
661 void ApplyToolbar( SvxConfigEntry
* pToolbar
);
663 OUString
GetSystemUIName( const OUString
& rResourceURL
);
665 sal_Int32
GetSystemStyle( const OUString
& rResourceURL
);
668 const OUString
& rResourceURL
, sal_Int32 nStyle
);
671 ::com::sun::star::uno::Reference
672 < ::com::sun::star::frame::XFrame
> xFrame
,
673 const OUString
& rResourceURL
, sal_Int32 nStyle
);
675 SvxEntries
* GetEntries();
676 void SetEntries( SvxEntries
* );
678 bool HasURL( const OUString
& rURL
);
683 class SvxNewToolbarDialog
: public ModalDialog
691 DECL_LINK(ModifyHdl
, Edit
*);
694 SvxNewToolbarDialog(Window
* pWindow
, const OUString
& rName
);
696 ListBox
* m_pSaveInListBox
;
700 return m_pEdtName
->GetText();
703 void SetCheckNameHdl( const Link
& rLink
, bool bCheckImmediately
= false )
705 aCheckNameHdl
= rLink
;
706 if ( bCheckImmediately
)
707 m_pBtnOK
->Enable( rLink
.Call( this ) > 0 );
710 void SetEditHelpId( const OString
& aHelpId
)
712 m_pEdtName
->SetHelpId(aHelpId
);
716 class SvxIconSelectorDialog
: public ModalDialog
719 FixedText aFtDescription
;
723 CancelButton aBtnCancel
;
725 PushButton aBtnImport
;
726 PushButton aBtnDelete
;
727 FixedLine aFlSeparator
;
728 sal_uInt16 m_nNextId
;
730 sal_Int32 m_nExpectedSize
;
732 ::com::sun::star::uno::Reference
<
733 ::com::sun::star::ui::XImageManager
> m_xImageManager
;
735 ::com::sun::star::uno::Reference
<
736 ::com::sun::star::ui::XImageManager
> m_xParentImageManager
;
738 ::com::sun::star::uno::Reference
<
739 ::com::sun::star::ui::XImageManager
> m_xImportedImageManager
;
741 ::com::sun::star::uno::Reference
<
742 ::com::sun::star::graphic::XGraphicProvider
> m_xGraphProvider
;
744 bool ReplaceGraphicItem( const OUString
& aURL
);
746 bool ImportGraphic( const OUString
& aURL
);
749 const com::sun::star::uno::Sequence
< OUString
>& aURLs
);
753 SvxIconSelectorDialog(
755 const ::com::sun::star::uno::Reference
<
756 ::com::sun::star::ui::XImageManager
>& rXImageManager
,
757 const ::com::sun::star::uno::Reference
<
758 ::com::sun::star::ui::XImageManager
>& rXParentImageManager
761 ~SvxIconSelectorDialog();
763 ::com::sun::star::uno::Reference
< ::com::sun::star::graphic::XGraphic
>
766 DECL_LINK( SelectHdl
, ToolBox
* );
767 DECL_LINK( ImportHdl
, PushButton
* );
768 DECL_LINK( DeleteHdl
, PushButton
* );
771 class SvxIconReplacementDialog
: public MessBox
774 SvxIconReplacementDialog(
776 const OUString
& aMessage
,
779 SvxIconReplacementDialog(
781 const OUString
& aMessage
);
783 OUString
ReplaceIconName( const OUString
& );
784 sal_uInt16
ShowDialog();
786 //added for issue83555
787 class SvxIconChangeDialog
: public ModalDialog
790 FixedImage aFImageInfo
;
792 FixedText aDescriptionLabel
;
793 SvxDescriptionEdit aLineEditDescription
;
795 SvxIconChangeDialog(Window
*pWindow
, const OUString
& aMessage
);
797 #endif // _SVXCFG_HXX
799 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */