diff options
Diffstat (limited to 'basctl/source/basicide/bastype2.cxx')
-rw-r--r-- | basctl/source/basicide/bastype2.cxx | 688 |
1 files changed, 0 insertions, 688 deletions
diff --git a/basctl/source/basicide/bastype2.cxx b/basctl/source/basicide/bastype2.cxx index 642b5c7adaea..a0bff5610898 100644 --- a/basctl/source/basicide/bastype2.cxx +++ b/basctl/source/basicide/bastype2.cxx @@ -159,694 +159,6 @@ EntryDescriptor::EntryDescriptor ( OSL_ENSURE( m_aDocument.isValid(), "EntryDescriptor::EntryDescriptor: invalid document!" ); } -TreeListBox::TreeListBox (vcl::Window* pParent, WinBits nStyle) - : SvTreeListBox(pParent, nStyle) - , m_aNotifier( *this ) -{ - SetNodeDefaultImages(); - SetSelectionMode( SelectionMode::Single ); -} - -TreeListBox::~TreeListBox () -{ - disposeOnce(); -} - -void TreeListBox::dispose() -{ - m_aNotifier.dispose(); - - // destroy user data - SvTreeListEntry* pEntry = First(); - while ( pEntry ) - { - delete static_cast<Entry*>( pEntry->GetUserData() ); - pEntry->SetUserData( nullptr ); - pEntry = Next( pEntry ); - } - SvTreeListBox::dispose(); -} - -void TreeListBox::ScanEntry( const ScriptDocument& rDocument, LibraryLocation eLocation ) -{ - OSL_ENSURE( rDocument.isAlive(), "TreeListBox::ScanEntry: illegal document!" ); - if ( !rDocument.isAlive() ) - return; - - // can be called multiple times for updating! - - // actually test if basic's in the tree already?! - SetUpdateMode(false); - - // level 1: BasicManager (application, document, ...) - SvTreeListEntry* pDocumentRootEntry = FindRootEntry( rDocument, eLocation ); - if ( pDocumentRootEntry && IsExpanded( pDocumentRootEntry ) ) - ImpCreateLibEntries( pDocumentRootEntry, rDocument, eLocation ); - if ( !pDocumentRootEntry ) - { - OUString aRootName( GetRootEntryName( rDocument, eLocation ) ); - Image aImage; - GetRootEntryBitmaps( rDocument, aImage ); - AddEntry( - aRootName, - aImage, - nullptr, true, std::make_unique<DocumentEntry>(rDocument, eLocation)); - } - - SetUpdateMode(true); -} - -void TreeListBox::ImpCreateLibEntries( SvTreeListEntry* pDocumentRootEntry, const ScriptDocument& rDocument, LibraryLocation eLocation ) -{ - // get a sorted list of library names - Sequence< OUString > aLibNames( rDocument.getLibraryNames() ); - sal_Int32 nLibCount = aLibNames.getLength(); - const OUString* pLibNames = aLibNames.getConstArray(); - - for ( sal_Int32 i = 0 ; i < nLibCount ; i++ ) - { - OUString aLibName = pLibNames[ i ]; - - if ( eLocation == rDocument.getLibraryLocation( aLibName ) ) - { - // check, if the module library is loaded - bool bModLibLoaded = false; - Reference< script::XLibraryContainer > xModLibContainer( rDocument.getLibraryContainer( E_SCRIPTS ) ); - if ( xModLibContainer.is() && xModLibContainer->hasByName( aLibName ) && xModLibContainer->isLibraryLoaded( aLibName ) ) - bModLibLoaded = true; - - // check, if the dialog library is loaded - bool bDlgLibLoaded = false; - Reference< script::XLibraryContainer > xDlgLibContainer( rDocument.getLibraryContainer( E_DIALOGS ) ); - if ( xDlgLibContainer.is() && xDlgLibContainer->hasByName( aLibName ) && xDlgLibContainer->isLibraryLoaded( aLibName ) ) - bDlgLibLoaded = true; - - bool bLoaded = bModLibLoaded || bDlgLibLoaded; - - // if only one of the libraries is loaded, load also the other - if ( bLoaded ) - { - if ( xModLibContainer.is() && xModLibContainer->hasByName( aLibName ) && !xModLibContainer->isLibraryLoaded( aLibName ) ) - xModLibContainer->loadLibrary( aLibName ); - - if ( xDlgLibContainer.is() && xDlgLibContainer->hasByName( aLibName ) && !xDlgLibContainer->isLibraryLoaded( aLibName ) ) - xDlgLibContainer->loadLibrary( aLibName ); - } - - // create tree list box entry - OUString sId = bLoaded ? OUStringLiteral(RID_BMP_MODLIB) : OUStringLiteral(RID_BMP_MODLIBNOTLOADED); - SvTreeListEntry* pLibRootEntry = FindEntry( pDocumentRootEntry, aLibName, OBJ_TYPE_LIBRARY ); - if ( pLibRootEntry ) - { - SetEntryBitmaps(pLibRootEntry, Image(StockImage::Yes, sId)); - if ( IsExpanded(pLibRootEntry)) - ImpCreateLibSubEntries( pLibRootEntry, rDocument, aLibName ); - } - else - { - AddEntry( - aLibName, - Image(StockImage::Yes, sId), - pDocumentRootEntry, true, - std::make_unique<Entry>(OBJ_TYPE_LIBRARY)); - } - } - } -} - -void TreeListBox::ImpCreateLibSubEntries( SvTreeListEntry* pLibRootEntry, const ScriptDocument& rDocument, const OUString& rLibName ) -{ - // modules - { - Reference< script::XLibraryContainer > xModLibContainer( rDocument.getLibraryContainer( E_SCRIPTS ) ); - - if ( xModLibContainer.is() && xModLibContainer->hasByName( rLibName ) && xModLibContainer->isLibraryLoaded( rLibName ) ) - { - try - { - if( rDocument.isInVBAMode() ) - ImpCreateLibSubEntriesInVBAMode( pLibRootEntry, rDocument, rLibName ); - else - { - // get a sorted list of module names - Sequence< OUString > aModNames = rDocument.getObjectNames( E_SCRIPTS, rLibName ); - sal_Int32 nModCount = aModNames.getLength(); - const OUString* pModNames = aModNames.getConstArray(); - - for ( sal_Int32 i = 0 ; i < nModCount ; i++ ) - { - OUString aModName = pModNames[ i ]; - SvTreeListEntry* pModuleEntry = FindEntry( pLibRootEntry, aModName, OBJ_TYPE_MODULE ); - if ( !pModuleEntry ) - { - pModuleEntry = AddEntry( - aModName, - Image(StockImage::Yes, RID_BMP_MODULE), - pLibRootEntry, false, - std::make_unique<Entry>(OBJ_TYPE_MODULE)); - } - - // methods - { - Sequence< OUString > aNames = GetMethodNames( rDocument, rLibName, aModName ); - FillTreeListBox( pModuleEntry, aNames, OBJ_TYPE_METHOD, RID_BMP_MACRO ); - } - } - } - } - catch ( const container::NoSuchElementException& ) - { - DBG_UNHANDLED_EXCEPTION("basctl.basicide"); - } - } - } - - // dialogs - { - Reference< script::XLibraryContainer > xDlgLibContainer( rDocument.getLibraryContainer( E_DIALOGS ) ); - - if ( xDlgLibContainer.is() && xDlgLibContainer->hasByName( rLibName ) && xDlgLibContainer->isLibraryLoaded( rLibName ) ) - { - try - { - // get a sorted list of dialog names - Sequence< OUString > aDlgNames( rDocument.getObjectNames( E_DIALOGS, rLibName ) ); - FillTreeListBox( pLibRootEntry, aDlgNames, OBJ_TYPE_DIALOG, RID_BMP_DIALOG ); - } - catch (const container::NoSuchElementException& ) - { - DBG_UNHANDLED_EXCEPTION("basctl.basicide"); - } - } - } -} - -void TreeListBox::ImpCreateLibSubEntriesInVBAMode( SvTreeListEntry* pLibRootEntry, const ScriptDocument& rDocument, const OUString& rLibName ) -{ - auto const aEntries = { - std::make_pair( OBJ_TYPE_DOCUMENT_OBJECTS, IDEResId(RID_STR_DOCUMENT_OBJECTS) ), - std::make_pair( OBJ_TYPE_USERFORMS, IDEResId(RID_STR_USERFORMS) ), - std::make_pair( OBJ_TYPE_NORMAL_MODULES, IDEResId(RID_STR_NORMAL_MODULES) ), - std::make_pair( OBJ_TYPE_CLASS_MODULES, IDEResId(RID_STR_CLASS_MODULES) ) }; - for( auto const & iter: aEntries ) - { - EntryType eType = iter.first; - OUString const & aEntryName = iter.second; - SvTreeListEntry* pLibSubRootEntry = FindEntry( pLibRootEntry, aEntryName, eType ); - if( pLibSubRootEntry ) - { - SetEntryBitmaps(pLibSubRootEntry, Image(StockImage::Yes, RID_BMP_MODLIB)); - if ( IsExpanded( pLibSubRootEntry ) ) - ImpCreateLibSubSubEntriesInVBAMode( pLibSubRootEntry, rDocument, rLibName ); - } - else - { - AddEntry( - aEntryName, - Image(StockImage::Yes, RID_BMP_MODLIB), - pLibRootEntry, true, std::make_unique<Entry>(eType)); - } - } -} - -void TreeListBox::ImpCreateLibSubSubEntriesInVBAMode( SvTreeListEntry* pLibSubRootEntry, const ScriptDocument& rDocument, const OUString& rLibName ) -{ - uno::Reference< container::XNameContainer > xLib = rDocument.getOrCreateLibrary( E_SCRIPTS, rLibName ); - if( !xLib.is() ) - return; - - try - { - // get a sorted list of module names - Sequence< OUString > aModNames = rDocument.getObjectNames( E_SCRIPTS, rLibName ); - sal_Int32 nModCount = aModNames.getLength(); - const OUString* pModNames = aModNames.getConstArray(); - - EntryDescriptor aDesc( GetEntryDescriptor( pLibSubRootEntry ) ); - EntryType eCurrentType( aDesc.GetType() ); - - for ( sal_Int32 i = 0 ; i < nModCount ; i++ ) - { - OUString aModName = pModNames[ i ]; - EntryType eType = OBJ_TYPE_UNKNOWN; - switch( ModuleInfoHelper::getModuleType( xLib, aModName ) ) - { - case script::ModuleType::DOCUMENT: - eType = OBJ_TYPE_DOCUMENT_OBJECTS; - break; - case script::ModuleType::FORM: - eType = OBJ_TYPE_USERFORMS; - break; - case script::ModuleType::NORMAL: - eType = OBJ_TYPE_NORMAL_MODULES; - break; - case script::ModuleType::CLASS: - eType = OBJ_TYPE_CLASS_MODULES; - break; - } - if( eType != eCurrentType ) - continue; - - // display a nice friendly name in the ObjectModule tab, - // combining the objectname and module name, e.g. Sheet1 ( Financials ) - OUString aEntryName = aModName; - if( eType == OBJ_TYPE_DOCUMENT_OBJECTS ) - { - OUString sObjName; - ModuleInfoHelper::getObjectName( xLib, aModName, sObjName ); - if( !sObjName.isEmpty() ) - { - aEntryName += " (" + sObjName + ")"; - } - } - SvTreeListEntry* pModuleEntry = FindEntry( pLibSubRootEntry, aEntryName, OBJ_TYPE_MODULE ); - if ( !pModuleEntry ) - { - pModuleEntry = AddEntry( - aEntryName, - Image(StockImage::Yes, RID_BMP_MODULE), - pLibSubRootEntry, false, - std::make_unique<Entry>(OBJ_TYPE_MODULE)); - } - - // methods - { - Sequence< OUString > aNames = GetMethodNames( rDocument, rLibName, aModName ); - FillTreeListBox( pModuleEntry, aNames, OBJ_TYPE_METHOD, RID_BMP_MACRO ); - } - } - } - catch ( const container::NoSuchElementException& ) - { - DBG_UNHANDLED_EXCEPTION("basctl.basicide"); - } -} - -SvTreeListEntry* TreeListBox::ImpFindEntry( SvTreeListEntry* pParent, const OUString& rText ) -{ - sal_uLong nRootPos = 0; - SvTreeListEntry* pEntry = pParent ? FirstChild( pParent ) : GetEntry( nRootPos ); - while ( pEntry ) - { - if ( rText == GetEntryText( pEntry ) ) - return pEntry; - - pEntry = pParent ? pEntry->NextSibling() : GetEntry( ++nRootPos ); - } - return nullptr; -} - -void TreeListBox::onDocumentCreated( const ScriptDocument& /*_rDocument*/ ) -{ - UpdateEntries(); -} - -void TreeListBox::onDocumentOpened( const ScriptDocument& /*_rDocument*/ ) -{ - UpdateEntries(); -} - -void TreeListBox::onDocumentSave( const ScriptDocument& /*_rDocument*/ ) -{ - // not interested in -} - -void TreeListBox::onDocumentSaveDone( const ScriptDocument& /*_rDocument*/ ) -{ - // not interested in -} - -void TreeListBox::onDocumentSaveAs( const ScriptDocument& /*_rDocument*/ ) -{ - // not interested in -} - -void TreeListBox::onDocumentSaveAsDone( const ScriptDocument& /*_rDocument*/ ) -{ - UpdateEntries(); -} - -void TreeListBox::onDocumentClosed( const ScriptDocument& rDocument ) -{ - UpdateEntries(); - // The document is not yet actually deleted, so we need to remove its entry - // manually. - RemoveEntry(rDocument); -} - -void TreeListBox::onDocumentTitleChanged( const ScriptDocument& /*_rDocument*/ ) -{ - // not interested in -} - -void TreeListBox::onDocumentModeChanged( const ScriptDocument& /*_rDocument*/ ) -{ - // not interested in -} - -void TreeListBox::UpdateEntries() -{ - EntryDescriptor aCurDesc( GetEntryDescriptor( FirstSelected() ) ); - - // removing the invalid entries - SvTreeListEntry* pLastValid = nullptr; - SvTreeListEntry* pEntry = First(); - while ( pEntry ) - { - if ( IsValidEntry( pEntry ) ) - pLastValid = pEntry; - else - RemoveEntry(pEntry); - pEntry = pLastValid ? Next( pLastValid ) : First(); - } - - ScanAllEntries(); - - SetCurrentEntry( aCurDesc ); -} - -// Removes the entry from the tree. -void TreeListBox::RemoveEntry (SvTreeListEntry const * pEntry) -{ - // removing the associated user data - delete static_cast<Entry*>(pEntry->GetUserData()); - // removing the entry - GetModel()->Remove( pEntry ); -} - -// Removes the entry of rDocument. -void TreeListBox::RemoveEntry (ScriptDocument const& rDocument) -{ - // finding the entry of rDocument - for (SvTreeListEntry* pEntry = First(); pEntry; pEntry = Next(pEntry)) - if (rDocument == GetEntryDescriptor(pEntry).GetDocument()) - { - RemoveEntry(pEntry); - break; - } -} - -SvTreeListEntry* TreeListBox::CloneEntry( SvTreeListEntry* pSource ) -{ - SvTreeListEntry* pNew = SvTreeListBox::CloneEntry( pSource ); - Entry* pUser = static_cast<Entry*>(pSource->GetUserData()); - - assert(pUser && "User data?!"); - DBG_ASSERT( pUser->GetType() != OBJ_TYPE_DOCUMENT, "TreeListBox::CloneEntry: document?!" ); - - Entry* pNewUser = new Entry( *pUser ); - pNew->SetUserData( pNewUser ); - return pNew; -} - -SvTreeListEntry* TreeListBox::FindEntry( SvTreeListEntry* pParent, const OUString& rText, EntryType eType ) -{ - sal_uLong nRootPos = 0; - SvTreeListEntry* pEntry = pParent ? FirstChild( pParent ) : GetEntry( nRootPos ); - while ( pEntry ) - { - Entry* pBasicEntry = static_cast<Entry*>(pEntry->GetUserData()); - assert(pBasicEntry && "FindEntry: no Entry ?!"); - if ( ( pBasicEntry->GetType() == eType ) && ( rText == GetEntryText( pEntry ) ) ) - return pEntry; - - pEntry = pParent ? pEntry->NextSibling() : GetEntry( ++nRootPos ); - } - return nullptr; -} - -bool TreeListBox::ExpandingHdl() -{ - // expanding or collapsing? - bool bOK = true; - if ( GetModel()->GetDepth( GetHdlEntry() ) == 1 ) - { - SvTreeListEntry* pCurEntry = GetCurEntry(); - EntryDescriptor aDesc( GetEntryDescriptor( pCurEntry ) ); - const ScriptDocument& aDocument( aDesc.GetDocument() ); - OSL_ENSURE( aDocument.isAlive(), "TreeListBox::ExpandingHdl: no document, or document is dead!" ); - if ( aDocument.isAlive() ) - { - const OUString& aLibName( aDesc.GetLibName() ); - const OUString& aLibSubName( aDesc.GetLibSubName() ); - const OUString& aName( aDesc.GetName() ); - const OUString& aMethodName( aDesc.GetMethodName() ); - - if ( !aLibName.isEmpty() && aLibSubName.isEmpty() && aName.isEmpty() && aMethodName.isEmpty() ) - { - // check password, if library is password protected and not verified - Reference< script::XLibraryContainer > xModLibContainer( aDocument.getLibraryContainer( E_SCRIPTS ) ); - if ( xModLibContainer.is() && xModLibContainer->hasByName( aLibName ) ) - { - Reference< script::XLibraryContainerPassword > xPasswd( xModLibContainer, UNO_QUERY ); - if ( xPasswd.is() && xPasswd->isLibraryPasswordProtected( aLibName ) && !xPasswd->isLibraryPasswordVerified( aLibName ) ) - { - OUString aPassword; - bOK = QueryPassword(GetFrameWeld(), xModLibContainer, aLibName, aPassword); - } - } - } - } - } - return bOK; -} - -//Fills up treelist for macros and dialogs -void TreeListBox::FillTreeListBox( SvTreeListEntry* pRootEntry, const Sequence< OUString >& rNames, - const EntryType& eType, const OUString& aBmpMacro ) -{ - sal_Int32 nCount = rNames.getLength(); - const OUString* pNames = rNames.getConstArray(); - - for ( sal_Int32 j = 0 ; j < nCount ; j++ ) - { - OUString aName = pNames[ j ]; - SvTreeListEntry* pEntry = FindEntry( pRootEntry, aName, eType ); - - if ( !pEntry ) - { - AddEntry( - aName, - Image(StockImage::Yes, aBmpMacro), - pRootEntry, false, - std::make_unique<Entry>( eType )); - } - } -} - -SvTreeListEntry* TreeListBox::AddEntry( - OUString const& rText, - const Image& rImage, - SvTreeListEntry* pParent, - bool bChildrenOnDemand, - std::unique_ptr<Entry> && aUserData -) -{ - SvTreeListEntry* p = InsertEntry( - rText, rImage, rImage, pParent, bChildrenOnDemand, TREELIST_APPEND, - aUserData.get() - ); - aUserData.release(); - return p; -} - -void TreeListBox::SetEntryBitmaps( SvTreeListEntry * pEntry, const Image& rImage ) -{ - SetExpandedEntryBmp( pEntry, rImage ); - SetCollapsedEntryBmp( pEntry, rImage ); -} - -OUString TreeListBox::GetRootEntryName( const ScriptDocument& rDocument, LibraryLocation eLocation ) -{ - return rDocument.getTitle( eLocation, LibraryType::All ); -} - -void TreeListBox::GetRootEntryBitmaps( const ScriptDocument& rDocument, Image& rImage ) -{ - OSL_ENSURE( rDocument.isValid(), "TreeListBox::GetRootEntryBitmaps: illegal document!" ); - if ( !rDocument.isValid() ) - return; - - if ( rDocument.isDocument() ) - { - OUString sFactoryURL; - Reference<uno::XComponentContext> xContext( ::comphelper::getProcessComponentContext() ); - Reference< frame::XModuleManager2 > xModuleManager( frame::ModuleManager::create(xContext) ); - try - { - OUString sModule( xModuleManager->identify( rDocument.getDocument() ) ); - Sequence< beans::PropertyValue > aModuleDescr; - xModuleManager->getByName( sModule ) >>= aModuleDescr; - sal_Int32 nCount = aModuleDescr.getLength(); - const beans::PropertyValue* pModuleDescr = aModuleDescr.getConstArray(); - for ( sal_Int32 i = 0; i < nCount; ++i ) - { - if ( pModuleDescr[ i ].Name == "ooSetupFactoryEmptyDocumentURL" ) - { - pModuleDescr[ i ].Value >>= sFactoryURL; - break; - } - } - } - catch( const Exception& ) - { - DBG_UNHANDLED_EXCEPTION("basctl.basicide"); - } - - if ( !sFactoryURL.isEmpty() ) - { - rImage = SvFileInformationManager::GetFileImage( INetURLObject( sFactoryURL ) ); - } - else - { - // default icon - rImage = Image(StockImage::Yes, RID_BMP_DOCUMENT); - } - } - else - { - rImage = Image(StockImage::Yes, RID_BMP_INSTALLATION); - } -} - -void TreeListBox::SetCurrentEntry (EntryDescriptor const & rDesc) -{ - SvTreeListEntry* pCurEntry = nullptr; - EntryDescriptor aDesc = rDesc; - if ( aDesc.GetType() == OBJ_TYPE_UNKNOWN ) - { - aDesc = EntryDescriptor( - ScriptDocument::getApplicationScriptDocument(), - LIBRARY_LOCATION_USER, "Standard", - OUString(), ".", OBJ_TYPE_UNKNOWN - ); - } - ScriptDocument aDocument = aDesc.GetDocument(); - OSL_ENSURE( aDocument.isValid(), "TreeListBox::SetCurrentEntry: invalid document!" ); - LibraryLocation eLocation = aDesc.GetLocation(); - SvTreeListEntry* pRootEntry = FindRootEntry( aDocument, eLocation ); - if ( pRootEntry ) - { - pCurEntry = pRootEntry; - const OUString& aLibName( aDesc.GetLibName() ); - if ( !aLibName.isEmpty() ) - { - Expand( pRootEntry ); - SvTreeListEntry* pLibEntry = FindEntry( pRootEntry, aLibName, OBJ_TYPE_LIBRARY ); - if ( pLibEntry ) - { - pCurEntry = pLibEntry; - const OUString& aLibSubName( aDesc.GetLibSubName() ); - if( !aLibSubName.isEmpty() ) - { - Expand( pLibEntry ); - SvTreeListEntry* pLibSubEntry = ImpFindEntry( pLibEntry, aLibSubName ); - if( pLibSubEntry ) - { - pCurEntry = pLibSubEntry; - } - } - const OUString& aName( aDesc.GetName() ); - if ( !aName.isEmpty() ) - { - Expand( pCurEntry ); - EntryType eType = OBJ_TYPE_MODULE; - if ( aDesc.GetType() == OBJ_TYPE_DIALOG ) - eType = OBJ_TYPE_DIALOG; - SvTreeListEntry* pEntry = FindEntry( pCurEntry, aName, eType ); - if ( pEntry ) - { - pCurEntry = pEntry; - const OUString& aMethodName( aDesc.GetMethodName() ); - if ( !aMethodName.isEmpty() ) - { - Expand( pEntry ); - SvTreeListEntry* pSubEntry = FindEntry( pEntry, aMethodName, OBJ_TYPE_METHOD ); - if ( pSubEntry ) - { - pCurEntry = pSubEntry; - } - else - { - pSubEntry = FirstChild( pEntry ); - if ( pSubEntry ) - pCurEntry = pSubEntry; - } - } - } - else - { - pEntry = FirstChild( pLibEntry ); - if ( pEntry ) - pCurEntry = pEntry; - } - } - } - else - { - pLibEntry = FirstChild( pRootEntry ); - if ( pLibEntry ) - pCurEntry = pLibEntry; - } - } - } - else - { - pRootEntry = First(); - if ( pRootEntry ) - pCurEntry = pRootEntry; - } - - SetCurEntry( pCurEntry ); -} - -void TreeListBox::MouseButtonDown( const MouseEvent& rMEvt ) -{ - SvTreeListBox::MouseButtonDown( rMEvt ); - if ( rMEvt.IsLeft() && ( rMEvt.GetClicks() == 2 ) ) - { - OpenCurrent(); - } -} - -void TreeListBox::KeyInput( const KeyEvent& rEvt ) -{ - if ( rEvt.GetKeyCode() == KEY_RETURN && OpenCurrent() ) - { - return; - } - SvTreeListBox::KeyInput( rEvt ); -} - -bool TreeListBox::OpenCurrent() -{ - EntryDescriptor aDesc = GetEntryDescriptor(GetCurEntry()); - switch (aDesc.GetType()) - { - case OBJ_TYPE_METHOD: - case OBJ_TYPE_MODULE: - case OBJ_TYPE_DIALOG: - if (SfxDispatcher* pDispatcher = GetDispatcher()) - { - SbxItem aSbxItem( - SID_BASICIDE_ARG_SBX, aDesc.GetDocument(), - aDesc.GetLibName(), aDesc.GetName(), aDesc.GetMethodName(), - ConvertType(aDesc.GetType()) - ); - pDispatcher->ExecuteList( - SID_BASICIDE_SHOWSBX, SfxCallMode::SYNCHRON, - { &aSbxItem } - ); - return true; - } - break; - - default: - break; - } - return false; -} - SbTreeListBox::SbTreeListBox(std::unique_ptr<weld::TreeView> xControl, weld::Window* pTopLevel) : m_xControl(std::move(xControl)) , m_xIter(m_xControl->make_iterator()) |