LibreOffice Module dbaccess (master) 1
AppController.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19
20#pragma once
21
22#include <AppElementType.hxx>
23#include <callbacks.hxx>
24#include <commontypes.hxx>
25#include <dsntypes.hxx>
27#include <linkeddocuments.hxx>
28#include <TableCopyHelper.hxx>
29
30#include <com/sun/star/beans/XPropertyChangeListener.hpp>
31#include <com/sun/star/container/XContainerListener.hpp>
32#include <com/sun/star/sdb/application/XDatabaseDocumentUI.hpp>
33#include <com/sun/star/ui/XContextMenuInterception.hpp>
34
36#include <comphelper/uno3.hxx>
39#include <vcl/transfer.hxx>
41
42#include <memory>
43
46
47namespace com::sun::star {
48 namespace container {
49 class XNameContainer;
50 class XContainer;
51 }
52 namespace ucb {
53 class XContent;
54 }
55}
56
57namespace svx
58{
59 class OComponentTransferable;
60}
61
62namespace weld
63{
64 class TreeView;
65}
66
67namespace dbaui
68{
69 class ODataClipboard;
70 class TreeListBox;
71 class SubComponentManager;
72 class OApplicationController;
73 class OApplicationView;
74 class OLinkedDocumentsAccess;
75 class SelectionNotifier;
76
77 typedef ::cppu::ImplHelper5 < css::container::XContainerListener
78 , css::beans::XPropertyChangeListener
79 , css::sdb::application::XDatabaseDocumentUI
80 , css::ui::XContextMenuInterception
81 , css::view::XSelectionSupplier
83
84
90 {
91 public:
92 typedef std::vector< css::uno::Reference< css::container::XContainer > > TContainerVector;
93
94 private:
95
97
99 css::uno::Reference< css::sdbc::XDatabaseMetaData >
101
102 TransferableDataHelper m_aSystemClipboard; // content of the clipboard
103 css::uno::Reference< css::beans::XPropertySet >
105 css::uno::Reference< css::frame::XModel >
109
110 TContainerVector m_aCurrentContainers; // the containers where we are listener on
117 m_pClipboardNotifier; // notifier for changes in the clipboard
120 PreviewMode m_ePreviewMode; // the mode of the preview
122 bool m_bNeedToReconnect; // true when the settings of the data source were modified and the connection is no longer up to date
123 bool m_bSuspended; // is true when the controller was already suspended
124
125 std::unique_ptr< SelectionNotifier >
127 typedef std::map< ElementType, std::vector< OUString > > SelectionByElementType;
129
130 private:
131
133
138 OUString getDatabaseName() const;
139
144 OUString getStrippedDatabaseName() const;
145
150 static ElementType getElementType(const css::uno::Reference< css::container::XContainer >& _xContainer);
151
154 css::uno::Reference< css::lang::XComponent > openElementWithArguments(
155 const OUString& _sName,
156 ElementType _eType,
157 ElementOpenMode _eOpenMode,
158 sal_uInt16 _nInstigatorCommand,
159 const ::comphelper::NamedValueCollection& _rAdditionalArguments
160 );
161
168 css::uno::Reference< css::lang::XComponent >
170 ElementType _eType,
171 const ::comphelper::NamedValueCollection& i_rAdditionalArguments,
172 css::uno::Reference< css::lang::XComponent >& o_rDocumentDefinition
173 );
174
182 void newElementWithPilot( ElementType _eType );
183
188 void convertToView(const OUString& _sName);
189
194 bool isConnectionReadOnly() const;
195
197 void getSelectionElementNames( std::vector< OUString>& _rNames ) const;
198
200 void deleteEntries();
201
203 void renameEntry();
204
213 void deleteObjects( ElementType _eType,
214 const std::vector< OUString>& _rList,
215 bool _bConfirm );
216
221 void deleteTables(const std::vector< OUString>& _rList);
222
225
227 bool copySQLObject(ODataClipboard& rExchange);
228
231
233 css::uno::Reference< css::container::XNameAccess > getElements(ElementType _eType);
234
240 std::unique_ptr<OLinkedDocumentsAccess> getDocumentsAccess(ElementType _eType);
241
243 css::uno::Reference< css::container::XNameContainer> getQueryDefinitions() const;
244
249 void pasteFormat(SotClipboardFormatId _nFormatId);
250
263 bool paste( ElementType _eType, const svx::ODataAccessDescriptor& _rPasteData, const OUString& _sParentFolder = OUString(), bool _bMove = false);
264
267
269 bool isTableFormat() const;
270
277 static void getSupportedFormats(ElementType _eType,std::vector<SotClipboardFormatId>& _rFormatIds);
278
283 void addContainerListener(const css::uno::Reference< css::container::XNameAccess>& _xCollection);
284
289 void openDialog(const OUString& _sServiceName);
290
295 void askToReconnect();
296
299 void onDocumentOpened(
300 const OUString& _rName,
301 const sal_Int32 _nType,
302 const ElementOpenMode _eMode,
303 const css::uno::Reference< css::lang::XComponent >& _xDocument,
304 const css::uno::Reference< css::lang::XComponent >& _xDefinition
305 );
306
320 ,const OUString& _sParentFolder
321 ,bool _bCollection = true
322 ,const css::uno::Reference< css::ucb::XContent>& _xContent = css::uno::Reference< css::ucb::XContent>()
323 ,bool _bMove = false);
332 bool isRenameDeleteAllowed(ElementType _eType, bool _bDelete) const;
339 void doAction(sal_uInt16 _nId, ElementOpenMode _eOpenMode);
340
345 OUString getCurrentlySelectedName(sal_Int32& _rnCommandType) const;
346
349 void showPreviewFor( const ElementType _eType,const OUString& _sName );
350
356 void onAttachedFrame();
357
359 bool impl_isAlterableView_nothrow( const OUString& _rTableOrViewName ) const;
360
364 void impl_validateObjectTypeAndName_throw( const sal_Int32 _nObjectType, const ::std::optional< OUString >& i_rObjectName );
365
366 protected:
367 // initializing members
368
369 // state of a feature. 'feature' may be the handle of a css::util::URL somebody requested a dispatch interface for OR a toolbar slot.
370 virtual FeatureState GetState(sal_uInt16 nId) const override;
371 // execute a feature
372 virtual void Execute(sal_uInt16 nId, const css::uno::Sequence< css::beans::PropertyValue>& aArgs) override;
373
374 // OGenericUnoController
375 virtual void onLoadedMenu( const css::uno::Reference< css::frame::XLayoutManager >& _xLayoutManager ) override;
376
377 virtual css::uno::Reference< css::frame::XModel > getPrivateModel() const override
378 {
379 return m_xModel;
380 }
381
382 virtual ~OApplicationController() override;
383
384 public:
385 explicit OApplicationController(const css::uno::Reference< css::uno::XComponentContext >& _rxORB);
386
388 DECLARE_XTYPEPROVIDER( )
389
390 // XServiceInfo
391 virtual OUString SAL_CALL getImplementationName() override;
392 virtual css::uno::Sequence< OUString> SAL_CALL getSupportedServiceNames() override;
393
394 // css::frame::XController
395 virtual void SAL_CALL attachFrame(const css::uno::Reference< css::frame::XFrame > & xFrame) override;
396 virtual sal_Bool SAL_CALL suspend(sal_Bool bSuspend) override;
397 virtual sal_Bool SAL_CALL attachModel(const css::uno::Reference< css::frame::XModel > & xModel) override;
398 virtual css::uno::Reference< css::frame::XModel > SAL_CALL getModel() override;
399
400 // css::container::XContainerListener
401 virtual void SAL_CALL elementInserted(const css::container::ContainerEvent& Event) override;
402 virtual void SAL_CALL elementRemoved(const css::container::ContainerEvent& Event) override;
403 virtual void SAL_CALL elementReplaced(const css::container::ContainerEvent& Event) override;
404
405 // XPropertyChangeListener
406 virtual void SAL_CALL propertyChange( const css::beans::PropertyChangeEvent& evt ) override;
407
408 // XDatabaseDocumentUI
409 virtual css::uno::Reference< css::sdbc::XDataSource > SAL_CALL getDataSource() override;
410 virtual css::uno::Reference< css::awt::XWindow > SAL_CALL getApplicationMainWindow() override;
411 virtual css::uno::Reference< css::sdbc::XConnection > SAL_CALL getActiveConnection() override;
412 virtual css::uno::Sequence< css::uno::Reference< css::lang::XComponent > > SAL_CALL getSubComponents() override;
413 virtual sal_Bool SAL_CALL isConnected( ) override;
414 // DO NOT CALL with getMutex() held!!
415 virtual void SAL_CALL connect( ) override;
416 virtual css::beans::Pair< ::sal_Int32, OUString > SAL_CALL identifySubComponent( const css::uno::Reference< css::lang::XComponent >& SubComponent ) override;
417 virtual sal_Bool SAL_CALL closeSubComponents( ) override;
418 virtual css::uno::Reference< css::lang::XComponent > SAL_CALL loadComponent( ::sal_Int32 ObjectType, const OUString& ObjectName, sal_Bool ForEditing ) override;
419 virtual css::uno::Reference< css::lang::XComponent > SAL_CALL loadComponentWithArguments( ::sal_Int32 ObjectType, const OUString& ObjectName, sal_Bool ForEditing, const css::uno::Sequence< css::beans::PropertyValue >& Arguments ) override;
420 virtual css::uno::Reference< css::lang::XComponent > SAL_CALL createComponent( ::sal_Int32 ObjectType, css::uno::Reference< css::lang::XComponent >& o_DocumentDefinition ) override;
421 virtual css::uno::Reference< css::lang::XComponent > SAL_CALL createComponentWithArguments( ::sal_Int32 ObjectType, const css::uno::Sequence< css::beans::PropertyValue >& Arguments, css::uno::Reference< css::lang::XComponent >& o_DocumentDefinition ) override;
422
423 // XContextMenuInterception
424 virtual void SAL_CALL registerContextMenuInterceptor( const css::uno::Reference< css::ui::XContextMenuInterceptor >& Interceptor ) override;
425 virtual void SAL_CALL releaseContextMenuInterceptor( const css::uno::Reference< css::ui::XContextMenuInterceptor >& Interceptor ) override;
426
427 // XSelectionSupplier
428 virtual sal_Bool SAL_CALL select( const css::uno::Any& xSelection ) override;
429 virtual css::uno::Any SAL_CALL getSelection( ) override;
430 virtual void SAL_CALL addSelectionChangeListener( const css::uno::Reference< css::view::XSelectionChangeListener >& xListener ) override;
431 virtual void SAL_CALL removeSelectionChangeListener( const css::uno::Reference< css::view::XSelectionChangeListener >& xListener ) override;
432
440 const SharedConnection& ensureConnection( ::dbtools::SQLExceptionInfo* _pErrorInfo = nullptr );
441
445
447 bool isConnected() const { return m_xDataSourceConnection.is(); }
448
451 void refreshTables();
452
460 bool onEntryDoubleClick(const weld::TreeView& rTree);
461
468 bool onContainerSelect(ElementType _eType);
469
474 void onSelectionChanged();
475
478 void onCopyEntry();
479
482 void onPasteEntry();
483
486 void onDeleteEntry();
487
489 void previewChanged( sal_Int32 _nMode);
490
492 void containerFound( const css::uno::Reference< css::container::XContainer >& _xContainer);
493
494 // IController
495 virtual bool isDataSourceReadOnly() const override;
496
497 // IControlActionListener overridables
498 virtual bool requestQuickHelp(const void* pUserData, OUString& rText) const override;
499 virtual bool requestDrag(const weld::TreeIter& rEntry) override;
500 virtual sal_Int8 queryDrop( const AcceptDropEvent& _rEvt, const DataFlavorExVector& _rFlavors ) override;
501 virtual sal_Int8 executeDrop( const ExecuteDropEvent& _rEvt ) override;
502
503 // IContextMenuProvider
504 virtual OUString getContextMenuResourceName() const override;
505 virtual IController& getCommandController() override;
506 virtual ::comphelper::OInterfaceContainerHelper2*
508 virtual css::uno::Any getCurrentSelection(weld::TreeView& rControl) const override;
509 virtual vcl::Window* getMenuParent() const override;
510 virtual void adjustMenuPosition(const weld::TreeView& rControl, ::Point& rPos) const override;
511
513 DECL_LINK( OnClipboardChanged, TransferableDataHelper*, void );
514 DECL_LINK( OnAsyncDrop, void*, void );
515 DECL_LINK( OnCreateWithPilot, void*, void );
516 DECL_LINK( OnSelectContainer, void*, void );
518
519 protected:
521
524 void disconnect();
525
526 // late construction
527 virtual bool Construct(vcl::Window* pParent) override;
528 virtual void describeSupportedFeatures() override;
529
530 protected:
531 // XEventListener
532 virtual void SAL_CALL disposing(const css::lang::EventObject& Source) override;
533
534 // OComponentHelper
535 virtual void SAL_CALL disposing() override;
536 };
537
538} // namespace dbaui
539
540/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual css::uno::Reference< css::awt::XWindow > SAL_CALL getApplicationMainWindow() override
virtual sal_Bool SAL_CALL suspend(sal_Bool bSuspend) override
virtual OUString SAL_CALL getImplementationName() override
virtual void SAL_CALL releaseContextMenuInterceptor(const css::uno::Reference< css::ui::XContextMenuInterceptor > &Interceptor) override
bool isConnected() const
determines whether we're currently connected to the database
virtual void SAL_CALL removeSelectionChangeListener(const css::uno::Reference< css::view::XSelectionChangeListener > &xListener) override
virtual bool requestDrag(const weld::TreeIter &rEntry) override
handler for StartDrag requests
void onDeleteEntry()
called when a "Delete" command is executed in a tree view
virtual css::uno::Reference< css::lang::XComponent > SAL_CALL createComponent(::sal_Int32 ObjectType, css::uno::Reference< css::lang::XComponent > &o_DocumentDefinition) override
css::uno::Reference< css::container::XNameContainer > getQueryDefinitions() const
returns the query definitions of the active data source.
void addContainerListener(const css::uno::Reference< css::container::XNameAccess > &_xCollection)
adds a listener to the current name access.
void deleteTables(const std::vector< OUString > &_rList)
deletes tables.
const TransferableDataHelper & getViewClipboard() const
returns the system clipboard.
bool isRenameDeleteAllowed(ElementType _eType, bool _bDelete) const
checks if delete command or rename command is allowed
virtual void SAL_CALL addSelectionChangeListener(const css::uno::Reference< css::view::XSelectionChangeListener > &xListener) override
virtual ~OApplicationController() override
virtual css::uno::Reference< css::lang::XComponent > SAL_CALL loadComponent(::sal_Int32 ObjectType, const OUString &ObjectName, sal_Bool ForEditing) override
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)
Inserts a new object into the hierarchy given be the type.
void pasteFormat(SotClipboardFormatId _nFormatId)
pastes a special format from the system clipboard to the currently selected object types
std::map< ElementType, std::vector< OUString > > SelectionByElementType
OApplicationController(const css::uno::Reference< css::uno::XComponentContext > &_rxORB)
virtual void SAL_CALL attachFrame(const css::uno::Reference< css::frame::XFrame > &xFrame) override
virtual void SAL_CALL registerContextMenuInterceptor(const css::uno::Reference< css::ui::XContextMenuInterceptor > &Interceptor) override
virtual css::uno::Reference< css::sdbc::XDataSource > SAL_CALL getDataSource() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
static void getSupportedFormats(ElementType _eType, std::vector< SotClipboardFormatId > &_rFormatIds)
fills the vector with all supported formats
void openDialog(const OUString &_sServiceName)
opens a uno dialog with the currently selected data source as initialize argument
static ElementType getElementType(const css::uno::Reference< css::container::XContainer > &_xContainer)
return the element type for given container
virtual sal_Bool SAL_CALL closeSubComponents() override
virtual void SAL_CALL elementInserted(const css::container::ContainerEvent &Event) override
virtual void SAL_CALL propertyChange(const css::beans::PropertyChangeEvent &evt) override
void refreshTables()
refreshes the tables
void renameEntry()
renames the selected entry in the detail page
void askToReconnect()
when the settings of the data source changed, it opens a dialog which ask to close all depending docu...
virtual css::uno::Reference< css::sdbc::XConnection > SAL_CALL getActiveConnection() override
virtual void SAL_CALL elementRemoved(const css::container::ContainerEvent &Event) override
std::unique_ptr< SelectionNotifier > m_pSelectionNotifier
virtual void SAL_CALL elementReplaced(const css::container::ContainerEvent &Event) override
void deleteObjects(ElementType _eType, const std::vector< OUString > &_rList, bool _bConfirm)
deletes queries, forms, or reports
virtual ::comphelper::OInterfaceContainerHelper2 * getContextMenuInterceptors() override
returns the container of registered context menu interceptors, or NULL if the implementation does not...
OTableCopyHelper::DropDescriptor m_aAsyncDrop
virtual css::uno::Reference< css::lang::XComponent > SAL_CALL loadComponentWithArguments(::sal_Int32 ObjectType, const OUString &ObjectName, sal_Bool ForEditing, const css::uno::Sequence< css::beans::PropertyValue > &Arguments) override
DECL_LINK(OnClipboardChanged, TransferableDataHelper *, void)
virtual css::uno::Any SAL_CALL getSelection() override
bool isConnectionReadOnly() const
checks if the connection for the selected data source is read only.
css::uno::Reference< css::sdbc::XDatabaseMetaData > m_xMetaData
void impl_validateObjectTypeAndName_throw(const sal_Int32 _nObjectType, const ::std::optional< OUString > &i_rObjectName)
verifies the object type denotes a valid DatabaseObject, and the object name denotes an existing obje...
void newElementWithPilot(ElementType _eType)
creates a new database object, using an auto pilot
virtual OUString getContextMenuResourceName() const override
returns the context menu resource name for the control
virtual void adjustMenuPosition(const weld::TreeView &rControl, ::Point &rPos) const override
adjust rPos which is initially relative to rControl to be relative to the window of getMenuParent
virtual css::uno::Reference< css::lang::XComponent > SAL_CALL createComponentWithArguments(::sal_Int32 ObjectType, const css::uno::Sequence< css::beans::PropertyValue > &Arguments, css::uno::Reference< css::lang::XComponent > &o_DocumentDefinition) override
virtual bool isDataSourceReadOnly() const override
checks if the selected data source is read only
SelectionByElementType m_aPendingSelection
virtual css::uno::Reference< css::frame::XModel > getPrivateModel() const override
virtual sal_Int8 queryDrop(const AcceptDropEvent &_rEvt, const DataFlavorExVector &_rFlavors) override
check whether or not a drop request should be accepted
virtual sal_Int8 executeDrop(const ExecuteDropEvent &_rEvt) override
execute a drop request
css::uno::Reference< css::lang::XComponent > newElement(ElementType _eType, const ::comphelper::NamedValueCollection &i_rAdditionalArguments, css::uno::Reference< css::lang::XComponent > &o_rDocumentDefinition)
opens a new frame for creation or auto pilot
OTableCopyHelper m_aTableCopyHelper
void showPreviewFor(const ElementType _eType, const OUString &_sName)
shows the preview for the given entry
bool copySQLObject(ODataClipboard &rExchange)
fills rExchange with current object if it's a Table or Query
std::vector< css::uno::Reference< css::container::XContainer > > TContainerVector
void disconnect()
disconnects from our XConnection, and cleans up this connection
virtual css::uno::Any getCurrentSelection(weld::TreeView &rControl) const override
returns the current selection in the given control
virtual bool Construct(vcl::Window *pParent) override
DECL_LINK(OnSelectContainer, void *, void)
virtual void SAL_CALL disposing() override
bool onContainerSelect(ElementType _eType)
called when a container (category) in the application view has been selected
virtual sal_Bool SAL_CALL isConnected() override
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)
remember a newly opened sub document for later access
void onSelectionChanged()
called when an entry in a tree view has been selected
const SharedConnection & ensureConnection(::dbtools::SQLExceptionInfo *_pErrorInfo=nullptr)
retrieves the current connection, creates it if necessary
DECL_LINK(OnAsyncDrop, void *, void)
bool paste(ElementType _eType, const svx::ODataAccessDescriptor &_rPasteData, const OUString &_sParentFolder=OUString(), bool _bMove=false)
pastes a query, form or report into the data source
rtl::Reference< TransferableHelper > copyObject()
copies the current object into clipboard
virtual css::uno::Reference< css::frame::XModel > SAL_CALL getModel() override
virtual vcl::Window * getMenuParent() const override
virtual bool requestQuickHelp(const void *pUserData, OUString &rText) const override
requests a quick help text to display
virtual css::beans::Pair< ::sal_Int32, OUString > SAL_CALL identifySubComponent(const css::uno::Reference< css::lang::XComponent > &SubComponent) override
rtl::Reference< TransferableClipboardListener > m_pClipboardNotifier
void deleteEntries()
deletes the entries selected.
void containerFound(const css::uno::Reference< css::container::XContainer > &_xContainer)
called when an object container of any kind was found during enumerating tree view elements
const SharedConnection & getConnection() const
retrieves the current connection
css::uno::Reference< css::beans::XPropertySet > m_xDataSource
void getSelectionElementNames(std::vector< OUString > &_rNames) const
fills the list with the selected entries.
void convertToView(const OUString &_sName)
converts the query to a view
std::unique_ptr< OLinkedDocumentsAccess > getDocumentsAccess(ElementType _eType)
returns the document access for the specific type
virtual css::uno::Sequence< css::uno::Reference< css::lang::XComponent > > SAL_CALL getSubComponents() override
OAsynchronousLink m_aSelectContainerEvent
css::uno::Reference< css::lang::XComponent > openElementWithArguments(const OUString &_sName, ElementType _eType, ElementOpenMode _eOpenMode, sal_uInt16 _nInstigatorCommand, const ::comphelper::NamedValueCollection &_rAdditionalArguments)
opens a new sub frame with a table/query/form/report/view, passing additional arguments
::comphelper::OInterfaceContainerHelper2 m_aContextMenuInterceptors
DECL_LINK(OnCreateWithPilot, void *, void)
virtual void SAL_CALL connect() override
virtual void Execute(sal_uInt16 nId, const css::uno::Sequence< css::beans::PropertyValue > &aArgs) override
bool impl_isAlterableView_nothrow(const OUString &_rTableOrViewName) const
determines whether the given table name denotes a view which can be altered
virtual FeatureState GetState(sal_uInt16 nId) const override
TransferableDataHelper m_aSystemClipboard
void onPasteEntry()
called when a "Paste" command is executed in a tree view
void previewChanged(sal_Int32 _nMode)
called when the preview mode was changed
virtual void onLoadedMenu(const css::uno::Reference< css::frame::XLayoutManager > &_xLayoutManager) override
called when our menu has been loaded into our frame, can be used to load sub toolbars
void doAction(sal_uInt16 _nId, ElementOpenMode _eOpenMode)
all selected entries will be opened, or edited, or converted to a view
css::uno::Reference< css::frame::XModel > m_xModel
bool copyDocObject(svx::OComponentTransferable &rExchange)
fills rExchange with current object if it's a Form or Report
OUString getStrippedDatabaseName() const
returns the stripped database name.
OUString getDatabaseName() const
returns the database name
void onCopyEntry()
called when a "Copy" command is executed in a tree view
css::uno::Reference< css::container::XNameAccess > getElements(ElementType _eType)
returns the nameaccess
::rtl::Reference< SubComponentManager > m_pSubComponentManager
bool isTableFormat() const
returns <TRUE> if the clipboard supports a table format, otherwise <FALSE>.
virtual void describeSupportedFeatures() override
OApplicationView * getContainer() const
virtual sal_Bool SAL_CALL select(const css::uno::Any &xSelection) override
::dbaccess::ODsnTypeCollection m_aTypeCollection
void onAttachedFrame()
called we were attached to a frame
virtual sal_Bool SAL_CALL attachModel(const css::uno::Reference< css::frame::XModel > &xModel) override
bool onEntryDoubleClick(const weld::TreeView &rTree)
called when an entry in a tree list box has been double-clicked
OUString getCurrentlySelectedName(sal_Int32 &_rnCommandType) const
returns the currently selected table or query name.
SharedConnection m_xDataSourceConnection
virtual IController & getCommandController() override
returns the controller which is responsible for providing states of certain features,...
TContainerVector m_aCurrentContainers
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
css::uno::Reference< css::sdbc::XConnection > connect(const css::uno::Reference< css::sdbc::XDataSource > &_xDataSource)
::std::vector< DataFlavorEx > DataFlavorExVector
SotClipboardFormatId
::cppu::ImplHelper5< css::container::XContainerListener, css::beans::XPropertyChangeListener, css::sdb::application::XDatabaseDocumentUI, css::ui::XContextMenuInterception, css::view::XSelectionSupplier > OApplicationController_Base
ObjectType
describes the state of a feature
Reference< XFrame > xFrame
the frame which the component resides in. Must not be <NULL>
Reference< XModel > xModel
the model of the sub component. Might be <NULL>
unsigned char sal_Bool
signed char sal_Int8
#define DECLARE_XINTERFACE()