Tag: cws_src680_qiq
User: fs      
Date: 06/05/12 04:09:31

Modified:
 /dba/dbaccess/source/ui/dlg/
  adtabdlg.cxx, adtabdlg.hrc, adtabdlg.src

Log:
 #i51143# allow queries in this dialog, too

File Changes:

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

File [changed]: adtabdlg.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/adtabdlg.cxx?r1=1.22&r2=1.22.68.1
Delta lines:  +323 -141
-----------------------
--- adtabdlg.cxx        16 Jan 2006 15:28:10 -0000      1.22
+++ adtabdlg.cxx        12 May 2006 11:09:27 -0000      1.22.68.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: adtabdlg.cxx,v $
  *
- *  $Revision: 1.22 $
+ *  $Revision: 1.22.68.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/01/16 15:28:10 $
+ *  last change: $Author: fs $ $Date: 2006/05/12 11:09:27 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -44,7 +44,15 @@
 #ifndef _TOOLS_DEBUG_HXX
 #include <tools/debug.hxx>
 #endif
+#ifndef TOOLS_DIAGNOSE_EX_H
+#include <tools/diagnose_ex.h>
+#endif
+#ifndef _DBA_DBACCESS_HELPID_HRC_
 #include "dbaccess_helpid.hrc"
+#endif
+#ifndef _DBU_RESOURCE_HRC_
+#include "dbu_resource.hrc"
+#endif
 #ifndef _DBU_DLG_HRC_
 #include "dbu_dlg.hrc"
 #endif
@@ -69,6 +77,9 @@
 #ifndef DBACCESS_UI_BROWSER_ID_HXX
 #include "browserids.hxx"
 #endif
+#ifndef _COM_SUN_STAR_SDB_XQUERIESSUPPLIER_HPP_
+#include <com/sun/star/sdb/XQueriesSupplier.hpp>
+#endif
 #ifndef _COM_SUN_STAR_SDBCX_XVIEWSSUPPLIER_HPP_
 #include <com/sun/star/sdbcx/XViewsSupplier.hpp>
 #endif
@@ -89,90 +100,60 @@
 using namespace dbaui;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::container;
+using namespace ::com::sun::star::sdb;
 using namespace ::com::sun::star::sdbc;
 using namespace ::com::sun::star::sdbcx;
 using namespace dbtools;
 
-DBG_NAME(OAddTableDlg)
-//------------------------------------------------------------------------------
-OAddTableDlg::OAddTableDlg( Window* pParent,OJoinTableView* _pTableView)
-                        :ModelessDialog( pParent, ModuleRes(DLG_JOIN_TABADD) )
-                        ,aFTTable( this, ResId( FT_TABLE ) )
-                        ,aTableList( this,NULL, ResId( LB_TABLE 
),sal_False,sal_False )
-                        ,aAddButton( this, ResId( PB_ADDTABLE ) )
-                        ,aCloseButton( this, ResId( PB_CLOSE ) )
-                        ,aHelpButton( this, ResId( PB_HELP ) )
-             ,aFixedLineTable( this, ResId( FL_TABLE ) )
-                        ,aDefaultString( ResId( STR_DEFAULT ) )
-                        ,m_pTableView(_pTableView)
-                        ,m_bInitialized(sal_False)
+//==============================================================================
+//= TableObjectListFacade
+//==============================================================================
+TableObjectListFacade::~TableObjectListFacade()
 {
-       DBG_CTOR(OAddTableDlg,NULL);
-       OSL_ENSURE(_pTableView,"Must be a valid pointer!");
-       // der Close-Button hat schon einen Standard-Help-Text, den ich aber 
hier nicht haben moechte, also den Text ruecksetzen
-       // und eine neue ID verteilen
-       aCloseButton.SetHelpText(String());
-       aCloseButton.SetHelpId(HID_JOINSH_ADDTAB_CLOSE);
-
-       aTableList.SetHelpId(HID_JOINSH_ADDTAB_TABLELIST);
-
-       //////////////////////////////////////////////////////////////////////
-       // Handler setzen
-       aAddButton.SetClickHdl( LINK(this,OAddTableDlg, AddClickHdl) );
-       aCloseButton.SetClickHdl( LINK(this,OAddTableDlg, CloseClickHdl) );
-       aTableList.SetDoubleClickHdl( LINK(this,OAddTableDlg, 
TableListDoubleClickHdl) );
-       aTableList.SetSelectHdl( LINK(this,OAddTableDlg, TableListSelectHdl) );
-
-       aTableList.EnableInplaceEditing( FALSE );
-       aTableList.SetWindowBits(WB_BORDER | WB_HASLINES |WB_HASBUTTONS | 
WB_HASBUTTONSATROOT | WB_HASLINESATROOT | WB_SORT | WB_HSCROLL );
-       aTableList.EnableCheckButton( NULL ); // do not show any buttons
-       aTableList.SetSelectionMode( SINGLE_SELECTION );
-       aTableList.notifyHiContrastChanged();
-
-       FreeResource();
 }
 
-//------------------------------------------------------------------------------
-OAddTableDlg::~OAddTableDlg()
+//==============================================================================
+//= TableListFacade
+//==============================================================================
+class TableListFacade : public TableObjectListFacade
 {
-       DBG_DTOR(OAddTableDlg,NULL);
-    
::dbaui::notifySystemWindow(m_pTableView->getDesignView(),this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
-}
+    OTableTreeListBox&          m_rTableList;
+    Reference< XConnection >    m_xConnection;
 
-//------------------------------------------------------------------------------
-void OAddTableDlg::Update()
-{
-       if(!m_bInitialized)
+public:
+    TableListFacade( OTableTreeListBox& _rTableList, const Reference< 
XConnection >& _rxConnection )
+        :m_rTableList( _rTableList )
+        ,m_xConnection( _rxConnection )
        {
-               
UpdateTableList(m_pTableView->getDesignView()->getController()->isViewAllowed());
-               m_bInitialized = sal_True;
        }
-}
+
+    virtual void    updateTableObjectList( bool _bAllowViews );
+    virtual String  getSelectedName( String& _out_rAliasName ) const;
+    virtual bool    isLeafSelected() const;
+};
 
 
//------------------------------------------------------------------------------
-void OAddTableDlg::AddTable()
+String TableListFacade::getSelectedName( String& _out_rAliasName ) const
 {
-       //////////////////////////////////////////////////////////////////
-       // Tabelle hinzufuegen
-       SvLBoxEntry* pEntry = aTableList.FirstSelected();
-       if( pEntry && !aTableList.GetModel()->HasChilds(pEntry))
-       {
-               ::rtl::OUString aCatalog,aSchema,aTableName;
-               SvLBoxEntry* pSchema = aTableList.GetParent(pEntry);
-               if(pSchema && pSchema != aTableList.getAllObjectsEntry())
+       SvLBoxEntry* pEntry = m_rTableList.FirstSelected();
+    if ( !pEntry )
+        return String();
+
+    ::rtl::OUString aCatalog, aSchema, aTableName;
+       SvLBoxEntry* pSchema = m_rTableList.GetParent(pEntry);
+       if(pSchema && pSchema != m_rTableList.getAllObjectsEntry())
                {
-                       SvLBoxEntry* pCatalog = aTableList.GetParent(pSchema);
-                       if(pCatalog && pCatalog != 
aTableList.getAllObjectsEntry())
-                               aCatalog = aTableList.GetEntryText(pCatalog);
-                       aSchema = aTableList.GetEntryText(pSchema);
+               SvLBoxEntry* pCatalog = m_rTableList.GetParent(pSchema);
+               if(pCatalog && pCatalog != m_rTableList.getAllObjectsEntry())
+                       aCatalog = m_rTableList.GetEntryText(pCatalog);
+               aSchema = m_rTableList.GetEntryText(pSchema);
                }
-               aTableName = aTableList.GetEntryText(pEntry);
+       aTableName = m_rTableList.GetEntryText(pEntry);
 
                ::rtl::OUString aComposedName;
                try
                {
-                       Reference<XDatabaseMetaData> xMeta = 
m_pTableView->getDesignView()->getController()->getConnection()->getMetaData();
-                       // den Datenbank-Namen besorgen
+        Reference< XDatabaseMetaData > xMeta( m_xConnection->getMetaData(), 
UNO_QUERY_THROW );
                        if (  !aCatalog.getLength() 
                                && aSchema.getLength() 
                                && xMeta->supportsCatalogsInDataManipulation()
@@ -182,8 +163,6 @@
                                aSchema = ::rtl::OUString();
                        }
 
-
-                       
                        ::dbtools::composeTableName(xMeta,
                                                                                
aCatalog,
                                                                                
aSchema,
@@ -192,13 +171,257 @@
                                                                                
sal_False,
                                                                                
::dbtools::eInDataManipulation);
                }
-               catch(const Exception&)
+       catch ( const Exception& )
                {
-                       OSL_ENSURE(0,"Exception catched!");
+        DBG_UNHANDLED_EXCEPTION();
                }
-               // aOrigTableName is used because AddTabWin would like to have 
this
-               // und das Ganze dem Container uebergeben
-               m_pTableView->AddTabWin( aComposedName,aTableName, TRUE );
+
+    _out_rAliasName = aTableName;
+    return aComposedName;
+}
+
+//------------------------------------------------------------------------------
+void TableListFacade::updateTableObjectList( bool _bAllowViews )
+{
+    m_rTableList.Clear();
+    try
+    {
+           Reference< XTablesSupplier > xTableSupp( m_xConnection, 
UNO_QUERY_THROW );
+           Reference< XViewsSupplier > xViewSupp;
+           Reference< XNameAccess > xTables, xViews;
+           Sequence< ::rtl::OUString > sTables, sViews;
+
+           xTables = xTableSupp->getTables();
+           if ( xTables.is() )
+                   sTables = xTables->getElementNames();
+       
+           xViewSupp.set( xTableSupp, UNO_QUERY );
+           if ( xViewSupp.is() )
+           {
+                   xViews = xViewSupp->getViews();
+                   if ( xViews.is() )
+                           sViews = xViews->getElementNames();
+           }
+
+        // if no views are allowed remove the views also out the table name 
filter
+           if ( !_bAllowViews )
+           {
+                   const ::rtl::OUString* pTableBegin  = 
sTables.getConstArray();
+                   const ::rtl::OUString* pTableEnd    = pTableBegin + 
sTables.getLength();
+                   ::std::vector< ::rtl::OUString > 
aTables(pTableBegin,pTableEnd);
+
+                   const ::rtl::OUString* pViewBegin = sViews.getConstArray();
+                   const ::rtl::OUString* pViewEnd       = pViewBegin + 
sViews.getLength();
+                   ::comphelper::TStringMixEqualFunctor aEqualFunctor;
+                   for(;pViewBegin != pViewEnd;++pViewBegin)
+                           
aTables.erase(::std::remove_if(aTables.begin(),aTables.end(),::std::bind2nd(aEqualFunctor,*pViewBegin)),aTables.end());
+                   ::rtl::OUString* pTables = aTables.empty() ? 0 : 
&aTables[0];
+                   sTables = Sequence< ::rtl::OUString>(pTables, 
aTables.size());
+                   sViews = Sequence< ::rtl::OUString>();
+           }
+
+           m_rTableList.UpdateTableList( m_xConnection->getMetaData(), 
sTables, sViews );
+           SvLBoxEntry* pEntry = m_rTableList.First();
+           while( pEntry && m_rTableList.GetModel()->HasChilds( pEntry ) )
+           {
+                   m_rTableList.Expand( pEntry );
+                   pEntry = m_rTableList.Next( pEntry );
+           }
+           if ( pEntry )
+                   m_rTableList.Select(pEntry);
+    }
+    catch( const Exception& )
+    {
+       DBG_UNHANDLED_EXCEPTION();
+    }
+}
+
+//------------------------------------------------------------------------------
+bool TableListFacade::isLeafSelected() const
+{
+       SvLBoxEntry* pEntry = m_rTableList.FirstSelected();
+       return pEntry && !m_rTableList.GetModel()->HasChilds( pEntry );
+}
+
+//==============================================================================
+//= QueryListFacade
+//==============================================================================
+class QueryListFacade : public TableObjectListFacade
+{
+    SvTreeListBox&              m_rQueryList;
+    Reference< XConnection >    m_xConnection;
+
+public:
+    QueryListFacade( SvTreeListBox& _rQueryList, const Reference< XConnection 
>& _rxConnection )
+        :m_rQueryList( _rQueryList )
+        ,m_xConnection( _rxConnection )
+    {
+    }
+
+    virtual void    updateTableObjectList( bool _bAllowViews );
+    virtual String  getSelectedName( String& _out_rAliasName ) const;
+    virtual bool    isLeafSelected() const;
+};
+
+//------------------------------------------------------------------------------
+void QueryListFacade::updateTableObjectList( bool _bAllowViews )
+{
+    m_rQueryList.Clear();
+    try
+    {
+        Image aQueryImage( ModuleRes( QUERY_TREE_ICON ) );
+        Image aQueryImageHC( ModuleRes( QUERY_TREE_ICON_SCH ) );
+        m_rQueryList.SetDefaultExpandedEntryBmp( aQueryImage, BMP_COLOR_NORMAL 
);
+        m_rQueryList.SetDefaultCollapsedEntryBmp( aQueryImage, 
BMP_COLOR_NORMAL );
+        m_rQueryList.SetDefaultExpandedEntryBmp( aQueryImageHC, 
BMP_COLOR_HIGHCONTRAST );
+        m_rQueryList.SetDefaultCollapsedEntryBmp( aQueryImageHC, 
BMP_COLOR_HIGHCONTRAST );
+
+        Reference< XQueriesSupplier > xSuppQueries( m_xConnection, 
UNO_QUERY_THROW );
+        Reference< XNameAccess > xQueries( xSuppQueries->getQueries(), 
UNO_QUERY_THROW );
+        Sequence< ::rtl::OUString > aQueryNames = xQueries->getElementNames();
+
+           sal_Bool bIsHighContrast = 
m_rQueryList.GetBackground().GetColor().IsDark();
+
+        const ::rtl::OUString* pQuery = aQueryNames.getConstArray();
+        const ::rtl::OUString* pQueryEnd = aQueryNames.getConstArray() + 
aQueryNames.getLength();
+        while ( pQuery != pQueryEnd )
+            m_rQueryList.InsertEntry( *pQuery++ );
+    }
+    catch( const Exception& )
+    {
+       DBG_UNHANDLED_EXCEPTION();
+    }
+}
+
+//------------------------------------------------------------------------------
+String QueryListFacade::getSelectedName( String& _out_rAliasName ) const
+{
+    String sSelected;
+       SvLBoxEntry* pEntry = m_rQueryList.FirstSelected();
+    if ( pEntry )
+        sSelected = _out_rAliasName = m_rQueryList.GetEntryText( pEntry );
+    return sSelected;
+}
+
+//------------------------------------------------------------------------------
+bool QueryListFacade::isLeafSelected() const
+{
+       SvLBoxEntry* pEntry = m_rQueryList.FirstSelected();
+       return pEntry && !m_rQueryList.GetModel()->HasChilds( pEntry );
+}
+
+//==============================================================================
+//= OAddTableDlg
+//==============================================================================
+//------------------------------------------------------------------------------
+OAddTableDlg::OAddTableDlg( Window* pParent, IAddTableDialogContext& _rContext 
)
+                        :ModelessDialog( pParent, ModuleRes(DLG_JOIN_TABADD) )
+             ,m_aCaseTables( this, ResId( RB_CASE_TABLES ) )
+             ,m_aCaseQueries( this, ResId( RB_CASE_QUERIES ) )
+                        ,m_aTableList( this, NULL, ResId( LB_TABLE_OR_QUERY ), 
sal_False, sal_False )
+                        ,m_aQueryList( this, ResId( LB_TABLE_OR_QUERY ) )
+                        ,aAddButton( this, ResId( PB_ADDTABLE ) )
+                        ,aCloseButton( this, ResId( PB_CLOSE ) )
+                        ,aHelpButton( this, ResId( PB_HELP ) )
+                        ,m_rContext( _rContext )
+{
+       // der Close-Button hat schon einen Standard-Help-Text, den ich aber 
hier nicht haben moechte, also den Text ruecksetzen
+       // und eine neue ID verteilen
+       aCloseButton.SetHelpText(String());
+       aCloseButton.SetHelpId(HID_JOINSH_ADDTAB_CLOSE);
+
+       m_aTableList.SetHelpId( HID_JOINSH_ADDTAB_TABLELIST );
+    m_aQueryList.SetHelpId( HID_JOINSH_ADDTAB_QUERYLIST );
+
+       //////////////////////////////////////////////////////////////////////
+    m_aCaseTables.SetClickHdl( LINK( this, OAddTableDlg, OnTypeSelected ) );
+    m_aCaseQueries.SetClickHdl( LINK( this, OAddTableDlg, OnTypeSelected ) );
+       aAddButton.SetClickHdl( LINK( this, OAddTableDlg, AddClickHdl ) );
+       aCloseButton.SetClickHdl( LINK( this, OAddTableDlg, CloseClickHdl ) );
+       m_aTableList.SetDoubleClickHdl( LINK( this, OAddTableDlg, 
TableListDoubleClickHdl ) );
+       m_aTableList.SetSelectHdl( LINK( this, OAddTableDlg, TableListSelectHdl 
) );
+       m_aQueryList.SetDoubleClickHdl( LINK( this, OAddTableDlg, 
TableListDoubleClickHdl ) );
+       m_aQueryList.SetSelectHdl( LINK( this, OAddTableDlg, TableListSelectHdl 
) );
+
+       //////////////////////////////////////////////////////////////////////
+       m_aTableList.EnableInplaceEditing( FALSE );
+       m_aTableList.SetWindowBits(WB_BORDER | WB_HASLINES |WB_HASBUTTONS | 
WB_HASBUTTONSATROOT | WB_HASLINESATROOT | WB_SORT | WB_HSCROLL );
+       m_aTableList.EnableCheckButton( NULL ); // do not show any buttons
+       m_aTableList.SetSelectionMode( SINGLE_SELECTION );
+       m_aTableList.notifyHiContrastChanged();
+
+       //////////////////////////////////////////////////////////////////////
+    m_aQueryList.EnableInplaceEditing( FALSE );
+       m_aQueryList.SetSelectionMode( SINGLE_SELECTION );
+
+       //////////////////////////////////////////////////////////////////////
+    if ( !m_rContext.allowQueries() )
+    {
+        m_aCaseTables.Hide();
+        m_aCaseQueries.Hide();
+
+        long nPixelDiff = m_aTableList.GetPosPixel().Y() - 
m_aCaseTables.GetPosPixel().Y();
+
+        Point aListPos( m_aTableList.GetPosPixel() );
+        aListPos.Y() -= nPixelDiff;
+
+        Size aListSize( m_aTableList.GetSizePixel() );
+        aListSize.Height() += nPixelDiff;
+
+        m_aTableList.SetPosSizePixel( aListPos, aListSize );
+
+        SetText( String( ResId( STR_ADD_TABLES ) ) );
+    }
+
+       FreeResource();
+}
+
+//------------------------------------------------------------------------------
+OAddTableDlg::~OAddTableDlg()
+{
+    m_rContext.onWindowClosing( this );
+}
+
+//------------------------------------------------------------------------------
+void OAddTableDlg::impl_switchTo( ObjectList _eList )
+{
+    switch ( _eList )
+    {
+    case Tables:
+        m_aTableList.Show( TRUE );  m_aCaseTables.Check( TRUE );
+        m_aQueryList.Show( FALSE ); m_aCaseQueries.Check( FALSE );
+        m_pCurrentList.reset( new TableListFacade( m_aTableList, 
m_rContext.getConnection() ) );
+        m_aTableList.GrabFocus();
+        break;
+
+    case Queries:
+        m_aTableList.Show( FALSE ); m_aCaseTables.Check( FALSE );
+        m_aQueryList.Show( TRUE );  m_aCaseQueries.Check( TRUE );
+        m_pCurrentList.reset( new QueryListFacade( m_aQueryList, 
m_rContext.getConnection() ) );
+        m_aQueryList.GrabFocus();
+        break;
+    }
+    m_pCurrentList->updateTableObjectList( m_rContext.allowViews() );
+}
+
+//------------------------------------------------------------------------------
+void OAddTableDlg::Update()
+{
+    if ( !m_pCurrentList.get() )
+        impl_switchTo( Tables );
+    else
+        m_pCurrentList->updateTableObjectList( m_rContext.allowViews() );
+}
+
+//------------------------------------------------------------------------------
+void OAddTableDlg::impl_addTable()
+{
+    if ( m_pCurrentList->isLeafSelected() )
+    {
+        String sSelectedName, sAliasName;
+        sSelectedName = m_pCurrentList->getSelectedName( sAliasName );
+
+        m_rContext.addTableWindow( sSelectedName, sAliasName );
        }
 }
 
@@ -210,23 +433,24 @@
 }
 
 
//------------------------------------------------------------------------------
-IMPL_LINK( OAddTableDlg, TableListDoubleClickHdl, ListBox *, EMPTY_ARG )
+IMPL_LINK( OAddTableDlg, TableListDoubleClickHdl, void*, EMPTY_ARG )
 {
-       if (IsAddAllowed())
-               AddTable();
+       if ( impl_isAddAllowed() )
+               impl_addTable();
 
-       if (!IsAddAllowed())
+       if ( !impl_isAddAllowed() )
                Close();
 
        return 0;
 }
+
 
//------------------------------------------------------------------------------
-IMPL_LINK( OAddTableDlg, TableListSelectHdl, ListBox *, EMPTY_ARG )
+IMPL_LINK( OAddTableDlg, TableListSelectHdl, void*, EMPTY_ARG )
 {
-       SvLBoxEntry* pEntry = aTableList.FirstSelected();
-       aAddButton.Enable( pEntry && !aTableList.GetModel()->HasChilds(pEntry) 
);
+       aAddButton.Enable( m_pCurrentList->isLeafSelected() );
        return 0;
 }
+
 
//------------------------------------------------------------------------------
 IMPL_LINK( OAddTableDlg, CloseClickHdl, Button*, pButton )
 {
@@ -234,69 +458,27 @@
 }
 
 
//------------------------------------------------------------------------------
-BOOL OAddTableDlg::Close()
+IMPL_LINK( OAddTableDlg, OnTypeSelected, void*, EMPTY_ARG )
 {
-    
::dbaui::notifySystemWindow(m_pTableView->getDesignView(),this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
-       
m_pTableView->getDesignView()->getController()->InvalidateFeature(ID_BROWSER_ADDTABLE);
-       m_pTableView->getDesignView()->getController()->getView()->GrabFocus();
-       return ModelessDialog::Close();
+    if ( m_aCaseTables.IsChecked() )
+        impl_switchTo( Tables );
+    else
+        impl_switchTo( Queries );
+    return 0;
 }
 
 
//------------------------------------------------------------------------------
-BOOL OAddTableDlg::IsAddAllowed()
+BOOL OAddTableDlg::Close()
 {
-       return  m_pTableView && m_pTableView->IsAddAllowed();
+    m_rContext.onWindowClosing( this );
+       return ModelessDialog::Close();
 }
 
 
//------------------------------------------------------------------------------
-void OAddTableDlg::UpdateTableList(BOOL bViewsAllowed)
+bool OAddTableDlg::impl_isAddAllowed()
 {
-       //////////////////////////////////////////////////////////////////////
-       // Datenbank- und Tabellennamen setzen
-       Reference< XTablesSupplier > 
xTableSupp(m_pTableView->getDesignView()->getController()->getConnection(),UNO_QUERY);
-       Reference< XViewsSupplier > xViewSupp;
-       Reference< XNameAccess > xTables, xViews;
-
-       xTables = xTableSupp->getTables();
-
-       // get the views supplier and the views
-       Sequence< ::rtl::OUString> sTables,sViews;
-       if (xTables.is())
-               sTables = xTables->getElementNames();
-       
-       xViewSupp.set(xTableSupp,UNO_QUERY);
-       if (xViewSupp.is())
-       {
-               xViews = xViewSupp->getViews();
-               if (xViews.is())
-                       sViews = xViews->getElementNames();
-       }
-       // if no views are allowed remove the views also out the table name 
filter
-       if ( !bViewsAllowed )
-       {
-               const ::rtl::OUString* pTableBegin      = 
sTables.getConstArray();
-               const ::rtl::OUString* pTableEnd        = pTableBegin + 
sTables.getLength();
-               ::std::vector< ::rtl::OUString > aTables(pTableBegin,pTableEnd);
-
-               const ::rtl::OUString* pViewBegin = sViews.getConstArray();
-               const ::rtl::OUString* pViewEnd   = pViewBegin + 
sViews.getLength();
-               ::comphelper::TStringMixEqualFunctor aEqualFunctor;
-               for(;pViewBegin != pViewEnd;++pViewBegin)
-                       
aTables.erase(::std::remove_if(aTables.begin(),aTables.end(),::std::bind2nd(aEqualFunctor,*pViewBegin)),aTables.end());
-               ::rtl::OUString* pTables = aTables.empty() ? 0 : &aTables[0];
-               sTables = Sequence< ::rtl::OUString>(pTables, aTables.size());
-               sViews = Sequence< ::rtl::OUString>();
-       }
-
-       aTableList.UpdateTableList(Reference< 
XConnection>(xTableSupp,UNO_QUERY)->getMetaData(),sTables,sViews);
-       SvLBoxEntry* pEntry = aTableList.First();
-       while( pEntry && aTableList.GetModel()->HasChilds(pEntry))
-       {
-               aTableList.Expand(pEntry);
-               pEntry = aTableList.Next(pEntry);
-       }
-       if ( pEntry )
-               aTableList.Select(pEntry);
+       return  m_rContext.allowAddition();
 }
+
 // 
-----------------------------------------------------------------------------
 

File [changed]: adtabdlg.hrc
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/adtabdlg.hrc?r1=1.3&r2=1.3.124.1
Delta lines:  +12 -9
--------------------
--- adtabdlg.hrc        8 Sep 2005 14:53:13 -0000       1.3
+++ adtabdlg.hrc        12 May 2006 11:09:27 -0000      1.3.124.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: adtabdlg.hrc,v $
  *
- *  $Revision: 1.3 $
+ *  $Revision: 1.3.124.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 14:53:13 $
+ *  last change: $Author: fs $ $Date: 2006/05/12 11:09:27 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -35,16 +35,19 @@
 #ifndef DBAUI_ADTABDLG_HRC
 #define DBAUI_ADTABDLG_HRC
 
-#define LB_TABLE       1
+#define LB_TABLE_OR_QUERY   1
 #define LB_DATABASE    2
-#define FT_TABLE       1
-#define FT_DATABASE    2
-#define FL_TABLE        1
+
+#define FT_DATABASE    1
+
 #define PB_ADDTABLE    1
 #define PB_CLOSE       2
 #define PB_HELP                3
 
-#define STR_DEFAULT    1
+#define RB_CASE_TABLES  1
+#define RB_CASE_QUERIES 2
+
+#define STR_ADD_TABLES  1
 
 #endif // DBAUI_ADTABDLG_HRC
 

File [changed]: adtabdlg.src
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/adtabdlg.src?r1=1.30&r2=1.30.118.1
Delta lines:  +33 -71
---------------------
--- adtabdlg.src        23 Sep 2005 14:12:46 -0000      1.30
+++ adtabdlg.src        12 May 2006 11:09:28 -0000      1.30.118.1
@@ -1,12 +1,12 @@
-/*************************************************************************
+/*************************************************************************
  *
  *  OpenOffice.org - a multi-platform office productivity suite
  *
  *  $RCSfile: adtabdlg.src,v $
  *
- *  $Revision: 1.30 $
+ *  $Revision: 1.30.118.1 $
  *
- *  last change: $Author: hr $ $Date: 2005/09/23 14:12:46 $
+ *  last change: $Author: fs $ $Date: 2006/05/12 11:09:28 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -48,33 +48,41 @@
        SVLook = TRUE ;
        HelpID = DLG_JOIN_TABADD ;
     Size = MAP_APPFONT ( 178 , 147 ) ;
-       /* ### ACHTUNG: Neuer Text in Resource? Tabellen hinzufügen : Tabellen 
hinzuf³gen */
-       Text [ de ] = "Tabellen hinzufügen" ;
-       Text [ en-US ] = "Add Tables" ;
+       Text [ de ] = "Tabelle oder Abfrage hinzufügen" ;
+       Text [ en-US ] = "Add Table or Query" ;
        Moveable = TRUE ;
        Closeable = TRUE ;
        Hide = TRUE ;
 
-       FixedText FT_TABLE
+    RadioButton RB_CASE_TABLES
        {
-               Pos = MAP_APPFONT ( 12 , 14 ) ;
-        Size = MAP_APPFONT ( 100 , 8 ) ;
-               Text [ de ] = "~Tabellenname" ;
-               Text [ en-US ] = "~Table name" ;
-               Text [ x-comment ] = " ";
+        Pos = MAP_APPFONT( 6, 6 );
+        Size = MAP_APPFONT( 50, 8 );
+        Text [ de ] = "Tabellen";
+        Text [ en-US ] = "Tables";
+    };
+
+    RadioButton RB_CASE_QUERIES
+    {
+        Pos = MAP_APPFONT( 62, 6 );
+        Size = MAP_APPFONT( 50, 8 );
+        Text [ de ] = "Abfragen";
+        Text [ en-US ] = "Queries";
        };
-       Control LB_TABLE
+
+       Control LB_TABLE_OR_QUERY
        {
                Border = TRUE ;
-               Pos = MAP_APPFONT ( 12 , 25 ) ;
-               Size = MAP_APPFONT ( 100 , 115 ) ;
+               Pos = MAP_APPFONT ( 6 , 18 ) ;
+               Size = MAP_APPFONT ( 106 , 122 ) ;
                TabStop = TRUE ;
+               Hide = TRUE;
+               Group = TRUE;
        };
        PushButton PB_ADDTABLE
        {
                Pos = MAP_APPFONT ( 123 , 6 ) ;
                Size = MAP_APPFONT ( 50 , 14 ) ;
-               /* ### ACHTUNG: Neuer Text in Resource? Hinzu~fügen : 
Hinzu~f³gen */
                Text [ de ] = "Hinzu~fügen" ;
                Text [ en-US ] = "~Add" ;
                TabStop = TRUE ;
@@ -86,7 +94,6 @@
                Pos = MAP_APPFONT ( 123 , 22 ) ;
                Size = MAP_APPFONT ( 50 , 14 ) ;
                HelpId = HID_JOINSH_ADDTAB_CLOSE;
-               /* ### ACHTUNG: Neuer Text in Resource? Schließen : Schlie˜en */
                Text [ de ] = "S~chließen" ;
                Text [ en-US ] = "~Close" ;
                TabStop = TRUE ;
@@ -98,55 +105,10 @@
                Size = MAP_APPFONT ( 50 , 14 ) ;
                TabStop = TRUE ;
        };
-    FixedLine FL_TABLE
-       {
-               Pos = MAP_APPFONT ( 6 , 3 ) ;
-        Size = MAP_APPFONT ( 111 , 8 ) ;
-               Text [ de ] = "Tabelle" ;
-               Text [ en-US ] = "Table" ;
-               Text [ x-comment ] = " ";
-       };
-       String STR_DEFAULT
+
+    String STR_ADD_TABLES
        {
-               Text [ de ] = "<Standard>" ;
-               Text [ en-US ] = "<default>" ;
-               Text [ x-comment ] = " ";
+        Text [ de ] = "Tabellen hinzufügen";
+        Text [ en-US ] = "Add Tables";
        };
-       Text [ x-comment ] = " ";
 };
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-




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

Reply via email to