diff options
-rw-r--r-- | dbaccess/source/ui/dlg/queryfilter.cxx | 742 | ||||
-rw-r--r-- | dbaccess/source/ui/dlg/queryfilter.hrc | 98 | ||||
-rw-r--r-- | dbaccess/source/ui/dlg/queryfilter.src | 520 | ||||
-rw-r--r-- | dbaccess/source/ui/dlg/queryorder.cxx | 308 | ||||
-rw-r--r-- | dbaccess/source/ui/dlg/queryorder.hrc | 92 | ||||
-rw-r--r-- | dbaccess/source/ui/dlg/queryorder.src | 745 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/queryfilter.hxx | 184 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/queryorder.hxx | 172 |
8 files changed, 2861 insertions, 0 deletions
diff --git a/dbaccess/source/ui/dlg/queryfilter.cxx b/dbaccess/source/ui/dlg/queryfilter.cxx new file mode 100644 index 000000000000..3f8b01c8880f --- /dev/null +++ b/dbaccess/source/ui/dlg/queryfilter.cxx @@ -0,0 +1,742 @@ +/************************************************************************* + * + * $RCSfile: queryfilter.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: oj $ $Date: 2000-11-10 16:11:48 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an AS IS basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef DBAUI_QUERYFILTER_HXX +#include "queryfilter.hxx" +#endif +#ifndef _COM_SUN_STAR_SDBC_DATATYPE_HPP_ +#include <com/sun/star/sdbc/DataType.hpp> +#endif +#ifndef _COM_SUN_STAR_UTIL_DATE_HPP_ +#include <com/sun/star/util/Date.hpp> +#endif +#ifndef _COM_SUN_STAR_UTIL_DATETIME_HPP_ +#include <com/sun/star/util/DateTime.hpp> +#endif +#ifndef _COM_SUN_STAR_UTIL_TIME_HPP_ +#include <com/sun/star/util/Time.hpp> +#endif +#ifndef _COM_SUN_STAR_SDB_XSQLQUERYCOMPOSER_HPP_ +#include <com/sun/star/sdb/XSQLQueryComposer.hpp> +#endif +#ifndef _COM_SUN_STAR_SDBC_COLUMNSEARCH_HPP_ +#include <com/sun/star/sdbc/ColumnSearch.hpp> +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ +#include <com/sun/star/container/XNameAccess.hpp> +#endif +#ifndef _TOOLS_DEBUG_HXX +#include <tools/debug.hxx> +#endif +#ifndef _DBAUI_MODULE_DBU_HXX_ +#include "moduledbu.hxx" +#endif +#ifndef _CONNECTIVITY_PARSE_SQLITERATOR_HXX_ +#include <connectivity/sqliterator.hxx> +#endif +#ifndef _CONNECTIVITY_DBTOOLS_HXX_ +#include <connectivity/dbtools.hxx> +#endif +#ifndef DBAUI_QUERYFILTER_HRC +#include "queryfilter.hrc" +#endif +#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC +#include "dbustrings.hrc" +#endif + +using namespace dbaui; +using namespace connectivity; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::container; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::sdb; +using namespace ::com::sun::star::sdbc; +using namespace ::com::sun::star::beans; + +static const char aAND[] = "AND"; +static const char aOR[] = "OR"; + +//------------------------------------------------------------------------------ +void Replace_OS_PlaceHolder(String& aString) +{ + while (aString.SearchAndReplace( '*', '%' ) != STRING_NOTFOUND); + while (aString.SearchAndReplace( '?', '_' ) != STRING_NOTFOUND); +} + +//------------------------------------------------------------------------------ +void Replace_SQL_PlaceHolder(String& aString) +{ + while (aString.SearchAndReplace( '%', '*' ) != STRING_NOTFOUND); + while (aString.SearchAndReplace( '_', '?' ) != STRING_NOTFOUND); +} + +DBG_NAME(DlgFilterCrit); +//------------------------------------------------------------------------------ +DlgFilterCrit::DlgFilterCrit(Window * pParent, + const Reference< XConnection>& _rxConnection, + const Reference< XSQLQueryComposer>& _rxQueryComposer, + const Reference< XNameAccess>& _rxCols, + const String& rFieldName) + : ModalDialog( pParent, ModuleRes( DLG_FILTERCRIT ) ) + ,aLB_WHEREFIELD1 ( this, ResId( LB_WHEREFIELD1 ) ) + ,aLB_WHERECOMP1 ( this, ResId( LB_WHERECOMP1 ) ) + ,aET_WHEREVALUE1 ( this, ResId( ET_WHEREVALUE1 ) ) + ,aLB_WHERECOND2 ( this, ResId( LB_WHERECOND2 ) ) + ,aLB_WHEREFIELD2 ( this, ResId( LB_WHEREFIELD2 ) ) + ,aLB_WHERECOMP2 ( this, ResId( LB_WHERECOMP2 ) ) + ,aET_WHEREVALUE2 ( this, ResId( ET_WHEREVALUE2 ) ) + ,aLB_WHERECOND3 ( this, ResId( LB_WHERECOND3 ) ) + ,aLB_WHEREFIELD3 ( this, ResId( LB_WHEREFIELD3 ) ) + ,aLB_WHERECOMP3 ( this, ResId( LB_WHERECOMP3 ) ) + ,aET_WHEREVALUE3 ( this, ResId( ET_WHEREVALUE3 ) ) + ,aFT_WHEREFIELD ( this, ResId( FT_WHEREFIELD ) ) + ,aFT_WHERECOMP ( this, ResId( FT_WHERECOMP ) ) + ,aFT_WHEREVALUE ( this, ResId( FT_WHEREVALUE ) ) + ,aFT_WHEREOPER ( this, ResId( FT_WHEREOPER ) ) + ,aGB_FIELDS ( this, ResId( GB_FIELDS ) ) + ,aBT_OK ( this, ResId( BT_OK ) ) + ,aBT_CANCEL ( this, ResId( BT_CANCEL ) ) + ,aBT_HELP ( this, ResId( BT_HELP ) ) + ,aSTR_NOENTRY ( ResId( STR_NOENTRY ) ) + ,aSTR_COMPARE_OPERATORS( ResId( STR_COMPARE_OPERATORS ) ) + ,m_xQueryComposer(_rxQueryComposer) + ,m_xColumns(_rxCols) + ,m_xConnection(_rxConnection) +{ + DBG_CTOR(DlgFilterCrit,NULL); + // Den String fuer noEntry in die ListBoxen der Feldnamen schreiben + aLB_WHEREFIELD1.InsertEntry( aSTR_NOENTRY ); + aLB_WHEREFIELD2.InsertEntry( aSTR_NOENTRY ); + aLB_WHEREFIELD3.InsertEntry( aSTR_NOENTRY ); + + // ... sowie auch die restlichen Felder + Sequence< ::rtl::OUString> aNames = m_xColumns->getElementNames(); + const ::rtl::OUString* pBegin = aNames.getConstArray(); + const ::rtl::OUString* pEnd = pBegin + aNames.getLength(); + Reference<XPropertySet> xColumn; + for(;pBegin != pEnd;++pBegin) + { + m_xColumns->getByName(*pBegin) >>= xColumn; + OSL_ENSHURE(xColumn.is(),"Column is null!"); + sal_Int32 nDataType; + xColumn->getPropertyValue(PROPERTY_TYPE) >>= nDataType; + sal_Int32 eColumnSearch = dbtools::getSearchColumnFlag(m_xConnection,nDataType); + // TODO + // !pColumn->IsFunction() + if(eColumnSearch != ColumnSearch::NONE) + { + aLB_WHEREFIELD1.InsertEntry( *pBegin ); + aLB_WHEREFIELD2.InsertEntry( *pBegin ); + aLB_WHEREFIELD3.InsertEntry( *pBegin ); + } + } + // initialize the listboxes with noEntry + aLB_WHEREFIELD1.SelectEntryPos(0); + aLB_WHEREFIELD2.SelectEntryPos(0); + aLB_WHEREFIELD3.SelectEntryPos(0); + + // Jetzt die Felder mit den Kriterien des SQL-Strings fuellen + m_xColumns->getByName(rFieldName) >>= xColumn; + m_xQueryComposer->appendFilterByColumn(xColumn); + + // insert the criteria into the dialog + Sequence<Sequence<PropertyValue > > aValues = m_xQueryComposer->getStructuredFilter(); + const Sequence<PropertyValue >* pOrBegin = aValues.getConstArray(); + const Sequence<PropertyValue >* pOrEnd = pOrBegin + aValues.getLength(); + sal_Bool bOr = sal_True; + for(sal_uInt32 i=0;pOrBegin != pOrEnd; ++pOrBegin) + { + bOr = sal_True; + const PropertyValue* pAndBegin = pOrBegin->getConstArray(); + const PropertyValue* pAndEnd = pAndBegin + pOrBegin->getLength(); + for(;pAndBegin != pAndEnd; ++pAndBegin) + { + SetLine( i++,*pAndBegin,bOr); + bOr = sal_False; + } + } + + EnableLines(); + + aLB_WHEREFIELD1.SetSelectHdl(LINK(this,DlgFilterCrit,ListSelectHdl)); + aLB_WHEREFIELD2.SetSelectHdl(LINK(this,DlgFilterCrit,ListSelectHdl)); + aLB_WHEREFIELD3.SetSelectHdl(LINK(this,DlgFilterCrit,ListSelectHdl)); + + aLB_WHERECOMP1.SetSelectHdl(LINK(this,DlgFilterCrit,ListSelectCompHdl)); + aLB_WHERECOMP2.SetSelectHdl(LINK(this,DlgFilterCrit,ListSelectCompHdl)); + aLB_WHERECOMP3.SetSelectHdl(LINK(this,DlgFilterCrit,ListSelectCompHdl)); + + FreeResource(); +} +//------------------------------------------------------------------------------ +DlgFilterCrit::~DlgFilterCrit() +{ + DBG_DTOR(DlgFilterCrit,NULL); +} + +#define LbText(x) ((x).GetSelectEntry()) +#define LbPos(x) ((x).GetSelectEntryPos()) + +//------------------------------------------------------------------------------ +OSQLPredicateType DlgFilterCrit::GetOSQLPredicateType(sal_uInt16 nPos,sal_uInt16 nCount) const +{ + OSQLPredicateType ePreType; + + if(nCount == 10) + { + switch(nPos) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + ePreType = (OSQLPredicateType)(nPos + SQL_PRED_EQUAL); + break; + case 6: + ePreType = SQL_PRED_LIKE; + break; + case 7: + ePreType = SQL_PRED_NOTLIKE; + break; + case 8: + ePreType = SQL_PRED_ISNULL; + break; + case 9: + ePreType = SQL_PRED_ISNOTNULL; + break; + } + } + else if(nCount == 8) + { + switch(nPos) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + ePreType = (OSQLPredicateType)(nPos + SQL_PRED_EQUAL); + break; + case 6: + ePreType = SQL_PRED_ISNULL; + break; + case 7: + ePreType = SQL_PRED_ISNOTNULL; + break; + } + } + else + { + switch(nPos) + { + case 0: + ePreType = SQL_PRED_LIKE; + break; + case 1: + ePreType = SQL_PRED_NOTLIKE; + break; + } + } + return ePreType; +} +//------------------------------------------------------------------------------ +sal_uInt16 DlgFilterCrit::GetSelectionPos(OSQLPredicateType eType,const ListBox& rListBox) const +{ + sal_uInt16 nPos; + switch(eType) + { + case SQL_PRED_EQUAL: + nPos = 0; + break; + case SQL_PRED_NOTEQUAL: + nPos = 1; + break; + case SQL_PRED_LESS: + nPos = 2; + break; + case SQL_PRED_LESSOREQUAL: + nPos = 3; + break; + case SQL_PRED_GREATER: + nPos = 4; + break; + case SQL_PRED_GREATEROREQUAL: + nPos = 5; + break; + case SQL_PRED_NOTLIKE: + nPos = rListBox.GetEntryCount() > 2 ? rListBox.GetEntryCount()-3 : 0; + break; + case SQL_PRED_LIKE: + nPos = rListBox.GetEntryCount() > 2 ? rListBox.GetEntryCount()-4 : 1; + break; + case SQL_PRED_ISNULL: + nPos = rListBox.GetEntryCount()-2; + break; + case SQL_PRED_ISNOTNULL: + nPos = rListBox.GetEntryCount()-1; + break; + } + return nPos; +} +// ----------------------------------------------------------------------------- +::rtl::OUString DlgFilterCrit::getCondition(const ListBox& _rField,const ListBox& _rComp,const Edit& _rValue) const +{ + ::rtl::OUString aFilter(_rField.GetSelectEntry()); + aFilter += ::rtl::OUString::createFromAscii(" "); + switch(GetOSQLPredicateType(_rComp.GetSelectEntryPos(),_rComp.GetEntryCount())) + { + case SQL_PRED_EQUAL: + aFilter += ::rtl::OUString::createFromAscii("="); + break; + case SQL_PRED_NOTEQUAL: + aFilter += ::rtl::OUString::createFromAscii("<>"); + break; + case SQL_PRED_LESS: + aFilter += ::rtl::OUString::createFromAscii("<"); + break; + case SQL_PRED_LESSOREQUAL: + aFilter += ::rtl::OUString::createFromAscii("<="); + break; + case SQL_PRED_GREATER: + aFilter += ::rtl::OUString::createFromAscii(">"); + break; + case SQL_PRED_GREATEROREQUAL: + aFilter += ::rtl::OUString::createFromAscii(">="); + break; + case SQL_PRED_NOTLIKE: + aFilter += ::rtl::OUString::createFromAscii("NOT LIKE"); + break; + case SQL_PRED_LIKE: + aFilter += ::rtl::OUString::createFromAscii("LIKE"); + break; + case SQL_PRED_ISNULL: + aFilter += ::rtl::OUString::createFromAscii("IS NULL"); + break; + case SQL_PRED_ISNOTNULL: + aFilter += ::rtl::OUString::createFromAscii("IS NOT NULL"); + break; + } + aFilter += ::rtl::OUString::createFromAscii(" "); + String aTemp = _rValue.GetText(); + ::Replace_OS_PlaceHolder(aTemp); + aFilter += aTemp.GetBuffer(); + return aFilter; +} +//------------------------------------------------------------------------------ +void DlgFilterCrit::GetFilterList() const +{ + PropertyValue aItem; + ::rtl::OUString aFilter; + + if( LbPos(aLB_WHEREFIELD1) != 0 ) + aFilter = getCondition(aLB_WHEREFIELD1,aLB_WHERECOMP1,aET_WHEREVALUE1); + + if( LbPos(aLB_WHEREFIELD2) != 0 ) + { + if(aFilter.getLength()) + { + if(aLB_WHERECOND2.GetSelectEntryPos()) + aFilter += ::rtl::OUString::createFromAscii(" AND "); + else + aFilter += ::rtl::OUString::createFromAscii(" OR "); + } + aFilter += getCondition(aLB_WHEREFIELD2,aLB_WHERECOMP2,aET_WHEREVALUE2); + } + + if( LbPos(aLB_WHEREFIELD3) != 0 ) + { + if(aFilter.getLength()) + { + if(aLB_WHERECOND3.GetSelectEntryPos()) + aFilter += ::rtl::OUString::createFromAscii(" AND "); + else + aFilter += ::rtl::OUString::createFromAscii(" OR "); + } + aFilter += getCondition(aLB_WHEREFIELD3,aLB_WHERECOMP3,aET_WHEREVALUE3); + } + // now set the filter in the querycomposer +// ::rtl::OUString aOldFilter = m_xQueryComposer->getFilter(); +// if(aOldFilter.getLength()) +// { +// aOldFilter += ::rtl::OUString::createFromAscii(" AND "); +// aOldFilter += aFilter; +// aFilter = aOldFilter; +// } + m_xQueryComposer->setFilter(aFilter); +} + +//------------------------------------------------------------------------------ +//void DlgFilterCrit::SetFilterList( const FilterPredicateItemList* pItemList ) +//{ +// for (sal_uInt16 i=0; i<pItemList->Count(); ++i) +// { +// FilterPredicateItem* pCritItem = pItemList->GetObject(i); +// SetLine(i, pCritItem); +// } +// +// // die nicht gesetzten auf 'kein' '=' '' +// sal_uInt16 nItemsSet = pItemList ? min((sal_Int32)pItemList->Count(), 3L) : 0; +// if (nItemsSet<3) +// { +// aLB_WHEREFIELD3.SelectEntryPos(0); +// aLB_WHERECOMP3.SelectEntryPos(0); +// aET_WHEREVALUE3.SetText(String()); +// } +// if (nItemsSet<2) +// { +// aLB_WHEREFIELD2.SelectEntryPos(0); +// aLB_WHERECOMP2.SelectEntryPos(0); +// aET_WHEREVALUE2.SetText(String()); +// } +// if (nItemsSet<1) +// { +// aLB_WHEREFIELD1.SelectEntryPos(0); +// aLB_WHERECOMP1.SelectEntryPos(0); +// aET_WHEREVALUE1.SetText(String()); +// } +// EnableLines(); +//} + +//------------------------------------------------------------------------------ +void DlgFilterCrit::SetLine( sal_uInt16 nIdx,const PropertyValue& _rItem,sal_Bool _bOr ) +{ + DBG_CHKTHIS(DlgFilterCrit,NULL); + ::rtl::OUString aCondition; + _rItem.Value >>= aCondition; + String aStr = aCondition.getStr(); + ::Replace_SQL_PlaceHolder(aStr); + aStr.EraseTrailingChars(); + + // remove the predicate from the condition + switch(_rItem.Handle) + { + case SQL_PRED_EQUAL: + aStr.Erase(0,1); + break; + case SQL_PRED_NOTEQUAL: + aStr.Erase(0,2); + break; + case SQL_PRED_LESS: + aStr.Erase(0,1); + break; + case SQL_PRED_LESSOREQUAL: + aStr.Erase(0,2); + break; + case SQL_PRED_GREATER: + aStr.Erase(0,1); + break; + case SQL_PRED_GREATEROREQUAL: + aStr.Erase(0,2); + break; + case SQL_PRED_NOTLIKE: + aStr.Erase(0,8); + break; + case SQL_PRED_LIKE: + aStr.Erase(0,4); + break; + case SQL_PRED_ISNULL: + aStr.Erase(0,7); + break; + case SQL_PRED_ISNOTNULL: + aStr.Erase(0,11); + break; + } + + // to make sure that we only set first three + switch( nIdx ) + { + case 0: + { + SelectField( aLB_WHEREFIELD1, _rItem.Name ); + ListSelectHdl(&aLB_WHEREFIELD1); + aLB_WHERECOMP1.SelectEntryPos( GetSelectionPos((OSQLPredicateType)_rItem.Handle , aLB_WHERECOMP1)); + aET_WHEREVALUE1.SetText( aStr ); + } + break; + + case 1: + { + aLB_WHERECOND2.SelectEntryPos( _bOr ? 1 : 0 ); + SelectField( aLB_WHEREFIELD2, _rItem.Name ); + ListSelectHdl(&aLB_WHEREFIELD2); + aLB_WHERECOMP2.SelectEntryPos( GetSelectionPos((OSQLPredicateType)_rItem.Handle , aLB_WHERECOMP2)); + aET_WHEREVALUE2.SetText( aStr ); + } + break; + + case 2: + { + aLB_WHERECOND3.SelectEntryPos( _bOr ? 1 : 0 ); + SelectField( aLB_WHEREFIELD3, _rItem.Name ); + ListSelectHdl(&aLB_WHEREFIELD3); + aLB_WHERECOMP3.SelectEntryPos( GetSelectionPos((OSQLPredicateType)_rItem.Handle , aLB_WHERECOMP3)); + aET_WHEREVALUE3.SetText( aStr ); + } + break; + } +} + +//------------------------------------------------------------------------------ +void DlgFilterCrit::SelectField( ListBox& rBox, const String& rField ) +{ + DBG_CHKTHIS(DlgFilterCrit,NULL); + sal_uInt16 nCnt = rBox.GetEntryCount(); + // sal_Bool bCase = m_rIterator.TablesAreSensitive(); + + for( sal_uInt16 i=0 ; i<nCnt ; i++ ) + { + // if(bCase ? rBox.GetEntry(i) == rField : rBox.GetEntry(i).EqualsIgnoreCaseAscii(rField)) + if(rBox.GetEntry(i) == rField) + { + rBox.SelectEntryPos(i); + return; + } + } + + rBox.SelectEntryPos(0); +} + +//------------------------------------------------------------------------------ +void DlgFilterCrit::EnableLines() +{ + DBG_CHKTHIS(DlgFilterCrit,NULL); + // Enablen/Disablen ganzer Zeilen + if( LbPos(aLB_WHEREFIELD1) == 0 ) + { + aLB_WHEREFIELD2.Disable(); + aLB_WHERECOND2.Disable(); + aLB_WHERECOMP2.Disable(); + aET_WHEREVALUE2.Disable(); + + aLB_WHEREFIELD3.Disable(); + aLB_WHERECOND3.Disable(); + aLB_WHERECOMP3.Disable(); + aET_WHEREVALUE3.Disable(); + } + else + { + aLB_WHEREFIELD2.Enable(); + aLB_WHERECOND2.Enable(); + aLB_WHERECOMP2.Enable(); + aET_WHEREVALUE2.Enable(); + + aLB_WHEREFIELD3.Enable(); + aLB_WHERECOND3.Enable(); + aLB_WHERECOMP3.Enable(); + aET_WHEREVALUE3.Enable(); + } + + if( LbPos(aLB_WHEREFIELD2) == 0 ) + { + aLB_WHEREFIELD3.Disable(); + aLB_WHERECOND3.Disable(); + aLB_WHERECOMP3.Disable(); + aET_WHEREVALUE3.Disable(); + } + else + { + aLB_WHEREFIELD3.Enable(); + aLB_WHERECOND3.Enable(); + aLB_WHERECOMP3.Enable(); + aET_WHEREVALUE3.Enable(); + } + + // Vergleichsfeld gleich NOENTRY + if( LbPos(aLB_WHEREFIELD1) == 0 ) + { + aLB_WHERECOMP1.Disable(); + aET_WHEREVALUE1.Disable(); + } + else + { + aLB_WHEREFIELD1.Enable(); + aLB_WHERECOMP1.Enable(); + aET_WHEREVALUE1.Enable(); + } + + if( LbPos(aLB_WHEREFIELD2) == 0 ) + { + aLB_WHERECOND2.Disable(); + aLB_WHERECOMP2.Disable(); + aET_WHEREVALUE2.Disable(); + } + else + { + aLB_WHERECOND2.Enable(); + aLB_WHEREFIELD2.Enable(); + aLB_WHERECOMP2.Enable(); + aET_WHEREVALUE2.Enable(); + } + + if( LbPos(aLB_WHEREFIELD3) == 0 ) + { + aLB_WHERECOND3.Disable(); + aLB_WHERECOMP3.Disable(); + aET_WHEREVALUE3.Disable(); + } + else + { + aLB_WHERECOND3.Enable(); + aLB_WHERECOND3.Enable(); + aLB_WHEREFIELD3.Enable(); + aLB_WHERECOMP3.Enable(); + aET_WHEREVALUE3.Enable(); + } + + // Vergleichsoperator gleich ISNULL oder ISNOTNULL + if(aLB_WHERECOMP1.GetEntryCount() > 2 && + ((LbPos(aLB_WHERECOMP1) == aLB_WHERECOMP1.GetEntryCount()-1) || + (LbPos(aLB_WHERECOMP1) == aLB_WHERECOMP1.GetEntryCount()-2)) ) + aET_WHEREVALUE1.Disable(); + + if(aLB_WHERECOMP2.GetEntryCount() > 2 && + ((LbPos(aLB_WHERECOMP2) == aLB_WHERECOMP2.GetEntryCount()-1) || + (LbPos(aLB_WHERECOMP2) == aLB_WHERECOMP2.GetEntryCount()-2)) ) + aET_WHEREVALUE2.Disable(); + + if(aLB_WHERECOMP3.GetEntryCount() > 2 && + ((LbPos(aLB_WHERECOMP3) == aLB_WHERECOMP3.GetEntryCount()-1) || + (LbPos(aLB_WHERECOMP3) == aLB_WHERECOMP3.GetEntryCount()-2)) ) + aET_WHEREVALUE3.Disable(); + +} + +//------------------------------------------------------------------------------ +IMPL_LINK( DlgFilterCrit, ListSelectHdl, ListBox *, pListBox ) +{ + String aName; + ListBox* pComp; + if(pListBox == &aLB_WHEREFIELD1) + { + aName = LbText(aLB_WHEREFIELD1); + pComp = &aLB_WHERECOMP1; + } + else if(pListBox == &aLB_WHEREFIELD2) + { + aName = LbText(aLB_WHEREFIELD2); + pComp = &aLB_WHERECOMP2; + } + else + { + aName = LbText(aLB_WHEREFIELD3); + pComp = &aLB_WHERECOMP3; + } + + pComp->Clear(); + + Reference<XPropertySet> xColumn; + m_xColumns->getByName(aName) >>= xColumn; + if(xColumn.is()) + { + sal_Int32 nDataType; + xColumn->getPropertyValue(PROPERTY_TYPE) >>= nDataType; + sal_Int32 eColumnSearch = dbtools::getSearchColumnFlag(m_xConnection,nDataType); + + if(eColumnSearch == ColumnSearch::FULL) + { + for(xub_StrLen i=0;i<aSTR_COMPARE_OPERATORS.GetTokenCount();i++) + pComp->InsertEntry(aSTR_COMPARE_OPERATORS.GetToken(i)); + } + else if(eColumnSearch == ColumnSearch::CHAR) + { + for(xub_StrLen i=6;i<10;i++) + pComp->InsertEntry(aSTR_COMPARE_OPERATORS.GetToken(i)); + } + else if(eColumnSearch == ColumnSearch::BASIC) + { + for(xub_StrLen i=0;i<6;i++) + pComp->InsertEntry(aSTR_COMPARE_OPERATORS.GetToken(i)); + for(i=8;i<aSTR_COMPARE_OPERATORS.GetTokenCount();i++) + pComp->InsertEntry(aSTR_COMPARE_OPERATORS.GetToken(i)); + } + else + { + DBG_ASSERT(0,"DlgFilterCrit::ListSelectHdl: Diese Column drfte garnicht vorhanden sein!"); + } + } + pComp->SelectEntryPos(0); + + EnableLines(); + return 0; +} + + + +//------------------------------------------------------------------------------ +IMPL_LINK_INLINE_START( DlgFilterCrit, ListSelectCompHdl, ListBox *, pListBox ) +{ + EnableLines(); + return 0; +} +IMPL_LINK_INLINE_END( DlgFilterCrit, ListSelectCompHdl, ListBox *, pListBox ) +//------------------------------------------------------------------------------ +String DlgFilterCrit::BuildWherePart() +{ + DBG_CHKTHIS(DlgFilterCrit,NULL); + GetFilterList(); + + return m_xQueryComposer->getFilter(); +} + + diff --git a/dbaccess/source/ui/dlg/queryfilter.hrc b/dbaccess/source/ui/dlg/queryfilter.hrc new file mode 100644 index 000000000000..bdf1abe50b5d --- /dev/null +++ b/dbaccess/source/ui/dlg/queryfilter.hrc @@ -0,0 +1,98 @@ +/************************************************************************* + * + * $RCSfile: queryfilter.hrc,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: oj $ $Date: 2000-11-10 16:11:25 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef DBAUI_QUERYFILTER_HRC +#define DBAUI_QUERYFILTER_HRC + +#ifndef _DBU_RESOURCE_HRC_ +#include "dbu_resource.hrc" +#endif + +#define FT_WHEREFIELD 1 +#define FT_WHERECOMP 2 +#define FT_WHEREVALUE 3 +#define FT_WHEREOPER 4 + +#define LB_WHEREFIELD1 1 +#define LB_WHERECOMP1 2 +#define LB_WHEREFIELD2 3 +#define LB_WHERECOMP2 4 +#define LB_WHEREFIELD3 5 +#define LB_WHERECOMP3 6 +#define LB_WHERECOND2 7 +#define LB_WHERECOND3 8 + +#define GB_FIELDS 1 + +#define ET_WHEREVALUE1 1 +#define ET_WHEREVALUE2 2 +#define ET_WHEREVALUE3 3 + +#define STR_NOENTRY 1 +#define STR_NOENTRY2 2 +#define STR_DEFAULT 3 +#define STR_COMPARE_OPERATORS 4 + +#define BT_OK 1 +#define BT_CANCEL 2 +#define BT_HELP 3 + +#endif // DBAUI_QUERYFILTER_HRC + diff --git a/dbaccess/source/ui/dlg/queryfilter.src b/dbaccess/source/ui/dlg/queryfilter.src new file mode 100644 index 000000000000..54c90791add1 --- /dev/null +++ b/dbaccess/source/ui/dlg/queryfilter.src @@ -0,0 +1,520 @@ +/************************************************************************* + * + * $RCSfile: queryfilter.src,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: oj $ $Date: 2000-11-10 16:11:37 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef DBAUI_QUERYFILTER_HRC +#include "queryfilter.hrc" +#endif +#include "dbaccess_helpid.hrc" + +#define STRLST_AND_OR \ + StringList = \ + {\ + < "UND" ; Default ; > ; \ + < "ODER" ; Default ; > ; \ + };\ + StringList [ ENGLISH ] = \ + {\ + < "UND" ; Default ; > ; \ + < "ODER" ; Default ; > ; \ + };\ + StringList [ norwegian ] = \ + {\ + < "UND" ; Default ; > ; \ + < "ODER" ; Default ; > ; \ + };\ + StringList [ italian ] = \ + {\ + < "E" ; Default ; > ; \ + < "O" ; Default ; > ; \ + };\ + StringList [ portuguese_brazilian ] = \ + {\ + < "E" ; Default ; > ; \ + < "OU" ; Default ; > ; \ + };\ + StringList [ portuguese ] = \ + {\ + < "E" ; Default ; > ; \ + < "OU" ; Default ; > ; \ + };\ + StringList [ finnish ] = \ + {\ + < "UND" ; Default ; > ; \ + < "ODER" ; Default ; > ; \ + };\ + StringList [ danish ] = \ + {\ + < "OG " ; Default ; > ; \ + < "ELLER" ; Default ; > ; \ + };\ + StringList [ french ] = \ + {\ + < "ET" ; Default ; > ; \ + < "OU" ; Default ; > ; \ + };\ + StringList [ swedish ] = \ + {\ + < "OCH" ; Default ; > ; \ + < "ELLER" ; Default ; > ; \ + };\ + StringList [ dutch ] = \ + {\ + < "EN" ; Default ; > ; \ + < "OF" ; Default ; > ; \ + };\ + StringList [ spanish ] = \ + {\ + < "Y" ; Default ; > ; \ + < "O" ; Default ; > ; \ + };\ + StringList [ english_us ] = \ + {\ + < "AND" ; Default ; > ; \ + < "OR" ; Default ; > ; \ + };\ + StringList [ chinese_simplified ] = \ + {\ + < "AND" ; Default ; > ;\ + < "OR" ; Default ; > ;\ + }; \ + StringList [ russian ] = \ + { \ + < "" ; Default ; > ; \ + < "" ; Default ; > ; \ + }; \ + StringList [ japanese ] = \ + { \ + < "AND" ; Default ; > ; \ + < "OR" ; Default ; > ; \ + }; \ + StringList [ polish ] = \ + { \ + < "I" ; Default ; > ; \ + < "LUB" ; Default ; > ; \ + }; \ + StringList [ chinese_traditional ] = \ + { \ + < "AND" ; Default ; > ; \ + < "OR" ; Default ; > ; \ + }; \ + StringList [ arabic ] = \ + { \ + < "" ; Default ; > ; \ + < "" ; Default ; > ; \ + };\ +StringList [ greek ] =\ + {\ + < "KAI" ; Default ; > ;\ + < "" ; Default ; > ;\ + };\ + StringList [ korean ] =\ + {\ + < "AND" ; Default ; > ;\ + < "OR" ; Default ; > ;\ + };\ +StringList [ turkish ] = \ + {\ + < "VE" ; Default ; > ;\ + < "VEYA" ; Default ; > ;\ + };\ +StringList [ language_user1 ] =\ + {\ + < " " ; Default ; > ;\ + < " " ; Default ; > ;\ + }; + +ModalDialog DLG_FILTERCRIT +{ + OutputSize = TRUE ; + Hide = TRUE ; + SVLook = TRUE ; + Size = MAP_APPFONT ( 303 , 84 ) ; + Text = "Filter" ; + Text [ english ] = "Filter"; + Text [ english_us ] = "Filter"; + Moveable = TRUE ; + Closeable = TRUE ; + HelpId = HID_DLG_FILTERCRIT ; + ListBox LB_WHEREFIELD1 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 60 , 28 ) ; + Size = MAP_APPFONT ( 60 , 90 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + }; + ListBox LB_WHERECOMP1 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 124 , 28 ) ; + Size = MAP_APPFONT ( 50 , 72 ) ; + TabStop = TRUE ; + DDExtraWidth = TRUE ; + DropDown = TRUE ; + CurPos = 0 ; + }; + Edit ET_WHEREVALUE1 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 177 , 28 ) ; + Size = MAP_APPFONT ( 60 , 12 ) ; + TabStop = TRUE ; + }; + ListBox LB_WHERECOND2 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 15 , 43 ) ; + Size = MAP_APPFONT ( 40 , 36 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + CurPos = 0 ; + STRLST_AND_OR + }; + ListBox LB_WHEREFIELD2 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 60 , 43 ) ; + Size = MAP_APPFONT ( 60 , 90 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + }; + ListBox LB_WHERECOMP2 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 124 , 43 ) ; + Size = MAP_APPFONT ( 50 , 72 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + DDExtraWidth = TRUE ; + CurPos = 0 ; + }; + Edit ET_WHEREVALUE2 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 177 , 43 ) ; + Size = MAP_APPFONT ( 60 , 12 ) ; + TabStop = TRUE ; + }; + ListBox LB_WHERECOND3 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 15 , 58 ) ; + Size = MAP_APPFONT ( 40 , 36 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + CurPos = 0 ; + STRLST_AND_OR + }; + ListBox LB_WHEREFIELD3 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 60 , 58 ) ; + Size = MAP_APPFONT ( 60 , 90 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + }; + ListBox LB_WHERECOMP3 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 124 , 58 ) ; + Size = MAP_APPFONT ( 50 , 72 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + DDExtraWidth = TRUE ; + CurPos = 0 ; + }; + Edit ET_WHEREVALUE3 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 177 , 58 ) ; + Size = MAP_APPFONT ( 60 , 12 ) ; + TabStop = TRUE ; + }; + FixedText FT_WHEREFIELD + { + Pos = MAP_APPFONT ( 60 , 14 ) ; + Size = MAP_APPFONT ( 60 , 10 ) ; + Text = "Feldname" ; + Center = TRUE ; + Text [ ENGLISH ] = "Fieldname" ; + Text [ norwegian ] = "Fieldname" ; + Text [ italian ] = "Nome di campo" ; + Text [ portuguese_brazilian ] = "Nome de campo" ; + Text [ portuguese ] = "Nome de campo" ; + Text [ finnish ] = "Kentn nimi" ; + Text [ danish ] = "Feltnavn" ; + Text [ french ] = "Nom de champ" ; + Text [ swedish ] = "Fltnamn" ; + Text [ dutch ] = "Veldnaam" ; + Text [ spanish ] = "Nombre del campo" ; + Text [ english_us ] = "Field name" ; + Text[ chinese_simplified ] = "ֶ"; + Text[ russian ] = " "; + Text[ polish ] = "Nazwa pola"; + Text[ japanese ] = "̨ޖ"; + Text[ chinese_traditional ] = "W"; + Text[ arabic ] = " "; + Text[ greek ] = " "; + Text[ korean ] = "ʵ ̸"; + Text[ turkish ] = "Alan ad"; + Text[ language_user1 ] = " "; + }; + FixedText FT_WHERECOMP + { + Pos = MAP_APPFONT ( 124 , 14 ) ; + Size = MAP_APPFONT ( 50 , 10 ) ; + Text = "Bedingung" ; + Center = TRUE ; + Text [ ENGLISH ] = "Condition" ; + Text [ norwegian ] = "Vilkr" ; + Text [ italian ] = "Condizione" ; + Text [ portuguese_brazilian ] = "condio" ; + Text [ portuguese ] = "Condio" ; + Text [ finnish ] = "Ehto" ; + Text [ danish ] = "Betingelse" ; + Text [ french ] = "Condition" ; + Text [ swedish ] = "Villkor" ; + Text [ dutch ] = "Voorwaarde" ; + Text [ spanish ] = "Condicin" ; + Text [ english_us ] = "Condition" ; + Text[ chinese_simplified ] = ""; + Text[ russian ] = ""; + Text[ polish ] = "Warunek"; + Text[ japanese ] = ""; + Text[ chinese_traditional ] = ""; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = ""; + Text[ turkish ] = "Koul"; + Text[ language_user1 ] = " "; + }; + FixedText FT_WHEREVALUE + { + Pos = MAP_APPFONT ( 177 , 14 ) ; + Size = MAP_APPFONT ( 60 , 10 ) ; + Text = "Wert" ; + Center = TRUE ; + Text [ ENGLISH ] = "Value" ; + Text [ norwegian ] = "Verdi" ; + Text [ italian ] = "Valore" ; + Text [ portuguese_brazilian ] = "Valor" ; + Text [ portuguese ] = "Valor" ; + Text [ finnish ] = "Arvo" ; + Text [ danish ] = "Vrdi" ; + Text [ french ] = "Valeur" ; + Text [ swedish ] = "Vrde" ; + Text [ dutch ] = "Waarde" ; + Text [ spanish ] = "Valor" ; + Text [ english_us ] = "Value" ; + Text[ chinese_simplified ] = "ֵ"; + Text[ russian ] = ""; + Text[ polish ] = "Warto"; + Text[ japanese ] = "l"; + Text[ chinese_traditional ] = "ƭ"; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = ""; + Text[ turkish ] = "Deer"; + Text[ language_user1 ] = " "; + }; + FixedText FT_WHEREOPER + { + Pos = MAP_APPFONT ( 15 , 14 ) ; + Size = MAP_APPFONT ( 40 , 10 ) ; + /* ### ACHTUNG: Neuer Text in Resource? Verknpfung : Verknpfung */ + Text = "Verknpfung" ; + Center = TRUE ; + Text [ ENGLISH ] = "Operator" ; + Text [ norwegian ] = "Operator" ; + Text [ italian ] = "Operatore" ; + Text [ portuguese_brazilian ] = "Operador" ; + Text [ portuguese ] = "Operador" ; + Text [ finnish ] = "Operaattori" ; + Text [ danish ] = "Kde" ; + Text [ french ] = "Lien" ; + Text [ swedish ] = "Operator" ; + Text [ dutch ] = "Koppeling" ; + Text [ spanish ] = "Vnculo" ; + Text [ english_us ] = "Operator" ; + Text[ chinese_simplified ] = ""; + Text[ russian ] = ""; + Text[ polish ] = "Operator"; + Text[ japanese ] = "Zq"; + Text[ chinese_traditional ] = "|"; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = ""; + Text[ turkish ] = "Balant"; + Text[ language_user1 ] = " "; + }; + GroupBox GB_FIELDS + { + Pos = MAP_APPFONT ( 6 , 3 ) ; + Size = MAP_APPFONT ( 236 , 74 ) ; + Text = "Kriterien" ; + Text [ ENGLISH ] = "Search criteria" ; + Text [ norwegian ] = "Search criteria" ; + Text [ italian ] = "Criteri di ricerca" ; + Text [ portuguese_brazilian ] = "Procurar critrios" ; + Text [ portuguese ] = "Critrios" ; + Text [ finnish ] = "Hakuehdot" ; + Text [ danish ] = "Kriterier" ; + Text [ french ] = "Critres" ; + Text [ swedish ] = "Kriterier" ; + Text [ dutch ] = "Criteria" ; + Text [ spanish ] = "Criterios" ; + Text [ english_us ] = "Search criteria" ; + Text[ chinese_simplified ] = "Χ"; + Text[ russian ] = ""; + Text[ polish ] = "Kryteria"; + Text[ japanese ] = ""; + Text[ chinese_traditional ] = "S"; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = "˻ "; + Text[ turkish ] = "ltler"; + Text[ language_user1 ] = " "; + }; + OKButton BT_OK + { + Pos = MAP_APPFONT ( 249 , 6 ) ; + Size = MAP_APPFONT ( 50 , 14 ) ; + TabStop = TRUE ; + DefButton = TRUE ; + }; + CancelButton BT_CANCEL + { + Pos = MAP_APPFONT ( 249 , 23 ) ; + Size = MAP_APPFONT ( 50 , 14 ) ; + TabStop = TRUE ; + }; + HelpButton BT_HELP + { + Pos = MAP_APPFONT ( 249 , 43 ) ; + Size = MAP_APPFONT ( 50 , 14 ) ; + TabStop = TRUE ; + }; + String STR_NOENTRY + { + Text = "- keiner -" ; + Text [ ENGLISH ] = "- none -" ; + Text [ english_us ] = "- none -" ; + Text [ dutch ] = "- geen -" ; + Text [ swedish ] = "- inget -" ; + Text [ danish ] = "- ingen -" ; + Text [ italian ] = "- nessuno -" ; + Text [ spanish ] = "- ninguno -" ; + Text [ french ] = "- aucun(e) -" ; + Text [ portuguese ] = "- nenhum -" ; + Text [ portuguese_brazilian ] = "- keiner -" ; + Text[ chinese_simplified ] = "- -"; + Text[ russian ] = "- -"; + Text[ polish ] = "- brak -"; + Text[ japanese ] = "-Ȃ-"; + Text[ chinese_traditional ] = "- L -"; + Text[ arabic ] = "- -"; + Text[ greek ] = "- -"; + Text[ korean ] = "- -"; + Text[ turkish ] = "- Yok -"; + Text[ language_user1 ] = " "; + }; + String STR_COMPARE_OPERATORS + { + Text = "=;<>;<;<=;>;>=;wie;nicht wie;leer;nicht leer"; + Text[ENGLISH] = "=;<>;<;<=;>;>=;like;not like;null;not null"; + Text[ english_us ] = "=;<>;<;<=;>;>=;like;not like;null;not null"; + Text[ portuguese ] = "=;<>;<;<=;>;>=;equivalente;no equivalente;zero;no zero"; + Text[ russian ] = "=;<>;<;<=;>;>=;; ;; "; + Text[ dutch ] = "=;<>;<;<=;>;>=;gelijk;niet gelijk;leeg;niet leeg"; + Text[ french ] = "=;<>;<;<=;>;>=;comme;diffrent de;vide;non vide"; + Text[ spanish ] = "=;<>;<;<=;>;>=;like;not like;null;not null"; + Text[ italian ] = "=;<>;<;<=;>;>=;simile;non simile;nullo;non nullo"; + Text[ danish ] = "=;<>;<;<=;>;>=;som;ikke som;tom;ikke tom"; + Text[ swedish ] = "=;<>;<;<=;>;>=;lika med;inte lika med;noll;inte noll"; + Text[ polish ] = "=;<>;<;<=;>;>=;rwny;nie rwny;wikszy ni;mniejszy ni;mniejszy ni lub rwny,wikszy ni;wikszy ni lub rwny"; + Text[ portuguese_brazilian ] = "=;<>;<;<=;>;>=;like;not like;null;not null"; + Text[ japanese ] = "=;<>;<;<=;>;>=;;łȂ;;łȂ"; + Text[ chinese_simplified ] = "=;<>;<;<=;>;>=;;;;"; + Text[ chinese_traditional ] = "=;<>;<;<=;>;>=;;;s;s"; + Text[ arabic ] = "=;<>;<;<=;>;>=;like;not like;null;not null"; + Text[ greek ] = "=;<>;<;<=;>;>=;; ;; "; + Text[ korean ] = "=;<>;<;<=;>;>=;; ;; ƴ"; + Text[ turkish ] = "=;<>;<;<=;>;>=;gibi;gibi deil;bo;bo deil"; + Text[ language_user1 ] = " "; + }; + Text[ portuguese ] = "Filtro"; + Text[ russian ] = ""; + Text[ greek ] = ""; + Text[ dutch ] = "Filter"; + Text[ french ] = "Filtre"; + Text[ spanish ] = "Filtro"; + Text[ italian ] = "Filtro"; + Text[ danish ] = "Filter"; + Text[ swedish ] = "Filter"; + Text[ polish ] = "Filtr"; + Text[ portuguese_brazilian ] = "Filter"; + Text[ japanese ] = "̨"; + Text[ korean ] = "Filter"; + Text[ chinese_simplified ] = ""; + Text[ chinese_traditional ] = "Lo"; + Text[ turkish ] = "Filtre"; + Text[ arabic ] = ""; +}; diff --git a/dbaccess/source/ui/dlg/queryorder.cxx b/dbaccess/source/ui/dlg/queryorder.cxx new file mode 100644 index 000000000000..195bde2a9f29 --- /dev/null +++ b/dbaccess/source/ui/dlg/queryorder.cxx @@ -0,0 +1,308 @@ +/************************************************************************* + * + * $RCSfile: queryorder.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: oj $ $Date: 2000-11-10 16:11:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef DBAUI_QUERYORDER_HRC +#include "queryorder.hrc" +#endif +#ifndef DBAUI_QUERYORDER_HXX +#include "queryorder.hxx" +#endif + +#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC +#include "dbustrings.hrc" +#endif + +#ifndef _COM_SUN_STAR_SDB_XSQLQUERYCOMPOSER_HPP_ +#include <com/sun/star/sdb/XSQLQueryComposer.hpp> +#endif +#ifndef _COM_SUN_STAR_SDBC_COLUMNSEARCH_HPP_ +#include <com/sun/star/sdbc/ColumnSearch.hpp> +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ +#include <com/sun/star/container/XNameAccess.hpp> +#endif +#ifndef _TOOLS_DEBUG_HXX +#include <tools/debug.hxx> +#endif +#ifndef _DBAUI_MODULE_DBU_HXX_ +#include "moduledbu.hxx" +#endif +#ifndef _CONNECTIVITY_PARSE_SQLITERATOR_HXX_ +#include <connectivity/sqliterator.hxx> +#endif +#ifndef _CONNECTIVITY_DBTOOLS_HXX_ +#include <connectivity/dbtools.hxx> +#endif +#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC +#include "dbustrings.hrc" +#endif + +using namespace dbaui; +using namespace connectivity; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::container; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::sdb; +using namespace ::com::sun::star::sdbc; +using namespace ::com::sun::star::beans; + +DBG_NAME(DlgOrderCrit); +//------------------------------------------------------------------------------ +DlgOrderCrit::DlgOrderCrit( Window * pParent, + const Reference< XConnection>& _rxConnection, + const Reference< XSQLQueryComposer>& _rxQueryComposer, + const Reference< XNameAccess>& _rxCols) + :ModalDialog( pParent, ModuleRes(DLG_ORDERCRIT) ) + ,aLB_ORDERFIELD1( this, ResId( LB_ORDERFIELD1 ) ) + ,aLB_ORDERVALUE1( this, ResId( LB_ORDERVALUE1 ) ) + ,aLB_ORDERFIELD2( this, ResId( LB_ORDERFIELD2 ) ) + ,aLB_ORDERVALUE2( this, ResId( LB_ORDERVALUE2 ) ) + ,aLB_ORDERFIELD3( this, ResId( LB_ORDERFIELD3 ) ) + ,aLB_ORDERVALUE3( this, ResId( LB_ORDERVALUE3 ) ) + ,aFT_ORDERFIELD( this, ResId( FT_ORDERFIELD ) ) + ,aFT_ORDERVALUE( this, ResId( FT_ORDERVALUE ) ) + ,aFT_ORDERAFTER1( this, ResId( FT_ORDERAFTER1 ) ) + ,aFT_ORDERAFTER2( this, ResId( FT_ORDERAFTER2 ) ) + ,aFT_ORDEROPER( this, ResId( FT_ORDEROPER ) ) + ,aFT_ORDERDIR( this, ResId( FT_ORDERDIR ) ) + ,aBT_OK( this, ResId( BT_OK ) ) + ,aBT_CANCEL( this, ResId( BT_CANCEL ) ) + ,aBT_HELP( this, ResId( BT_HELP ) ) + ,aGB_ORDER( this, ResId( GB_ORDER ) ) + ,aSTR_NOENTRY( ResId( STR_NOENTRY ) ) + ,m_xQueryComposer(_rxQueryComposer) + ,m_xColumns(_rxCols) + ,m_xConnection(_rxConnection) +{ + DBG_CTOR(DlgOrderCrit,NULL); + + arrLbFields[0] = &aLB_ORDERFIELD1; + arrLbFields[1] = &aLB_ORDERFIELD2; + arrLbFields[2] = &aLB_ORDERFIELD3; + + arrLbValues[0] = &aLB_ORDERVALUE1; + arrLbValues[1] = &aLB_ORDERVALUE2; + arrLbValues[2] = &aLB_ORDERVALUE3; + + xub_StrLen j; + for(j=0 ; j < DOG_ROWS ; j++ ) + { + arrLbFields[j]->InsertEntry( aSTR_NOENTRY ); + } + + for( j=0 ; j < DOG_ROWS ; j++ ) + { + arrLbFields[j]->SelectEntryPos(0); + arrLbValues[j]->SelectEntryPos(0); + } + // ... sowie auch die restlichen Felder + Sequence< ::rtl::OUString> aNames = m_xColumns->getElementNames(); + const ::rtl::OUString* pBegin = aNames.getConstArray(); + const ::rtl::OUString* pEnd = pBegin + aNames.getLength(); + Reference<XPropertySet> xColumn; + for(;pBegin != pEnd;++pBegin) + { + m_xColumns->getByName(*pBegin) >>= xColumn; + OSL_ENSHURE(xColumn.is(),"Column is null!"); + sal_Int32 nDataType; + xColumn->getPropertyValue(PROPERTY_TYPE) >>= nDataType; + sal_Int32 eColumnSearch = dbtools::getSearchColumnFlag(m_xConnection,nDataType); + if(eColumnSearch != ColumnSearch::NONE) + { + for( j=0 ; j < DOG_ROWS ; j++ ) + { + arrLbFields[j]->InsertEntry(*pBegin); + } + } + } + + SetOrderList(m_xQueryComposer->getOrder()); + EnableLines(); + + aLB_ORDERFIELD1.SetSelectHdl(LINK(this,DlgOrderCrit,FieldListSelectHdl)); + aLB_ORDERFIELD2.SetSelectHdl(LINK(this,DlgOrderCrit,FieldListSelectHdl)); + + FreeResource(); + +} + +//------------------------------------------------------------------------------ + +#define LbText(x) ((x).GetSelectEntry()) +#define LbPos(x) ((x).GetSelectEntryPos()) + +//------------------------------------------------------------------------------ +DlgOrderCrit::~DlgOrderCrit() +{ + DBG_DTOR(DlgOrderCrit,NULL); +} + +//------------------------------------------------------------------------------ +IMPL_LINK_INLINE_START( DlgOrderCrit, FieldListSelectHdl, ListBox *, pListBox ) +{ + DBG_CHKTHIS(DlgOrderCrit,NULL); + EnableLines(); + return 0; +} +IMPL_LINK_INLINE_END( DlgOrderCrit, FieldListSelectHdl, ListBox *, pListBox ) + +//------------------------------------------------------------------------------ +void DlgOrderCrit::EnableLines() +{ + DBG_CHKTHIS(DlgOrderCrit,NULL); + if( LbPos(aLB_ORDERFIELD1) == 0 ) + { + String aOrderList(GetOrderList()); + if(aOrderList.GetTokenCount(',')) + SetOrderList(aOrderList); + else + { + aLB_ORDERFIELD2.Disable(); + aLB_ORDERVALUE2.Disable(); + + aLB_ORDERFIELD3.Disable(); + aLB_ORDERVALUE3.Disable(); + } + } + else + { + aLB_ORDERFIELD2.Enable(); + aLB_ORDERVALUE2.Enable(); + + aLB_ORDERFIELD3.Enable(); + aLB_ORDERVALUE3.Enable(); + } + + if( LbPos(aLB_ORDERFIELD2) == 0 ) + { + String aOrderList(GetOrderList()); + if(aOrderList.GetTokenCount(',')) + SetOrderList(aOrderList); + else + { + aLB_ORDERFIELD3.Disable(); + aLB_ORDERVALUE3.Disable(); + } + } + else + { + aLB_ORDERFIELD3.Enable(); + aLB_ORDERVALUE3.Enable(); + } +} + +//------------------------------------------------------------------------------ +void DlgOrderCrit::SetOrderList( const String& _rOrderList ) +{ + DBG_CHKTHIS(DlgOrderCrit,NULL); + xub_StrLen nLen = _rOrderList.GetTokenCount(','); + xub_StrLen i; + for(i=0;i<nLen && i<DOG_ROWS;++i) + { + String aOrder = _rOrderList.GetToken(i,','); + arrLbFields[i]->SelectEntry( aOrder.GetToken(0,' ') ); + sal_Int32 nAsc = (aOrder.GetTokenCount(' ') == 2) ? (aOrder.GetToken(1,' ').EqualsAscii("ASC") ? 1 : 0) : 1; + arrLbValues[i]->SelectEntryPos( nAsc ); + } + + // die nicht gesetzten auf 'kein' 'aufsteigend' + xub_StrLen nItemsSet = min(nLen, xub_StrLen(DOG_ROWS)); + for (i=0 ; i<DOG_ROWS-nItemsSet; ++i) + { + arrLbFields[2-i]->SelectEntryPos( 0 ); + arrLbValues[2-i]->SelectEntryPos( 0 ); + } + +} + +//------------------------------------------------------------------------------ +String DlgOrderCrit::GetOrderList( ) +{ + DBG_CHKTHIS(DlgOrderCrit,NULL); + String aOrder; + for( sal_uInt16 i=0 ; i<DOG_ROWS; i++ ) + { + if(arrLbFields[i]->GetSelectEntryPos() != 0) + { + if(aOrder.Len()) + aOrder.AppendAscii(","); + + aOrder += arrLbFields[i]->GetSelectEntry(); + if(arrLbValues[i]->GetSelectEntryPos()) + aOrder.AppendAscii(" DESC "); + else + aOrder.AppendAscii(" ASC "); + } + } + return aOrder; +} + +//------------------------------------------------------------------------------ +void DlgOrderCrit::BuildOrderPart() +{ + DBG_CHKTHIS(DlgOrderCrit,NULL); + m_xQueryComposer->setOrder(GetOrderList()); +} +// ----------------------------------------------------------------------------- + + + + + diff --git a/dbaccess/source/ui/dlg/queryorder.hrc b/dbaccess/source/ui/dlg/queryorder.hrc new file mode 100644 index 000000000000..6458c44d2925 --- /dev/null +++ b/dbaccess/source/ui/dlg/queryorder.hrc @@ -0,0 +1,92 @@ +/************************************************************************* + * + * $RCSfile: queryorder.hrc,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: oj $ $Date: 2000-11-10 16:12:18 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef DBAUI_QUERYORDER_HRC +#define DBAUI_QUERYORDER_HRC + +#ifndef _DBU_RESOURCE_HRC_ +#include "dbu_resource.hrc" +#endif + + +#define FT_ORDERFIELD 1 +#define FT_ORDERVALUE 2 +#define FT_ORDERDIR 3 +#define FT_ORDERAFTER1 4 +#define FT_ORDERAFTER2 5 +#define FT_ORDEROPER 6 + +#define LB_ORDERFIELD1 1 +#define LB_ORDERFIELD2 2 +#define LB_ORDERFIELD3 3 +#define LB_ORDERVALUE1 4 +#define LB_ORDERVALUE2 5 +#define LB_ORDERVALUE3 6 + +#define GB_ORDER 1 + +#define BT_OK 1 +#define BT_CANCEL 2 +#define BT_HELP 3 + +#define STR_NOENTRY 1 + +#endif // DBAUI_QUERYORDER_HRC + diff --git a/dbaccess/source/ui/dlg/queryorder.src b/dbaccess/source/ui/dlg/queryorder.src new file mode 100644 index 000000000000..2e5558127602 --- /dev/null +++ b/dbaccess/source/ui/dlg/queryorder.src @@ -0,0 +1,745 @@ +/************************************************************************* + * + * $RCSfile: queryorder.src,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: oj $ $Date: 2000-11-10 16:12:08 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef DBAUI_QUERYORDER_HRC +#include "queryorder.hrc" +#endif +#include "dbaccess_helpid.hrc" + +ModalDialog DLG_ORDERCRIT +{ + OutputSize = TRUE ; + Border = TRUE ; + SVLook = TRUE ; + HelpId = HID_DLG_ORDERCRIT ; + Size = MAP_APPFONT ( 252 , 83 ) ; + Text = "Sortierung" ; + Text [ ENGLISH ] = "Sort Order" ; + Text [ norwegian ] = "Sort Order" ; + Text [ italian ] = "Ordine" ; + Text [ portuguese_brazilian ] = "Critrio de Ordenao" ; + Text [ portuguese ] = "Ordenar" ; + Text [ finnish ] = "Sort Order" ; + Text [ danish ] = "Sortering" ; + Text [ french ] = "Tri" ; + Text [ swedish ] = "Sortering" ; + Text [ dutch ] = "Sortering" ; + Text [ spanish ] = "Orden" ; + Text [ english_us ] = "Sort Order" ; + Moveable = TRUE ; + Closeable = TRUE ; + ListBox LB_ORDERFIELD1 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 59 , 29 ) ; + Size = MAP_APPFONT ( 60 , 72 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + DDExtraWidth = TRUE ; + }; + ListBox LB_ORDERVALUE1 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 123 , 29 ) ; + Size = MAP_APPFONT ( 60 , 36 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + CurPos = 0 ; + StringList = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ ENGLISH ] = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ norwegian ] = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ italian ] = + { + < "crescente" ; Default ; > ; + < "decrescente" ; Default ; > ; + }; + StringList [ portuguese_brazilian ] = + { + < "aufsteigend" ; Default ; > ; + < "descendente" ; Default ; > ; + }; + StringList [ portuguese ] = + { + < "ascendente" ; Default ; > ; + < "descendente" ; Default ; > ; + }; + StringList [ finnish ] = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ danish ] = + { + < "stigende" ; Default ; > ; + < "faldende" ; Default ; > ; + }; + StringList [ french ] = + { + < "croissant" ; Default ; > ; + < "dcroissant" ; Default ; > ; + }; + StringList [ swedish ] = + { + < "stigande" ; Default ; > ; + < "fallande" ; Default ; > ; + }; + StringList [ dutch ] = + { + < "oplopend" ; Default ; > ; + < "aflopend" ; Default ; > ; + }; + StringList [ spanish ] = + { + < "ascendente" ; Default ; > ; + < "descendente" ; Default ; > ; + }; + StringList [ english_us ] = + { + < "ascending" ; Default ; > ; + < "descending" ; Default ; > ; + }; + StringList [ chinese_simplified ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ russian ] = + { + < " " ; Default ; > ; + < " " ; Default ; > ; + }; + StringList [ polish ] = + { + < "rosnco" ; Default ; > ; + < "malejco" ; Default ; > ; + }; + StringList [ japanese ] = + { + < "" ; Default ; > ; + < "~" ; Default ; > ; + }; + StringList [ chinese_traditional ] = + { + < "VW" ; Default ; > ; + < "VU" ; Default ; > ; + }; + StringList [ arabic ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ greek ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ korean ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ turkish ] = + { + < "Artan dzen" ; Default ; > ; + < "Azalan dzen" ; Default ; > ; + }; + StringList [ language_user1 ] = + { + < " " ; Default ; > ; + < " " ; Default ; > ; + }; + }; + ListBox LB_ORDERFIELD2 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 59 , 45 ) ; + Size = MAP_APPFONT ( 60 , 72 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + DDExtraWidth = TRUE ; + }; + ListBox LB_ORDERVALUE2 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 123 , 45 ) ; + Size = MAP_APPFONT ( 60 , 36 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + CurPos = 0 ; + StringList = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ ENGLISH ] = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ norwegian ] = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ italian ] = + { + < "crescente" ; Default ; > ; + < "decrescente" ; Default ; > ; + }; + StringList [ portuguese_brazilian ] = + { + < "aufsteigend" ; Default ; > ; + < "descendente" ; Default ; > ; + }; + StringList [ portuguese ] = + { + < "ascendente" ; Default ; > ; + < "descendente" ; Default ; > ; + }; + StringList [ finnish ] = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ danish ] = + { + < "stigende" ; Default ; > ; + < "faldende" ; Default ; > ; + }; + StringList [ french ] = + { + < "croissant" ; Default ; > ; + < "dcroissant" ; Default ; > ; + }; + StringList [ swedish ] = + { + < "stigande" ; Default ; > ; + < "fallande" ; Default ; > ; + }; + StringList [ dutch ] = + { + < "oplopend" ; Default ; > ; + < "aflopend" ; Default ; > ; + }; + StringList [ spanish ] = + { + < "ascendente" ; Default ; > ; + < "descendente" ; Default ; > ; + }; + StringList [ english_us ] = + { + < "ascending" ; Default ; > ; + < "descending" ; Default ; > ; + }; + StringList [ chinese_simplified ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ russian ] = + { + < " " ; Default ; > ; + < " " ; Default ; > ; + }; + StringList [ polish ] = + { + < "rosnco" ; Default ; > ; + < "malejco" ; Default ; > ; + }; + StringList [ japanese ] = + { + < "" ; Default ; > ; + < "~" ; Default ; > ; + }; + StringList [ chinese_traditional ] = + { + < "VW" ; Default ; > ; + < "VU" ; Default ; > ; + }; + StringList [ arabic ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ greek ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ korean ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ turkish ] = + { + < "Artan dzen" ; Default ; > ; + < "Azalan dzen" ; Default ; > ; + }; + StringList [ language_user1 ] = + { + < " " ; Default ; > ; + < " " ; Default ; > ; + }; + }; + ListBox LB_ORDERFIELD3 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 59 , 60 ) ; + Size = MAP_APPFONT ( 60 , 72 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + DDExtraWidth = TRUE ; + }; + ListBox LB_ORDERVALUE3 + { + Border = TRUE ; + Pos = MAP_APPFONT ( 123 , 60 ) ; + Size = MAP_APPFONT ( 60 , 36 ) ; + TabStop = TRUE ; + DropDown = TRUE ; + CurPos = 0 ; + StringList = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ ENGLISH ] = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ norwegian ] = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ italian ] = + { + < "crescente" ; Default ; > ; + < "decrescente" ; Default ; > ; + }; + StringList [ portuguese_brazilian ] = + { + < "aufsteigend" ; Default ; > ; + < "descendente" ; Default ; > ; + }; + StringList [ portuguese ] = + { + < "ascendente" ; Default ; > ; + < "descendente" ; Default ; > ; + }; + StringList [ finnish ] = + { + < "aufsteigend" ; Default ; > ; + < "absteigend" ; Default ; > ; + }; + StringList [ danish ] = + { + < "stigende" ; Default ; > ; + < "faldende" ; Default ; > ; + }; + StringList [ french ] = + { + < "croissant" ; Default ; > ; + < "dcroissant" ; Default ; > ; + }; + StringList [ swedish ] = + { + < "stigande" ; Default ; > ; + < "fallande" ; Default ; > ; + }; + StringList [ dutch ] = + { + < "oplopend" ; Default ; > ; + < "aflopend" ; Default ; > ; + }; + StringList [ spanish ] = + { + < "ascendente" ; Default ; > ; + < "descendente" ; Default ; > ; + }; + StringList [ english_us ] = + { + < "ascending" ; Default ; > ; + < "descending" ; Default ; > ; + }; + StringList [ chinese_simplified ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ russian ] = + { + < " " ; Default ; > ; + < " " ; Default ; > ; + }; + StringList [ polish ] = + { + < "rosnco" ; Default ; > ; + < "malejco" ; Default ; > ; + }; + StringList [ japanese ] = + { + < "" ; Default ; > ; + < "~" ; Default ; > ; + }; + StringList [ chinese_traditional ] = + { + < "VW" ; Default ; > ; + < "VU" ; Default ; > ; + }; + StringList [ arabic ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ greek ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ korean ] = + { + < "" ; Default ; > ; + < "" ; Default ; > ; + }; + StringList [ turkish ] = + { + < "Artan dzen" ; Default ; > ; + < "Azalan dzen" ; Default ; > ; + }; + StringList [ language_user1 ] = + { + < " " ; Default ; > ; + < " " ; Default ; > ; + }; + }; + FixedText FT_ORDERFIELD + { + Pos = MAP_APPFONT ( 58 , 15 ) ; + Size = MAP_APPFONT ( 60 , 10 ) ; + Text = "Feldname" ; + Text [ ENGLISH ] = "Fieldname" ; + Text [ norwegian ] = "Fieldname" ; + Text [ italian ] = "Nome di campo" ; + Text [ portuguese_brazilian ] = "Nome de campo" ; + Text [ portuguese ] = "Nome de campo" ; + Text [ finnish ] = "Kentn nimi" ; + Text [ danish ] = "Feltnavn" ; + Text [ french ] = "Nom de champ" ; + Text [ swedish ] = "Fltnamn" ; + Text [ dutch ] = "Veldnaam" ; + Text [ spanish ] = "Nombre de campo" ; + Text [ ENGLISH_US ] = "Field name" ; + Center = TRUE ; + Text[ chinese_simplified ] = ""; + Text[ russian ] = " "; + Text[ polish ] = "Nazwa pola"; + Text[ japanese ] = "̨ޖ"; + Text[ chinese_traditional ] = "W"; + Text[ arabic ] = " "; + Text[ greek ] = " "; + Text[ korean ] = "ʵ"; + Text[ turkish ] = "Alan ad"; + Text[ language_user1 ] = " "; + }; + + FixedText FT_ORDERVALUE + { + Pos = MAP_APPFONT ( 118 , 110 ) ; + Size = MAP_APPFONT ( 59 , 1 ) ; + Text = "Reihenfolge" ; + Text [ ENGLISH ] = "Order" ; + Text [ norwegian ] = "Rekkeflge" ; + Text [ italian ] = "Sequenza" ; + Text [ portuguese_brazilian ] = "Ordem" ; + Text [ portuguese ] = "Ordem" ; + Text [ finnish ] = "Jrjestys" ; + Text [ danish ] = "Rkkeflge" ; + Text [ french ] = "Ordre" ; + Text [ swedish ] = "Ordning" ; + Text [ dutch ] = "Volgorde" ; + Text [ spanish ] = "Orden" ; + Text [ ENGLISH_US ] = "Order" ; + Center = TRUE ; + Text[ chinese_simplified ] = "˳"; + Text[ russian ] = ""; + Text[ polish ] = "Kolejno"; + Text[ japanese ] = "בւ"; + Text[ chinese_traditional ] = ""; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = ""; + Text[ turkish ] = "Sra"; + Text[ language_user1 ] = " "; + }; + + FixedText FT_ORDERAFTER1 + { + Pos = MAP_APPFONT ( 12 , 45 ) ; + Size = MAP_APPFONT ( 40 , 10 ) ; + Text = "danach" ; + Text [ ENGLISH ] = "and then" ; + Text [ norwegian ] = "and then" ; + Text [ italian ] = "poi per" ; + Text [ portuguese_brazilian ] = "e, em seguida," ; + Text [ portuguese ] = "depois" ; + Text [ finnish ] = "ja sitten" ; + Text [ danish ] = "derefter" ; + Text [ french ] = "puis" ; + Text [ swedish ] = "drefter" ; + Text [ dutch ] = "en vervolgens" ; + Text [ spanish ] = "detrs" ; + Text [ ENGLISH_US ] = "and then" ; + Text[ chinese_simplified ] = "֮"; + Text[ russian ] = ""; + Text[ polish ] = "wedug"; + Text[ japanese ] = "ꂩ"; + Text[ chinese_traditional ] = ""; + Text[ arabic ] = " "; + Text[ greek ] = ""; + Text[ korean ] = " "; + Text[ turkish ] = "Sonra"; + Text[ language_user1 ] = " "; + }; + FixedText FT_ORDERAFTER2 + { + Pos = MAP_APPFONT ( 12 , 60 ) ; + Size = MAP_APPFONT ( 40 , 10 ) ; + Text = "danach" ; + Text [ ENGLISH ] = "and then" ; + Text [ norwegian ] = "and then" ; + Text [ italian ] = "poi per" ; + Text [ portuguese_brazilian ] = "e, em seguida," ; + Text [ portuguese ] = "depois" ; + Text [ finnish ] = "ja sitten" ; + Text [ danish ] = "derefter" ; + Text [ french ] = "puis" ; + Text [ swedish ] = "drefter" ; + Text [ dutch ] = "en vervolgens" ; + Text [ spanish ] = "detrs" ; + Text [ ENGLISH_US ] = "and then" ; + Text[ chinese_simplified ] = "֮"; + Text[ russian ] = ""; + Text[ polish ] = "wedug"; + Text[ japanese ] = "ꂩ"; + Text[ chinese_traditional ] = ""; + Text[ arabic ] = " "; + Text[ greek ] = ""; + Text[ korean ] = " "; + Text[ turkish ] = "Sonra"; + Text[ language_user1 ] = " "; + }; + FixedText FT_ORDEROPER + { + Pos = MAP_APPFONT ( 12 , 15 ) ; + Size = MAP_APPFONT ( 46 , 10 ) ; + /* ### ACHTUNG: Neuer Text in Resource? Verknpfung : Verknpfung */ + Text = "Verknpfung" ; + Text [ ENGLISH ] = "Operator" ; + Text [ norwegian ] = "Operator" ; + Text [ italian ] = "Operatore" ; + Text [ portuguese_brazilian ] = "Operador" ; + Text [ portuguese ] = "Operador" ; + Text [ finnish ] = "Operaattori" ; + Text [ danish ] = "Kde" ; + Text [ french ] = "Lien" ; + Text [ swedish ] = "Operator" ; + Text [ dutch ] = "Koppeling" ; + Text [ spanish ] = "Vnculo" ; + Text [ ENGLISH_US ] = "Operator" ; + Text[ chinese_simplified ] = ""; + Text[ russian ] = ""; + Text[ polish ] = "Operator"; + Text[ japanese ] = "Zq"; + Text[ chinese_traditional ] = "|"; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = ""; + Text[ turkish ] = "le"; + Text[ language_user1 ] = " "; + }; + FixedText FT_ORDERDIR + { + Pos = MAP_APPFONT ( 122 , 15 ) ; + Size = MAP_APPFONT ( 60 , 10 ) ; + Text = "Reihenfolge" ; + Text [ ENGLISH ] = "Direction" ; + Text [ norwegian ] = "Retning" ; + Text [ italian ] = "Sequenza" ; + Text [ portuguese_brazilian ] = "Direo" ; + Text [ portuguese ] = "Ordem" ; + Text [ finnish ] = "Suunta" ; + Text [ danish ] = "Rkkeflge" ; + Text [ french ] = "Ordre" ; + Text [ swedish ] = "Ordning" ; + Text [ dutch ] = "Volgorde" ; + Text [ spanish ] = "Orden" ; + Text [ ENGLISH_US ] = "Order" ; + Center = TRUE ; + Text[ chinese_simplified ] = "˳"; + Text[ russian ] = ""; + Text[ polish ] = "Kolejno"; + Text[ japanese ] = "בւ"; + Text[ chinese_traditional ] = ""; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = ""; + Text[ turkish ] = "Sra"; + Text[ language_user1 ] = " "; + }; + OKButton BT_OK + { + Pos = MAP_APPFONT ( 196 , 6 ) ; + Size = MAP_APPFONT ( 50 , 14 ) ; + TabStop = TRUE ; + DefButton = TRUE ; + }; + CancelButton BT_CANCEL + { + Pos = MAP_APPFONT ( 196 , 23 ) ; + Size = MAP_APPFONT ( 50 , 14 ) ; + TabStop = TRUE ; + }; + HelpButton BT_HELP + { + Pos = MAP_APPFONT ( 196 , 43 ) ; + Size = MAP_APPFONT ( 50 , 14 ) ; + TabStop = TRUE ; + }; + GroupBox GB_ORDER + { + Pos = MAP_APPFONT ( 6 , 3 ) ; + Size = MAP_APPFONT ( 184 , 77 ) ; + Text = "Sortierung" ; + Text [ ENGLISH ] = "Sort order" ; + Text [ norwegian ] = "Sort order" ; + Text [ italian ] = "Ordine" ; + Text [ portuguese_brazilian ] = "Ordem de ordenao" ; + Text [ portuguese ] = "Ordenar" ; + Text [ finnish ] = "Lajittelujrjestys" ; + Text [ danish ] = "Sortering" ; + Text [ french ] = "Tri" ; + Text [ swedish ] = "Sortering" ; + Text [ dutch ] = "Sortering" ; + Text [ spanish ] = "Orden" ; + Text [ ENGLISH_US ] = "Sort order" ; + Text[ chinese_simplified ] = ""; + Text[ russian ] = ""; + Text[ polish ] = "Sortowanie"; + Text[ japanese ] = "בւ"; + Text[ chinese_traditional ] = "Ƨ"; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = ""; + Text[ turkish ] = "Sralama"; + Text[ language_user1 ] = " "; + }; + String STR_NOENTRY + { + Text = "<keines>" ; + Text [ ENGLISH ] = "<none>" ; + Text [ norwegian ] = "<none>" ; + Text [ italian ] = "<nessuno>" ; + Text [ portuguese_brazilian ] = "<nenhum>" ; + Text [ portuguese ] = "<nenhum>" ; + Text [ finnish ] = "<ei ole>" ; + Text [ danish ] = "<ingen>" ; + Text [ french ] = "<aucun(e)>" ; + Text [ swedish ] = "<ingen>" ; + Text [ dutch ] = "<geen>" ; + Text [ spanish ] = "<ninguno>" ; + Text [ ENGLISH_US ] = "<none>" ; + Text[ chinese_simplified ] = "<>"; + Text[ russian ] = "<>"; + Text[ polish ] = "<brak>"; + Text[ japanese ] = "<Ȃ>"; + Text[ chinese_traditional ] = "<L>"; + Text[ arabic ] = "<>"; + Text[ greek ] = "<>"; + Text[ korean ] = "<>"; + Text[ turkish ] = "<hibiri>"; + Text[ language_user1 ] = " "; + }; + Text[ chinese_simplified ] = ""; + Text[ russian ] = ""; + Text[ polish ] = "Sortowanie"; + Text[ japanese ] = "בւ"; + Text[ chinese_traditional ] = "Ƨ"; + Text[ arabic ] = " "; + Text[ greek ] = ""; + Text[ korean ] = ""; + Text[ turkish ] = "Sralama"; + Text[ language_user1 ] = " "; +}; diff --git a/dbaccess/source/ui/inc/queryfilter.hxx b/dbaccess/source/ui/inc/queryfilter.hxx new file mode 100644 index 000000000000..e3935674c45a --- /dev/null +++ b/dbaccess/source/ui/inc/queryfilter.hxx @@ -0,0 +1,184 @@ +/************************************************************************* + * + * $RCSfile: queryfilter.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: oj $ $Date: 2000-11-10 16:10:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an AS IS basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef DBAUI_QUERYFILTER_HXX +#define DBAUI_QUERYFILTER_HXX + +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +namespace rtl +{ + class OUString; +} +namespace com +{ + namespace sun + { + namespace star + { + namespace sdb + { + class XSQLQueryComposer; + } + namespace sdbc + { + class XConnection; + } + namespace container + { + class XNameAccess; + } + namespace beans + { + struct PropertyValue; + } + } + } +} +namespace connectivity +{ + enum OSQLPredicateType; +} +//================================================================== +// DlgFilterCrit +//================================================================== +namespace dbaui +{ + class DlgFilterCrit : public ModalDialog + { + private: + ListBox aLB_WHEREFIELD1; + ListBox aLB_WHERECOMP1; + Edit aET_WHEREVALUE1; + ListBox aLB_WHERECOND2; + ListBox aLB_WHEREFIELD2; + ListBox aLB_WHERECOMP2; + Edit aET_WHEREVALUE2; + ListBox aLB_WHERECOND3; + ListBox aLB_WHEREFIELD3; + ListBox aLB_WHERECOMP3; + Edit aET_WHEREVALUE3; + FixedText aFT_WHEREFIELD; + FixedText aFT_WHERECOMP; + FixedText aFT_WHEREVALUE; + FixedText aFT_WHEREOPER; + GroupBox aGB_FIELDS; + OKButton aBT_OK; + CancelButton aBT_CANCEL; + HelpButton aBT_HELP; + String aSTR_NOENTRY; + String aSTR_COMPARE_OPERATORS; + + ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLQueryComposer> m_xQueryComposer; + ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess> m_xColumns; + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> m_xConnection; + + + void SelectField( ListBox& rBox, const String& rField ); + DECL_LINK( ListSelectHdl, ListBox * ); + DECL_LINK( ListSelectCompHdl, ListBox * ); + void SetLine( USHORT nIdx,const ::com::sun::star::beans::PropertyValue& _rItem,sal_Bool _bOr ); + void EnableLines(); + ::connectivity::OSQLPredicateType GetOSQLPredicateType(USHORT nPos,USHORT nCount) const; + USHORT GetSelectionPos(::connectivity::OSQLPredicateType eType,const ListBox& rListBox) const; + ::rtl::OUString getCondition(const ListBox& _rField,const ListBox& _rComp,const Edit& _rValue) const; + + public: + DlgFilterCrit( Window * pParent, + const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>& _rxConnection, + const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLQueryComposer>& _rxQueryComposer, + const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& _rxCols, + const String& rFieldName = String()); + ~DlgFilterCrit(); + + String BuildWherePart(); + + void GetFilterList( ) const; + // void SetFilterList( const SbaPredicateItemList* pItemList ); + }; + +} + +#endif // DBAUI_QUERYFILTER_HXX + + diff --git a/dbaccess/source/ui/inc/queryorder.hxx b/dbaccess/source/ui/inc/queryorder.hxx new file mode 100644 index 000000000000..41b3e14d31ec --- /dev/null +++ b/dbaccess/source/ui/inc/queryorder.hxx @@ -0,0 +1,172 @@ +/************************************************************************* + * + * $RCSfile: queryorder.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: oj $ $Date: 2000-11-10 16:10:13 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef DBAUI_QUERYORDER_HXX +#define DBAUI_QUERYORDER_HXX + +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#define DOG_ROWS 3 + +namespace rtl +{ + class OUString; +} +namespace com +{ + namespace sun + { + namespace star + { + namespace sdb + { + class XSQLQueryComposer; + } + namespace sdbc + { + class XConnection; + } + namespace container + { + class XNameAccess; + } + namespace beans + { + struct PropertyValue; + } + } + } +} + +//================================================================== +// DlgOrderCrit +//================================================================== +namespace dbaui +{ + class DlgOrderCrit : public ModalDialog + { + protected: + ListBox aLB_ORDERFIELD1; + ListBox aLB_ORDERVALUE1; + ListBox aLB_ORDERFIELD2; + ListBox aLB_ORDERVALUE2; + ListBox aLB_ORDERFIELD3; + ListBox aLB_ORDERVALUE3; + FixedText aFT_ORDERFIELD; + FixedText aFT_ORDERVALUE; + FixedText aFT_ORDERAFTER1; + FixedText aFT_ORDERAFTER2; + FixedText aFT_ORDEROPER; + FixedText aFT_ORDERDIR; + OKButton aBT_OK; + CancelButton aBT_CANCEL; + HelpButton aBT_HELP; + GroupBox aGB_ORDER; + String aSTR_NOENTRY; + + ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLQueryComposer> m_xQueryComposer; + ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess> m_xColumns; + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> m_xConnection; + + + ListBox* arrLbFields[DOG_ROWS]; + ListBox* arrLbValues[DOG_ROWS]; + + DECL_LINK( FieldListSelectHdl, ListBox * ); + void EnableLines(); + + public: + DlgOrderCrit( Window * pParent, + const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>& _rxConnection, + const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLQueryComposer>& _rxQueryComposer, + const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& _rxCols); + + ~DlgOrderCrit(); + void BuildOrderPart(); + + String GetOrderList( ); + void SetOrderList( const String& _rOrderList ); + }; +} +#endif // DBAUI_QUERYORDER_HXX + + |