TransferableDataHelper m_aSystemClipboard; // content of the clipboard
css::uno::Reference< css::beans::XPropertySet >
m_xDataSource;
css::uno::Reference< css::frame::XModel >
m_xModel;
::comphelper::OInterfaceContainerHelper2
m_aContextMenuInterceptors;
TContainerVector m_aCurrentContainers; // the containers where we are listener on
::rtl::Reference< SubComponentManager >
m_pSubComponentManager;
::dbaccess::ODsnTypeCollection
m_aTypeCollection;
OTableCopyHelper m_aTableCopyHelper;
rtl::Reference<TransferableClipboardListener>
m_pClipboardNotifier; // notifier for changes in the clipboard
ImplSVEvent * m_nAsyncDrop;
OAsynchronousLink m_aSelectContainerEvent;
PreviewMode m_ePreviewMode; // the mode of the preview
ElementType m_eCurrentType; bool m_bNeedToReconnect; // true when the settings of the data source were modified and the connection is no longer up to date bool m_bSuspended; // is true when the controller was already suspended
/** returns the database name @return thedatabasename
*/
OUString getDatabaseName() const;
/** return the element type for given container @param_xContainerThecontainerwheretheelementtypehastobefound @returntheelementtypecorrespondingtothegivencontainer
*/ static ElementType getElementType(const css::uno::Reference< css::container::XContainer >& _xContainer);
/** opens a new sub frame with a table/query/form/report/view, passing additional arguments
*/
css::uno::Reference< css::lang::XComponent > openElementWithArguments( const OUString& _sName,
ElementType _eType,
ElementOpenMode _eOpenMode,
sal_uInt16 _nInstigatorCommand, const ::comphelper::NamedValueCollection& _rAdditionalArguments
);
/** opens a new frame for creation or auto pilot @param_eType Definesthetypetoopen @parami_rAdditionalArguments Additionalargumentstopasswhencreatingthecomponent
*/
css::uno::Reference< css::lang::XComponent >
newElement(
ElementType _eType, const ::comphelper::NamedValueCollection& i_rAdditionalArguments,
css::uno::Reference< css::lang::XComponent >& o_rDocumentDefinition
);
/** creates a new database object, using an auto pilot @param_eType Definesthetypeoftheobjecttocreate @precond Ourmutexmustnotbelocked. @since#i39203#
*/ void newElementWithPilot( ElementType _eType );
/** converts the query to a view @param_sName Thenameofthequery.
*/ void convertToView(const OUString& _sName);
/** checks if the connection for the selected data source is read only. If the connection doesn't exist, <TRUE/> will be returned. @return <TRUE/>ifreadonlyordoesn'texist,otherwise<FALSE/>
*/ bool isConnectionReadOnly() const;
/// fills the list with the selected entries. void getSelectionElementNames( std::vector< OUString>& _rNames ) const;
/// deletes the entries selected. void deleteEntries();
/// renames the selected entry in the detail page void renameEntry();
/// copies the current object into clipboard
rtl::Reference<TransferableHelper> copyObject();
/// fills rExchange with current object if it's a Table or Query bool copySQLObject(ODataClipboard& rExchange);
/// fills rExchange with current object if it's a Form or Report bool copyDocObject(svx::OComponentTransferable& rExchange);
/// returns the nameaccess
css::uno::Reference< css::container::XNameAccess > getElements(ElementType _eType);
/** returns the document access for the specific type @param_eType thetype @returnstd::unique_ptr<OLinkedDocumentsAccess>
*/
std::unique_ptr<OLinkedDocumentsAccess> getDocumentsAccess(ElementType _eType);
/// returns the query definitions of the active data source.
css::uno::Reference< css::container::XNameContainer> getQueryDefinitions() const;
/** pastes a special format from the system clipboard to the currently selected object types @param_nFormatId Theformattobecopied.
*/ void pasteFormat(SotClipboardFormatId _nFormatId);
/** pastes a query, form or report into the data source @param_eType Thetypeoftheobjecttopaste. @param_rPasteData Thedatadescriptor. @param_sParentFolder Thenameoftheparentfolderifitexists. @param_bMove if<TRUE/>thenameofthecontentmustbeinsertedwithoutanychange,otherwisenot. @return <TRUE/>ifthepasteoperationswassuccessful,otherwise<FALSE/>.
*/ bool paste( ElementType _eType, const svx::ODataAccessDescriptor& _rPasteData, const OUString& _sParentFolder = OUString(), bool _bMove = false);
/// returns the system clipboard. const TransferableDataHelper& getViewClipboard() const { return m_aSystemClipboard; }
/// returns <TRUE/> if the clipboard supports a table format, otherwise <FALSE/>. bool isTableFormat() const;
/** fills the vector with all supported formats @param_eType Thetypeforwhichweneedtheformats @param_rFormatIds Thevectortobefilledup.
*/ staticvoid getSupportedFormats(ElementType _eType,std::vector<SotClipboardFormatId>& _rFormatIds);
/** adds a listener to the current name access. @param_xCollection Thecollectionwherewewanttolistenon.
*/ void addContainerListener(const css::uno::Reference< css::container::XNameAccess>& _xCollection);
/** opens a uno dialog with the currently selected data source as initialize argument @param_sServiceName Theservicenameofthedialogtobeexecuted.
*/ void openDialog(const OUString& _sServiceName);
/** when the settings of the data source changed, itopensadialogwhichasktoclosealldependingdocuments,thenrecreatetheconnection. TheSolarMutexhastobelockedbeforecallingthis.
*/ void askToReconnect();
/** remember a newly opened sub document for later access
*/ void onDocumentOpened( const OUString& _rName, const sal_Int32 _nType, const ElementOpenMode _eMode, const css::uno::Reference< css::lang::XComponent >& _xDocument, const css::uno::Reference< css::lang::XComponent >& _xDefinition
);
/** Inserts a new object into the hierarchy given be the type. @param_eType Wheretoinsertthenewitem. @param_sParentFolder Thenameoftheparentfolderifitexists. @param_xContent Thecontenttoinsert. @param_bMove if<TRUE/>thenameofthecontentmustbeinsertedwithoutanychange,otherwisenot. @return <TRUE/>iftheinsertoperationswassuccessful,otherwise<FALSE/>.
*/ bool insertHierarchyElement( ElementType _eType
,const OUString& _sParentFolder
,bool _bCollection = true
,const css::uno::Reference< css::ucb::XContent>& _xContent = css::uno::Reference< css::ucb::XContent>()
,bool _bMove = false); /** checks if delete command or rename command is allowed @param_eType Theelementtype. @param_bDelete If<TRUE>thenthedeletecommandshouldbechecked. @return <TRUE>ifthecommandisallowed
*/ bool isRenameDeleteAllowed(ElementType _eType, bool _bDelete) const; /** all selected entries will be opened, or edited, or converted to a view @param_nId Theslotwhichshouldbeexecuted. @param_eOpenMode Definesthemodeofopening.@seeElementOpenMode
*/ void doAction(sal_uInt16 _nId, ElementOpenMode _eOpenMode);
/** returns the currently selected table or query name. * *\returnthenameofthecurrentlytableorquery.Ifthetablesorquerycontainerisselectedotherwiseanemptystringwillbereturned.
*/
OUString getCurrentlySelectedName(sal_Int32& _rnCommandType) const;
/** shows the preview for the given entry
*/ void showPreviewFor( const ElementType _eType,const OUString& _sName );
/// determines whether the given table name denotes a view which can be altered bool impl_isAlterableView_nothrow( const OUString& _rTableOrViewName ) const;
/** verifies the object type denotes a valid DatabaseObject, and the object name denotes an existing objectofthistype.Throwsifnot.
*/ void impl_validateObjectTypeAndName_throw( const sal_Int32 _nObjectType, const ::std::optional< OUString >& i_rObjectName );
protected: // initializing members
// state of a feature. 'feature' may be the handle of a css::util::URL somebody requested a dispatch interface for OR a toolbar slot. virtual FeatureState GetState(sal_uInt16 nId) const override; // execute a feature virtualvoid Execute(sal_uInt16 nId, const css::uno::Sequence< css::beans::PropertyValue>& aArgs) override;
/** retrieves the current connection
*/ const SharedConnection& getConnection() const { return m_xDataSourceConnection; }
/// determines whether we're currently connected to the database bool isConnected() const { return m_xDataSourceConnection.is(); }
/** refreshes the tables
*/ void refreshTables();
/** called when an entry in a tree list box has been double-clicked @param_rTree Thetreelistbox. @return <TRUE/>ifthedoubleclickeventhasbeenhandledbythecalled,andshouldnot beprocessedfurther.
*/ bool onEntryDoubleClick(const weld::TreeView& rTree);
/** called when a container (category) in the application view has been selected @param_pTree Thetreelistbox. @return <TRUE/>ifthecontainercouldbechangedotherwise<FALSE/>
*/ bool onContainerSelect(ElementType _eType);
/** called when an entry in a tree view has been selected @param_pEntry theselectedentry
*/ void onSelectionChanged();
/** called when a "Copy" command is executed in a tree view
*/ void onCopyEntry();
/** called when a "Paste" command is executed in a tree view
*/ void onPasteEntry();
/** called when a "Delete" command is executed in a tree view
*/ void onDeleteEntry();
/// called when the preview mode was changed void previewChanged( sal_Int32 _nMode);
/// called when an object container of any kind was found during enumerating tree view elements void containerFound( const css::uno::Reference< css::container::XContainer >& _xContainer);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.