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 .
19 #ifndef INCLUDED_CUI_SOURCE_INC_CFG_HXX
20 #define INCLUDED_CUI_SOURCE_INC_CFG_HXX
22 #include <vcl/transfer.hxx>
23 #include <vcl/weld.hxx>
24 #include <svtools/valueset.hxx>
26 #include <com/sun/star/container/XIndexContainer.hpp>
27 #include <com/sun/star/container/XNameAccess.hpp>
28 #include <com/sun/star/ui/XUIConfigurationManager.hpp>
29 #include <com/sun/star/ui/XImageManager.hpp>
30 #include <com/sun/star/graphic/XGraphicProvider.hpp>
31 #include <com/sun/star/frame/XFrame.hpp>
32 #include <com/sun/star/lang/XSingleComponentFactory.hpp>
34 #include <sfx2/tabdlg.hxx>
38 #include "cfgutil.hxx"
39 #include "CommandCategoryListBox.hxx"
41 #define notebookbarTabScope "notebookbarTabScope"
43 static const char ITEM_DESCRIPTOR_COMMANDURL
[] = "CommandURL";
44 static const char ITEM_DESCRIPTOR_CONTAINER
[] = "ItemDescriptorContainer";
45 static const char ITEM_DESCRIPTOR_LABEL
[] = "Label";
46 static const char ITEM_DESCRIPTOR_TYPE
[] = "Type";
47 static const char ITEM_DESCRIPTOR_STYLE
[] = "Style";
48 static const char ITEM_DESCRIPTOR_ISVISIBLE
[] = "IsVisible";
49 static const char ITEM_DESCRIPTOR_RESOURCEURL
[] = "ResourceURL";
50 static const char ITEM_DESCRIPTOR_UINAME
[] = "UIName";
52 static const char ITEM_MENUBAR_URL
[] = "private:resource/menubar/menubar";
53 static const char ITEM_TOOLBAR_URL
[] = "private:resource/toolbar/";
55 static const char CUSTOM_TOOLBAR_STR
[] = "custom_toolbar_";
57 static const char aMenuSeparatorStr
[] = " | ";
62 typedef std::vector
< SvxConfigEntry
* > SvxEntries
;
64 class SvxConfigDialog
: public SfxTabDialogController
67 css::uno::Reference
< css::frame::XFrame
> m_xFrame
;
70 SvxConfigDialog(weld::Window
*, const SfxItemSet
*);
72 virtual void PageCreated(const OString
& rId
, SfxTabPage
&rPage
) override
;
73 void SetFrame(const css::uno::Reference
< css::frame::XFrame
>& xFrame
);
86 < css::ui::XUIConfigurationManager
> m_xCfgMgr
;
89 < css::ui::XUIConfigurationManager
> m_xParentCfgMgr
;
92 < css::ui::XImageManager
> m_xImgMgr
;
95 < css::ui::XImageManager
> m_xParentImgMgr
;
97 static css::uno::Reference
98 < css::ui::XImageManager
>* xDefaultImgMgr
;
103 css::uno::Reference
< css::container::XIndexContainer
> const & rMenuBar
,
104 css::uno::Reference
< css::lang::XSingleComponentFactory
>& rFactory
,
105 SvxConfigEntry
*pMenuData
);
108 const css::uno::Reference
< css::container::XIndexAccess
>& xMenuSettings
,
109 const OUString
& rBaseTitle
, SvxConfigEntry
const * pParentData
, bool bContextMenu
);
114 const css::uno::Reference
< css::ui::XUIConfigurationManager
>& xCfgMgr
,
115 const css::uno::Reference
< css::ui::XUIConfigurationManager
>& xParentCfgMgr
,
116 const OUString
& aModuleId
,
119 virtual ~SaveInData() {}
122 const css::uno::Reference
< css::uno::XInterface
>& xManager
);
124 void SetModified( bool bValue
= true ) { bModified
= bValue
; }
125 bool IsModified( ) const { return bModified
; }
127 bool IsReadOnly( ) const { return bReadOnly
; }
128 bool IsDocConfig( ) const { return bDocConfig
; }
130 const css::uno::Reference
131 < css::ui::XUIConfigurationManager
>&
132 GetConfigManager() const { return m_xCfgMgr
; };
134 const css::uno::Reference
135 < css::ui::XUIConfigurationManager
>&
136 GetParentConfigManager() const { return m_xParentCfgMgr
; };
138 const css::uno::Reference
139 < css::ui::XImageManager
>&
140 GetImageManager() const { return m_xImgMgr
; };
142 const css::uno::Reference
143 < css::ui::XImageManager
>&
144 GetParentImageManager() const { return m_xParentImgMgr
; };
147 < css::container::XNameAccess
> m_xCommandToLabelMap
;
150 < css::beans::PropertyValue
> m_aSeparatorSeq
;
152 css::uno::Reference
<css::graphic::XGraphic
> GetImage(const OUString
& rCommandURL
);
154 virtual bool HasURL( const OUString
& aURL
) = 0;
155 virtual bool HasSettings() = 0;
156 virtual SvxEntries
* GetEntries() = 0;
157 virtual void SetEntries( std::unique_ptr
<SvxEntries
> ) = 0;
158 virtual void Reset() = 0;
159 virtual bool Apply() = 0;
162 class MenuSaveInData
: public SaveInData
166 OUString m_aMenuResourceURL
;
167 OUString m_aDescriptorContainer
;
170 < css::container::XIndexAccess
> m_xMenuSettings
;
172 std::unique_ptr
<SvxConfigEntry
> pRootEntry
;
175 static MenuSaveInData
* pDefaultData
; ///< static holder of the default menu data
177 static void SetDefaultData( MenuSaveInData
* pData
) {pDefaultData
= pData
;}
178 static MenuSaveInData
* GetDefaultData() { return pDefaultData
; }
181 css::uno::Reference
< css::container::XIndexContainer
> const & rNewMenuBar
,
182 css::uno::Reference
< css::lang::XSingleComponentFactory
>& rFactory
);
187 const css::uno::Reference
< css::ui::XUIConfigurationManager
>&,
188 const css::uno::Reference
< css::ui::XUIConfigurationManager
>&,
189 const OUString
& aModuleId
,
192 virtual ~MenuSaveInData() override
;
194 /// methods inherited from SaveInData
195 SvxEntries
* GetEntries() override
;
196 void SetEntries( std::unique_ptr
<SvxEntries
> ) override
;
197 bool HasURL( const OUString
& ) override
{ return false; }
198 bool HasSettings() override
{ return m_xMenuSettings
.is(); }
199 void Reset() override
;
200 bool Apply() override
;
203 class ContextMenuSaveInData
: public SaveInData
206 std::unique_ptr
< SvxConfigEntry
> m_pRootEntry
;
207 css::uno::Reference
< css::container::XNameAccess
> m_xPersistentWindowState
;
208 OUString
GetUIName( const OUString
& rResourceURL
);
211 ContextMenuSaveInData(
212 const css::uno::Reference
< css::ui::XUIConfigurationManager
>& xCfgMgr
,
213 const css::uno::Reference
< css::ui::XUIConfigurationManager
>& xParentCfgMgr
,
214 const OUString
& aModuleId
, bool bIsDocConfig
);
215 virtual ~ContextMenuSaveInData() override
;
217 SvxEntries
* GetEntries() override
;
218 void SetEntries( std::unique_ptr
<SvxEntries
> pNewEntries
) override
;
219 bool HasSettings() override
;
220 bool HasURL( const OUString
& rURL
) override
;
221 void Reset() override
;
222 bool Apply() override
;
224 void ResetContextMenu( const SvxConfigEntry
* pEntry
);
231 /// common properties
243 /// toolbar specific properties
248 css::graphic::XGraphic
> xBackupGraphic
;
250 std::unique_ptr
<SvxEntries
> mpEntries
;
254 SvxConfigEntry( const OUString
& rDisplayName
,
255 const OUString
& rCommandURL
,
264 bIsUserDefined( false ),
266 bIsParentData( false ),
267 bIsModified( false ),
274 const OUString
& GetCommand() const { return aCommand
; }
276 const OUString
& GetName() const { return aLabel
; }
277 void SetName( const OUString
& rStr
) { aLabel
= rStr
; bStrEdited
= true; }
278 bool HasChangedName() const { return bStrEdited
; }
280 bool IsPopup() const { return bPopUp
; }
282 void SetUserDefined( bool bOn
= true ) { bIsUserDefined
= bOn
; }
283 bool IsUserDefined() const { return bIsUserDefined
; }
285 bool IsBinding() const { return !bPopUp
; }
286 bool IsSeparator() const { return nId
== 0; }
288 SvxEntries
* GetEntries() const { return mpEntries
.get(); }
289 void SetEntries( std::unique_ptr
<SvxEntries
> entries
) { mpEntries
= std::move(entries
); }
291 void SetMain() { bIsMain
= true; }
292 bool IsMain() const { return bIsMain
; }
294 void SetParentData( bool bValue
= true ) { bIsParentData
= bValue
; }
295 bool IsParentData() const { return bIsParentData
; }
297 void SetModified( bool bValue
= true ) { bIsModified
= bValue
; }
298 bool IsModified() const { return bIsModified
; }
300 bool IsMovable() const;
301 bool IsDeletable() const;
302 bool IsRenamable() const;
304 void SetVisible( bool b
) { bIsVisible
= b
; }
305 bool IsVisible() const { return bIsVisible
; }
307 void SetBackupGraphic( css::uno::Reference
< css::graphic::XGraphic
> const & graphic
)
308 { xBackupGraphic
= graphic
; }
310 const css::uno::Reference
< css::graphic::XGraphic
>& GetBackupGraphic() const
311 { return xBackupGraphic
; }
313 sal_Int32
GetStyle() const { return nStyle
; }
314 void SetStyle( sal_Int32 style
) { nStyle
= style
; }
317 class SvxMenuEntriesListBox
320 std::unique_ptr
<weld::TreeView
> m_xControl
;
321 ScopedVclPtr
<VirtualDevice
> m_xDropDown
;
322 SvxConfigPage
* m_pPage
;
325 SvxMenuEntriesListBox(std::unique_ptr
<weld::TreeView
> xControl
, SvxConfigPage
* pPage
);
326 virtual ~SvxMenuEntriesListBox();
328 VirtualDevice
& get_dropdown_image() const { return *m_xDropDown
; }
330 int get_selected_index() const { return m_xControl
->get_selected_index(); }
331 OUString
get_id(int nPos
) const { return m_xControl
->get_id(nPos
); }
332 void remove(int nPos
) { m_xControl
->remove(nPos
); }
333 int n_children() const { return m_xControl
->n_children(); }
334 void set_text(int row
, const OUString
& rText
, int col
) { m_xControl
->set_text(row
, rText
, col
); }
335 OUString
get_text(int row
) { return m_xControl
->get_text(row
); }
336 void set_image(int row
, const css::uno::Reference
<css::graphic::XGraphic
>& rImage
, int col
) { m_xControl
->set_image(row
, rImage
, col
); }
337 void set_dropdown(int row
, int col
) { m_xControl
->set_image(row
, *m_xDropDown
, col
); }
338 void set_id(int row
, const OUString
& rId
) { m_xControl
->set_id(row
, rId
); }
339 void clear() { m_xControl
->clear(); } //need frees ?
340 void set_toggle(int row
, TriState eState
, int col
) { m_xControl
->set_toggle(row
, eState
, col
); }
341 void scroll_to_row(int pos
) { m_xControl
->scroll_to_row(pos
); }
342 void select(int pos
) { m_xControl
->select(pos
); }
344 weld::TreeView
& get_widget() { return *m_xControl
; }
346 void insert(int pos
, const OUString
& rId
)
348 m_xControl
->insert(nullptr, pos
, nullptr, &rId
,
349 nullptr, nullptr, nullptr, false, nullptr);
352 DECL_LINK(KeyInputHdl
, const KeyEvent
&, bool);
354 void CreateDropDown();
357 class SvxConfigPageFunctionDropTarget
: public DropTargetHelper
360 SvxConfigPage
& m_rPage
;
361 weld::TreeView
& m_rTreeView
;
363 virtual sal_Int8
AcceptDrop( const AcceptDropEvent
& rEvt
) override
;
364 virtual sal_Int8
ExecuteDrop( const ExecuteDropEvent
& rEvt
) override
;
367 SvxConfigPageFunctionDropTarget(SvxConfigPage
&rPage
, weld::TreeView
& rTreeView
);
370 class SvxConfigPage
: public SfxTabPage
374 Timer m_aUpdateDataTimer
;
376 SaveInData
* pCurrentSaveInData
;
378 DECL_LINK(SearchUpdateHdl
, weld::Entry
&, void);
382 /// the ResourceURL to select when opening the dialog
383 OUString m_aURLToSelect
;
385 css::uno::Reference
< css::frame::XFrame
> m_xFrame
;
386 OUString m_aModuleId
;
388 // Left side of the dialog where command categories and the available
389 // commands in them are displayed as a searchable list
390 std::unique_ptr
<CommandCategoryListBox
> m_xCommandCategoryListBox
;
391 std::unique_ptr
<CuiConfigFunctionListBox
> m_xFunctions
;
393 std::unique_ptr
<weld::Label
> m_xCategoryLabel
;
394 std::unique_ptr
<weld::Label
> m_xDescriptionFieldLb
;
395 std::unique_ptr
<weld::TextView
> m_xDescriptionField
;
396 std::unique_ptr
<weld::Label
> m_xLeftFunctionLabel
;
397 std::unique_ptr
<weld::Entry
> m_xSearchEdit
;
398 std::unique_ptr
<weld::Label
> m_xSearchLabel
;
401 // Right side of the dialog where the contents of the selected
402 // menu or toolbar are displayed
403 std::unique_ptr
<weld::Label
> m_xCustomizeLabel
;
404 std::unique_ptr
<weld::ComboBox
> m_xTopLevelListBox
;
405 // Used to add and remove toolbars/menus
406 std::unique_ptr
<weld::MenuButton
> m_xGearBtn
;
407 std::unique_ptr
<SvxMenuEntriesListBox
> m_xContentsListBox
;
408 std::unique_ptr
<SvxConfigPageFunctionDropTarget
> m_xDropTargetHelper
;
410 std::unique_ptr
<weld::Button
> m_xMoveUpButton
;
411 std::unique_ptr
<weld::Button
> m_xMoveDownButton
;
413 std::unique_ptr
<weld::ComboBox
> m_xSaveInListBox
;
415 std::unique_ptr
<weld::MenuButton
> m_xInsertBtn
;
416 std::unique_ptr
<weld::MenuButton
> m_xModifyBtn
;
417 // Used to reset the selected toolbar/menu/context menu
418 std::unique_ptr
<weld::Button
> m_xResetBtn
;
421 std::unique_ptr
<weld::Button
> m_xAddCommandButton
;
422 std::unique_ptr
<weld::Button
> m_xRemoveCommandButton
;
425 OUString m_sFileName
;
427 SvxConfigPage(weld::Container
* pPage
, weld::DialogController
* pController
, const SfxItemSet
&);
429 DECL_LINK(MoveHdl
, weld::Button
&, void);
430 DECL_LINK(SelectFunctionHdl
, weld::TreeView
&, void);
431 DECL_LINK(FunctionDoubleClickHdl
, weld::TreeView
&, bool);
432 DECL_LINK(SelectSaveInLocation
, weld::ComboBox
&, void);
433 DECL_LINK(SelectElementHdl
, weld::ComboBox
&, void);
434 DECL_LINK(ImplUpdateDataHdl
, Timer
*, void);
435 DECL_LINK(FocusOut_Impl
, weld::Widget
&, void);
437 virtual SaveInData
* CreateSaveInData(
438 const css::uno::Reference
< css::ui::XUIConfigurationManager
>&,
439 const css::uno::Reference
< css::ui::XUIConfigurationManager
>&,
440 const OUString
& aModuleId
,
441 bool docConfig
) = 0;
443 virtual void Init() = 0;
444 virtual void UpdateButtonStates() = 0;
445 virtual short QueryReset() = 0;
447 virtual void SelectElement() = 0;
449 int AppendEntry(SvxConfigEntry
* pNewEntryData
,
452 void AddSubMenusToUI( const OUString
& rBaseTitle
,
453 SvxConfigEntry
const * pParentData
);
455 void InsertEntryIntoUI(SvxConfigEntry
* pNewEntryData
,
456 weld::TreeView
& rTreeView
, int nPos
,
458 void InsertEntryIntoUI(SvxConfigEntry
* pNewEntryData
,
459 weld::TreeView
& rTreeView
, weld::TreeIter
& rIter
,
462 void InsertEntryIntoNotebookbarTabUI(const OUString
& sClassId
, const OUString
& sUIItemId
,
463 const OUString
& sUIItemCommand
,
464 weld::TreeView
& rTreeView
, weld::TreeIter
& rIter
,
467 SvxEntries
* FindParentForChild( SvxEntries
* pParentEntries
,
468 SvxConfigEntry
* pChildData
);
470 void ReloadTopLevelListBox( SvxConfigEntry
const * pSelection
= nullptr );
474 virtual ~SvxConfigPage() override
;
476 static bool CanConfig( const OUString
& rModuleId
);
478 SaveInData
* GetSaveInData() { return pCurrentSaveInData
; }
479 const OUString
& GetAppName() const { return m_sAppName
; }
480 const OUString
& GetFileName() const { return m_sFileName
; }
482 int AddFunction(int nTarget
,
483 bool bAllowDuplicates
);
485 virtual void MoveEntry( bool bMoveUp
);
487 bool MoveEntryData(int SourceEntry
, int nTargetEntry
);
489 bool FillItemSet( SfxItemSet
* ) override
;
490 void Reset( const SfxItemSet
* ) override
;
492 virtual void DeleteSelectedContent() = 0;
493 virtual void DeleteSelectedTopLevel() = 0;
495 virtual void ListModified() {}
497 SvxConfigEntry
* GetTopLevelSelection()
499 return reinterpret_cast<SvxConfigEntry
*>(m_xTopLevelListBox
->get_active_id().toInt64());
502 /** identifies the module in the given frame. If the frame is <NULL/>, a default
503 frame will be determined beforehand.
505 If the given frame is <NULL/>, a default frame will be used: The method the active
506 frame of the desktop, then the current frame. If both are <NULL/>,
507 the SfxViewFrame::Current's XFrame is used. If this is <NULL/>, too, an empty string is returned.
509 If the given frame is not <NULL/>, or a default frame could be successfully determined, then
510 the ModuleManager is asked for the module ID of the component in the frame.
513 GetFrameWithDefaultAndIdentify( css::uno::Reference
< css::frame::XFrame
>& _inout_rxFrame
);
515 OUString
GetScriptURL() const;
516 OUString
GetSelectedDisplayName() const;
519 class SvxMainMenuOrganizerDialog
: public weld::GenericDialogController
521 std::unique_ptr
<SvxEntries
> mpEntries
;
522 OUString m_sNewMenuEntryId
;
524 std::unique_ptr
<weld::Widget
> m_xMenuBox
;
525 std::unique_ptr
<weld::Entry
> m_xMenuNameEdit
;
526 std::unique_ptr
<weld::TreeView
> m_xMenuListBox
;
527 std::unique_ptr
<weld::Button
> m_xMoveUpButton
;
528 std::unique_ptr
<weld::Button
> m_xMoveDownButton
;
530 void UpdateButtonStates();
532 DECL_LINK(MoveHdl
, weld::Button
&, void);
533 DECL_LINK(ModifyHdl
, weld::Entry
&, void);
534 DECL_LINK(SelectHdl
, weld::TreeView
&, void);
537 SvxMainMenuOrganizerDialog(
538 weld::Window
*, SvxEntries
*,
539 SvxConfigEntry
const *, bool bCreateMenu
);
540 virtual ~SvxMainMenuOrganizerDialog() override
;
542 std::unique_ptr
<SvxEntries
> ReleaseEntries() { return std::move(mpEntries
);}
543 SvxConfigEntry
* GetSelectedEntry();
546 class ToolbarSaveInData
: public SaveInData
550 std::unique_ptr
<SvxConfigEntry
> pRootEntry
;
551 OUString m_aDescriptorContainer
;
554 < css::container::XNameAccess
> m_xPersistentWindowState
;
557 const css::uno::Reference
< css::container::XIndexAccess
>& xToolBarSettings
,
558 SvxConfigEntry
const * pParentData
);
561 css::uno::Reference
< css::container::XIndexContainer
> const & rNewToolbarBar
,
562 css::uno::Reference
< css::lang::XSingleComponentFactory
>& rFactory
,
563 SvxConfigEntry
const *pToolbar
);
568 const css::uno::Reference
< css::ui::XUIConfigurationManager
>&,
569 const css::uno::Reference
< css::ui::XUIConfigurationManager
>&,
570 const OUString
& aModuleId
,
573 virtual ~ToolbarSaveInData() override
;
575 void CreateToolbar( SvxConfigEntry
* pToolbar
);
576 void RestoreToolbar( SvxConfigEntry
* pToolbar
);
577 void RemoveToolbar( SvxConfigEntry
* pToolbar
);
578 void ApplyToolbar( SvxConfigEntry
* pToolbar
);
580 OUString
GetSystemUIName( const OUString
& rResourceURL
);
582 sal_Int32
GetSystemStyle( const OUString
& rResourceURL
);
584 void SetSystemStyle( const OUString
& rResourceURL
, sal_Int32 nStyle
);
587 const css::uno::Reference
< css::frame::XFrame
>& xFrame
,
588 const OUString
& rResourceURL
, sal_Int32 nStyle
);
590 SvxEntries
* GetEntries() override
;
591 void SetEntries( std::unique_ptr
<SvxEntries
> ) override
;
592 bool HasSettings() override
;
593 bool HasURL( const OUString
& rURL
) override
;
594 void Reset() override
;
595 bool Apply() override
;
598 class SvxNewToolbarDialog
: public weld::GenericDialogController
601 std::unique_ptr
<weld::Entry
> m_xEdtName
;
602 std::unique_ptr
<weld::Button
> m_xBtnOK
;
604 std::unique_ptr
<weld::ComboBox
> m_xSaveInListBox
;
606 SvxNewToolbarDialog(weld::Window
* pWindow
, const OUString
& rName
);
607 virtual ~SvxNewToolbarDialog() override
;
609 OUString
GetName() const
611 return m_xEdtName
->get_text();
615 class SvxIconSelectorDialog
: public weld::GenericDialogController
618 sal_Int32 m_nExpectedSize
;
621 css::ui::XImageManager
> m_xImageManager
;
624 css::ui::XImageManager
> m_xParentImageManager
;
627 css::ui::XImageManager
> m_xImportedImageManager
;
630 css::graphic::XGraphicProvider
> m_xGraphProvider
;
632 std::vector
<css::uno::Reference
<css::graphic::XGraphic
>> m_aGraphics
;
634 std::unique_ptr
<SvtValueSet
> m_xTbSymbol
;
635 std::unique_ptr
<weld::CustomWeld
> m_xTbSymbolWin
;
636 std::unique_ptr
<weld::Label
> m_xFtNote
;
637 std::unique_ptr
<weld::Button
> m_xBtnImport
;
638 std::unique_ptr
<weld::Button
> m_xBtnDelete
;
640 bool ReplaceGraphicItem( const OUString
& aURL
);
642 bool ImportGraphic( const OUString
& aURL
);
644 void ImportGraphics( const css::uno::Sequence
< OUString
>& aURLs
);
648 SvxIconSelectorDialog(
649 weld::Window
*pWindow
,
650 const css::uno::Reference
< css::ui::XImageManager
>& rXImageManager
,
651 const css::uno::Reference
< css::ui::XImageManager
>& rXParentImageManager
);
653 virtual ~SvxIconSelectorDialog() override
;
655 css::uno::Reference
< css::graphic::XGraphic
>
658 DECL_LINK(SelectHdl
, SvtValueSet
*, void);
659 DECL_LINK(ImportHdl
, weld::Button
&, void);
660 DECL_LINK(DeleteHdl
, weld::Button
&, void);
663 //added for issue83555
664 class SvxIconChangeDialog
: public weld::MessageDialogController
667 std::unique_ptr
<weld::TextView
> m_xLineEditDescription
;
669 SvxIconChangeDialog(weld::Window
*pWindow
, const OUString
& rMessage
);
672 #endif // INCLUDED_CUI_SOURCE_INC_CFG_HXX
674 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */