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:21:16 +00:00
2001-02-05 08:26:47 +00:00
# include "QTableConnection.hxx"
2011-02-03 00:33:36 +01:00
# include <osl/diagnose.h>
2001-02-28 09:18:26 +00:00
# include "QueryTableView.hxx"
2002-02-06 07:15:30 +00:00
# include "ConnectionLine.hxx"
2001-02-05 08:26:47 +00:00
using namespace dbaui ;
// class OQueryTableConnection
2007-11-01 14:29:30 +00:00
OQueryTableConnection : : OQueryTableConnection ( OQueryTableView * pContainer , const TTableConnectionData : : value_type & pTabConnData )
2014-02-01 14:55:57 -06:00
: OTableConnection ( pContainer , pTabConnData )
, m_bVisited ( sal_False )
2001-02-05 08:26:47 +00:00
{
}
OQueryTableConnection : : OQueryTableConnection ( const OQueryTableConnection & rConn )
2014-02-01 14:55:57 -06:00
: OTableConnection ( rConn )
, m_bVisited ( sal_False )
2001-02-05 08:26:47 +00:00
{
2012-11-25 01:10:10 +01:00
// no own members, so base class functionality is sufficient
2001-02-05 08:26:47 +00:00
}
2013-08-17 23:43:14 +02:00
2001-02-05 08:26:47 +00:00
OQueryTableConnection : : ~ OQueryTableConnection ( )
{
}
OQueryTableConnection & OQueryTableConnection : : operator = ( const OQueryTableConnection & rConn )
{
if ( & rConn = = this )
return * this ;
OTableConnection : : operator = ( rConn ) ;
2012-11-25 01:10:10 +01:00
// no own members ...
2001-02-05 08:26:47 +00:00
return * this ;
}
sal_Bool OQueryTableConnection : : operator = = ( const OQueryTableConnection & rCompare )
{
2012-11-25 01:10:10 +01:00
OSL_ENSURE ( GetData ( ) & & rCompare . GetData ( ) , " OQueryTableConnection::operator== : one of the two participants has no data! " ) ;
2001-02-05 08:26:47 +00:00
2012-11-25 01:10:10 +01:00
// I don't have to compare all too much (especially not all the members) : merely the windows, which we are connected to, and the indices in the corresponding table have to match.
2007-11-01 14:29:30 +00:00
OQueryTableConnectionData * pMyData = static_cast < OQueryTableConnectionData * > ( GetData ( ) . get ( ) ) ;
OQueryTableConnectionData * pCompData = static_cast < OQueryTableConnectionData * > ( rCompare . GetData ( ) . get ( ) ) ;
2001-02-05 08:26:47 +00:00
2012-11-25 01:10:10 +01:00
// Connections are seen as equal, if source and destination window names and source and destination field Indices match...
2007-11-01 14:29:30 +00:00
return ( ( ( pMyData - > getReferencedTable ( ) = = pCompData - > getReferencedTable ( ) ) & &
( pMyData - > getReferencingTable ( ) = = pCompData - > getReferencingTable ( ) ) & &
2001-02-05 08:26:47 +00:00
( pMyData - > GetFieldIndex ( JTCS_TO ) = = pCompData - > GetFieldIndex ( JTCS_TO ) ) & &
( pMyData - > GetFieldIndex ( JTCS_FROM ) = = pCompData - > GetFieldIndex ( JTCS_FROM ) )
)
2012-11-25 01:10:10 +01:00
| | // ... or this cross matching is given
2007-11-01 14:29:30 +00:00
( ( pMyData - > getReferencingTable ( ) = = pCompData - > getReferencedTable ( ) ) & &
( pMyData - > getReferencedTable ( ) = = pCompData - > getReferencingTable ( ) ) & &
2001-02-05 08:26:47 +00:00
( pMyData - > GetFieldIndex ( JTCS_TO ) = = pCompData - > GetFieldIndex ( JTCS_FROM ) ) & &
( pMyData - > GetFieldIndex ( JTCS_FROM ) = = pCompData - > GetFieldIndex ( JTCS_TO ) )
)
) ;
}
2010-10-12 15:59:03 +02:00
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */