summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/inc/tabletree.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/inc/tabletree.hxx')
-rw-r--r--dbaccess/source/ui/inc/tabletree.hxx122
1 files changed, 23 insertions, 99 deletions
diff --git a/dbaccess/source/ui/inc/tabletree.hxx b/dbaccess/source/ui/inc/tabletree.hxx
index 93adbb1ee9c5..5c5ec750257a 100644
--- a/dbaccess/source/ui/inc/tabletree.hxx
+++ b/dbaccess/source/ui/inc/tabletree.hxx
@@ -32,7 +32,7 @@ namespace dbaui
{
// OTableTreeListBox
-class OTableTreeListBox final : public InterimDBTreeListBox
+class OTableTreeListBox : public TreeListBox
{
css::uno::Reference< css::sdbc::XConnection >
m_xConnection; // the connection we're working for, set in implOnNewConnection, called by UpdateTableList
@@ -43,12 +43,15 @@ class OTableTreeListBox final : public InterimDBTreeListBox
bool m_bShowToggles; // show toggle buttons
public:
- OTableTreeListBox(vcl::Window* pParent, bool bShowToggles);
- virtual ~OTableTreeListBox();
+ OTableTreeListBox(std::unique_ptr<weld::TreeView> xTreeView, bool bShowToggles);
+
+ void init() { m_bVirtualRoot = true; }
typedef std::pair< OUString, bool > TTableViewName;
typedef std::vector< TTableViewName > TNames;
+ void SuppressEmptyFolders() { m_bNoEmptyFolders = true; }
+
/** determines whether the given entry denotes a tables folder
*/
bool isFolderEntry(const weld::TreeIter& rEntry) const;
@@ -76,108 +79,14 @@ public:
const css::uno::Sequence< OUString>& _rViews
);
- std::unique_ptr<weld::TreeIter> getAllObjectsEntry() const;
-
- void CheckButtons(); // make the button states consistent (bottom-up)
-
-private:
- void implEmphasize(const weld::TreeIter& rEntry, bool _bChecked, bool _bUpdateDescendants = true, bool _bUpdateAncestors = 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.
- */
- std::unique_ptr<weld::TreeIter> implAddEntry(
- const css::uno::Reference< css::sdbc::XDatabaseMetaData >& _rxMeta,
- const OUString& _rTableName, bool _bCheckName = true
- );
-
- void implOnNewConnection( const css::uno::Reference< css::sdbc::XConnection >& _rxConnection );
-
- bool impl_getAndAssertMetaData( css::uno::Reference< css::sdbc::XDatabaseMetaData >& _out_rMetaData ) const;
-
- bool haveVirtualRoot() const { return m_bVirtualRoot; }
-
-public:
- /** fill the table list with the tables and views determined by the two given containers
- @param _rxConnection the connection where you got the object names from. Must not be NULL.
- Used to split the full qualified names into its parts.
- @param _rTables table/view sequence, the second argument is <TRUE/> if it is a table, otherwise it is a view.
- */
- void UpdateTableList(
- const css::uno::Reference< css::sdbc::XConnection >& _rxConnection,
- const TNames& _rTables
- );
-
- /** returns a NamedDatabaseObject record which describes the given entry
- */
- css::sdb::application::NamedDatabaseObject
- describeObject(weld::TreeIter& rEntry);
-
/** to be used if a foreign instance added a table
*/
- std::unique_ptr<weld::TreeIter> addedTable(const OUString& rName);
+ std::unique_ptr<weld::TreeIter> addedTable( const OUString& _rName );
/** to be used if a foreign instance removed a table
*/
void removedTable( const OUString& _rName );
- TriState implDetermineState(weld::TreeIter& rEntry);
- // determines the check state of the given entry, by analyzing the states of all descendants
-
- /** 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.
- */
- OUString getQualifiedTableName(weld::TreeIter& rEntry) const;
-
- std::unique_ptr<weld::TreeIter> getEntryByQualifiedName(const OUString& rName);
-};
-
-class TableTreeListBox : public TreeListBox
-{
- css::uno::Reference< css::sdbc::XConnection >
- m_xConnection; // the connection we're working for, set in implOnNewConnection, called by UpdateTableList
- std::unique_ptr< ImageProvider >
- m_xImageProvider; // provider for our images
- bool m_bVirtualRoot; // should the first entry be visible
- bool m_bNoEmptyFolders; // should empty catalogs/schematas be prevented from being displayed?
- bool m_bShowToggles; // show toggle buttons
-
-public:
- TableTreeListBox(std::unique_ptr<weld::TreeView> xTreeView, bool bShowToggles);
-
- void init() { m_bVirtualRoot = true; }
-
- typedef std::pair< OUString, bool > TTableViewName;
- typedef std::vector< TTableViewName > TNames;
-
- void SuppressEmptyFolders() { m_bNoEmptyFolders = true; }
-
- /** fill the table list with the tables belonging to the connection described by the parameters
- @param _rxConnection
- the connection, which must support the service com.sun.star.sdb.Connection
- @throws
- <type scope="css::sdbc">SQLException</type> if no connection could be created
- */
- void UpdateTableList(
- const css::uno::Reference< css::sdbc::XConnection >& _rxConnection
- );
-
- /** 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 _rxConnection the connection where you got the object names from. Must not be NULL.
- Used to split the full qualified names into its parts.
- @param _rTables table/view sequence
- @param _rViews view sequence
- */
- void UpdateTableList(
- const css::uno::Reference< css::sdbc::XConnection >& _rxConnection,
- const css::uno::Sequence< OUString>& _rTables,
- const css::uno::Sequence< OUString>& _rViews
- );
-
std::unique_ptr<weld::TreeIter> getAllObjectsEntry() const;
/** does a wildcard check of the given entry
@@ -205,7 +114,7 @@ private:
our image provider must already have been reset to the connection to which the meta data
belong.
*/
- void implAddEntry(
+ std::unique_ptr<weld::TreeIter> implAddEntry(
const css::uno::Reference< css::sdbc::XDatabaseMetaData >& _rxMeta,
const OUString& _rTableName,
bool _bCheckName = true
@@ -213,6 +122,8 @@ private:
void implOnNewConnection( const css::uno::Reference< css::sdbc::XConnection >& _rxConnection );
+ bool impl_getAndAssertMetaData( css::uno::Reference< css::sdbc::XDatabaseMetaData >& _out_rMetaData ) const;
+
bool haveVirtualRoot() const { return m_bVirtualRoot; }
public:
@@ -225,6 +136,19 @@ public:
const css::uno::Reference< css::sdbc::XConnection >& _rxConnection,
const TNames& _rTables
);
+
+ /** returns a NamedDatabaseObject record which describes the given entry
+ */
+ css::sdb::application::NamedDatabaseObject
+ describeObject(weld::TreeIter& rEntry);
+
+ /** 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.
+ */
+ OUString getQualifiedTableName(weld::TreeIter& rEntry) const;
+
+ std::unique_ptr<weld::TreeIter> getEntryByQualifiedName(const OUString& rName);
};
} // namespace dbaui