summaryrefslogtreecommitdiff
path: root/sc/source/ui/dbgui/foptmgr.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/dbgui/foptmgr.cxx')
-rw-r--r--sc/source/ui/dbgui/foptmgr.cxx341
1 files changed, 0 insertions, 341 deletions
diff --git a/sc/source/ui/dbgui/foptmgr.cxx b/sc/source/ui/dbgui/foptmgr.cxx
deleted file mode 100644
index 571280d2e..000000000
--- a/sc/source/ui/dbgui/foptmgr.cxx
+++ /dev/null
@@ -1,341 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sc.hxx"
-
-// System - Includes ---------------------------------------------------------
-
-
-
-// INCLUDE -------------------------------------------------------------------
-
-#include <vcl/morebtn.hxx>
-#include <svtools/stdctrl.hxx>
-
-#include "anyrefdg.hxx"
-#include "rangeutl.hxx"
-#include "dbdata.hxx"
-#include "viewdata.hxx"
-#include "document.hxx"
-#include "queryparam.hxx"
-
-#define _FOPTMGR_CXX
-#include "foptmgr.hxx"
-#undef _FOPTMGR_CXX
-
-//----------------------------------------------------------------------------
-
-ScFilterOptionsMgr::ScFilterOptionsMgr(
- Dialog* ptrDlg,
- ScViewData* ptrViewData,
- const ScQueryParam& refQueryData,
- MoreButton& refBtnMore,
- CheckBox& refBtnCase,
- CheckBox& refBtnRegExp,
- CheckBox& refBtnHeader,
- CheckBox& refBtnUnique,
- CheckBox& refBtnCopyResult,
- CheckBox& refBtnDestPers,
- ListBox& refLbCopyArea,
- Edit& refEdCopyArea,
- formula::RefButton& refRbCopyArea,
- FixedText& refFtDbAreaLabel,
- FixedInfo& refFtDbArea,
- FixedLine& refFlOptions,
- const String& refStrNoName,
- const String& refStrUndefined )
-
- : pDlg ( ptrDlg ),
- pViewData ( ptrViewData ),
- pDoc ( ptrViewData ? ptrViewData->GetDocument() : NULL ),
- rBtnMore ( refBtnMore ),
- rBtnCase ( refBtnCase ),
- rBtnRegExp ( refBtnRegExp ),
- rBtnHeader ( refBtnHeader ),
- rBtnUnique ( refBtnUnique ),
- rBtnCopyResult ( refBtnCopyResult ),
- rBtnDestPers ( refBtnDestPers ),
- rLbCopyPos ( refLbCopyArea ),
- rEdCopyPos ( refEdCopyArea ),
- rRbCopyPos ( refRbCopyArea ),
- rFtDbAreaLabel ( refFtDbAreaLabel ),
- rFtDbArea ( refFtDbArea ),
- rFlOptions ( refFlOptions ),
- rStrNoName ( refStrNoName ),
- rStrUndefined ( refStrUndefined ),
- rQueryData ( refQueryData )
-{
- Init();
-}
-
-
-//----------------------------------------------------------------------------
-
-ScFilterOptionsMgr::~ScFilterOptionsMgr()
-{
- sal_uInt16 nEntries = rLbCopyPos.GetEntryCount();
- sal_uInt16 i;
-
- for ( i=2; i<nEntries; i++ )
- delete (String*)rLbCopyPos.GetEntryData( i );
-}
-
-
-//----------------------------------------------------------------------------
-
-void ScFilterOptionsMgr::Init()
-{
-//moggi:TODO
- OSL_ENSURE( pViewData && pDoc, "Init failed :-/" );
-
- rLbCopyPos.SetSelectHdl ( LINK( this, ScFilterOptionsMgr, LbPosSelHdl ) );
- rEdCopyPos.SetModifyHdl ( LINK( this, ScFilterOptionsMgr, EdPosModifyHdl ) );
- rBtnCopyResult.SetClickHdl( LINK( this, ScFilterOptionsMgr, BtnCopyResultHdl ) );
-
- rBtnMore.AddWindow( &rBtnCase );
- rBtnMore.AddWindow( &rBtnRegExp );
- rBtnMore.AddWindow( &rBtnHeader );
- rBtnMore.AddWindow( &rBtnUnique );
- rBtnMore.AddWindow( &rBtnCopyResult );
- rBtnMore.AddWindow( &rBtnDestPers );
- rBtnMore.AddWindow( &rLbCopyPos );
- rBtnMore.AddWindow( &rEdCopyPos );
- rBtnMore.AddWindow( &rRbCopyPos );
- rBtnMore.AddWindow( &rFtDbAreaLabel );
- rBtnMore.AddWindow( &rFtDbArea );
- rBtnMore.AddWindow( &rFlOptions );
-
- rBtnCase .Check( rQueryData.bCaseSens );
- rBtnHeader .Check( rQueryData.bHasHeader );
- rBtnRegExp .Check( rQueryData.bRegExp );
- rBtnUnique .Check( !rQueryData.bDuplicate );
-
- if ( pViewData && pDoc )
- {
- String theAreaStr;
- ScRange theCurArea ( ScAddress( rQueryData.nCol1,
- rQueryData.nRow1,
- pViewData->GetTabNo() ),
- ScAddress( rQueryData.nCol2,
- rQueryData.nRow2,
- pViewData->GetTabNo() ) );
- ScDBCollection* pDBColl = pDoc->GetDBCollection();
- String theDbArea;
- String theDbName = rStrNoName;
- const formula::FormulaGrammar::AddressConvention eConv = pDoc->GetAddressConvention();
-
- theCurArea.Format( theAreaStr, SCR_ABS_3D, pDoc, eConv );
-
- // Zielbereichsliste fuellen
-
- rLbCopyPos.Clear();
- rLbCopyPos.InsertEntry( rStrUndefined, 0 );
-
- ScAreaNameIterator aIter( pDoc );
- String aName;
- ScRange aRange;
- String aRefStr;
- while ( aIter.Next( aName, aRange ) )
- {
- sal_uInt16 nInsert = rLbCopyPos.InsertEntry( aName );
-
- aRange.aStart.Format( aRefStr, SCA_ABS_3D, pDoc, eConv );
- rLbCopyPos.SetEntryData( nInsert, new String( aRefStr ) );
- }
-
- rBtnDestPers.Check( sal_True ); // beim Aufruf immer an
- rLbCopyPos.SelectEntryPos( 0 );
- rEdCopyPos.SetText( EMPTY_STRING );
-
- /*
- * Ueberpruefen, ob es sich bei dem uebergebenen
- * Bereich um einen Datenbankbereich handelt:
- */
-
- theDbArea = theAreaStr;
-
- if ( pDBColl )
- {
- ScAddress& rStart = theCurArea.aStart;
- ScAddress& rEnd = theCurArea.aEnd;
- const ScDBData* pDBData = pDBColl->GetDBAtArea(
- rStart.Tab(), rStart.Col(), rStart.Row(), rEnd.Col(), rEnd.Row());
-
- if ( pDBData )
- {
- rBtnHeader.Check( pDBData->HasHeader() );
- theDbName = pDBData->GetName();
-
- if ( theDbName != rStrNoName )
- {
- rBtnHeader.Disable();
- }
- }
- }
-
- theDbArea.AppendAscii(RTL_CONSTASCII_STRINGPARAM(" ("));
- theDbArea += theDbName;
- theDbArea += ')';
- rFtDbArea.SetText( theDbArea );
-
- //------------------------------------------------------
- // Kopierposition:
-
- if ( !rQueryData.bInplace )
- {
- String aString;
-
- ScAddress( rQueryData.nDestCol,
- rQueryData.nDestRow,
- rQueryData.nDestTab
- ).Format( aString, SCA_ABS_3D, pDoc, eConv );
-
- rBtnCopyResult.Check( sal_True );
- rEdCopyPos.SetText( aString );
- EdPosModifyHdl( &rEdCopyPos );
- rLbCopyPos.Enable();
- rEdCopyPos.Enable();
- rRbCopyPos.Enable();
- rBtnDestPers.Enable();
- }
- else
- {
- rBtnCopyResult.Check( false );
- rEdCopyPos.SetText( EMPTY_STRING );
- rLbCopyPos.Disable();
- rEdCopyPos.Disable();
- rRbCopyPos.Disable();
- rBtnDestPers.Disable();
- }
- }
- else
- rEdCopyPos.SetText( EMPTY_STRING );
-}
-
-
-//----------------------------------------------------------------------------
-
-sal_Bool ScFilterOptionsMgr::VerifyPosStr( const String& rPosStr ) const
-{
- String aPosStr( rPosStr );
- xub_StrLen nColonPos = aPosStr.Search( ':' );
-
- if ( STRING_NOTFOUND != nColonPos )
- aPosStr.Erase( nColonPos );
-
- sal_uInt16 nResult = ScAddress().Parse( aPosStr, pDoc, pDoc->GetAddressConvention() );
-
- return ( SCA_VALID == (nResult & SCA_VALID) );
-}
-
-
-//----------------------------------------------------------------------------
-// Handler:
-
-//----------------------------------------------------------------------------
-
-IMPL_LINK( ScFilterOptionsMgr, LbPosSelHdl, ListBox*, pLb )
-{
- if ( pLb == &rLbCopyPos )
- {
- String aString;
- sal_uInt16 nSelPos = rLbCopyPos.GetSelectEntryPos();
-
- if ( nSelPos > 0 )
- aString = *(String*)rLbCopyPos.GetEntryData( nSelPos );
-
- rEdCopyPos.SetText( aString );
- }
-
- return 0;
-}
-
-
-//----------------------------------------------------------------------------
-
-IMPL_LINK( ScFilterOptionsMgr, EdPosModifyHdl, Edit*, pEd )
-{
- if ( pEd == &rEdCopyPos )
- {
- String theCurPosStr = pEd->GetText();
- sal_uInt16 nResult = ScAddress().Parse( theCurPosStr, pDoc, pDoc->GetAddressConvention() );
-
- if ( SCA_VALID == (nResult & SCA_VALID) )
- {
- String* pStr = NULL;
- sal_Bool bFound = false;
- sal_uInt16 i = 0;
- sal_uInt16 nCount = rLbCopyPos.GetEntryCount();
-
- for ( i=2; i<nCount && !bFound; i++ )
- {
- pStr = (String*)rLbCopyPos.GetEntryData( i );
- bFound = (theCurPosStr == *pStr);
- }
-
- if ( bFound )
- rLbCopyPos.SelectEntryPos( --i );
- else
- rLbCopyPos.SelectEntryPos( 0 );
- }
- else
- rLbCopyPos.SelectEntryPos( 0 );
- }
-
- return 0;
-}
-
-
-//----------------------------------------------------------------------------
-
-IMPL_LINK( ScFilterOptionsMgr, BtnCopyResultHdl, CheckBox*, pBox )
-{
- if ( pBox == &rBtnCopyResult )
- {
- if ( pBox->IsChecked() )
- {
- rBtnDestPers.Enable();
- rLbCopyPos.Enable();
- rEdCopyPos.Enable();
- rRbCopyPos.Enable();
- rEdCopyPos.GrabFocus();
- }
- else
- {
- rBtnDestPers.Disable();
- rLbCopyPos.Disable();
- rEdCopyPos.Disable();
- rRbCopyPos.Disable();
- }
- }
-
- return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */