User: kz      
Date: 2006/10/05 06:06:42

Modified:
   dba/dbaccess/source/ui/inc/tabletree.hxx

Log:
 INTEGRATION: CWS hsqlcsvstage1 (1.15.70); FILE MERGED
 2006/09/20 11:44:00 fs 1.15.70.1: #i69696#, being stage 1 of issue #i69526#: 
merging changes from CWS hsqlcsv herein

File Changes:

Directory: /dba/dbaccess/source/ui/inc/
=======================================

File [changed]: tabletree.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/inc/tabletree.hxx?r1=1.15&r2=1.16
Delta lines:  +52 -30
---------------------
--- tabletree.hxx       20 Jun 2006 03:19:23 -0000      1.15
+++ tabletree.hxx       5 Oct 2006 13:06:40 -0000       1.16
@@ -56,20 +56,25 @@
 #include <com/sun/star/sdbc/XDriver.hpp>
 #endif
 
+#include <memory>
+
 //.........................................................................
 namespace dbaui
 {
 //.........................................................................
 
+class ImageProvider;
+
 //========================================================================
 //= OTableTreeListBox
 //========================================================================
 class OTableTreeListBox : public OMarkableTreeListBox
 {
 protected:
-       Image                   m_aTableImage;
-       Image                   m_aViewImage;
-
+    ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >
+                    m_xConnection;      // the connection we're working for, 
set in implOnNewConnection, called by UpdateTableList
+    ::std::auto_ptr< ImageProvider >
+                    m_pImageProvider;   // provider for our images
        sal_Bool                m_bVirtualRoot; // should the first entry be 
visible
 
 public:
@@ -85,55 +90,64 @@
         const ResId& rResId,
         sal_Bool _bVirtualRoot );
 
+    ~OTableTreeListBox();
+
        typedef ::std::pair< ::rtl::OUString,sal_Bool>  TTableViewName;
        typedef ::std::vector< TTableViewName >                 TNames;
+
        /** call when HiContrast change. 
        */
-       virtual void notifyHiContrastChanged();
+       void notifyHiContrastChanged();
+
+    /** determines whether the given entry denotes a tables folder
+    */
+    bool    isFolderEntry( const SvLBoxEntry* _pEntry ) const;
+
+    /** determines whether the given entry denotes a table or view
+    */
+    bool    isTableOrViewEntry( const SvLBoxEntry* _pEntry ) const
+    {
+        return !isFolderEntry( _pEntry );
+    }
 
        /** fill the table list with the tables belonging to the connection 
described by the parameters
-               @param _xConnection
+               @param _rxConnection
                        the connection, which must support the service 
com.sun.star.sdb.Connection
                @throws
                        <type scope="com::sun::star::sdbc">SQLException</type> 
if no connection could be created
        */
-       void
-                       UpdateTableList(
-                               const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XConnection >& _xConnection
+       void    UpdateTableList(
+                               const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XConnection >& _rxConnection
                        )       throw(::com::sun::star::sdbc::SQLException);
 
        /** fill the table list with the tables and views determined by the two 
given containers.
                The views sequence is used to determine which table is of type 
view.
-               @param          _rxConnMetaData meta data describing the 
connection where you got the object names from. Must not be NULL.
+               @param          _rxConnection   the connection where you got 
the object names from. Must not be NULL.
                                                                        Used to 
split the full qualified names into it's parts.
                @param          _rTables                table/view sequence
                @param          _rViews                 view sequence
        */
        void    UpdateTableList(
-                               const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XDatabaseMetaData >& _rxConnMetaData,
+                               const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XConnection >& _rxConnection,
                                const ::com::sun::star::uno::Sequence< 
::rtl::OUString>& _rTables,
                                const ::com::sun::star::uno::Sequence< 
::rtl::OUString>& _rViews
                        );
 
        /** to be used if a foreign instance added a table
        */
-       SvLBoxEntry* addedTable(
-                               const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XConnection >& _rxConn,
-                               const ::rtl::OUString& _rName,
-                               const ::com::sun::star::uno::Any& _rObject
-                       );
+       SvLBoxEntry* addedTable( const ::rtl::OUString& _rName );
 
        /** to be used if a foreign instance removed a table
        */
-       void    removedTable(
-                               const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XConnection >& _rxConn,
-                               const ::rtl::OUString& _rName
-                       );
+       void    removedTable( const ::rtl::OUString& _rName );
 
-       SvLBoxEntry*    getEntryByQualifiedName(
-                               const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XConnection >& _rxConn,
-                               const ::rtl::OUString& _rName
-                       );
+    /** returns the fully qualified name of a table entry
+        @param _pEntry 
+            the entry whose name is to be obtained. Must not denote a folder 
entry.
+    */
+    String getQualifiedTableName( SvLBoxEntry* _pEntry ) const;
+
+       SvLBoxEntry*    getEntryByQualifiedName( const ::rtl::OUString& _rName 
);
 
        SvLBoxEntry*    getAllObjectsEntry() const;
 
@@ -156,24 +170,32 @@
 
        void implEmphasize(SvLBoxEntry* _pEntry, sal_Bool _bChecked, sal_Bool 
_bUpdateDescendants = sal_True, sal_Bool _bUpdateAncestors = sal_True);
 
+    /** adds the given entry to our list
+        @precond
+            our image provider must already have been reset to the connection 
to which the meta data
+            belong.
+    */
        SvLBoxEntry* implAddEntry(
-                       const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XDatabaseMetaData >& _rxConnMetaData,
+                       const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XDatabaseMetaData >& _rxMeta,
                        const ::rtl::OUString& _rTableName,
-                       const Image& _rImage,
-                       SvLBoxEntry* _pParentEntry,
-                       sal_Int32 _nType,
                        sal_Bool _bCheckName = sal_True
                );
 
+    void    implSetDefaultImages();
+
+    void    implOnNewConnection( const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XConnection >& _rxConnection );
+
+    bool    impl_getAndAssertMetaData( ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XDatabaseMetaData >& _out_rMetaData ) const;
+
        sal_Bool haveVirtualRoot() const { return m_bVirtualRoot; }
 
        /** fill the table list with the tables and views determined by the two 
given containers
-               @param          _rxConnMetaData meta data describing the 
connection where you got the object names from. Must not be NULL.
+               @param          _rxConnection   the connection where you got 
the object names from. Must not be NULL.
                                                                        Used to 
split the full qualified names into it's parts.
                @param          _rTables                table/view sequence, 
the second argument is <TRUE/> if it is a table, otherwise it is a view.
        */
        void    UpdateTableList(
-                               const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XDatabaseMetaData >& _rxConnMetaData,
+                               const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XConnection >& _rxConnection,
                                const TNames& _rTables
                        );
 




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to