update dev300-m58
[ooovba.git] / dbaccess / source / ui / inc / unodatbr.hxx
blob0e0ee7f1c855b7ac6213325e0336499dfa14c95c
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: unodatbr.hxx,v $
10 * $Revision: 1.74 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _SBA_UNODATBR_HXX_
32 #define _SBA_UNODATBR_HXX_
34 #ifndef _SBA_BWRCTRLR_HXX
35 #include "brwctrlr.hxx"
36 #endif
37 #ifndef _COM_SUN_STAR_SDBC_XCONNECTION_HPP_
38 #include <com/sun/star/sdbc/XConnection.hpp>
39 #endif
40 #ifndef _COMPHELPER_STLTYPES_HXX_
41 #include <comphelper/stl_types.hxx>
42 #endif
43 #ifndef _COM_SUN_STAR_FRAME_XSTATUSLISTENER_HPP_
44 #include <com/sun/star/frame/XStatusListener.hpp>
45 #endif
46 #ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_
47 #include <com/sun/star/frame/XDispatch.hpp>
48 #endif
49 #ifndef _COM_SUN_STAR_CONTAINER_XCONTAINERLISTENER_HPP_
50 #include <com/sun/star/container/XContainerListener.hpp>
51 #endif
52 #ifndef _COM_SUN_STAR_I18N_XCOLLATOR_HPP_
53 #include <com/sun/star/i18n/XCollator.hpp>
54 #endif
55 #ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_
56 #include <com/sun/star/view/XSelectionSupplier.hpp>
57 #endif
58 #ifndef _COM_SUN_STAR_AWT_XWINDOW_HPP_
59 #include <com/sun/star/awt/XWindow.hpp>
60 #endif
61 #ifndef _COM_SUN_STAR_DOCUMENT_XSCRIPTINVOCATIONCONTEXT_HPP_
62 #include <com/sun/star/document/XScriptInvocationContext.hpp>
63 #endif
64 #ifndef _COM_SUN_STAR_UI_XCONTEXTMENUINTERCEPTION_HPP_
65 #include <com/sun/star/ui/XContextMenuInterception.hpp>
66 #endif
67 #ifndef _COM_SUN_STAR_SDB_APPLICATION_DATABASEOBJECT_HPP_
68 #include <com/sun/star/sdb/application/DatabaseObject.hpp>
69 #endif
70 #ifndef _COM_SUN_STAR_SDB_APPLICATION_DATABASEOBJECTCONTAINER_HPP_
71 #include <com/sun/star/sdb/application/DatabaseObjectContainer.hpp>
72 #endif
73 #ifndef _CPPUHELPER_IMPLBASE4_HXX_
74 #include <cppuhelper/implbase4.hxx>
75 #endif
76 #ifndef _DBACCESS_UI_CALLBACKS_HXX_
77 #include "callbacks.hxx"
78 #endif
79 #ifndef _SV_TIMER_HXX
80 #include <vcl/timer.hxx>
81 #endif
82 #ifndef _TRANSFER_HXX
83 #include <svtools/transfer.hxx>
84 #endif
85 #ifndef _SVX_DATACCESSDESCRIPTOR_HXX_
86 #include <svx/dataaccessdescriptor.hxx>
87 #endif
88 #ifndef _SOT_STORAGE_HXX
89 #include <sot/storage.hxx>
90 #endif
91 #ifndef DBUI_TABLECOPYHELPER_HXX
92 #include "TableCopyHelper.hxx"
93 #endif
94 #ifndef _DBAUI_COMMON_TYPES_HXX_
95 #include "commontypes.hxx"
96 #endif
98 // =========================================================================
99 class SvLBoxEntry;
100 class Splitter;
101 struct SvSortData;
103 namespace com { namespace sun{ namespace star { namespace container { class XNameContainer; } } } }
105 class SvLBoxTreeList;
106 // .........................................................................
107 namespace dbaui
109 // .........................................................................
111 class DBTreeView;
112 struct DBTreeEditedEntry;
113 class ImageProvider;
115 // =====================================================================
116 typedef ::cppu::ImplHelper4 < ::com::sun::star::frame::XStatusListener
117 , ::com::sun::star::view::XSelectionSupplier
118 , ::com::sun::star::document::XScriptInvocationContext
119 , ::com::sun::star::ui::XContextMenuInterception
120 > SbaTableQueryBrowser_Base;
121 class SbaTableQueryBrowser
122 :public SbaXDataBrowserController
123 ,public SbaTableQueryBrowser_Base
124 ,public IControlActionListener
125 ,public IContextMenuProvider
127 protected:
129 // ---------------------------
130 ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XCollator > m_xCollator;
131 ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > m_xCurrentFrameParent;
132 ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > m_xMainToolbar;
134 // ---------------------------
135 struct ExternalFeature
137 ::com::sun::star::util::URL aURL;
138 ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch >
139 xDispatcher;
140 sal_Bool bEnabled;
142 ExternalFeature() : bEnabled( sal_False ) { }
143 ExternalFeature( const ::com::sun::star::util::URL& _rURL ) : aURL( _rURL ), bEnabled( sal_False ) { }
146 typedef ::std::map< sal_uInt16, ExternalFeature, ::std::less< sal_uInt16 > > ExternalFeaturesMap;
147 ExternalFeaturesMap m_aExternalFeatures;
149 ::svx::ODataAccessDescriptor m_aDocumentDataSource;
150 // if we're part of a document, this is the state of the DocumentDataSource slot
152 ::cppu::OInterfaceContainerHelper m_aSelectionListeners;
153 ::cppu::OInterfaceContainerHelper m_aContextMenuInterceptors;
155 OTableCopyHelper::DropDescriptor m_aAsyncDrop;
156 OTableCopyHelper m_aTableCopyHelper;
158 ::rtl::OUString m_sQueryCommand; // the command of the query currently loaded (if any)
160 DBTreeView* m_pTreeView;
161 Splitter* m_pSplitter;
162 SvLBoxTreeList* m_pTreeModel; // contains the datasources of the registry
163 SvLBoxEntry* m_pCurrentlyDisplayed;
164 ULONG m_nAsyncDrop;
166 sal_Int16 m_nBorder; // TRUE when border should be shown
168 sal_Bool m_bQueryEscapeProcessing : 1; // the escape processing flag of the query currently loaded (if any)
169 sal_Bool m_bShowMenu; // if TRUE the menu should be visible otherwise not
170 sal_Bool m_bInSuspend;
171 sal_Bool m_bEnableBrowser;
172 ::boost::optional< bool >
173 m_aDocScriptSupport; // relevant if and only if we are associated with exactly one DBDoc
176 virtual ::rtl::OUString getPrivateTitle( ) const;
177 // attribute access
178 public:
179 SbaTableQueryBrowser(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rM);
180 ~SbaTableQueryBrowser();
182 enum EntryType
184 // don't change the above definitions! There are places (in particular SbaTableQueryBrowser::getCurrentSelection)
185 // which rely on the fact that the EntryType values really equal the DatabaseObject(Container) values!
186 etDatasource = ::com::sun::star::sdb::application::DatabaseObjectContainer::DATA_SOURCE,
187 etQueryContainer = ::com::sun::star::sdb::application::DatabaseObjectContainer::QUERIES,
188 etTableContainer = ::com::sun::star::sdb::application::DatabaseObjectContainer::TABLES,
189 etQuery = ::com::sun::star::sdb::application::DatabaseObject::QUERY,
190 etTableOrView = ::com::sun::star::sdb::application::DatabaseObject::TABLE,
191 etUnknown = -1
194 /** returns a DatabaseObject value corresponding to the given EntryType
195 @param _eType
196 the entry type. Must not be etUnknown.
198 static sal_Int32 getDatabaseObjectType( EntryType _eType );
200 // need by registration
201 static ::rtl::OUString getImplementationName_Static() throw( ::com::sun::star::uno::RuntimeException );
202 static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void) throw( ::com::sun::star::uno::RuntimeException );
203 static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
204 SAL_CALL Create(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&);
206 DECLARE_UNO3_DEFAULTS(SbaTableQueryBrowser,SbaXDataBrowserController);
207 // late construction
208 virtual sal_Bool Construct(Window* pParent);
209 // XInterface
210 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException);
212 // XTypeProvider
213 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw (::com::sun::star::uno::RuntimeException);
214 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw (::com::sun::star::uno::RuntimeException);
216 // ::com::sun::star::beans::XPropertyChangeListener
217 virtual void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
219 // ::com::sun::star::frame::XController
220 virtual sal_Bool SAL_CALL suspend(sal_Bool bSuspend) throw( ::com::sun::star::uno::RuntimeException );
221 virtual void SAL_CALL attachFrame(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > & xFrame) throw( ::com::sun::star::uno::RuntimeException );
223 // ::com::sun::star::lang::XComponent
224 virtual void SAL_CALL disposing();
226 // XStatusListener
227 virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw(::com::sun::star::uno::RuntimeException);
229 // XEventListener
230 virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException);
232 // XSelectionSupplier
233 virtual sal_Bool SAL_CALL select( const ::com::sun::star::uno::Any& aSelection ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
234 virtual ::com::sun::star::uno::Any SAL_CALL getSelection( ) throw (::com::sun::star::uno::RuntimeException);
235 virtual void SAL_CALL addSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
236 virtual void SAL_CALL removeSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
238 // XServiceInfo
239 virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
240 virtual ::comphelper::StringSequence SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
242 // XContainerListener
243 virtual void SAL_CALL elementInserted( const ::com::sun::star::container::ContainerEvent& Event ) throw(::com::sun::star::uno::RuntimeException);
244 virtual void SAL_CALL elementRemoved( const ::com::sun::star::container::ContainerEvent& Event ) throw(::com::sun::star::uno::RuntimeException);
245 virtual void SAL_CALL elementReplaced( const ::com::sun::star::container::ContainerEvent& Event ) throw(::com::sun::star::uno::RuntimeException);
246 // ::com::sun::star::frame::XFrameActionListener
247 virtual void SAL_CALL frameAction(const ::com::sun::star::frame::FrameActionEvent& aEvent) throw( ::com::sun::star::uno::RuntimeException );
249 //IController
250 virtual void notifyHiContrastChanged();
252 // XScriptInvocationContext
253 virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XEmbeddedScripts > SAL_CALL getScriptContainer() throw (::com::sun::star::uno::RuntimeException);
255 // XContextMenuInterception
256 virtual void SAL_CALL registerContextMenuInterceptor( const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XContextMenuInterceptor >& Interceptor ) throw (::com::sun::star::uno::RuntimeException);
257 virtual void SAL_CALL releaseContextMenuInterceptor( const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XContextMenuInterceptor >& Interceptor ) throw (::com::sun::star::uno::RuntimeException);
259 protected:
260 // SbaXDataBrowserController overridables
261 virtual sal_Bool InitializeForm(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet > & xForm);
262 virtual sal_Bool InitializeGridModel(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormComponent > & xGrid);
264 virtual sal_Bool preReloadForm();
265 virtual void postReloadForm();
267 virtual void addModelListeners(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > & _xGridControlModel);
268 virtual void removeModelListeners(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > & _xGridControlModel);
270 virtual void AddColumnListener(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & xCol);
271 virtual void RemoveColumnListener(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & xCol);
273 virtual void LoadFinished(sal_Bool _bWasSynch);
275 virtual void criticalFail();
277 virtual void describeSupportedFeatures();
278 virtual FeatureState GetState(sal_uInt16 nId) const;
279 virtual void Execute(sal_uInt16 nId, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& aArgs);
281 // IControlActionListener overridables
282 virtual sal_Bool requestQuickHelp( const SvLBoxEntry* _pEntry, String& _rText ) const;
283 virtual sal_Bool requestDrag( sal_Int8 _nAction, const Point& _rPosPixel );
284 virtual sal_Int8 queryDrop( const AcceptDropEvent& _rEvt, const DataFlavorExVector& _rFlavors );
285 virtual sal_Int8 executeDrop( const ExecuteDropEvent& _rEvt );
287 // IContextMenuProvider
288 virtual PopupMenu* getContextMenu( Control& _rControl ) const;
289 virtual IController& getCommandController();
290 virtual ::cppu::OInterfaceContainerHelper*
291 getContextMenuInterceptors();
292 virtual ::com::sun::star::uno::Any
293 getCurrentSelection( Control& _rControl ) const;
295 virtual void impl_initialize();
297 // SbaGridListener overridables
298 virtual void RowChanged();
299 virtual void ColumnChanged();
300 virtual void SelectionChanged();
302 // methods for showing/hiding the explorer part
303 sal_Bool haveExplorer() const;
304 void hideExplorer();
305 void showExplorer();
306 void toggleExplorer() { if (haveExplorer()) hideExplorer(); else showExplorer(); }
308 // methods for handling the 'selection' (paintin them bold) of SvLBoxEntries
309 // returns <TRUE/> if the entry is selected (which means it's part of the selected path)
310 sal_Bool isSelected(SvLBoxEntry* _pEntry) const;
311 // select the entry (and only the entry, not the whole path)
312 void select(SvLBoxEntry* _pEntry, sal_Bool _bSelect = sal_True);
313 // select the path of the entry (which must be an entry without children)
314 void selectPath(SvLBoxEntry* _pEntry, sal_Bool _bSelect = sal_True);
316 virtual void loadMenu(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _xFrame);
318 private:
319 // check the state of the external slot given, update any UI elements if necessary
320 void implCheckExternalSlot( sal_uInt16 _nId );
322 // connect to the external dispatchers (if any)
323 void connectExternalDispatches();
325 /** get the state of an external slot
326 <p>The slot is available if an external dispatcher is responsible for it, _and_ if this dispatcher
327 told us the slot is available.</p>
329 sal_Bool getExternalSlotState( sal_uInt16 _nId ) const;
331 /** add an entry (including the subentries for queries/tables) to the list model
333 <p>The given names and images may be empty, in this case they're filled with the correct
334 values. This way they may be reused for the next call, which saves some resource manager calls.</p>
336 void implAddDatasource(const String& _rDbName, Image& _rDbImage,
337 String& _rQueryName, Image& _rQueryImage,
338 String& _rTableName, Image& _rTableImage,
339 const SharedConnection& _rxConnection
342 /// clears the tree list box
343 void clearTreeModel();
345 /** unloads the form, empties the grid model, cleans up anything related to the currently displayed object
346 @param _bDisposeConnection
347 <TRUE/> if the connection should be disposed
348 @param _bFlushData
349 <TRUE/> if the currently displayed object (if any) should be flushed
351 void unloadAndCleanup( sal_Bool _bDisposeConnection = sal_True );
353 // disposes the connection associated with the given entry (which must represent a data source)
354 void disposeConnection( SvLBoxEntry* _pDSEntry );
356 /// flushs and disposes the given connection, and de-registers as listener
357 void impl_releaseConnection( SharedConnection& _rxConnection );
359 /** close the connection (and collapse the list entries) of the given list entries
361 void closeConnection(SvLBoxEntry* _pEntry,sal_Bool _bDisposeConnection = sal_True);
363 sal_Bool populateTree(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& _xNameAccess, SvLBoxEntry* _pParent, EntryType _eEntryType);
364 void initializeTreeModel();
366 /** search in the tree for query- or tablecontainer equal to this interface and return
367 this container entry
369 SvLBoxEntry* getEntryFromContainer(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& _rxNameAccess);
370 // return true when there is connection available
371 sal_Bool ensureConnection(SvLBoxEntry* _pDSEntry, void * pDSData, SharedConnection& _rConnection );
372 sal_Bool ensureConnection(SvLBoxEntry* _pAnyEntry, SharedConnection& _rConnection );
374 sal_Bool getExistentConnectionFor( SvLBoxEntry* _pDSEntry, SharedConnection& _rConnection );
375 /** returns an image provider which works with the connection belonging to the given entry
377 ::std::auto_ptr< ImageProvider >
378 getImageProviderFor( SvLBoxEntry* _pAnyEntry );
380 void implAdministrate( SvLBoxEntry* _pApplyTo );
382 TransferableHelper*
383 implCopyObject( SvLBoxEntry* _pApplyTo, sal_Int32 _nCommandType, sal_Bool _bAllowConnection = sal_True );
385 EntryType getEntryType( SvLBoxEntry* _pEntry ) const;
386 EntryType getChildType( SvLBoxEntry* _pEntry ) const;
387 sal_Bool isObject( EntryType _eType ) const { return ( etTableOrView== _eType ) || ( etQuery == _eType ); }
388 sal_Bool isContainer( EntryType _eType ) const { return (etTableContainer == _eType) || (etQueryContainer == _eType); }
389 sal_Bool isContainer( SvLBoxEntry* _pEntry ) const { return isContainer( getEntryType( _pEntry ) ); }
391 // ensure that the xObject for the given entry is set on the user data
392 sal_Bool ensureEntryObject( SvLBoxEntry* _pEntry );
394 // get the display text of the entry given
395 String GetEntryText( SvLBoxEntry* _pEntry ) const;
397 // is called when a table or a query was selected
398 DECL_LINK( OnSelectionChange, void* );
399 DECL_LINK( OnExpandEntry, SvLBoxEntry* );
401 DECL_LINK( OnCopyEntry, void* );
403 DECL_LINK( OnTreeEntryCompare, const SvSortData* );
405 DECL_LINK( OnAsyncDrop, void* );
407 void implRemoveStatusListeners();
409 sal_Bool implSelect(const ::svx::ODataAccessDescriptor& _rDescriptor,sal_Bool _bSelectDirect = sal_False);
410 bool implSelect( SvLBoxEntry* _pEntry );
412 /// selects the entry given and loads the grid control with the object's data
413 sal_Bool implSelect(
414 const ::rtl::OUString& _rDataSourceName,
415 const ::rtl::OUString& _rCommand,
416 const sal_Int32 _nCommandType,
417 const sal_Bool _bEscapeProcessing,
418 const SharedConnection& _rxConnection,
419 sal_Bool _bSelectDirect = sal_False
422 /// inserts an entry into the tree
423 void implAppendEntry(
424 SvLBoxEntry* _pParent,
425 const String& _rName,
426 void* _pUserData,
427 EntryType _eEntryType
430 /// loads the grid control with the data object specified (which may be a table, a query or a command)
431 sal_Bool implLoadAnything(const ::rtl::OUString& _rDataSourceName, const ::rtl::OUString& _rCommand,
432 const sal_Int32 _nCommandType, const sal_Bool _bEscapeProcessing, const SharedConnection& _rxConnection = SharedConnection() );
434 /** retrieves the tree entry for the object described by <arg>_rDescriptor</arg>
435 @param _rDescriptor
436 the object descriptor
437 @param _ppDataSourceEntry
438 If not <NULL/>, the data source tree entry will be returned here
439 @param _ppContainerEntry
440 If not <NULL/>, the object container tree entry will be returned here
441 @param _bExpandAncestors
442 If <TRUE/>, all ancestor on the way to the entry will be expanded
444 SvLBoxEntry* getObjectEntry(const ::svx::ODataAccessDescriptor& _rDescriptor,
445 SvLBoxEntry** _ppDataSourceEntry = NULL, SvLBoxEntry** _ppContainerEntry = NULL,
446 sal_Bool _bExpandAncestors = sal_True
448 /** retrieves the tree entry for the object described by data source name, command and command type
449 @param _rDataSource
450 the data source name
451 @param _rCommand
452 the command
453 @param _nCommandType
454 the command type
455 @param _rDescriptor
456 the object descriptor
457 @param _ppDataSourceEntry
458 If not <NULL/>, the data source tree entry will be returned here
459 @param _ppContainerEntry
460 If not <NULL/>, the object container tree entry will be returned here
461 @param _bExpandAncestors
462 If <TRUE/>, all ancestor on the way to the entry will be expanded
464 SvLBoxEntry* getObjectEntry(
465 const ::rtl::OUString& _rDataSource, const ::rtl::OUString& _rCommand, sal_Int32 _nCommandType,
466 SvLBoxEntry** _ppDataSourceEntry = NULL, SvLBoxEntry** _ppContainerEntry = NULL,
467 sal_Bool _bExpandAncestors = sal_True,
468 const SharedConnection& _rxConnection = SharedConnection()
471 /// checks if m_aDocumentDataSource describes a known object
472 void checkDocumentDataSource();
474 void extractDescriptorProps(const ::svx::ODataAccessDescriptor& _rDescriptor,
475 ::rtl::OUString& _rDataSource, ::rtl::OUString& _rCommand, sal_Int32& _rCommandType, sal_Bool& _rEscapeProcessing);
477 void transferChangedControlProperty(const ::rtl::OUString& _rProperty, const ::com::sun::star::uno::Any& _rNewValue);
479 ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > connectWithStatus(
480 const ::rtl::OUString& _rDataSourceName,
481 void* _pTreeListUserData // in rela a DBTreeListUserData*, but we do not know this class here ....
484 #ifdef DBG_UTIL
485 // checks whether the given tree entry denotes a data source
486 bool impl_isDataSourceEntry( SvLBoxEntry* _pEntry ) const;
487 #endif
489 /// retrieves the data source URL/name for the given entry representing a data source
490 String getDataSourceAcessor( SvLBoxEntry* _pDataSourceEntry ) const;
492 /** get the signature (command/escape processing) of the query the form is based on
493 <p>If the for is not based on a query or not even loaded, nothing happens and <FALSE/> is returned.</p>
495 sal_Bool implGetQuerySignature( ::rtl::OUString& _rCommand, sal_Bool& _bEscapeProcessing );
497 sal_Bool isEntryCopyAllowed(SvLBoxEntry* _pEntry) const;
499 void copyEntry(SvLBoxEntry* _pEntry);
501 // remove all grid columns and dispose them
502 void clearGridColumns(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _xColContainer);
504 sal_Bool isHiContrast() const;
507 /** checks if the currently displayed entry changed
508 @param _sName
509 Name of the changed entry
510 @param _pContainer
511 The container of the displayed entry
512 @return
513 <TRUE/> if it is the currently displayed otherwise <FALSE/>
515 sal_Bool isCurrentlyDisplayedChanged(const String& _sName,SvLBoxEntry* _pContainer);
517 /** called whenever the content of the browser is used for preview, as the very last action
518 of the load process
520 void initializePreviewMode();
523 // .........................................................................
524 } // namespace dbaui
525 // .........................................................................
527 #endif // _SBA_UNODATBR_HXX_