22#include <com/sun/star/beans/XPropertySet.hpp>
23#include <com/sun/star/container/XEnumerationAccess.hpp>
24#include <com/sun/star/container/XEnumeration.hpp>
25#include <com/sun/star/document/XScriptInvocationContext.hpp>
26#include <com/sun/star/frame/ModuleManager.hpp>
27#include <com/sun/star/frame/Desktop.hpp>
28#include <com/sun/star/frame/theUICommandDescription.hpp>
29#include <com/sun/star/frame/XDispatchInformationProvider.hpp>
30#include <com/sun/star/script/browse/XBrowseNode.hpp>
31#include <com/sun/star/script/browse/BrowseNodeTypes.hpp>
32#include <com/sun/star/script/browse/theBrowseNodeFactory.hpp>
33#include <com/sun/star/script/browse/BrowseNodeFactoryViewTypes.hpp>
34#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
35#include <com/sun/star/uno/RuntimeException.hpp>
36#include <com/sun/star/ui/theUICategoryDescription.hpp>
41#include <bitmaps.hlst>
50#include <osl/diagnose.h>
84 std::u16string_view sFamily, std::u16string_view sStyle)
86 return OUString::Concat(
".uno:StyleApply?Style:string=")
88 +
"&FamilyName:string="
104 sal_Int32 nCmdLen = aStyle.
sCommand.getLength();
105 OUString sCmdArgs = aStyle.
sCommand.copy(LEN_STYLEPROT, nCmdLen-LEN_STYLEPROT);
106 sal_Int32
i = sCmdArgs.indexOf(
'&');
110 OUString sArg = sCmdArgs.copy(0,
i);
112 aStyle.
sStyle = sArg.copy(LEN_SPART);
114 aStyle.
sFamily = sArg.copy(LEN_FPART);
116 sArg = sCmdArgs.copy(
i+1, sCmdArgs.getLength()-
i-1);
118 aStyle.
sStyle = sArg.copy(LEN_SPART);
120 aStyle.
sFamily = sArg.copy(LEN_FPART);
122 return !(aStyle.
sFamily.isEmpty() || aStyle.
sStyle.isEmpty());
129 css::uno::Reference< css::style::XStyleFamiliesSupplier >
xModel(
m_xDoc, css::uno::UNO_QUERY);
131 css::uno::Reference< css::container::XNameAccess > xFamilies;
133 xFamilies =
xModel->getStyleFamilies();
135 css::uno::Reference< css::container::XNameAccess > xStyleSet;
137 xFamilies->getByName(aStyle.
sFamily) >>= xStyleSet;
139 css::uno::Reference< css::beans::XPropertySet > xStyle;
141 xStyleSet->getByName(aStyle.
sStyle) >>= xStyle;
147 catch(
const css::uno::RuntimeException&)
149 catch(
const css::uno::Exception&)
150 { aStyle.
sLabel.clear(); }
152 if (aStyle.
sLabel.isEmpty())
161 css::uno::Reference< css::style::XStyleFamiliesSupplier >
xModel(
m_xDoc, css::uno::UNO_QUERY);
163 return std::vector< SfxStyleInfo_Impl >();
165 css::uno::Reference< css::container::XNameAccess > xCont =
xModel->getStyleFamilies();
166 const css::uno::Sequence< OUString > lFamilyNames = xCont->getElementNames();
167 std::vector< SfxStyleInfo_Impl > lFamilies;
168 for (
const auto& aFamily : lFamilyNames)
170 if ((aFamily ==
"CellStyles" &&
m_aModuleName !=
"com.sun.star.sheet.SpreadsheetDocument") ||
171 aFamily ==
"cell" || aFamily ==
"table" || aFamily ==
"Default")
179 css::uno::Reference< css::beans::XPropertySet > xFamilyInfo;
180 xCont->getByName(aFamilyInfo.
sFamily) >>= xFamilyInfo;
181 if (!xFamilyInfo.is())
189 catch(
const css::uno::RuntimeException&)
191 catch(
const css::uno::Exception&)
192 {
return std::vector< SfxStyleInfo_Impl >(); }
194 lFamilies.push_back(aFamilyInfo);
202 css::uno::Sequence< OUString > lStyleNames;
203 css::uno::Reference< css::style::XStyleFamiliesSupplier >
xModel(
m_xDoc, css::uno::UNO_QUERY_THROW);
204 css::uno::Reference< css::container::XNameAccess > xFamilies =
xModel->getStyleFamilies();
205 css::uno::Reference< css::container::XNameAccess > xStyleSet;
208 xFamilies->getByName(sFamily) >>= xStyleSet;
209 lStyleNames = xStyleSet->getElementNames();
211 catch(
const css::uno::RuntimeException&)
213 catch(
const css::uno::Exception&)
214 {
return std::vector< SfxStyleInfo_Impl >(); }
216 std::vector< SfxStyleInfo_Impl > lStyles;
217 sal_Int32 c = lStyleNames.getLength();
223 aStyleInfo.
sStyle = lStyleNames[
i];
228 css::uno::Reference< css::beans::XPropertySet > xStyle;
229 xStyleSet->getByName(aStyleInfo.
sStyle) >>= xStyle;
232 xStyle->getPropertyValue(
"DisplayName") >>= aStyleInfo.
sLabel;
234 catch(
const css::uno::RuntimeException&)
236 catch(
const css::uno::Exception&)
239 lStyles.push_back(aStyleInfo);
258 return pData->sHelpText;
269 return pData->sCommand;
277 if (!
pData->sLabel.isEmpty())
278 return pData->sLabel;
279 return pData->sCommand;
303 OUString aTip =
CuiResId(RID_CUISTR_COMMANDTIP) +
": ";
320 OUString* pScriptURI =
static_cast<OUString*
>(
pData->pObject);
342 return *
static_cast<OUString*
>(
pData->pObject);
359 m_sMyMacros(
CuiResId(RID_CUISTR_MYMACROS)),
360 m_sProdMacros(
CuiResId(RID_CUISTR_PRODMACROS)),
361 m_sMacros(
CuiResId(RID_CUISTR_BASICMACROS)),
362 m_sDlgMacros(
CuiResId(RID_CUISTR_PRODMACROS)),
363 m_aStrGroupStyles(
CuiResId(RID_CUISTR_GROUP_STYLES)),
364 m_aStrGroupSidebarDecks(
CuiResId(RID_CUISTR_GROUP_SIDEBARDECKS))
382 Reference< XModel > lcl_getDocumentWithScripts_throw(
const Reference< XInterface >& _rxComponent )
384 Reference< XEmbeddedScripts > xScripts( _rxComponent, UNO_QUERY );
385 if ( !xScripts.is() )
387 Reference< XScriptInvocationContext > xContext( _rxComponent, UNO_QUERY );
389 xScripts = xContext->getScriptContainer();
392 return Reference< XModel >( xScripts, UNO_QUERY );
396 Reference< XModel > lcl_getScriptableDocument_nothrow(
const Reference< XFrame >& _rxFrame )
398 Reference< XModel > xDocument;
403 OSL_ENSURE( _rxFrame.is(),
"lcl_getScriptableDocument_nothrow: you need to pass a frame to this dialog/tab page!" );
407 Reference< XController >
xController( _rxFrame->getController(), UNO_SET_THROW );
408 xDocument = lcl_getDocumentWithScripts_throw(
xController->getModel() );
410 if ( !xDocument.is() )
413 xDocument = lcl_getDocumentWithScripts_throw( _rxFrame->getController() );
417 catch(
const Exception& )
427 , m_pFunctionListBox(nullptr)
428 , m_pStylesInfo(nullptr)
454 OUString* pScriptURI =
static_cast<OUString*
>(
pData->pObject);
475 css::uno::Reference< css::frame::XDispatchInformationProvider > xProvider(
m_xFrame, css::uno::UNO_QUERY_THROW);
476 css::uno::Sequence< sal_Int16 > lGroups = xProvider->getSupportedCommandGroups();
477 sal_Int32 c1 = lGroups.getLength();
487 for (i1=0; i1<c1; ++i1)
489 sal_Int16 nGroupID = lGroups[i1];
490 OUString sGroupID = OUString::number(nGroupID);
491 OUString sGroupName ;
496 if (sGroupName.isEmpty())
499 catch(
const css::container::NoSuchElementException&)
506 catch(
const css::uno::RuntimeException&)
508 catch(
const css::uno::Exception&)
516 if ( xRootNode->hasChildNodes() )
521 const Sequence< Reference< browse::XBrowseNode > > children =
522 xRootNode->getChildNodes();
523 bool bIsRootNode =
false;
525 OUString user(
"user");
526 OUString share(
"share");
527 if ( xRootNode->getName() ==
"Root" )
538 OUString currentDocTitle;
539 Reference< XModel > xDocument( lcl_getScriptableDocument_nothrow(
m_xFrame ) );
540 if ( xDocument.is() )
542 currentDocTitle = ::comphelper::DocumentInfo::getDocumentTitle( xDocument );
545 for ( Reference< browse::XBrowseNode >
const & theChild : children )
547 bool bDisplay =
true;
548 OUString uiName = theChild->getName();
551 if ( ! (uiName == user || uiName == share ||
552 uiName == currentDocTitle ) )
558 if ( uiName == user )
560 uiName =
xImp->m_sMyMacros;
562 else if ( uiName == share )
564 uiName =
xImp->m_sProdMacros;
568 if (theChild->getType() != browse::BrowseNodeTypes::SCRIPT && bDisplay )
574 bool bChildOnDemand =
false;
576 if ( theChild->hasChildNodes() )
578 const Sequence< Reference< browse::XBrowseNode > > grandchildren =
579 theChild->getChildNodes();
581 for (
const auto& rxNode : grandchildren )
583 if ( rxNode->getType() == browse::BrowseNodeTypes::CONTAINER )
585 bChildOnDemand =
true;
594 0,
static_cast<void *
>( theChild.get())));
611 for (
const auto & rInfo : xCommands)
619 pGrpInfo->
sLabel = sUIName;
627 const css::uno::Reference< css::frame::XFrame >& xFrame,
628 const OUString& sModuleLongName,
646 SAL_INFO(
"cui.customize",
"** ** About to initialise SF Scripts");
648 Reference< browse::XBrowseNode > rootNode;
651 Reference< browse::XBrowseNodeFactory > xFac = browse::theBrowseNodeFactory::get(
m_xContext );
652 rootNode.set( xFac->createView( browse::BrowseNodeFactoryViewTypes::MACROSELECTOR ) );
656 TOOLS_WARN_EXCEPTION(
"cui.customize",
"Caught some exception whilst retrieving browse nodes from factory");
670 static_cast<void *
>(rootNode.get())));
671 OUString aTitle(
xImp->m_sDlgMacros);
673 m_xTreeView->insert(
nullptr, -1, &aTitle, &
sId,
nullptr,
nullptr,
true,
nullptr);
687 OUString sStyle(
xImp->m_aStrGroupStyles);
689 m_xTreeView->insert(
nullptr, -1, &sStyle, &
sId,
nullptr,
nullptr,
true,
nullptr);
692 OUString sSidebarDecks(
xImp->m_aStrGroupSidebarDecks);
694 m_xTreeView->insert(
nullptr, -1, &sSidebarDecks, &
sId,
nullptr,
nullptr,
false,
nullptr);
703 const Reference< browse::XBrowseNode >& node,
704 Reference< XComponentContext >
const & xCtx,
710 if (node->getName() ==
"user" || node->getName() ==
"share" )
712 aImage = RID_CUIBMP_HARDDISK;
717 OUString nodeName = node->getName();
719 if ( xDocumentModel.is() )
721 Reference< frame::XModuleManager2 > xModuleManager( frame::ModuleManager::create(xCtx) );
723 OUString appModule( xModuleManager->identify(
725 Sequence<beans::PropertyValue> moduleDescr;
726 Any aAny = xModuleManager->getByName(appModule);
727 if( !( aAny >>= moduleDescr ) )
731 beans::PropertyValue
const * pmoduleDescr =
732 moduleDescr.getConstArray();
733 for ( sal_Int32
pos = moduleDescr.getLength();
pos--; )
735 if ( pmoduleDescr[
pos ].
Name ==
"ooSetupFactoryEmptyDocumentURL" )
737 pmoduleDescr[
pos ].Value >>= factoryURL;
738 SAL_INFO(
"cui.customize",
"factory url for doc images is " << factoryURL);
743 if( !factoryURL.isEmpty() )
749 aImage = RID_CUIBMP_DOC;
755 if( node->getType() == browse::BrowseNodeTypes::SCRIPT )
756 aImage = RID_CUIBMP_MACRO;
758 aImage = RID_CUIBMP_LIB;
763Reference< XInterface >
766 Reference< XInterface >
xModel;
767 Reference< frame::XDesktop2 >
desktop = frame::Desktop::create( xCtx );
769 Reference< container::XEnumerationAccess > componentsAccess =
771 Reference< container::XEnumeration > components =
772 componentsAccess->createEnumeration();
773 while (components->hasMoreElements())
776 components->nextElement(), UNO_QUERY );
780 ::comphelper::DocumentInfo::getDocumentTitle(
model );
781 if( sTdocUrl == docName )
796 css::uno::Reference< css::container::XNameAccess > xModuleConf;
798 if (xModuleConf.is())
804 catch(
const css::uno::RuntimeException&)
806 catch(css::uno::Exception&)
810 if (sUIName.isEmpty())
824 std::unique_ptr<weld::TreeIter> xIter(
m_xTreeView->make_iterator());
832 switch ( pInfo->
nKind )
836 css::uno::Reference< css::frame::XDispatchInformationProvider > xProvider(
m_xFrame, UNO_QUERY );
837 bool bValidIter =
m_xTreeView->get_iter_first(*xIter);
843 css::uno::Sequence< css::frame::DispatchInformation > lCommands;
846 lCommands = xProvider->getConfigurableDispatchInformation( pCurrentInfo->
nUniqueID );
849 catch ( container::NoSuchElementException& )
861 css::uno::Reference< css::frame::XDispatchInformationProvider > xProvider (
m_xFrame, css::uno::UNO_QUERY_THROW);
862 css::uno::Sequence< css::frame::DispatchInformation > lCommands = xProvider->getConfigurableDispatchInformation(nGroup);
871 Reference< browse::XBrowseNode > rootNode(
872 static_cast< browse::XBrowseNode*
>( pInfo->
pObject ) ) ;
875 if ( rootNode->hasChildNodes() )
877 const Sequence< Reference< browse::XBrowseNode > > children =
878 rootNode->getChildNodes();
880 for (
const Reference< browse::XBrowseNode >& childNode : children )
882 if (childNode->getType() == browse::BrowseNodeTypes::SCRIPT)
884 OUString uri, description;
886 Reference < beans::XPropertySet >xPropSet( childNode, UNO_QUERY );
893 xPropSet->getPropertyValue(
"URI");
898 value = xPropSet->getPropertyValue(
"Description");
899 value >>= description;
905 OUString* pScriptURI =
new OUString( uri );
907 OUString aImage =
GetImage(childNode, Reference< XComponentContext >(),
false);
932 for (
auto const& lStyle : lStyles)
952 for (
auto const& rDeck : aDecks)
954 const OUString sCommand =
".uno:SidebarDeck." + rDeck.msId;
971 SAL_INFO(
"cui.customize",
"Ignoring unexpected SfxCfgKind: " <<
static_cast<int>(pInfo->
nKind) );
987 switch ( pInfo->
nKind )
993 Reference< browse::XBrowseNode > rootNode(
994 static_cast< browse::XBrowseNode*
>( pInfo->
pObject ) ) ;
995 FillScriptList(rootNode, &rIter);
1004 const std::vector<SfxStyleInfo_Impl> lStyleFamilies = m_pStylesInfo->getStyleFamilies();
1005 for (
auto const& lStyleFamily : lStyleFamilies)
1017 OSL_FAIL(
"Wrong group type!" );
1023#if HAVE_FEATURE_SCRIPTING
1024void CuiConfigGroupListBox::SelectMacro(
const SfxMacroInfoItem *pItem )
1026 SelectMacro( pItem->GetBasicManager()->GetName(),
1027 pItem->GetQualifiedName() );
1030void CuiConfigGroupListBox::SelectMacro( std::u16string_view rBasic,
1031 std::u16string_view rMacro )
1033 const OUString aBasicName(OUString::Concat(rBasic) +
" " +
xImp->m_sMacros);
1034 size_t nIdx {rMacro.rfind(
'.')};
1035 const std::u16string_view aMethod( rMacro.substr(nIdx == std::u16string_view::npos ? 0 : nIdx + 1) );
1036 std::u16string_view aLib;
1037 std::u16string_view aModule;
1038 if ( nIdx>0 && nIdx != std::u16string_view::npos )
1041 nIdx = rMacro.rfind(
'.', nIdx);
1042 if (nIdx != std::u16string_view::npos)
1046 sal_Int32 nIdx2 = nIdx + 1;
1051 std::unique_ptr<weld::TreeIter> xIter =
m_xTreeView->make_iterator();
1057 OUString aEntryBas =
m_xTreeView->get_text(*xIter);
1058 if (aEntryBas == aBasicName)
1061 std::unique_ptr<weld::TreeIter> xLibIter =
m_xTreeView->make_iterator(xIter.get());
1066 OUString aEntryLib =
m_xTreeView->get_text(*xLibIter);
1067 if (aEntryLib == aLib)
1070 std::unique_ptr<weld::TreeIter> xModIter =
m_xTreeView->make_iterator(xLibIter.get());
1075 OUString aEntryMod =
m_xTreeView->get_text(*xModIter);
1076 if ( aEntryMod == aModule )
1084 if (aEntryMethod == aMethod)
1092 }
while (
m_xTreeView->iter_next_sibling(*xModIter));
1095 }
while (
m_xTreeView->iter_next_sibling(*xLibIter));
1110 weld::Window* pParent,
const css::uno::Reference< css::frame::XFrame >& xFrame)
1111 : GenericDialogController(pParent,
"cui/ui/macroselectordialog.ui",
"MacroSelectorDialog")
1112 , m_xDialogDescription(m_xBuilder->weld_label(
"helpmacro"))
1115 , m_xLibraryFT(m_xBuilder->weld_label(
"libraryft"))
1116 , m_xMacronameFT(m_xBuilder->weld_label(
"macronameft"))
1118 , m_xCancelButton(m_xBuilder->weld_button(
"cancel"))
1119 , m_xDescriptionText(m_xBuilder->weld_text_view(
"description"))
1120 , m_xDescriptionFrame(m_xBuilder->weld_frame(
"descriptionframe"))
1167 if (&rCtrl == &m_xCategories->get_widget())
1169 m_xCategories->GroupSelected();
1184 if (rCEvt.GetCommand() != CommandEventId::ContextMenu || !xTreeView.
n_children())
1188 std::unique_ptr<weld::Menu> xPopup(xBuilder->weld_menu(
"sortmenu"));
1189 std::unique_ptr<weld::Menu> xDropMenu(xBuilder->weld_menu(
"sortsubmenu"));
1190 xDropMenu->set_active(
"alphabetically", xTreeView.
get_sort_order());
1191 xDropMenu->set_active(
"properorder", !xTreeView.
get_sort_order());
1193 OString sCommand(xPopup->popup_at_rect(&xTreeView,
tools::Rectangle(rCEvt.GetMousePosPixel(),
Size(1,1))));
1194 if (sCommand ==
"alphabetically")
1198 else if (sCommand ==
"properorder")
1201 m_xCategories->GroupSelected();
1203 else if (!sCommand.isEmpty())
1205 SAL_WARN(
"cui.customize",
"Unknown context menu action: " << sCommand );
1217 if ( !url.isEmpty() )
1233 if (&rButton == m_xCancelButton.get())
1254 std::unique_ptr<weld::TreeIter> xIter =
m_xCommands->make_iterator();
std::unique_ptr< weld::TreeView > m_xTreeView
PropertiesInfo aProperties
Reference< XExecutableDialog > m_xDialog
IMPL_LINK_NOARG(SvxScriptSelectorDialog, FunctionDoubleClickHdl, weld::TreeView &, bool)
const char CMDURL_SPART_ONLY[]
constexpr OUStringLiteral STYLEPROP_UINAME
const char CMDURL_STYLEPROT_ONLY[]
IMPL_LINK(CuiConfigFunctionListBox, QueryTooltip, const weld::TreeIter &, rIter, OUString)
const char CMDURL_FPART_ONLY[]
static std::unique_ptr< weld::Builder > CreateBuilder(weld::Widget *pParent, const OUString &rUIFile, bool bMobile=false, sal_uInt64 nLOKWindowId=0)
OUString GetCurLabel() const
SfxGroupInfoArr_Impl aArr
OUString get_text(int nPos) const
OUString GetCurCommand() const
void scroll_to_row(int pos)
OUString get_selected_id() const
void append(const OUString &rId, const OUString &rStr, const weld::TreeIter *pParent=nullptr)
~CuiConfigFunctionListBox()
OUString GetSelectedScriptURI() const
OUString GetHelpText(bool bConsiderParent=true)
std::unique_ptr< weld::TreeView > m_xTreeView
CuiConfigFunctionListBox(std::unique_ptr< weld::TreeView > xTreeView)
void SetStylesInfo(SfxStylesInfo_Impl *pStyles)
OUString m_sModuleLongName
CuiConfigFunctionListBox * m_pFunctionListBox
std::unique_ptr< weld::TreeView > m_xTreeView
SfxStylesInfo_Impl * m_pStylesInfo
void Init(const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Reference< css::frame::XFrame > &xFrame, const OUString &sModuleLongName, bool bEventMode)
static OUString GetImage(const css::uno::Reference< css::script::browse::XBrowseNode > &node, css::uno::Reference< css::uno::XComponentContext > const &xCtx, bool bIsRootNode)
static css::uno::Reference< css::uno::XInterface > getDocumentModel(css::uno::Reference< css::uno::XComponentContext > const &xCtx, std::u16string_view docName)
CuiConfigGroupListBox(std::unique_ptr< weld::TreeView > xTreeView)
SfxGroupInfoArr_Impl aArr
std::unique_ptr< SvxConfigGroupBoxResource_Impl > xImp
css::uno::Reference< css::container::XNameAccess > m_xGlobalCategoryInfo
OUString MapCommand2UIName(const OUString &sCommand)
void FillFunctionsList(const css::uno::Sequence< css::frame::DispatchInformation > &xCommands)
css::uno::Reference< css::container::XNameAccess > m_xModuleCategoryInfo
std::unique_ptr< weld::TreeIter > m_xScratchIter
void FillScriptList(const css::uno::Reference< css::script::browse::XBrowseNode > &xRootNode, const weld::TreeIter *pParentEntry)
css::uno::Reference< css::frame::XFrame > m_xFrame
css::uno::Reference< css::container::XNameAccess > m_xUICmdDescription
css::uno::Reference< css::uno::XComponentContext > m_xContext
virtual OUString GetHelpText(const OUString &aHelpURL, const weld::Widget *pWidget)
SvxScriptSelectorDialog(weld::Window *pParent, const css::uno::Reference< css::frame::XFrame > &xFrame)
std::unique_ptr< weld::Label > m_xDialogDescription
std::unique_ptr< weld::Button > m_xOKButton
OUString GetScriptURL() const
std::unique_ptr< CuiConfigGroupListBox > m_xCategories
std::unique_ptr< weld::Label > m_xMacronameFT
std::unique_ptr< CuiConfigFunctionListBox > m_xCommands
std::unique_ptr< weld::TextView > m_xDescriptionText
std::unique_ptr< weld::Label > m_xLibraryFT
std::unique_ptr< weld::Button > m_xCancelButton
SfxStylesInfo_Impl m_aStylesInfo
std::unique_ptr< weld::Frame > m_xDescriptionFrame
virtual ~SvxScriptSelectorDialog() override
TValueType getUnpackedValueOrDefault(const OUString &sKey, const TValueType &aDefault) const
virtual void make_sorted()=0
virtual int n_children() const=0
virtual bool get_sort_order() const=0
virtual void make_unsorted()=0
OUString CuiResId(TranslateId aKey)
#define TOOLS_WARN_EXCEPTION(area, stream)
std::unique_ptr< weld::Button > m_xOKButton
#define LINK(Instance, Class, Member)
#define SAL_WARN(area, stream)
#define SAL_INFO(area, stream)
std::unique_ptr< sal_Int32[]> pData
css::uno::Reference< css::uno::XCurrentContext > NoEnableJavaInteractionContext()
Reference< XComponentContext > getProcessComponentContext()
std::basic_string_view< charT, traits > getToken(std::basic_string_view< charT, traits > sv, charT delimiter, std::size_t &position)
Sequence< beans::PropertyValue > GetCommandProperties(const OUString &rsCommandName, const OUString &rsModuleName)
OUString GetTooltipForCommand(const OUString &rsCommandName, const css::uno::Sequence< css::beans::PropertyValue > &rProperties, const Reference< frame::XFrame > &rxFrame)
OUString GetCommandShortcut(const OUString &rsCommandName, const Reference< frame::XFrame > &rxFrame)
OUString GetModuleIdentifier(const Reference< frame::XFrame > &rxFrame)
OUString toId(const void *pValue)
const SvxPageUsage aArr[]
void init(const OUString &rModuleName, const css::uno::Reference< css::frame::XModel > &xModel)
static bool parseStyleCommand(SfxStyleInfo_Impl &aStyle)
static OUString generateCommand(std::u16string_view sFamily, std::u16string_view sStyle)
std::vector< SfxStyleInfo_Impl > getStyleFamilies() const
std::vector< SfxStyleInfo_Impl > getStyles(const OUString &sFamily)
css::uno::Reference< css::frame::XModel > m_xDoc
void getLabel4Style(SfxStyleInfo_Impl &aStyle)
SvxConfigGroupBoxResource_Impl()
OUString m_aStrGroupStyles
OUString m_aStrGroupSidebarDecks
Reference< XController > xController
Reference< XFrame > xFrame
Reference< XModel > xModel