2010-10-12 15:59:03 +02:00
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2012-06-14 17:39:53 +01:00
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2.0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2.0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
2006-09-17 06:20:17 +00:00
2001-02-28 09:16:07 +00:00
# include <sfx2/sfxsids.hrc>
2002-08-19 07:01:32 +00:00
# include "dbu_qry.hrc"
2001-02-28 09:16:07 +00:00
# include "browserids.hxx"
# include <comphelper/types.hxx>
# include "dbustrings.hrc"
# include <connectivity/dbtools.hxx>
# include <com/sun/star/frame/FrameSearchFlag.hpp>
2001-03-15 07:29:16 +00:00
# include <comphelper/extract.hxx>
2001-02-28 09:16:07 +00:00
# include <com/sun/star/container/XChild.hpp>
# include <com/sun/star/container/XNameContainer.hpp>
# include <com/sun/star/sdbcx/XDataDescriptorFactory.hpp>
# include <com/sun/star/sdbcx/XTablesSupplier.hpp>
# include <com/sun/star/sdbcx/KeyType.hpp>
# include <com/sun/star/sdbcx/XDrop.hpp>
# include <com/sun/star/sdbcx/XAlterTable.hpp>
# include <com/sun/star/sdbcx/XAppend.hpp>
# include <com/sun/star/sdb/SQLContext.hpp>
# include <com/sun/star/sdbc/SQLWarning.hpp>
# include <com/sun/star/sdbc/ColumnValue.hpp>
# include <com/sun/star/sdbc/XRow.hpp>
# include <connectivity/dbexception.hxx>
2001-06-15 08:55:48 +00:00
# include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
2001-02-28 09:16:07 +00:00
# include <comphelper/streamsection.hxx>
# include <comphelper/basicio.hxx>
# include <comphelper/seqstream.hxx>
# include <com/sun/star/io/XActiveDataSource.hpp>
# include <com/sun/star/io/XActiveDataSink.hpp>
# include "sqlmessage.hxx"
# include "JoinController.hxx"
# include <vcl/msgbox.hxx>
# include "TableWindowData.hxx"
# include "TableWindow.hxx"
# include "TableConnectionData.hxx"
# include "adtabdlg.hxx"
2001-08-24 05:40:35 +00:00
# include <vcl/waitobj.hxx>
2006-04-19 12:24:00 +00:00
# include <vcl/svapp.hxx>
2010-10-16 03:13:32 -05:00
# include <osl/mutex.hxx>
2002-07-11 11:05:41 +00:00
# include "UITools.hxx"
2011-02-03 00:33:36 +01:00
# include <osl/diagnose.h>
2001-02-28 09:16:07 +00:00
2006-07-10 14:40:03 +00:00
# include <boost/optional.hpp>
2001-02-28 09:16:07 +00:00
using namespace : : com : : sun : : star : : uno ;
using namespace : : com : : sun : : star : : io ;
using namespace : : com : : sun : : star : : beans ;
using namespace : : com : : sun : : star : : frame ;
using namespace : : com : : sun : : star : : util ;
using namespace : : com : : sun : : star : : lang ;
using namespace : : com : : sun : : star : : container ;
using namespace : : com : : sun : : star : : sdbcx ;
using namespace : : com : : sun : : star : : sdbc ;
using namespace : : com : : sun : : star : : sdb ;
2001-06-15 08:55:48 +00:00
using namespace : : com : : sun : : star : : ui : : dialogs ;
2001-02-28 09:16:07 +00:00
using namespace : : dbtools ;
using namespace : : comphelper ;
2006-07-10 14:40:03 +00:00
// .............................................................................
namespace dbaui
{
// .............................................................................
// =============================================================================
// = AddTableDialogContext
// =============================================================================
class AddTableDialogContext : public IAddTableDialogContext
{
OJoinController & m_rController ;
public :
AddTableDialogContext ( OJoinController & _rController )
: m_rController ( _rController )
{
}
2012-03-14 13:27:56 +01:00
virtual ~ AddTableDialogContext ( ) { }
2006-07-10 14:40:03 +00:00
// IAddTableDialogContext
virtual : : com : : sun : : star : : uno : : Reference < : : com : : sun : : star : : sdbc : : XConnection >
getConnection ( ) const ;
virtual bool allowViews ( ) const ;
virtual bool allowQueries ( ) const ;
virtual bool allowAddition ( ) const ;
virtual void addTableWindow ( const String & _rQualifiedTableName , const String & _rAliasName ) ;
virtual void onWindowClosing ( const Window * _pWindow ) ;
private :
OJoinTableView * getTableView ( ) const ;
} ;
// -----------------------------------------------------------------------------
Reference < XConnection > AddTableDialogContext : : getConnection ( ) const
{
return m_rController . getConnection ( ) ;
}
// -----------------------------------------------------------------------------
bool AddTableDialogContext : : allowViews ( ) const
{
return m_rController . allowViews ( ) ;
}
// -----------------------------------------------------------------------------
bool AddTableDialogContext : : allowQueries ( ) const
{
return m_rController . allowQueries ( ) ;
}
// -----------------------------------------------------------------------------
bool AddTableDialogContext : : allowAddition ( ) const
{
return const_cast < OJoinController & > ( m_rController ) . getJoinView ( ) - > getTableView ( ) - > IsAddAllowed ( ) ;
}
// -----------------------------------------------------------------------------
void AddTableDialogContext : : addTableWindow ( const String & _rQualifiedTableName , const String & _rAliasName )
{
2011-01-14 15:00:11 +01:00
getTableView ( ) - > AddTabWin ( _rQualifiedTableName , _rAliasName , sal_True ) ;
2006-07-10 14:40:03 +00:00
}
// -----------------------------------------------------------------------------
void AddTableDialogContext : : onWindowClosing ( const Window * _pWindow )
{
if ( ! m_rController . getView ( ) )
return ;
: : dbaui : : notifySystemWindow (
m_rController . getView ( ) , const_cast < Window * > ( _pWindow ) , : : comphelper : : mem_fun ( & TaskPaneList : : RemoveWindow ) ) ;
m_rController . InvalidateFeature ( ID_BROWSER_ADDTABLE ) ;
m_rController . getView ( ) - > GrabFocus ( ) ;
}
// -----------------------------------------------------------------------------
OJoinTableView * AddTableDialogContext : : getTableView ( ) const
{
if ( m_rController . getJoinView ( ) )
return m_rController . getJoinView ( ) - > getTableView ( ) ;
return NULL ;
}
// =============================================================================
// = OJoinController
// =============================================================================
2006-06-20 02:25:26 +00:00
DBG_NAME ( OJoinController )
2001-02-28 09:16:07 +00:00
// -----------------------------------------------------------------------------
2013-01-07 17:46:55 +02:00
OJoinController : : OJoinController ( const Reference < XComponentContext > & _rM )
2006-06-20 02:25:26 +00:00
: OJoinController_BASE ( _rM )
2006-07-10 14:40:03 +00:00
, m_pAddTableDialog ( NULL )
2001-02-28 09:16:07 +00:00
{
2001-08-15 12:19:03 +00:00
DBG_CTOR ( OJoinController , NULL ) ;
2001-02-28 09:16:07 +00:00
}
// -----------------------------------------------------------------------------
OJoinController : : ~ OJoinController ( )
{
2001-08-15 12:19:03 +00:00
DBG_DTOR ( OJoinController , NULL ) ;
2001-02-28 09:16:07 +00:00
}
2001-08-14 11:08:52 +00:00
// -----------------------------------------------------------------------------
void SAL_CALL OJoinController : : disposing ( const EventObject & _rSource ) throw ( RuntimeException )
{
OJoinController_BASE : : disposing ( _rSource ) ;
}
2001-08-23 13:39:09 +00:00
// -----------------------------------------------------------------------------
OJoinDesignView * OJoinController : : getJoinView ( )
{
return static_cast < OJoinDesignView * > ( getView ( ) ) ;
}
2001-02-28 09:16:07 +00:00
// -----------------------------------------------------------------------------
2001-03-01 14:17:55 +00:00
void OJoinController : : disposing ( )
2001-02-28 09:16:07 +00:00
{
2006-07-10 14:40:03 +00:00
{
: : std : : auto_ptr < Window > pEnsureDelete ( m_pAddTableDialog ) ;
m_pAddTableDialog = NULL ;
}
2001-08-14 11:08:52 +00:00
OJoinController_BASE : : disposing ( ) ;
2002-08-19 07:01:32 +00:00
2010-02-09 17:26:40 +01:00
clearView ( ) ;
2001-02-28 09:16:07 +00:00
2007-11-01 14:27:20 +00:00
m_vTableConnectionData . clear ( ) ;
m_vTableData . clear ( ) ;
2001-02-28 09:16:07 +00:00
}
2006-07-10 14:40:03 +00:00
// -----------------------------------------------------------------------------
void OJoinController : : reconnect ( sal_Bool _bUI )
{
OJoinController_BASE : : reconnect ( _bUI ) ;
if ( isConnected ( ) & & m_pAddTableDialog )
m_pAddTableDialog - > Update ( ) ;
}
2001-02-28 09:16:07 +00:00
// -----------------------------------------------------------------------------
2010-02-10 14:05:19 +01:00
void OJoinController : : impl_onModifyChanged ( )
2001-02-28 09:16:07 +00:00
{
2010-02-10 14:05:19 +01:00
OJoinController_BASE : : impl_onModifyChanged ( ) ;
InvalidateFeature ( SID_RELATION_ADD_RELATION ) ;
2001-02-28 09:16:07 +00:00
}
// -----------------------------------------------------------------------------
void OJoinController : : SaveTabWinPosSize ( OTableWindow * pTabWin , long nOffsetX , long nOffsetY )
{
2012-11-25 01:10:10 +01:00
// the data for the window
2007-11-01 14:27:20 +00:00
TTableWindowData : : value_type pData = pTabWin - > GetData ( ) ;
2013-05-22 20:16:28 +03:00
OSL_ENSURE ( pData ! = 0 , " SaveTabWinPosSize : TabWin hat keine Daten ! " ) ;
2001-02-28 09:16:07 +00:00
2012-11-25 01:10:10 +01:00
// set Position & Size of data anew (with current window parameters)
2001-02-28 09:16:07 +00:00
Point aPos = pTabWin - > GetPosPixel ( ) ;
aPos . X ( ) + = nOffsetX ;
aPos . Y ( ) + = nOffsetY ;
pData - > SetPosition ( aPos ) ;
pData - > SetSize ( pTabWin - > GetSizePixel ( ) ) ;
}
// -----------------------------------------------------------------------------
2002-01-24 16:43:35 +00:00
FeatureState OJoinController : : GetState ( sal_uInt16 _nId ) const
2001-02-28 09:16:07 +00:00
{
FeatureState aReturn ;
// (disabled automatically)
aReturn . bEnabled = sal_True ;
switch ( _nId )
{
case ID_BROWSER_EDITDOC :
2006-07-10 14:40:03 +00:00
aReturn . bChecked = isEditable ( ) ;
2001-02-28 09:16:07 +00:00
break ;
case ID_BROWSER_ADDTABLE :
2006-07-10 14:40:03 +00:00
aReturn . bEnabled = ( getView ( ) ! = NULL )
& & const_cast < OJoinController * > ( this ) - > getJoinView ( ) - > getTableView ( ) - > IsAddAllowed ( ) ;
aReturn . bChecked = aReturn . bEnabled & & m_pAddTableDialog ! = NULL & & m_pAddTableDialog - > IsVisible ( ) ;
2008-01-30 07:54:05 +00:00
if ( aReturn . bEnabled )
aReturn . sTitle = OAddTableDlg : : getDialogTitleForContext ( impl_getDialogContext ( ) ) ;
2001-02-28 09:16:07 +00:00
break ;
2006-07-10 14:40:03 +00:00
2002-08-19 07:01:32 +00:00
default :
aReturn = OJoinController_BASE : : GetState ( _nId ) ;
2001-02-28 09:16:07 +00:00
}
return aReturn ;
}
2006-07-10 14:40:03 +00:00
// -----------------------------------------------------------------------------
AddTableDialogContext & OJoinController : : impl_getDialogContext ( ) const
{
if ( ! m_pDialogContext . get ( ) )
{
OJoinController * pNonConstThis = const_cast < OJoinController * > ( this ) ;
pNonConstThis - > m_pDialogContext . reset ( new AddTableDialogContext ( * pNonConstThis ) ) ;
}
return * m_pDialogContext ;
}
2001-02-28 09:16:07 +00:00
// -----------------------------------------------------------------------------
2004-09-09 08:47:44 +00:00
void OJoinController : : Execute ( sal_uInt16 _nId , const Sequence < PropertyValue > & aArgs )
2001-02-28 09:16:07 +00:00
{
switch ( _nId )
{
case ID_BROWSER_EDITDOC :
2002-08-19 07:01:32 +00:00
if ( isEditable ( ) )
2001-10-23 11:30:27 +00:00
{ // the state should be changed to not editable
switch ( saveModified ( ) )
{
case RET_CANCEL :
// don't change anything here so return
return ;
case RET_NO :
reset ( ) ;
setModified ( sal_False ) ; // and we are not modified yet
break ;
default :
break ;
}
}
2002-08-19 07:01:32 +00:00
setEditable ( ! isEditable ( ) ) ;
getJoinView ( ) - > setReadOnly ( ! isEditable ( ) ) ;
2001-10-23 11:30:27 +00:00
InvalidateAll ( ) ;
return ;
2001-02-28 09:16:07 +00:00
case ID_BROWSER_ADDTABLE :
2006-07-10 14:40:03 +00:00
if ( ! m_pAddTableDialog )
m_pAddTableDialog = new OAddTableDlg ( getView ( ) , impl_getDialogContext ( ) ) ;
if ( m_pAddTableDialog - > IsVisible ( ) )
2001-03-20 07:15:49 +00:00
{
2011-01-14 15:00:11 +01:00
m_pAddTableDialog - > Show ( sal_False ) ;
2006-07-10 14:40:03 +00:00
getView ( ) - > GrabFocus ( ) ;
2001-03-20 07:15:49 +00:00
}
2006-07-10 14:40:03 +00:00
else
2001-08-24 05:40:35 +00:00
{
{
2006-07-10 14:40:03 +00:00
WaitObject aWaitCursor ( getView ( ) ) ;
m_pAddTableDialog - > Update ( ) ;
2001-08-24 05:40:35 +00:00
}
2011-01-14 15:00:11 +01:00
m_pAddTableDialog - > Show ( sal_True ) ;
2006-07-10 14:40:03 +00:00
: : dbaui : : notifySystemWindow ( getView ( ) , m_pAddTableDialog , : : comphelper : : mem_fun ( & TaskPaneList : : AddWindow ) ) ;
2001-08-24 05:40:35 +00:00
}
2001-02-28 09:16:07 +00:00
break ;
2002-08-19 07:01:32 +00:00
default :
2004-09-09 08:47:44 +00:00
OJoinController_BASE : : Execute ( _nId , aArgs ) ;
2001-02-28 09:16:07 +00:00
}
2001-04-18 06:02:22 +00:00
InvalidateFeature ( _nId ) ;
2001-02-28 09:16:07 +00:00
}
// -----------------------------------------------------------------------------
void OJoinController : : SaveTabWinsPosSize ( OJoinTableView : : OTableWindowMap * pTabWinList , long nOffsetX , long nOffsetY )
{
2012-11-25 01:10:10 +01:00
// Deletion and recreation of the old implementation with the current model is not correct anymore:
// The TabWins have a pointer to their data, but they are managed by me. When I delete the old ones, the TabWins suddenly have a pointer to objects, which no longer exist.
// If the TabWins had a SetData, I could save that effort... but they don't, further I also would still have to set information anew, which actually didn't change.
// So I don't delete the TabWinDatas, but only update them.
2011-02-03 00:33:36 +01:00
OSL_ENSURE ( m_vTableData . size ( ) = = pTabWinList - > size ( ) ,
2001-02-28 09:16:07 +00:00
" OJoinController::SaveTabWinsPosSize : inkonsistenter Zustand : sollte genausviel TabWinDatas haben wie TabWins ! " ) ;
OJoinTableView : : OTableWindowMap : : iterator aIter = pTabWinList - > begin ( ) ;
2009-07-03 12:24:35 +00:00
OJoinTableView : : OTableWindowMap : : iterator aEnd = pTabWinList - > end ( ) ;
for ( ; aIter ! = aEnd ; + + aIter )
2001-02-28 09:16:07 +00:00
SaveTabWinPosSize ( aIter - > second , nOffsetX , nOffsetY ) ;
}
// -----------------------------------------------------------------------------
2007-11-01 14:27:20 +00:00
void OJoinController : : removeConnectionData ( const TTableConnectionData : : value_type & _pData )
2001-02-28 09:16:07 +00:00
{
2005-09-23 11:41:49 +00:00
m_vTableConnectionData . erase ( : : std : : remove ( m_vTableConnectionData . begin ( ) , m_vTableConnectionData . end ( ) , _pData ) , m_vTableConnectionData . end ( ) ) ;
2001-02-28 09:16:07 +00:00
}
// -----------------------------------------------------------------------------
2004-11-16 13:32:37 +00:00
void OJoinController : : describeSupportedFeatures ( )
2001-04-24 13:28:56 +00:00
{
2004-11-16 13:32:37 +00:00
OJoinController_BASE : : describeSupportedFeatures ( ) ;
implDescribeSupportedFeature ( " .uno:Redo " , ID_BROWSER_REDO , CommandGroup : : EDIT ) ;
implDescribeSupportedFeature ( " .uno:Save " , ID_BROWSER_SAVEDOC , CommandGroup : : DOCUMENT ) ;
implDescribeSupportedFeature ( " .uno:Undo " , ID_BROWSER_UNDO , CommandGroup : : EDIT ) ;
implDescribeSupportedFeature ( " .uno:AddTable " , ID_BROWSER_ADDTABLE , CommandGroup : : EDIT ) ;
implDescribeSupportedFeature ( " .uno:EditDoc " , ID_BROWSER_EDITDOC , CommandGroup : : EDIT ) ;
2001-04-24 13:28:56 +00:00
}
// -----------------------------------------------------------------------------
2002-07-08 07:15:44 +00:00
sal_Bool SAL_CALL OJoinController : : suspend ( sal_Bool _bSuspend ) throw ( RuntimeException )
2001-10-23 11:30:27 +00:00
{
2004-08-02 15:12:25 +00:00
if ( getBroadcastHelper ( ) . bInDispose | | getBroadcastHelper ( ) . bDisposed )
return sal_True ;
2006-04-19 12:24:00 +00:00
2010-10-13 01:38:41 -05:00
SolarMutexGuard aSolarGuard ;
2008-12-01 12:31:27 +00:00
: : osl : : MutexGuard aGuard ( getMutex ( ) ) ;
2006-04-19 12:24:00 +00:00
if ( getView ( ) & & getView ( ) - > IsInModalMode ( ) )
return sal_False ;
2004-08-02 15:12:25 +00:00
sal_Bool bCheck = sal_True ;
if ( _bSuspend )
{
bCheck = saveModified ( ) ! = RET_CANCEL ;
if ( bCheck )
OSingleDocumentController : : suspend ( _bSuspend ) ;
}
2002-07-08 07:15:44 +00:00
return bCheck ;
2001-10-23 11:30:27 +00:00
}
// -----------------------------------------------------------------------------
2010-02-16 15:21:07 +01:00
void OJoinController : : loadTableWindows ( const : : comphelper : : NamedValueCollection & i_rViewSettings )
2004-08-02 15:12:25 +00:00
{
m_vTableData . clear ( ) ;
2001-02-28 09:16:07 +00:00
2010-02-16 15:21:07 +01:00
m_aMinimumTableViewSize = Point ( ) ;
Sequence < PropertyValue > aWindowData ;
aWindowData = i_rViewSettings . getOrDefault ( " Tables " , aWindowData ) ;
const PropertyValue * pTablesIter = aWindowData . getConstArray ( ) ;
const PropertyValue * pTablesEnd = pTablesIter + aWindowData . getLength ( ) ;
for ( ; pTablesIter ! = pTablesEnd ; + + pTablesIter )
2004-08-02 15:12:25 +00:00
{
2010-02-16 15:21:07 +01:00
: : comphelper : : NamedValueCollection aSingleTableData ( pTablesIter - > Value ) ;
loadTableWindow ( aSingleTableData ) ;
}
if ( m_aMinimumTableViewSize ! = Point ( ) )
{
getJoinView ( ) - > getScrollHelper ( ) - > resetRange ( m_aMinimumTableViewSize ) ;
2004-08-02 15:12:25 +00:00
}
}
2010-02-16 15:21:07 +01:00
2004-08-02 15:12:25 +00:00
// -----------------------------------------------------------------------------
2010-02-16 15:21:07 +01:00
void OJoinController : : loadTableWindow ( const : : comphelper : : NamedValueCollection & i_rTableWindowSettings )
2004-08-02 15:12:25 +00:00
{
sal_Int32 nX = - 1 , nY = - 1 , nHeight = - 1 , nWidth = - 1 ;
2001-02-28 09:16:07 +00:00
2013-04-07 12:06:47 +02:00
OUString sComposedName , sTableName , sWindowName ;
2007-11-01 14:27:20 +00:00
sal_Bool bShowAll = false ;
2010-02-16 15:21:07 +01:00
sComposedName = i_rTableWindowSettings . getOrDefault ( " ComposedName " , sComposedName ) ;
sTableName = i_rTableWindowSettings . getOrDefault ( " TableName " , sTableName ) ;
sWindowName = i_rTableWindowSettings . getOrDefault ( " WindowName " , sWindowName ) ;
nY = i_rTableWindowSettings . getOrDefault ( " WindowTop " , nY ) ;
nX = i_rTableWindowSettings . getOrDefault ( " WindowLeft " , nX ) ;
nWidth = i_rTableWindowSettings . getOrDefault ( " WindowWidth " , nWidth ) ;
nHeight = i_rTableWindowSettings . getOrDefault ( " WindowHeight " , nHeight ) ;
bShowAll = i_rTableWindowSettings . getOrDefault ( " ShowAll " , bShowAll ) ;
2007-11-01 14:27:20 +00:00
TTableWindowData : : value_type pData = createTableWindowData ( sComposedName , sTableName , sWindowName ) ;
2008-06-06 13:12:36 +00:00
if ( pData )
{
pData - > SetPosition ( Point ( nX , nY ) ) ;
pData - > SetSize ( Size ( nWidth , nHeight ) ) ;
pData - > ShowAll ( bShowAll ) ;
m_vTableData . push_back ( pData ) ;
if ( m_aMinimumTableViewSize . X ( ) < ( nX + nWidth ) )
m_aMinimumTableViewSize . X ( ) = ( nX + nWidth ) ;
if ( m_aMinimumTableViewSize . Y ( ) < ( nY + nHeight ) )
m_aMinimumTableViewSize . Y ( ) = ( nY + nHeight ) ;
}
2004-08-02 15:12:25 +00:00
}
// -----------------------------------------------------------------------------
2010-02-15 14:34:48 +01:00
void OJoinController : : saveTableWindows ( : : comphelper : : NamedValueCollection & o_rViewSettings ) const
2004-08-02 15:12:25 +00:00
{
if ( ! m_vTableData . empty ( ) )
{
2010-02-15 14:34:48 +01:00
: : comphelper : : NamedValueCollection aAllTablesData ;
2001-02-28 09:16:07 +00:00
2010-02-15 14:34:48 +01:00
TTableWindowData : : const_iterator aIter = m_vTableData . begin ( ) ;
TTableWindowData : : const_iterator aEnd = m_vTableData . end ( ) ;
for ( sal_Int32 i = 1 ; aIter ! = aEnd ; + + aIter , + + i )
2004-08-02 15:12:25 +00:00
{
2010-02-15 14:34:48 +01:00
: : comphelper : : NamedValueCollection aWindowData ;
aWindowData . put ( " ComposedName " , ( * aIter ) - > GetComposedName ( ) ) ;
aWindowData . put ( " TableName " , ( * aIter ) - > GetTableName ( ) ) ;
aWindowData . put ( " WindowName " , ( * aIter ) - > GetWinName ( ) ) ;
2011-03-16 12:48:58 +01:00
aWindowData . put ( " WindowTop " , static_cast < sal_Int32 > ( ( * aIter ) - > GetPosition ( ) . Y ( ) ) ) ;
aWindowData . put ( " WindowLeft " , static_cast < sal_Int32 > ( ( * aIter ) - > GetPosition ( ) . X ( ) ) ) ;
aWindowData . put ( " WindowWidth " , static_cast < sal_Int32 > ( ( * aIter ) - > GetSize ( ) . Width ( ) ) ) ;
aWindowData . put ( " WindowHeight " , static_cast < sal_Int32 > ( ( * aIter ) - > GetSize ( ) . Height ( ) ) ) ;
2010-02-15 14:34:48 +01:00
aWindowData . put ( " ShowAll " , ( * aIter ) - > IsShowAll ( ) ) ;
2013-08-21 15:07:31 +02:00
const OUString sTableName ( OUString ( " Table " ) + OUString : : number ( i ) ) ;
2010-02-15 14:34:48 +01:00
aAllTablesData . put ( sTableName , aWindowData . getPropertyValues ( ) ) ;
2004-08-02 15:12:25 +00:00
}
2001-02-28 09:16:07 +00:00
2010-02-15 14:34:48 +01:00
o_rViewSettings . put ( " Tables " , aAllTablesData . getPropertyValues ( ) ) ;
2004-08-02 15:12:25 +00:00
}
}
2007-11-01 14:27:20 +00:00
// -----------------------------------------------------------------------------
2013-04-07 12:06:47 +02:00
TTableWindowData : : value_type OJoinController : : createTableWindowData ( const OUString & _sComposedName , const OUString & _sTableName , const OUString & _sWindowName )
2007-11-01 14:27:20 +00:00
{
OJoinDesignView * pView = getJoinView ( ) ;
if ( pView )
return pView - > getTableView ( ) - > createTableWindowData ( _sComposedName , _sTableName , _sWindowName ) ;
2011-03-12 12:04:35 +01:00
OSL_FAIL ( " We should never ever reach this point! " ) ;
2006-07-10 14:40:03 +00:00
2007-11-01 14:27:20 +00:00
return TTableWindowData : : value_type ( ) ;
}
2006-07-10 14:40:03 +00:00
// .............................................................................
} // namespace dbaui
// .............................................................................
2010-10-12 15:59:03 +02:00
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */