1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: unodatbr.hxx,v $
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"
37 #ifndef _COM_SUN_STAR_SDBC_XCONNECTION_HPP_
38 #include <com/sun/star/sdbc/XConnection.hpp>
40 #ifndef _COMPHELPER_STLTYPES_HXX_
41 #include <comphelper/stl_types.hxx>
43 #ifndef _COM_SUN_STAR_FRAME_XSTATUSLISTENER_HPP_
44 #include <com/sun/star/frame/XStatusListener.hpp>
46 #ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_
47 #include <com/sun/star/frame/XDispatch.hpp>
49 #ifndef _COM_SUN_STAR_CONTAINER_XCONTAINERLISTENER_HPP_
50 #include <com/sun/star/container/XContainerListener.hpp>
52 #ifndef _COM_SUN_STAR_I18N_XCOLLATOR_HPP_
53 #include <com/sun/star/i18n/XCollator.hpp>
55 #ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_
56 #include <com/sun/star/view/XSelectionSupplier.hpp>
58 #ifndef _COM_SUN_STAR_AWT_XWINDOW_HPP_
59 #include <com/sun/star/awt/XWindow.hpp>
61 #ifndef _COM_SUN_STAR_DOCUMENT_XSCRIPTINVOCATIONCONTEXT_HPP_
62 #include <com/sun/star/document/XScriptInvocationContext.hpp>
64 #ifndef _COM_SUN_STAR_UI_XCONTEXTMENUINTERCEPTION_HPP_
65 #include <com/sun/star/ui/XContextMenuInterception.hpp>
67 #ifndef _COM_SUN_STAR_SDB_APPLICATION_DATABASEOBJECT_HPP_
68 #include <com/sun/star/sdb/application/DatabaseObject.hpp>
70 #ifndef _COM_SUN_STAR_SDB_APPLICATION_DATABASEOBJECTCONTAINER_HPP_
71 #include <com/sun/star/sdb/application/DatabaseObjectContainer.hpp>
73 #ifndef _CPPUHELPER_IMPLBASE4_HXX_
74 #include <cppuhelper/implbase4.hxx>
76 #ifndef _DBACCESS_UI_CALLBACKS_HXX_
77 #include "callbacks.hxx"
80 #include <vcl/timer.hxx>
83 #include <svtools/transfer.hxx>
85 #ifndef _SVX_DATACCESSDESCRIPTOR_HXX_
86 #include <svx/dataaccessdescriptor.hxx>
88 #ifndef _SOT_STORAGE_HXX
89 #include <sot/storage.hxx>
91 #ifndef DBUI_TABLECOPYHELPER_HXX
92 #include "TableCopyHelper.hxx"
94 #ifndef _DBAUI_COMMON_TYPES_HXX_
95 #include "commontypes.hxx"
98 // =========================================================================
103 namespace com
{ namespace sun
{ namespace star
{ namespace container
{ class XNameContainer
; } } } }
105 class SvLBoxTreeList
;
106 // .........................................................................
109 // .........................................................................
112 struct DBTreeEditedEntry
;
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
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
>
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
;
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;
179 SbaTableQueryBrowser(const ::com::sun::star::uno::Reference
< ::com::sun::star::lang::XMultiServiceFactory
>& _rM
);
180 ~SbaTableQueryBrowser();
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
,
194 /** returns a DatabaseObject value corresponding to the given EntryType
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
);
208 virtual sal_Bool
Construct(Window
* pParent
);
210 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(const ::com::sun::star::uno::Type
& _rType
) throw (::com::sun::star::uno::RuntimeException
);
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();
227 virtual void SAL_CALL
statusChanged( const ::com::sun::star::frame::FeatureStateEvent
& Event
) throw(::com::sun::star::uno::RuntimeException
);
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
);
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
);
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
);
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;
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
);
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
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
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
);
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
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
,
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>
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
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 ....
485 // checks whether the given tree entry denotes a data source
486 bool impl_isDataSourceEntry( SvLBoxEntry
* _pEntry
) const;
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
509 Name of the changed entry
511 The container of the displayed entry
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
520 void initializePreviewMode();
523 // .........................................................................
525 // .........................................................................
527 #endif // _SBA_UNODATBR_HXX_