2001-02-05 08:26:47 +00:00
/*************************************************************************
*
2008-04-10 15:23:47 +00:00
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER .
2001-02-05 08:26:47 +00:00
*
2008-04-10 15:23:47 +00:00
* Copyright 2008 by Sun Microsystems , Inc .
2001-02-05 08:26:47 +00:00
*
2008-04-10 15:23:47 +00:00
* OpenOffice . org - a multi - platform office productivity suite
2001-02-05 08:26:47 +00:00
*
2008-04-10 15:23:47 +00:00
* $ RCSfile : SelectionBrowseBox . cxx , v $
2008-08-19 08:56:31 +00:00
* $ Revision : 1.83 $
2001-02-05 08:26:47 +00:00
*
2008-04-10 15:23:47 +00:00
* This file is part of OpenOffice . org .
2001-02-05 08:26:47 +00:00
*
2008-04-10 15:23:47 +00:00
* 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 .
2001-02-05 08:26:47 +00:00
*
2008-04-10 15:23:47 +00:00
* 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 ) .
2001-02-05 08:26:47 +00:00
*
2008-04-10 15:23:47 +00:00
* 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 .
2001-02-05 08:26:47 +00:00
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-09-17 06:24:03 +00:00
// MARKER(update_precomp.py): autogen include statement, do not remove
# include "precompiled_dbaccess.hxx"
2001-02-05 08:26:47 +00:00
# ifndef DBAUI_QUERYDESIGN_OSELECTIONBROWSEBOX_HXX
# include "SelectionBrowseBox.hxx"
# endif
# ifndef _COM_SUN_STAR_SDBC_XDATABASEMETADATA_HPP_
# include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
# endif
# ifndef _COM_SUN_STAR_SDBC_DATATYPE_HPP_
# include <com/sun/star/sdbc/DataType.hpp>
# endif
# ifndef DBAUI_QUERYDESIGNVIEW_HXX
# include "QueryDesignView.hxx"
# endif
# ifndef DBAUI_QUERYCONTROLLER_HXX
# include "querycontroller.hxx"
# endif
# ifndef DBAUI_QUERYTABLEVIEW_HXX
# include "QueryTableView.hxx"
# endif
# ifndef DBACCESS_UI_BROWSER_ID_HXX
# include "browserids.hxx"
# endif
# ifndef _COMPHELPER_TYPES_HXX_
# include <comphelper/types.hxx>
# endif
# ifndef DBAUI_TABLEFIELDINFO_HXX
# include "TableFieldInfo.hxx"
# endif
2002-08-19 07:01:32 +00:00
# ifndef _DBU_QRY_HRC_
# include "dbu_qry.hrc"
2001-02-05 08:26:47 +00:00
# endif
2001-09-27 05:19:05 +00:00
# ifndef _DBA_DBACCESS_HELPID_HRC_
2001-02-05 08:26:47 +00:00
# include "dbaccess_helpid.hrc"
2001-09-27 05:19:05 +00:00
# endif
2001-02-05 08:26:47 +00:00
# ifndef _TOOLS_DEBUG_HXX
# include <tools/debug.hxx>
# endif
# ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_
# include <com/sun/star/container/XNameAccess.hpp>
# endif
# ifndef DBACCESS_SHARED_DBUSTRINGS_HRC
# include "dbustrings.hrc"
# endif
# ifndef DBAUI_QUERY_TABLEWINDOW_HXX
# include "QTableWindow.hxx"
# endif
# ifndef DBAUI_QUERYTABLEVIEW_HXX
# include "QueryTableView.hxx"
# endif
# ifndef _SV_MSGBOX_HXX
# include <vcl/msgbox.hxx>
# endif
# ifndef DBAUI_QUERYDESIGNFIELDUNDOACT_HXX
# include "QueryDesignFieldUndoAct.hxx"
# endif
# ifndef _SVX_DBEXCH_HRC
# include <svx/dbexch.hrc>
# endif
# ifndef _COMPHELPER_STLTYPES_HXX_
# include <comphelper/stl_types.hxx>
# endif
2001-03-15 07:29:16 +00:00
# ifndef _COMPHELPER_EXTRACT_HXX_
# include <comphelper/extract.hxx>
2001-02-14 13:54:12 +00:00
# endif
2001-03-20 07:12:13 +00:00
# ifndef _DBAUI_SQLMESSAGE_HXX_
# include "sqlmessage.hxx"
# endif
2002-05-24 11:58:56 +00:00
# ifndef DBAUI_TOOLS_HXX
# include "UITools.hxx"
# endif
2001-02-14 13:54:12 +00:00
2001-06-29 07:45:10 +00:00
using namespace : : svt ;
2001-02-05 08:26:47 +00:00
using namespace : : dbaui ;
using namespace : : connectivity ;
using namespace : : com : : sun : : star : : uno ;
using namespace : : com : : sun : : star : : sdbc ;
using namespace : : com : : sun : : star : : beans ;
using namespace : : com : : sun : : star : : container ;
using namespace : : com : : sun : : star : : util ;
2003-05-19 11:56:04 +00:00
using namespace : : com : : sun : : star : : accessibility ;
2001-02-05 08:26:47 +00:00
const String g_strOne = String : : CreateFromAscii ( " 1 " ) ;
const String g_strZero = String : : CreateFromAscii ( " 0 " ) ;
# define DEFAULT_QUERY_COLS 20
2002-08-19 07:01:32 +00:00
# define DEFAULT_SIZE GetTextWidth(g_strZero) * 30
# define CHECKBOX_SIZE 10
# define HANDLE_ID 0
# define HANDLE_COLUMN_WITDH 70
2001-02-05 08:26:47 +00:00
2003-03-19 16:57:12 +00:00
# define SQL_ISRULEOR2(pParseNode, e1,e2) ((pParseNode)->isRule() && (\
2003-06-12 09:19:54 +00:00
( pParseNode ) - > getRuleID ( ) = = OSQLParser : : RuleID ( OSQLParseNode : : e1 ) | | \
( pParseNode ) - > getRuleID ( ) = = OSQLParser : : RuleID ( OSQLParseNode : : e2 ) ) )
2003-03-19 16:57:12 +00:00
2002-08-30 10:14:45 +00:00
// -----------------------------------------------------------------------------
namespace
{
sal_Bool isFieldNameAsterix ( const : : rtl : : OUString & _sFieldName )
{
2006-10-12 12:43:07 +00:00
sal_Bool bAsterix = ! ( _sFieldName . getLength ( ) & & _sFieldName . toChar ( ) ! = ' * ' ) ;
if ( ! bAsterix )
2002-08-30 10:14:45 +00:00
{
String sName = _sFieldName ;
xub_StrLen nTokenCount = sName . GetTokenCount ( ' . ' ) ;
if ( ( nTokenCount = = 2 & & sName . GetToken ( 1 , ' . ' ) . GetChar ( 0 ) = = ' * ' )
| | ( nTokenCount = = 3 & & sName . GetToken ( 2 , ' . ' ) . GetChar ( 0 ) = = ' * ' ) )
{
bAsterix = sal_True ;
}
}
return bAsterix ;
}
2003-12-01 09:38:48 +00:00
// -----------------------------------------------------------------------------
sal_Bool lcl_SupportsCoreSQLGrammar ( const Reference < XConnection > & _xConnection )
{
sal_Bool bSupportsCoreGrammar = sal_False ;
if ( _xConnection . is ( ) )
{
try
{
Reference < XDatabaseMetaData > xMetaData = _xConnection - > getMetaData ( ) ;
bSupportsCoreGrammar = xMetaData . is ( ) & & xMetaData - > supportsCoreSQLGrammar ( ) ;
}
catch ( Exception & )
{
}
}
return bSupportsCoreGrammar ;
}
2002-08-30 10:14:45 +00:00
}
2006-06-20 02:27:27 +00:00
DBG_NAME ( OSelectionBrowseBox )
2001-02-05 08:26:47 +00:00
//------------------------------------------------------------------------------
OSelectionBrowseBox : : OSelectionBrowseBox ( Window * pParent )
2002-08-19 07:01:32 +00:00
: EditBrowseBox ( pParent , EBBF_NOROWPICTURE , WB_3DLOOK , BROWSER_COLUMNSELECTION | BROWSER_KEEPSELECTION | BROWSER_HIDESELECT |
BROWSER_HIDECURSOR | BROWSER_HLINESFULL | BROWSER_VLINESFULL )
2001-02-05 08:26:47 +00:00
, m_aFunctionStrings ( ModuleRes ( STR_QUERY_FUNCTIONS ) )
2006-06-20 02:27:27 +00:00
, m_nVisibleCount ( 0 )
2001-02-05 08:26:47 +00:00
, m_bOrderByUnRelated ( sal_True )
, m_bGroupByUnRelated ( sal_True )
2001-04-18 12:20:48 +00:00
, m_bStopTimer ( sal_False )
2001-10-23 11:30:27 +00:00
, m_bWasEditing ( sal_False )
2004-03-15 11:43:58 +00:00
, m_bDisableErrorBox ( sal_False )
2005-09-23 11:43:59 +00:00
, m_bInUndoMode ( sal_False )
2001-02-05 08:26:47 +00:00
{
DBG_CTOR ( OSelectionBrowseBox , NULL ) ;
SetHelpId ( HID_CTL_QRYDGNCRIT ) ;
2002-08-19 07:01:32 +00:00
m_nMode = BROWSER_COLUMNSELECTION | BROWSER_HIDESELECT
| BROWSER_KEEPSELECTION | BROWSER_HIDECURSOR
| BROWSER_HLINESFULL | BROWSER_VLINESFULL
| BROWSER_HEADERBAR_NEW ;
2001-02-05 08:26:47 +00:00
2001-03-07 08:27:45 +00:00
m_pTextCell = new Edit ( & GetDataWindow ( ) , 0 ) ;
2001-02-05 08:26:47 +00:00
// m_pTextCell->EnableSpecialCheck(sal_False);
2001-06-29 07:45:10 +00:00
m_pVisibleCell = new CheckBoxControl ( & GetDataWindow ( ) ) ;
2006-07-10 14:44:07 +00:00
m_pTableCell = new ListBoxControl ( & GetDataWindow ( ) ) ; m_pTableCell - > SetDropDownLineCount ( 20 ) ;
m_pFieldCell = new ComboBoxControl ( & GetDataWindow ( ) ) ; m_pFieldCell - > SetDropDownLineCount ( 20 ) ;
2001-06-29 07:45:10 +00:00
m_pOrderCell = new ListBoxControl ( & GetDataWindow ( ) ) ;
2006-07-10 14:44:07 +00:00
m_pFunctionCell = new ListBoxControl ( & GetDataWindow ( ) ) ; m_pFunctionCell - > SetDropDownLineCount ( 20 ) ;
2001-02-05 08:26:47 +00:00
m_pVisibleCell - > SetHelpId ( HID_QRYDGN_ROW_VISIBLE ) ;
m_pTableCell - > SetHelpId ( HID_QRYDGN_ROW_TABLE ) ;
m_pFieldCell - > SetHelpId ( HID_QRYDGN_ROW_FIELD ) ;
m_pOrderCell - > SetHelpId ( HID_QRYDGN_ROW_ORDER ) ;
m_pFunctionCell - > SetHelpId ( HID_QRYDGN_ROW_FUNCTION ) ;
//////////////////////////////////////////////////////////////////////
// TriState der ::com::sun::star::form::CheckBox abschalten
m_pVisibleCell - > GetBox ( ) . EnableTriState ( sal_False ) ;
2002-08-19 07:01:32 +00:00
// m_pEmptyEntry = new OTableFieldDesc();
// m_pEmptyEntry->SetColWidth(DEFAULT_SIZE);
2001-10-05 05:49:21 +00:00
2001-07-12 11:23:31 +00:00
Font aTitleFont = OutputDevice : : GetDefaultFont ( DEFAULTFONT_SANS_UNICODE , Window : : GetSettings ( ) . GetLanguage ( ) , DEFAULTFONT_FLAGS_ONLYONE ) ;
2001-02-05 08:26:47 +00:00
aTitleFont . SetSize ( Size ( 0 , 6 ) ) ;
SetTitleFont ( aTitleFont ) ;
String aTxt ( ModuleRes ( STR_QUERY_SORTTEXT ) ) ;
xub_StrLen nCount = aTxt . GetTokenCount ( ) ;
xub_StrLen nIdx = 0 ;
for ( ; nIdx < nCount ; nIdx + + )
m_pOrderCell - > InsertEntry ( aTxt . GetToken ( nIdx ) ) ;
for ( long i = 0 ; i < BROW_ROW_CNT ; i + + )
m_bVisibleRow . push_back ( sal_True ) ;
m_bVisibleRow [ BROW_FUNCTION_ROW ] = sal_False ; // zuerst ausblenden
2001-04-18 12:20:48 +00:00
m_timerInvalidate . SetTimeout ( 200 ) ;
m_timerInvalidate . SetTimeoutHdl ( LINK ( this , OSelectionBrowseBox , OnInvalidateTimer ) ) ;
m_timerInvalidate . Start ( ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
OSelectionBrowseBox : : ~ OSelectionBrowseBox ( )
{
DBG_DTOR ( OSelectionBrowseBox , NULL ) ;
delete m_pTextCell ;
delete m_pVisibleCell ;
delete m_pFieldCell ;
delete m_pTableCell ;
delete m_pOrderCell ;
delete m_pFunctionCell ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : initialize ( )
{
2008-06-25 11:54:03 +00:00
Reference < XConnection > xConnection = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getConnection ( ) ;
2003-12-01 09:38:48 +00:00
if ( xConnection . is ( ) )
2001-02-05 08:26:47 +00:00
{
2008-06-25 11:54:03 +00:00
const IParseContext & rContext = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getParser ( ) . getContext ( ) ;
2008-08-19 08:56:31 +00:00
IParseContext : : InternationalKeyCode eFunctions [ ] = { IParseContext : : KEY_AVG , IParseContext : : KEY_COUNT , IParseContext : : KEY_MAX
, IParseContext : : KEY_MIN , IParseContext : : KEY_SUM
, IParseContext : : KEY_EVERY
, IParseContext : : KEY_ANY
, IParseContext : : KEY_SOME
, IParseContext : : KEY_STDDEV_POP
, IParseContext : : KEY_STDDEV_SAMP
, IParseContext : : KEY_VAR_SAMP
, IParseContext : : KEY_VAR_POP
, IParseContext : : KEY_COLLECT
, IParseContext : : KEY_FUSION
, IParseContext : : KEY_INTERSECTION
} ;
2005-10-24 07:32:22 +00:00
String sGroup = m_aFunctionStrings . GetToken ( m_aFunctionStrings . GetTokenCount ( ) - 1 ) ;
m_aFunctionStrings = m_aFunctionStrings . GetToken ( 0 ) ;
2006-06-20 02:27:27 +00:00
for ( size_t i = 0 ; i < sizeof ( eFunctions ) / sizeof ( eFunctions [ 0 ] ) ; + + i )
2005-10-24 07:32:22 +00:00
{
m_aFunctionStrings + = String ( RTL_CONSTASCII_USTRINGPARAM ( " ; " ) ) ;
m_aFunctionStrings + = String ( ByteString ( rContext . getIntlKeywordAscii ( eFunctions [ i ] ) ) , RTL_TEXTENCODING_UTF8 ) ;
} // for (sal_Int32 i = 0; i < sizeof(eFunctions)/sizeof(eFunctions[0]) ; ++i)
m_aFunctionStrings + = String ( RTL_CONSTASCII_USTRINGPARAM ( " ; " ) ) ;
m_aFunctionStrings + = sGroup ;
2003-12-01 09:38:48 +00:00
// Diese Funktionen stehen nur unter CORE zur Verf<72> gung
if ( lcl_SupportsCoreSQLGrammar ( xConnection ) )
{
xub_StrLen nCount = m_aFunctionStrings . GetTokenCount ( ) ;
for ( xub_StrLen nIdx = 0 ; nIdx < nCount ; nIdx + + )
m_pFunctionCell - > InsertEntry ( m_aFunctionStrings . GetToken ( nIdx ) ) ;
}
else // sonst nur COUNT(*)
{
m_pFunctionCell - > InsertEntry ( m_aFunctionStrings . GetToken ( 0 ) ) ;
m_pFunctionCell - > InsertEntry ( m_aFunctionStrings . GetToken ( 2 ) ) ; // 2 -> COUNT
}
try
2001-03-01 14:45:02 +00:00
{
2001-07-12 11:14:47 +00:00
Reference < XDatabaseMetaData > xMetaData = xConnection - > getMetaData ( ) ;
2003-12-01 09:38:48 +00:00
if ( xMetaData . is ( ) )
2001-07-12 11:14:47 +00:00
{
2003-12-01 09:38:48 +00:00
m_bOrderByUnRelated = xMetaData - > supportsOrderByUnrelated ( ) ;
m_bGroupByUnRelated = xMetaData - > supportsGroupByUnrelated ( ) ;
2001-07-12 11:14:47 +00:00
}
2001-03-01 14:45:02 +00:00
}
2003-12-01 09:38:48 +00:00
catch ( Exception & )
{
}
2001-02-05 08:26:47 +00:00
}
Init ( ) ;
}
//==============================================================================
OQueryDesignView * OSelectionBrowseBox : : getDesignView ( )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
OSL_ENSURE ( static_cast < const OQueryDesignView * > ( GetParent ( ) ) , " Parent isn't an OQueryDesignView! " ) ;
return static_cast < OQueryDesignView * > ( GetParent ( ) ) ;
}
// -----------------------------------------------------------------------------
OQueryDesignView * OSelectionBrowseBox : : getDesignView ( ) const
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
OSL_ENSURE ( static_cast < const OQueryDesignView * > ( GetParent ( ) ) , " Parent isn't an OQueryDesignView! " ) ;
return static_cast < OQueryDesignView * > ( GetParent ( ) ) ;
}
2002-08-19 07:01:32 +00:00
namespace
{
class OSelectionBrwBoxHeader : public : : svt : : EditBrowserHeader
{
2002-08-30 10:14:45 +00:00
OSelectionBrowseBox * m_pBrowseBox ;
2002-08-19 07:01:32 +00:00
protected :
virtual void Select ( ) ;
public :
2002-08-30 10:14:45 +00:00
OSelectionBrwBoxHeader ( OSelectionBrowseBox * pParent ) ;
2002-08-19 07:01:32 +00:00
} ;
2002-08-30 10:14:45 +00:00
OSelectionBrwBoxHeader : : OSelectionBrwBoxHeader ( OSelectionBrowseBox * pParent )
2002-08-19 07:01:32 +00:00
: : : svt : : EditBrowserHeader ( pParent , WB_BUTTONSTYLE | WB_DRAG )
, m_pBrowseBox ( pParent )
{
}
void OSelectionBrwBoxHeader : : Select ( )
{
EditBrowserHeader : : Select ( ) ;
2002-08-30 10:14:45 +00:00
m_pBrowseBox - > GrabFocus ( ) ;
2002-08-19 07:01:32 +00:00
BrowserMode nMode = m_pBrowseBox - > GetMode ( ) ;
if ( 0 = = m_pBrowseBox - > GetSelectColumnCount ( ) )
{
m_pBrowseBox - > DeactivateCell ( ) ;
// wenn es schon eine selektierte Spalte gibt, bin ich schon im richtigen Modus
if ( BROWSER_HIDESELECT = = ( nMode & BROWSER_HIDESELECT ) )
{
nMode & = ~ BROWSER_HIDESELECT ;
nMode | = BROWSER_MULTISELECTION ;
m_pBrowseBox - > SetMode ( nMode ) ;
}
}
m_pBrowseBox - > SelectColumnId ( GetCurItemId ( ) ) ;
2004-08-02 15:14:02 +00:00
m_pBrowseBox - > DeactivateCell ( ) ;
2002-08-19 07:01:32 +00:00
}
}
2001-02-05 08:26:47 +00:00
2002-08-19 07:01:32 +00:00
// -----------------------------------------------------------------------------
2006-06-20 02:27:27 +00:00
BrowserHeader * OSelectionBrowseBox : : imp_CreateHeaderBar ( BrowseBox * /*pParent*/ )
2002-08-19 07:01:32 +00:00
{
return new OSelectionBrwBoxHeader ( this ) ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : ColumnMoved ( USHORT nColId , BOOL _bCreateUndo )
{
EditBrowseBox : : ColumnMoved ( nColId ) ;
// swap the two columns
USHORT nNewPos = GetColumnPos ( nColId ) ;
OTableFields & rFields = getFields ( ) ;
if ( rFields . size ( ) > USHORT ( nNewPos - 1 ) )
{
USHORT nOldPos = 0 ;
OTableFields : : iterator aEnd = rFields . end ( ) ;
OTableFields : : iterator aIter = rFields . begin ( ) ;
for ( ; aIter ! = aEnd & & ( ( * aIter ) - > GetColumnId ( ) ! = nColId ) ; + + aIter , + + nOldPos )
;
2006-01-16 14:30:24 +00:00
OSL_ENSURE ( ( nNewPos - 1 ) ! = nOldPos & & nOldPos < rFields . size ( ) , " Old and new position are equal! " ) ;
if ( aIter ! = aEnd )
2002-08-19 07:01:32 +00:00
{
2006-01-16 14:30:24 +00:00
OTableFieldDescRef pOldEntry = rFields [ nOldPos ] ;
rFields . erase ( rFields . begin ( ) + nOldPos ) ;
rFields . insert ( rFields . begin ( ) + nNewPos - 1 , pOldEntry ) ;
// create the undo action
if ( ! m_bInUndoMode & & _bCreateUndo )
{
OTabFieldMovedUndoAct * pUndoAct = new OTabFieldMovedUndoAct ( this ) ;
pUndoAct - > SetColumnPosition ( nOldPos + 1 ) ;
pUndoAct - > SetTabFieldDescr ( pOldEntry ) ;
2002-08-19 07:01:32 +00:00
2008-06-25 11:54:03 +00:00
getDesignView ( ) - > getController ( ) . addUndoActionAndInvalidate ( pUndoAct ) ;
2006-01-16 14:30:24 +00:00
} // if ( !m_bInUndoMode && _bCreateUndo )
2002-08-19 07:01:32 +00:00
}
}
else
OSL_ENSURE ( 0 , " Invalid column id! " ) ;
}
2001-02-05 08:26:47 +00:00
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : Init ( )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2002-08-19 07:01:32 +00:00
2001-06-29 07:45:10 +00:00
EditBrowseBox : : Init ( ) ;
2001-02-05 08:26:47 +00:00
2002-08-19 07:01:32 +00:00
// set the header bar
2006-06-20 02:27:27 +00:00
BrowserHeader * pNewHeaderBar = CreateHeaderBar ( this ) ;
pNewHeaderBar - > SetMouseTransparent ( sal_False ) ;
2002-08-19 07:01:32 +00:00
2006-06-20 02:27:27 +00:00
SetHeaderBar ( pNewHeaderBar ) ;
2002-08-19 07:01:32 +00:00
SetMode ( m_nMode ) ;
2001-02-05 08:26:47 +00:00
Font aFont ( GetDataWindow ( ) . GetFont ( ) ) ;
aFont . SetWeight ( WEIGHT_NORMAL ) ;
GetDataWindow ( ) . SetFont ( aFont ) ;
2008-12-10 13:41:25 +00:00
Size aHeight ;
const Control * pControls [ ] = { m_pTextCell , m_pVisibleCell , m_pTableCell , m_pFieldCell } ;
for ( sal_Size i = 0 ; i < sizeof ( pControls ) / sizeof ( pControls [ 0 ] ) ; + + i )
{
const Size aTemp ( pControls [ i ] - > GetOptimalSize ( WINDOWSIZE_PREFERRED ) ) ;
if ( aTemp . Height ( ) > aHeight . Height ( ) )
aHeight . Height ( ) = aTemp . Height ( ) ;
} // for(int i= 0; i < sizeof(pControls)/sizeof(pControls[0]);++i
SetDataRowHeight ( aHeight . Height ( ) ) ;
2001-02-05 08:26:47 +00:00
SetTitleLines ( 1 ) ;
// Anzahl der sichtbaren Zeilen ermitteln
for ( long i = 0 ; i < BROW_ROW_CNT ; i + + )
{
if ( m_bVisibleRow [ i ] )
m_nVisibleCount + + ;
}
RowInserted ( 0 , m_nVisibleCount , sal_False ) ;
2001-10-08 06:32:36 +00:00
try
2001-03-01 14:45:02 +00:00
{
2008-06-25 11:54:03 +00:00
Reference < XConnection > xConnection = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getConnection ( ) ;
2001-10-08 06:32:36 +00:00
if ( xConnection . is ( ) )
{
Reference < XDatabaseMetaData > xMetaData = xConnection - > getMetaData ( ) ;
2003-12-01 09:38:48 +00:00
m_nMaxColumns = xMetaData . is ( ) ? xMetaData - > getMaxColumnsInSelect ( ) : 0 ;
2001-10-08 06:32:36 +00:00
}
else
m_nMaxColumns = 0 ;
2001-03-01 14:45:02 +00:00
}
2001-10-08 06:32:36 +00:00
catch ( const SQLException & )
{
OSL_ENSURE ( 0 , " Catched Exception when asking for database metadata options! " ) ;
2001-03-01 14:45:02 +00:00
m_nMaxColumns = 0 ;
2001-10-08 06:32:36 +00:00
}
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2001-04-30 12:02:01 +00:00
void OSelectionBrowseBox : : PreFill ( )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
SetUpdateMode ( sal_False ) ;
if ( GetCurRow ( ) ! = 0 )
GoToRow ( 0 ) ;
2001-04-30 12:02:01 +00:00
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . clearFields ( ) ;
2001-02-05 08:26:47 +00:00
DeactivateCell ( ) ;
RemoveColumns ( ) ;
2002-08-19 07:01:32 +00:00
InsertHandleColumn ( HANDLE_COLUMN_WITDH ) ;
2001-02-05 08:26:47 +00:00
SetUpdateMode ( sal_True ) ;
}
2001-04-30 12:02:01 +00:00
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : ClearAll ( )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
SetUpdateMode ( sal_False ) ;
2001-10-05 05:49:21 +00:00
OTableFields : : reverse_iterator aIter = getFields ( ) . rbegin ( ) ;
2006-07-10 14:44:07 +00:00
for ( ; aIter ! = getFields ( ) . rend ( ) ; + + aIter )
2001-04-30 12:02:01 +00:00
{
2006-07-10 14:44:07 +00:00
if ( ! ( * aIter ) - > IsEmpty ( ) )
{
RemoveField ( ( * aIter ) - > GetColumnId ( ) ) ;
aIter = getFields ( ) . rbegin ( ) ;
}
2001-04-30 12:02:01 +00:00
}
SetUpdateMode ( sal_True ) ;
}
2001-02-05 08:26:47 +00:00
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : SetReadOnly ( sal_Bool bRO )
{
if ( bRO )
{
DeactivateCell ( ) ;
m_nMode & = ~ BROWSER_HIDECURSOR ;
SetMode ( m_nMode ) ;
}
else
{
m_nMode | = BROWSER_HIDECURSOR ;
SetMode ( m_nMode ) ;
ActivateCell ( ) ;
}
}
//------------------------------------------------------------------------------
2001-06-29 07:45:10 +00:00
CellController * OSelectionBrowseBox : : GetController ( long nRow , sal_uInt16 nColId )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2008-06-25 11:54:03 +00:00
if ( nColId > getFields ( ) . size ( ) )
2006-07-10 14:44:07 +00:00
return NULL ;
2001-10-05 05:49:21 +00:00
OTableFieldDescRef pEntry = getFields ( ) [ nColId - 1 ] ;
DBG_ASSERT ( pEntry . isValid ( ) , " OSelectionBrowseBox::GetController : keine FieldDescription ! " ) ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
if ( ! pEntry . isValid ( ) )
2001-02-05 08:26:47 +00:00
return NULL ;
2008-06-25 11:54:03 +00:00
if ( static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . isReadOnly ( ) )
2001-02-05 08:26:47 +00:00
return NULL ;
long nCellIndex = GetRealRow ( nRow ) ;
switch ( nCellIndex )
{
case BROW_FIELD_ROW :
2001-06-29 07:45:10 +00:00
return new ComboBoxCellController ( m_pFieldCell ) ;
2001-02-05 08:26:47 +00:00
case BROW_TABLE_ROW :
2001-06-29 07:45:10 +00:00
return new ListBoxCellController ( m_pTableCell ) ;
2001-02-05 08:26:47 +00:00
case BROW_VIS_ROW :
2001-06-29 07:45:10 +00:00
return new CheckBoxCellController ( m_pVisibleCell ) ;
2001-02-05 08:26:47 +00:00
case BROW_ORDER_ROW :
2001-06-29 07:45:10 +00:00
return new ListBoxCellController ( m_pOrderCell ) ;
2001-02-05 08:26:47 +00:00
case BROW_FUNCTION_ROW :
2001-06-29 07:45:10 +00:00
return new ListBoxCellController ( m_pFunctionCell ) ;
2001-02-05 08:26:47 +00:00
default :
2001-06-29 07:45:10 +00:00
return new EditCellController ( m_pTextCell ) ;
2001-02-05 08:26:47 +00:00
}
}
//------------------------------------------------------------------------------
2006-06-20 02:27:27 +00:00
void OSelectionBrowseBox : : InitController ( CellControllerRef & /*rController*/ , long nRow , sal_uInt16 nColId )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2005-12-21 12:37:05 +00:00
OSL_ENSURE ( nColId ! = BROWSER_INVALIDID , " An Invalid Id was set! " ) ;
if ( nColId = = BROWSER_INVALIDID )
return ;
USHORT nPos = GetColumnPos ( nColId ) ;
2006-06-20 02:27:27 +00:00
if ( nPos = = 0 | | nPos = = BROWSER_INVALIDID | | nPos > getFields ( ) . size ( ) )
2005-12-21 12:37:05 +00:00
return ;
OTableFieldDescRef pEntry = getFields ( ) [ nPos - 1 ] ;
2001-10-05 05:49:21 +00:00
DBG_ASSERT ( pEntry . isValid ( ) , " OSelectionBrowseBox::InitController : keine FieldDescription ! " ) ;
2001-02-05 08:26:47 +00:00
long nCellIndex = GetRealRow ( nRow ) ;
switch ( nCellIndex )
{
case BROW_FIELD_ROW :
{
m_pFieldCell - > Clear ( ) ;
m_pFieldCell - > SetText ( String ( ) ) ;
String aField ( pEntry - > GetField ( ) ) ;
String aTable ( pEntry - > GetAlias ( ) ) ;
getDesignView ( ) - > fillValidFields ( aTable , m_pFieldCell ) ;
// * durch alias.* ersetzen
if ( ( aField . GetChar ( 0 ) = = ' * ' ) & & aTable . Len ( ) )
{
aField = aTable ;
aField . AppendAscii ( " .* " ) ;
}
m_pFieldCell - > SetText ( aField ) ;
} break ;
case BROW_TABLE_ROW :
{
m_pTableCell - > Clear ( ) ;
2001-10-05 05:49:21 +00:00
enableControl ( pEntry , m_pTableCell ) ;
2006-07-10 14:44:07 +00:00
if ( ! pEntry - > isCondition ( ) )
2001-02-05 08:26:47 +00:00
{
OJoinTableView : : OTableWindowMap * pTabWinList = getDesignView ( ) - > getTableView ( ) - > GetTabWinMap ( ) ;
if ( pTabWinList )
{
OJoinTableView : : OTableWindowMap : : iterator aIter = pTabWinList - > begin ( ) ;
for ( ; aIter ! = pTabWinList - > end ( ) ; + + aIter )
m_pTableCell - > InsertEntry ( static_cast < OQueryTableWindow * > ( aIter - > second ) - > GetAliasName ( ) ) ;
m_pTableCell - > InsertEntry ( String ( ModuleRes ( STR_QUERY_NOTABLE ) ) , 0 ) ;
if ( pEntry - > GetAlias ( ) . getLength ( ) )
m_pTableCell - > SelectEntry ( pEntry - > GetAlias ( ) ) ;
else
m_pTableCell - > SelectEntry ( String ( ModuleRes ( STR_QUERY_NOTABLE ) ) ) ;
}
}
} break ;
case BROW_VIS_ROW :
{
m_pVisibleCell - > GetBox ( ) . Check ( pEntry - > IsVisible ( ) ) ;
m_pVisibleCell - > GetBox ( ) . SaveValue ( ) ;
2001-10-05 05:49:21 +00:00
enableControl ( pEntry , m_pTextCell ) ;
2001-02-05 08:26:47 +00:00
if ( ! pEntry - > IsVisible ( ) & & pEntry - > GetOrderDir ( ) ! = ORDER_NONE & & ! m_bOrderByUnRelated )
{
// Spalte muss sichtbar sein, um im ORDER BY aufzutauchen
pEntry - > SetVisible ( sal_True ) ;
m_pVisibleCell - > GetBox ( ) . Check ( pEntry - > IsVisible ( ) ) ;
m_pVisibleCell - > GetBox ( ) . SaveValue ( ) ;
m_pVisibleCell - > GetBox ( ) . Disable ( ) ;
m_pVisibleCell - > GetBox ( ) . EnableInput ( sal_False ) ;
2001-02-07 11:44:13 +00:00
String aMessage ( ModuleRes ( STR_QRY_ORDERBY_UNRELATED ) ) ;
2001-02-08 14:33:28 +00:00
OQueryDesignView * paDView = getDesignView ( ) ;
InfoBox ( paDView , aMessage ) . Execute ( ) ;
2001-02-05 08:26:47 +00:00
}
} break ;
case BROW_ORDER_ROW :
2006-10-12 12:43:07 +00:00
m_pOrderCell - > SelectEntryPos (
sal : : static_int_cast < USHORT > ( pEntry - > GetOrderDir ( ) ) ) ;
2001-10-05 05:49:21 +00:00
enableControl ( pEntry , m_pOrderCell ) ;
break ;
2001-02-05 08:26:47 +00:00
case BROW_COLUMNALIAS_ROW :
2001-10-05 05:49:21 +00:00
setTextCellContext ( pEntry , pEntry - > GetFieldAlias ( ) , HID_QRYDGN_ROW_ALIAS ) ;
2001-02-05 08:26:47 +00:00
break ;
case BROW_FUNCTION_ROW :
2002-08-30 10:14:45 +00:00
setFunctionCell ( pEntry ) ;
break ;
default :
2001-02-05 08:26:47 +00:00
{
2003-12-01 09:38:48 +00:00
sal_uInt16 nIdx = sal_uInt16 ( nCellIndex - BROW_CRIT1_ROW ) ;
2002-08-30 10:14:45 +00:00
setTextCellContext ( pEntry , pEntry - > GetCriteria ( nIdx ) , HID_QRYDGN_ROW_CRIT ) ;
}
}
Controller ( ) - > ClearModified ( ) ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : notifyTableFieldChanged ( const String & _sOldAlias , const String & _sAlias , sal_Bool & _bListAction , USHORT _nColumnId )
{
appendUndoAction ( _sOldAlias , _sAlias , BROW_TABLE_ROW , _bListAction ) ;
if ( m_bVisibleRow [ BROW_TABLE_ROW ] )
RowModified ( GetBrowseRow ( BROW_TABLE_ROW ) , _nColumnId ) ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : notifyFunctionFieldChanged ( const String & _sOldFunctionName , const String & _sFunctionName , sal_Bool & _bListAction , USHORT _nColumnId )
{
appendUndoAction ( _sOldFunctionName , _sFunctionName , BROW_FUNCTION_ROW , _bListAction ) ;
if ( ! m_bVisibleRow [ BROW_FUNCTION_ROW ] )
SetRowVisible ( BROW_FUNCTION_ROW , sal_True ) ;
RowModified ( GetBrowseRow ( BROW_FUNCTION_ROW ) , _nColumnId ) ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : clearEntryFunctionField ( const String & _sFieldName , OTableFieldDescRef & _pEntry , sal_Bool & _bListAction , USHORT _nColumnId )
{
if ( isFieldNameAsterix ( _sFieldName ) & & ( ! _pEntry - > isNoneFunction ( ) | | _pEntry - > IsGroupBy ( ) ) )
{
String sFunctionName ;
GetFunctionName ( SQL_TOKEN_COUNT , sFunctionName ) ;
String sOldLocalizedFunctionName = _pEntry - > GetFunction ( ) ;
2003-06-12 09:19:54 +00:00
if ( ! sOldLocalizedFunctionName . Equals ( sFunctionName ) | | _pEntry - > IsGroupBy ( ) )
2002-08-30 10:14:45 +00:00
{
// append undo action for the function field
_pEntry - > SetFunctionType ( FKT_NONE ) ;
_pEntry - > SetFunction ( : : rtl : : OUString ( ) ) ;
_pEntry - > SetGroupBy ( sal_False ) ;
notifyFunctionFieldChanged ( sOldLocalizedFunctionName , _pEntry - > GetFunction ( ) , _bListAction , _nColumnId ) ;
}
}
}
// -----------------------------------------------------------------------------
2006-12-13 15:53:47 +00:00
sal_Bool OSelectionBrowseBox : : fillColumnRef ( const OSQLParseNode * _pColumnRef , const Reference < XConnection > & _rxConnection , OTableFieldDescRef & _pEntry , sal_Bool & _bListAction )
2002-08-30 10:14:45 +00:00
{
OSL_ENSURE ( _pColumnRef , " No valid parsenode! " ) ;
: : rtl : : OUString sColumnName , sTableRange ;
2006-12-13 15:53:47 +00:00
OSQLParseTreeIterator : : getColumnRange ( _pColumnRef , _rxConnection , sColumnName , sTableRange ) ;
return fillColumnRef ( sColumnName , sTableRange , _rxConnection - > getMetaData ( ) , _pEntry , _bListAction ) ;
2002-08-30 10:14:45 +00:00
}
// -----------------------------------------------------------------------------
sal_Bool OSelectionBrowseBox : : fillColumnRef ( const : : rtl : : OUString & _sColumnName , const : : rtl : : OUString & _sTableRange , const Reference < XDatabaseMetaData > & _xMetaData , OTableFieldDescRef & _pEntry , sal_Bool & _bListAction )
{
sal_Bool bError = sal_False ;
2006-08-15 09:56:20 +00:00
: : comphelper : : UStringMixEqual bCase ( _xMetaData - > supportsMixedCaseQuotedIdentifiers ( ) ) ;
2002-08-30 10:14:45 +00:00
// check if the table name is the same
if ( _sTableRange . getLength ( ) & & ( bCase ( _pEntry - > GetTable ( ) , _sTableRange ) | | bCase ( _pEntry - > GetAlias ( ) , _sTableRange ) ) )
{ // a table was already inserted and the tables contains that column name
if ( ! _pEntry - > GetTabWindow ( ) )
{ // fill tab window
: : rtl : : OUString sOldAlias = _pEntry - > GetAlias ( ) ;
2003-04-28 14:49:22 +00:00
if ( ! fillEntryTable ( _pEntry , _pEntry - > GetTable ( ) ) )
2002-08-30 10:14:45 +00:00
fillEntryTable ( _pEntry , _pEntry - > GetAlias ( ) ) ; // only when the first failed
if ( ! bCase ( sOldAlias , _pEntry - > GetAlias ( ) ) )
notifyTableFieldChanged ( sOldAlias , _pEntry - > GetAlias ( ) , _bListAction , GetCurColumnId ( ) ) ;
}
}
// check if the table window
OQueryTableWindow * pEntryTab = static_cast < OQueryTableWindow * > ( _pEntry - > GetTabWindow ( ) ) ;
if ( ! pEntryTab ) // no table found with this name so we have to travel through all tables
{
OJoinTableView : : OTableWindowMap * pTabWinList = getDesignView ( ) - > getTableView ( ) - > GetTabWinMap ( ) ;
if ( pTabWinList )
{
sal_uInt16 nTabCount = 0 ;
if ( ! static_cast < OQueryTableView * > ( getDesignView ( ) - > getTableView ( ) ) - > FindTableFromField ( _sColumnName , _pEntry , nTabCount ) ) // error occured: column not in table window
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
String sErrorMsg ( ModuleRes ( RID_STR_FIELD_DOESNT_EXIST ) ) ;
sErrorMsg . SearchAndReplaceAscii ( " $name$ " , _sColumnName ) ;
CWS-TOOLING: integrate CWS dba32a
2009-04-16 13:08:19 +0200 oj r270882 : #i14538# set property at control
2009-04-16 13:04:28 +0200 oj r270881 : #i98557# remove binary string for SRB
2009-04-15 13:19:10 +0200 oj r270838 : #i96782# use type set at view
2009-04-14 14:53:20 +0200 oj r270778 : #i96782# set initialize size for custom shape
2009-04-06 14:19:14 +0200 oj r270546 : #i88432# correct pos when < 0 while resizing
2009-04-06 13:36:13 +0200 oj r270541 : #i96782# handle toolbar and menubar differently
2009-04-06 13:33:54 +0200 oj r270540 : #i96782# handle toolbar and menubar differently
2009-04-06 12:28:23 +0200 oj r270534 : #i96782# handle toolbar and menubar differently
2009-04-06 12:27:44 +0200 oj r270533 : #i96782# handle toolbar and menubar differently
2009-04-06 12:24:32 +0200 oj r270532 : #i96782# handle toolbar and menubar differently
2009-04-06 12:15:15 +0200 oj r270531 : do not initialze when field is empty
2009-04-06 10:06:08 +0200 oj r270528 : #i96782# clean up of menubar and remove duplicates
2009-04-06 09:47:49 +0200 oj r270527 : #i96519# adjust help text dynamic
2009-04-03 13:43:20 +0200 oj r270482 : do not need to remove section from observer they are already disposed
2009-04-03 13:27:28 +0200 fs r270479 : #i97356#
2009-04-02 11:30:39 +0200 fs r270386 : UNX line ends
2009-04-02 10:54:51 +0200 fs r270379 : UNX line ends
2009-04-02 10:39:57 +0200 fs r270378 : UNX line ends
2009-04-02 10:37:24 +0200 fs r270377 : why did this survive the rebase? was removed on trunk ...
2009-03-31 13:31:12 +0200 fs r270277 : component_foo should be public
2009-03-28 00:21:01 +0100 fs r270176 : manuallly merged the changes which happened in CWS before resync to m45, where the directory had been moved from reportdesign/registry to reportbuilder/registry
2009-03-27 23:01:20 +0100 fs r270174 : CWS-TOOLING: rebase CWS dba32a to trunk@270033 (milestone: DEV300:m45)
2009-03-11 12:23:35 +0100 fs r269310 : #i99958# ensure the ControlModelLock doesn't release twice
2009-03-06 09:07:32 +0100 fs r268970 : ignore output paths in SVN's status
2009-03-06 09:07:08 +0100 fs r268969 : ignore output paths in SVN's status
2009-03-04 11:28:02 +0100 oj r268800 : copy and paste error, check correct end now
2009-03-03 15:49:11 +0100 fs r268736 : #i10000# those merges were lost during the rebase (m38->m42)
2009-03-03 13:25:27 +0100 lla r268720 : #i99652# fix wrong refactoring
2009-02-27 11:12:56 +0100 fs r268566 : beautified
2009-02-27 10:53:47 +0100 fs r268561 : doFormListening(false) only when actually isFormListening() (found during complex test case XMLFormSettings with assertions)
2009-02-26 20:55:31 +0100 fs r268546 : #i96530# set the Label property of the bound control, if we didn't create a dedicated label control
2009-02-26 11:53:09 +0100 fs r268494 : #i10000#
2009-02-26 11:27:50 +0100 fs r268493 : #i10000#
2009-02-26 11:17:08 +0100 fs r268490 : reportdesign depends on REPORTBUILDER, not REPORTDESIGN
2009-02-25 11:39:48 +0100 fs r268422 : #i10000# post-resync: INFO_ESCAPE_DATETIME got lost during rebase
2009-02-24 23:24:10 +0100 fs r268411 : CWS-TOOLING: rebase CWS dba32a to trunk@268395 (milestone: DEV300:m42)
2009-02-20 15:09:48 +0100 fs r268324 : respect ImplicitCatalog/SchemaRestriction in all necessary places
2009-02-20 13:48:10 +0100 oj r268318 : order of initialize corrected
2009-02-14 15:07:52 +0100 fs r267759 : #i98975# when an image does not have a bitmap, but a text, draw this (as placeholder)
2009-02-14 15:02:40 +0100 fs r267758 : consolidated and removed some duplicate code
2009-02-14 13:52:23 +0100 fs r267756 : #i10000#
2009-02-13 22:08:34 +0100 fs r267750 : #i100000#
2009-02-13 22:07:25 +0100 fs r267749 : #i10000#
2009-02-13 21:55:36 +0100 fs r267747 : #i10000#
2009-02-13 21:54:27 +0100 fs r267746 : use const_cast
2009-02-13 21:29:10 +0100 fs r267745 : #i10000#
2009-02-13 21:27:39 +0100 fs r267744 : #i10000#
2009-02-13 20:59:13 +0100 fs r267742 : #i10000#
2009-02-13 13:21:30 +0100 fs r267717 : better diagnostics
2009-02-13 13:17:24 +0100 fs r267715 : #i58313# support Catalog/SchemaRestriction settings, which are applied in getTables when 'all catalogs/schemas' are to be retrieved
2009-02-13 13:16:14 +0100 fs r267714 : filter out some more known global settings
2009-02-13 12:39:43 +0100 fs r267713 : #i58313# ImplicitCatalog/SchemaRestriction
2009-02-13 12:36:50 +0100 fs r267712 : when exporting data source settings, allow for properties which have a VOID default value, but are currently not VOID
2009-02-13 12:35:57 +0100 fs r267711 : implement XSet, to allow inserting properties which have a default value of VOID
2009-02-13 12:35:03 +0100 fs r267710 : +addVoidProperty
2009-02-13 10:20:08 +0100 fs r267697 : removed unused variable
2009-02-13 09:46:46 +0100 fs r267695 : refactored the table filtering code, to have a better base for introducing additional low level filters
2009-02-10 09:23:07 +0100 lla r267537 : #i10000# wrong line feed, double named variable
2009-02-09 12:13:08 +0100 oj r267508 : #i98605# notify hanlder
2009-02-09 11:50:34 +0100 oj r267507 : #i98926# solve refcount problem
2009-02-09 11:50:05 +0100 oj r267506 : #i98971# fix for simple html
2009-02-09 11:49:24 +0100 oj r267505 : #i98971# fix for simple html
2009-02-09 11:47:27 +0100 oj r267504 : invoke on copy
2009-02-09 09:51:00 +0100 fs r267500 : #i98316#
2009-02-09 09:46:10 +0100 fs r267499 : setCurrentSelection: don't reset the current form when we de-select everything
2009-02-09 09:43:45 +0100 fs r267498 : #i98316#
2009-02-08 21:25:18 +0100 fs r267496 : #i98272# introduce late ctor for cloning
2009-02-07 21:08:39 +0100 fs r267485 : #i98272# when copy-constructing a FmFormPageImpl, use the XCloneable of the forms collection, instead of XPersistObject (which is incompletely implemented)
2009-02-07 21:07:26 +0100 fs r267484 : removed obsolete include guards
2009-02-07 21:05:22 +0100 fs r267483 : #i98272# implement XCloneable
2009-02-06 15:02:48 +0100 lla r267467 : #i96523# add XImageControl
2009-02-06 14:41:38 +0100 oj r267463 : #i98926# late init when connection disposed but only when asked for
2009-02-06 13:49:57 +0100 lla r267457 : #i92860# bigint in forms doesn't allow input of values > 1, fixed
2009-02-06 13:03:55 +0100 oj r267455 : ImageScaleMode
2009-02-05 14:48:19 +0100 lla r267424 : #i89335# dropdown listboxes are 14 instead of 7 lines high
2009-02-05 13:40:00 +0100 oj r267423 : #i96945# insert new prop Opaque
2009-02-05 13:39:19 +0100 oj r267422 : #i96945# insert layer handling for hell and heaven
2009-02-05 13:29:32 +0100 lla r267420 : #i89335# add is null, is not null, is not like filter condition
2009-02-04 12:23:02 +0100 oj r267364 : #i98821# load table font settings
2009-02-04 10:05:27 +0100 oj r267351 : #i98821# load table font settings
2009-02-04 09:23:22 +0100 fs r267350 : checking persistency of UI settings in database documents - for the moment, capture table formattings (which is issue 98821)
2009-02-04 09:22:15 +0100 fs r267349 : moved some methods which are of wider interest from DatabaseDocument to FileHelper resp. TestCase
2009-02-04 08:56:27 +0100 oj r267347 : #i97586# UcbStreamHelper::CreateStream doesn't check all streamModes use different method
2009-02-04 08:23:26 +0100 oj r267346 : #i98701# check key size is >= 3 and some redesign
2009-02-03 23:29:24 +0100 fs r267345 : return the component (controller), not the frame
2009-02-03 23:28:53 +0100 fs r267344 : openExisting returns a controller now, not the frame (this was a bug)
2009-02-03 23:28:25 +0100 fs r267343 : openElement: properly return the component in the table/query case
2009-02-02 12:48:17 +0100 oj r267261 : #i96013# fix for relative path
2009-02-02 10:33:28 +0100 lla r267253 : #i98557# cleanups and consolidation
2009-02-02 09:37:23 +0100 lla r267250 : #i88432# resize will no longer move components to other sections
2009-02-02 09:08:24 +0100 oj r267245 : #i97475# write 0x1A at the end of the file
2009-01-30 19:39:20 +0100 lla r267230 : #i10000# unused parameters
2009-01-30 09:51:09 +0100 fs r267181 : onsolete
2009-01-30 09:49:27 +0100 fs r267180 : onsolete
2009-01-29 14:28:22 +0100 oj r267139 : #i96825# import cell style
2009-01-29 14:23:12 +0100 oj r267137 : #i98601# export imagescalehandler
2009-01-29 14:19:57 +0100 lla r267135 : #i98601# add ImageScaleMode
2009-01-29 13:21:08 +0100 oj r267124 : #i98601# impl ScaleMode
2009-01-29 13:20:56 +0100 oj r267123 : #i98601# impl ScaleMode
2009-01-29 08:46:40 +0100 oj r267095 : new property: ScaleMode
2009-01-29 08:45:23 +0100 oj r267094 : new ScaleMode from UnControlImageModel
2009-01-29 08:28:12 +0100 oj r267093 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 19:54:34 +0100 lla r267082 : #i98557# pictures in report wizard
2009-01-28 15:06:25 +0100 oj r267060 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 11:38:41 +0100 lla r267046 : #i76783# handle binary fields in forms
2009-01-28 09:24:43 +0100 lla r267025 : #i10000#
2009-01-28 08:40:04 +0100 fs r267024 : #i10000#
2009-01-28 08:04:43 +0100 oj r267023 : #i93456# use resource strings for function names
2009-01-27 13:26:05 +0100 oj r266988 : check data field is type field or expression
2009-01-27 13:07:17 +0100 oj r266985 : check data field length
2009-01-27 11:48:19 +0100 oj r266974 : #i96823# return dll string as column name when no alias exists
2009-01-27 09:53:11 +0100 fs r266958 : display the message of a caught exception
2009-01-27 09:44:13 +0100 fs r266957 : #i58313# when retrieving all tables, just set an empty table type filter - the connection will care for translating this, by respecting the TableTypeFilterMode setting
2009-01-27 09:36:09 +0100 fs r266956 : #i58313# getTables: per JDBC spec, is not a valid table type filter. Translate it to 'null'.
2009-01-26 11:24:49 +0100 lla r266912 : #i97865# cleanups (AddField viewable in remote mode)
2009-01-26 07:49:27 +0100 lla r266897 : #i97865# AddField opens in remote case
2009-01-26 07:48:58 +0100 lla r266896 : #i97865# AddField opens in remote case
2009-01-26 07:48:42 +0100 lla r266895 : #i97865# AddField opens in remote case
2009-01-23 15:04:40 +0100 fs r266825 : consolidate the usage of OSQLMessageBox with MessageType==Warning into OSQLWarningBox
2009-01-23 10:47:33 +0100 fs r266787 : +supportsUserAdministration
2009-01-23 10:47:11 +0100 fs r266784 : use DatabaseMetaData.supportsUserAdministration
2009-01-23 07:55:59 +0100 lla r266767 : #i10000# fix gcc compiler failures
2009-01-21 15:08:55 +0100 lla r266673 : #i97265# Labels in HC (IsDark) with other color (viewable)
2009-01-19 14:58:54 +0100 lla r266504 : #i96523# last problems with FormatKey and '0' values fixed
2009-01-19 14:58:00 +0100 lla r266503 : #i96519# AddField help text
2009-01-19 11:59:02 +0100 fs r266485 : #i96523# for formatted field models, init them with TreatAsNumber = false
2009-01-16 10:31:49 +0100 lla r266405 : #i96793# add shrink to popup menu
2009-01-16 09:21:44 +0100 lla r266401 : #i96519# AddField contains a help text
2009-01-15 11:21:49 +0100 lla r266357 : #i96523# problem with XVclWindowPeer not fixed now
2009-01-15 09:19:20 +0100 lla r266335 : #i96523# more crashes fixed.
2009-01-14 13:08:34 +0100 lla r266291 : #i96523# problems with crashes fixed
2009-01-13 10:54:24 +0100 lla r266199 : #i96523# show datasource in formattedfields new files
2009-01-13 10:52:39 +0100 lla r266198 : #i96523# show datasource in formattedfields
2009-01-13 09:41:50 +0100 lla r266197 : #i96526# handling none existance default.otr
2009-01-12 12:55:49 +0100 fs r266151 : don't expect the control model to be a BoundComponent before adding as modify listener
2009-01-12 12:51:33 +0100 fs r266149 : #i88458# let the ImageControl be an XModifyBroadcaster, so the forms runtime can notice when the user changes the control content while it does not have the focus
2009-01-09 13:41:22 +0100 fs r266080 : doc
2009-01-09 13:14:14 +0100 fs r266077 : #i97377# SetModified when order is changed via DnD
2009-01-07 09:55:40 +0100 oj r265951 : merge from master
2009-01-07 09:55:24 +0100 oj r265950 : removed observer
2009-01-07 09:55:06 +0100 oj r265949 : merge from master
2009-01-07 07:29:11 +0100 oj r265945 : shadow var changed
2009-01-06 07:25:57 +0100 oj r265893 : CWS-TOOLING: rebase CWS dba32a to trunk@265758 (milestone: DEV300:m38)
2009-01-05 13:18:22 +0100 oj r265865 : convert to unix le
2009-01-05 09:13:52 +0100 lla r265857 : #i79423# lc_ sc_ permutation fix
2009-01-02 19:40:59 +0100 lla r265847 : #i79423# section shrink icons
2008-12-22 11:37:57 +0100 lla r265749 : #i97484# move component to negative Y-position
2008-12-22 11:37:05 +0100 lla r265748 : #i97484# move component to negative Y-position
2008-12-22 11:35:33 +0100 lla r265747 : #i97484# move component to negative Y-position
2008-12-22 11:25:07 +0100 lla r265745 : #i96757# changes via property browser was not undoable
2008-12-18 15:10:38 +0100 fs r265694 : corrected an condition in doFormListening, which otherwise leads to uncommitable grid columns in documents which are loaded from disc (not in documents which are newly created)
2008-12-18 14:54:39 +0100 fs r265692 : Hide Columns text slightly changed
2008-12-18 13:44:15 +0100 fs r265683 : #i94068# properly display erros happening during a form operation - at least once, and at most once
2008-12-18 11:28:29 +0100 fs r265677 : document the new InputRequired property
2008-12-18 11:04:15 +0100 fs r265676 : #i96530# createControlLabelPair: don't actually create a label for a checkbox
2008-12-18 10:35:53 +0100 fs r265674 : #i95226# when a column is replaced, and it's the selected column, update the selection
2008-12-18 10:34:42 +0100 fs r265673 : #i95226# refactoring of the implReplaced method
2008-12-18 10:34:28 +0100 fs r265672 : #i95226# when replacing a grid column, update the property browser
2008-12-18 10:33:17 +0100 fs r265671 : when an element is removed, remove it from m_aCurrentSelection, too (if necessary)
2008-12-18 10:31:57 +0100 fs r265670 : Hide Columns text slightly changed
2008-12-18 10:15:56 +0100 lla r265669 : #i14538# do not allow to press finish button twice
2008-12-18 08:56:33 +0100 lla r265665 : #i10000# build depend=t problem hacked.
2008-12-17 20:59:10 +0100 fs r265656 : #i89821# don't let a MultiLineEdit select all text when it receives the focus
2008-12-17 12:10:54 +0100 fs r265594 : #i97356#
2008-12-17 12:06:29 +0100 fs r265593 : #i97355# Print -> Printable
2008-12-17 11:59:31 +0100 fs r265591 : #i97350# combo boxes comment on list selection (as list boxes already do)
2008-12-16 09:53:57 +0100 lla r265527 : #i96526# handling none existance default.otr
2008-12-15 14:48:39 +0100 lla r265500 : #i79423# reparing, was wrong implemented
2008-12-12 15:08:33 +0100 lla r265424 : #i10000# remove wrong carridge returns
2008-12-12 15:07:55 +0100 lla r265423 : #i10000# remove wrong carridge returns
2008-12-12 15:06:41 +0100 lla r265422 : #i10000# remove wrong carridge returns
2008-12-12 10:23:13 +0100 lla r265395 : #i95234# reset DragDelta
2008-12-12 10:11:02 +0100 lla r265393 : #i79423# pre versions of shrink buttons
2008-12-11 15:32:13 +0100 fs r265318 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:30:06 +0100 fs r265316 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:07:05 +0100 fs r265307 : removed superfluous text
2008-12-11 12:29:54 +0100 lla r265282 : #i96757# cleanup second try
2008-12-11 12:09:15 +0100 lla r265278 : #i96757# cleanup
2008-12-11 12:07:56 +0100 lla r265277 : #i95234#
2008-12-10 14:04:39 +0100 lla r265183 : #i93472# D&D fixes
2008-12-10 12:29:33 +0100 lla r265168 : #i94067# add (APP|SYS)FONT to XUnitConversion
2008-12-10 12:15:02 +0100 lla r265166 : #i94067# add APPFONT, SYSFONT to MeasureUnit
2008-12-10 11:52:10 +0100 lla r265163 : #i94067# add comments
2008-12-06 20:33:05 +0100 fs r264935 : #i10000# precompiled header
2008-12-05 09:29:26 +0100 fs r264889 : #i10000#
2008-12-05 09:07:31 +0100 fs r264888 : #i10000#
2008-12-04 13:25:46 +0100 fs r264838 : CWS-TOOLING: rebase CWS dba32a to trunk@264807 (milestone: DEV300:m37)
2008-12-03 23:49:13 +0100 fs r264808 : merge changes from trunk, to be able to do a rebase
2008-12-03 17:13:09 +0100 lla r264801 : #i91041# update documentation
2008-12-03 16:57:04 +0100 lla r264799 : #i94067# allow convert(Point|Size)ToLogic as pixel also
2008-12-02 12:36:32 +0100 lla r264687 : #i96782# bring toolbar objects to menu structure
2008-12-02 10:32:44 +0100 lla r264667 : #i86255# make property work
2008-12-02 09:22:47 +0100 lla r264659 : #i79423# add section shrink toolbar
2008-12-02 07:41:22 +0100 lla r264657 : #i86255# add check box for Escape DateTime property
2008-12-02 07:37:17 +0100 lla r264656 : #i79423# new shrink buttons
2008-11-26 11:55:28 +0100 fs r264362 : #i96541#
FillPropertySet: do not only catch UnknownPropertyException when setting the Char/ParaAutoStyleName,
but also care for the other exceptions which can be thrown by XPropertySet::setPropertyValue.
This is actually not the real fix for #i96541#, but only a follow-up. The root cause of the issue
was fixed in CWS dba301b, but this here was another (potential) bug which popped up during investigations.
2008-11-25 09:04:40 +0100 lla r264273 : #i82083# new toolbox in GroupsSorting dialog
2008-11-25 08:56:08 +0100 lla r264272 : #i94729# change token strings into string list, move class out of function
2008-11-24 15:52:22 +0100 fs r264251 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:51:45 +0100 fs r264249 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:45:21 +0100 fs r264244 : #i96532# the API default for ParamNameSubst is false
2008-11-24 15:45:04 +0100 fs r264243 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:44:14 +0100 fs r264241 : #i96532# slight refactoring of exporting properties which have a XML default different from the API default
2008-11-24 10:50:01 +0100 lla r264216 : #i82083# icons for new toolbox
2008-11-24 09:38:45 +0100 lla r264205 : #i82083# new toolbox in GroupsSorting dialog
2008-11-24 09:32:20 +0100 lla r264201 : #i96501# cleanup assertions
2008-11-24 09:12:55 +0100 lla r264198 : #i83082# enhancement for toolboxes, better HC comfort
2008-11-24 08:46:43 +0100 lla r264197 : #i96501# fix problem with negative positions
2008-11-21 11:44:47 +0100 fs r264118 : #i57042# introduce a counter for suspending change notifications of a given property, so recursive calls are possible
2008-11-21 11:02:17 +0100 fs r264116 : #i96388# don't call ExecuteContextMenuAction when no action was chosen by the user
2008-11-21 10:36:53 +0100 fs r264114 : #i47384# assertion was wrong
2008-11-14 12:33:15 +0100 fs r263673 : #i47318# XRowSetChangeBroadcaster/Listener, to be able to listen for changes in an XRowSetSupplier's RowSet
2008-11-14 12:30:29 +0100 fs r263672 : #i47318# more refactoring
- BoundControlModels now listen at the XRowSetSupplier for changes in the supplied
RowSet, to properly revoke/register old/new listeners at the RowSet
- replaced ::osl::Mutex in various places with a ControlModelLock
2008-11-14 12:20:55 +0100 fs r263671 : when BUILD_TYPE includes QADEVOOO, the BUILD_QADEVOOO needs to bet set, too
2008-11-14 12:19:21 +0100 fs r263670 : oops, this was not intended to be committed
2008-11-12 11:08:10 +0100 fs r263579 : #i96096# new ctors taking UNO_QUERY_THROW
2008-11-12 09:15:54 +0100 fs r263576 : no need to load the complete dialog just to get a string which the dialog itself loads from resource
2008-11-10 17:55:45 +0100 fs r263535 : spelling in comment
2008-11-10 15:51:14 +0100 fs r263523 : #i47318# various refactorings
1. don't forward syntetic XLoadListener events from the grid control to
the grid columns. Instead, forward GridColumn::XChild::setParent to
the base class, which then can add itself as load listener
2. removed various occurances of XMultiServiceFactory, instead use the
::comphelper::ComponentContext
3. in O(Bound)ControlModel, have a mechanism to lock the instance (using
ControlModelLock) and fire property changes when the last lock dies.
2008-11-10 12:49:24 +0100 oj r263513 : #i94729# change token strings into string list
2008-11-10 12:13:15 +0100 oj r263512 : #i95222# export chart:title style as well
2008-11-10 08:55:25 +0100 oj r263507 : #i93471# show the correct tabpage when selecting a different object
2008-11-07 23:38:29 +0100 fs r263490 : #i95977# for the event input controls, add a component extending their functionality so they're reset when the users presses DEL
2008-11-07 23:35:39 +0100 fs r263489 : during #i95977#: When a VCL Window is deleted from within VCL code, the respective WindowPeer was never disposed. Corrected this.
2008-11-07 14:57:07 +0100 fs r263420 : #i95963# human-readable display names for event bindings
2008-11-06 10:34:52 +0100 fs r263366 : #i95865# don't use library names containing InvalidZipEntryFileNames - workaround until i95409 is fixed
2008-11-06 10:33:28 +0100 fs r263365 : #i95865#
copied the following change from CWS odfmetadata2 (not yet integrated) into CWS dba31d
- comphelper/inc/comphelper/storagehelper.hxx,
comphelper/source/misc/storagehelper.cxx:
+ add function IsValidZipEntryFileName (moved from module package)
2009-04-22 11:01:27 +00:00
OSQLWarningBox ( this , sErrorMsg ) . Execute ( ) ;
2002-08-30 10:14:45 +00:00
bError = sal_True ;
2001-02-05 08:26:47 +00:00
}
else
{
2002-08-30 10:14:45 +00:00
pEntryTab = static_cast < OQueryTableWindow * > ( _pEntry - > GetTabWindow ( ) ) ;
notifyTableFieldChanged ( String ( ) , _pEntry - > GetAlias ( ) , _bListAction , GetCurColumnId ( ) ) ;
2001-02-05 08:26:47 +00:00
}
}
2002-08-30 10:14:45 +00:00
}
if ( pEntryTab ) // here we got a valid table
_pEntry - > SetField ( _sColumnName ) ;
return bError ;
}
// -----------------------------------------------------------------------------
sal_Bool OSelectionBrowseBox : : saveField ( const String & _sFieldName , OTableFieldDescRef & _pEntry , sal_Bool & _bListAction )
{
sal_Bool bError = sal_False ;
2008-06-25 11:54:03 +00:00
OQueryController & rController = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) ;
2002-08-30 10:14:45 +00:00
// first look if the name can be found in our tables
sal_uInt16 nTabCount = 0 ;
String sOldAlias = _pEntry - > GetAlias ( ) ;
if ( static_cast < OQueryTableView * > ( getDesignView ( ) - > getTableView ( ) ) - > FindTableFromField ( _sFieldName , _pEntry , nTabCount ) )
{
// append undo action for the alias name
_pEntry - > SetField ( _sFieldName ) ;
notifyTableFieldChanged ( sOldAlias , _pEntry - > GetAlias ( ) , _bListAction , GetCurColumnId ( ) ) ;
clearEntryFunctionField ( _sFieldName , _pEntry , _bListAction , _pEntry - > GetColumnId ( ) ) ;
return bError ;
}
2008-06-25 11:54:03 +00:00
Reference < XConnection > xConnection ( rController . getConnection ( ) ) ;
2006-10-24 14:15:01 +00:00
Reference < XDatabaseMetaData > xMetaData ;
if ( xConnection . is ( ) )
xMetaData = xConnection - > getMetaData ( ) ;
OSL_ENSURE ( xMetaData . is ( ) , " OSelectionBrowseBox::saveField: invalid connection/meta data! " ) ;
if ( ! xMetaData . is ( ) )
return sal_True ;
2002-08-30 10:14:45 +00:00
: : rtl : : OUString sErrorMsg ;
// second test if the name can be set as select columns in a pseudo statement
// we have to look which entries we should quote
2006-11-06 13:42:51 +00:00
size_t nPass = 4 ;
2008-06-25 11:54:03 +00:00
: : connectivity : : OSQLParser & rParser ( rController . getParser ( ) ) ;
2006-11-06 13:42:51 +00:00
OSQLParseNode * pParseNode = NULL ;
// 4 passes in trying to interprete the field name
// - don't quote the field name, parse internationally
// - don't quote the field name, parse en-US
// - quote the field name, parse internationally
// - quote the field name, parse en-US
do
2002-08-30 10:14:45 +00:00
{
2006-11-06 13:42:51 +00:00
bool bQuote = ( nPass < = 2 ) ;
bool bInternational = ( nPass % 2 ) = = 0 ;
: : rtl : : OUString sSql ;
sSql + = : : rtl : : OUString ( RTL_CONSTASCII_USTRINGPARAM ( " SELECT " ) ) ;
if ( bQuote )
sSql + = : : dbtools : : quoteName ( xMetaData - > getIdentifierQuoteString ( ) , _sFieldName ) ;
2002-08-30 10:14:45 +00:00
else
2006-11-06 13:42:51 +00:00
sSql + = _sFieldName ;
sSql + = : : rtl : : OUString ( RTL_CONSTASCII_USTRINGPARAM ( " FROM x " ) ) ;
2002-08-30 10:14:45 +00:00
2006-11-06 13:42:51 +00:00
pParseNode = rParser . parseTree ( sErrorMsg , sSql , bInternational ) ;
}
while ( ( pParseNode = = NULL ) & & ( - - nPass > 0 ) ) ;
if ( pParseNode = = NULL )
{
// something different which we have to check (may be a select statement)
String sErrorMessage ( ModuleRes ( STR_QRY_COLUMN_NOT_FOUND ) ) ;
sErrorMessage . SearchAndReplaceAscii ( " $name$ " , _sFieldName ) ;
CWS-TOOLING: integrate CWS dba32a
2009-04-16 13:08:19 +0200 oj r270882 : #i14538# set property at control
2009-04-16 13:04:28 +0200 oj r270881 : #i98557# remove binary string for SRB
2009-04-15 13:19:10 +0200 oj r270838 : #i96782# use type set at view
2009-04-14 14:53:20 +0200 oj r270778 : #i96782# set initialize size for custom shape
2009-04-06 14:19:14 +0200 oj r270546 : #i88432# correct pos when < 0 while resizing
2009-04-06 13:36:13 +0200 oj r270541 : #i96782# handle toolbar and menubar differently
2009-04-06 13:33:54 +0200 oj r270540 : #i96782# handle toolbar and menubar differently
2009-04-06 12:28:23 +0200 oj r270534 : #i96782# handle toolbar and menubar differently
2009-04-06 12:27:44 +0200 oj r270533 : #i96782# handle toolbar and menubar differently
2009-04-06 12:24:32 +0200 oj r270532 : #i96782# handle toolbar and menubar differently
2009-04-06 12:15:15 +0200 oj r270531 : do not initialze when field is empty
2009-04-06 10:06:08 +0200 oj r270528 : #i96782# clean up of menubar and remove duplicates
2009-04-06 09:47:49 +0200 oj r270527 : #i96519# adjust help text dynamic
2009-04-03 13:43:20 +0200 oj r270482 : do not need to remove section from observer they are already disposed
2009-04-03 13:27:28 +0200 fs r270479 : #i97356#
2009-04-02 11:30:39 +0200 fs r270386 : UNX line ends
2009-04-02 10:54:51 +0200 fs r270379 : UNX line ends
2009-04-02 10:39:57 +0200 fs r270378 : UNX line ends
2009-04-02 10:37:24 +0200 fs r270377 : why did this survive the rebase? was removed on trunk ...
2009-03-31 13:31:12 +0200 fs r270277 : component_foo should be public
2009-03-28 00:21:01 +0100 fs r270176 : manuallly merged the changes which happened in CWS before resync to m45, where the directory had been moved from reportdesign/registry to reportbuilder/registry
2009-03-27 23:01:20 +0100 fs r270174 : CWS-TOOLING: rebase CWS dba32a to trunk@270033 (milestone: DEV300:m45)
2009-03-11 12:23:35 +0100 fs r269310 : #i99958# ensure the ControlModelLock doesn't release twice
2009-03-06 09:07:32 +0100 fs r268970 : ignore output paths in SVN's status
2009-03-06 09:07:08 +0100 fs r268969 : ignore output paths in SVN's status
2009-03-04 11:28:02 +0100 oj r268800 : copy and paste error, check correct end now
2009-03-03 15:49:11 +0100 fs r268736 : #i10000# those merges were lost during the rebase (m38->m42)
2009-03-03 13:25:27 +0100 lla r268720 : #i99652# fix wrong refactoring
2009-02-27 11:12:56 +0100 fs r268566 : beautified
2009-02-27 10:53:47 +0100 fs r268561 : doFormListening(false) only when actually isFormListening() (found during complex test case XMLFormSettings with assertions)
2009-02-26 20:55:31 +0100 fs r268546 : #i96530# set the Label property of the bound control, if we didn't create a dedicated label control
2009-02-26 11:53:09 +0100 fs r268494 : #i10000#
2009-02-26 11:27:50 +0100 fs r268493 : #i10000#
2009-02-26 11:17:08 +0100 fs r268490 : reportdesign depends on REPORTBUILDER, not REPORTDESIGN
2009-02-25 11:39:48 +0100 fs r268422 : #i10000# post-resync: INFO_ESCAPE_DATETIME got lost during rebase
2009-02-24 23:24:10 +0100 fs r268411 : CWS-TOOLING: rebase CWS dba32a to trunk@268395 (milestone: DEV300:m42)
2009-02-20 15:09:48 +0100 fs r268324 : respect ImplicitCatalog/SchemaRestriction in all necessary places
2009-02-20 13:48:10 +0100 oj r268318 : order of initialize corrected
2009-02-14 15:07:52 +0100 fs r267759 : #i98975# when an image does not have a bitmap, but a text, draw this (as placeholder)
2009-02-14 15:02:40 +0100 fs r267758 : consolidated and removed some duplicate code
2009-02-14 13:52:23 +0100 fs r267756 : #i10000#
2009-02-13 22:08:34 +0100 fs r267750 : #i100000#
2009-02-13 22:07:25 +0100 fs r267749 : #i10000#
2009-02-13 21:55:36 +0100 fs r267747 : #i10000#
2009-02-13 21:54:27 +0100 fs r267746 : use const_cast
2009-02-13 21:29:10 +0100 fs r267745 : #i10000#
2009-02-13 21:27:39 +0100 fs r267744 : #i10000#
2009-02-13 20:59:13 +0100 fs r267742 : #i10000#
2009-02-13 13:21:30 +0100 fs r267717 : better diagnostics
2009-02-13 13:17:24 +0100 fs r267715 : #i58313# support Catalog/SchemaRestriction settings, which are applied in getTables when 'all catalogs/schemas' are to be retrieved
2009-02-13 13:16:14 +0100 fs r267714 : filter out some more known global settings
2009-02-13 12:39:43 +0100 fs r267713 : #i58313# ImplicitCatalog/SchemaRestriction
2009-02-13 12:36:50 +0100 fs r267712 : when exporting data source settings, allow for properties which have a VOID default value, but are currently not VOID
2009-02-13 12:35:57 +0100 fs r267711 : implement XSet, to allow inserting properties which have a default value of VOID
2009-02-13 12:35:03 +0100 fs r267710 : +addVoidProperty
2009-02-13 10:20:08 +0100 fs r267697 : removed unused variable
2009-02-13 09:46:46 +0100 fs r267695 : refactored the table filtering code, to have a better base for introducing additional low level filters
2009-02-10 09:23:07 +0100 lla r267537 : #i10000# wrong line feed, double named variable
2009-02-09 12:13:08 +0100 oj r267508 : #i98605# notify hanlder
2009-02-09 11:50:34 +0100 oj r267507 : #i98926# solve refcount problem
2009-02-09 11:50:05 +0100 oj r267506 : #i98971# fix for simple html
2009-02-09 11:49:24 +0100 oj r267505 : #i98971# fix for simple html
2009-02-09 11:47:27 +0100 oj r267504 : invoke on copy
2009-02-09 09:51:00 +0100 fs r267500 : #i98316#
2009-02-09 09:46:10 +0100 fs r267499 : setCurrentSelection: don't reset the current form when we de-select everything
2009-02-09 09:43:45 +0100 fs r267498 : #i98316#
2009-02-08 21:25:18 +0100 fs r267496 : #i98272# introduce late ctor for cloning
2009-02-07 21:08:39 +0100 fs r267485 : #i98272# when copy-constructing a FmFormPageImpl, use the XCloneable of the forms collection, instead of XPersistObject (which is incompletely implemented)
2009-02-07 21:07:26 +0100 fs r267484 : removed obsolete include guards
2009-02-07 21:05:22 +0100 fs r267483 : #i98272# implement XCloneable
2009-02-06 15:02:48 +0100 lla r267467 : #i96523# add XImageControl
2009-02-06 14:41:38 +0100 oj r267463 : #i98926# late init when connection disposed but only when asked for
2009-02-06 13:49:57 +0100 lla r267457 : #i92860# bigint in forms doesn't allow input of values > 1, fixed
2009-02-06 13:03:55 +0100 oj r267455 : ImageScaleMode
2009-02-05 14:48:19 +0100 lla r267424 : #i89335# dropdown listboxes are 14 instead of 7 lines high
2009-02-05 13:40:00 +0100 oj r267423 : #i96945# insert new prop Opaque
2009-02-05 13:39:19 +0100 oj r267422 : #i96945# insert layer handling for hell and heaven
2009-02-05 13:29:32 +0100 lla r267420 : #i89335# add is null, is not null, is not like filter condition
2009-02-04 12:23:02 +0100 oj r267364 : #i98821# load table font settings
2009-02-04 10:05:27 +0100 oj r267351 : #i98821# load table font settings
2009-02-04 09:23:22 +0100 fs r267350 : checking persistency of UI settings in database documents - for the moment, capture table formattings (which is issue 98821)
2009-02-04 09:22:15 +0100 fs r267349 : moved some methods which are of wider interest from DatabaseDocument to FileHelper resp. TestCase
2009-02-04 08:56:27 +0100 oj r267347 : #i97586# UcbStreamHelper::CreateStream doesn't check all streamModes use different method
2009-02-04 08:23:26 +0100 oj r267346 : #i98701# check key size is >= 3 and some redesign
2009-02-03 23:29:24 +0100 fs r267345 : return the component (controller), not the frame
2009-02-03 23:28:53 +0100 fs r267344 : openExisting returns a controller now, not the frame (this was a bug)
2009-02-03 23:28:25 +0100 fs r267343 : openElement: properly return the component in the table/query case
2009-02-02 12:48:17 +0100 oj r267261 : #i96013# fix for relative path
2009-02-02 10:33:28 +0100 lla r267253 : #i98557# cleanups and consolidation
2009-02-02 09:37:23 +0100 lla r267250 : #i88432# resize will no longer move components to other sections
2009-02-02 09:08:24 +0100 oj r267245 : #i97475# write 0x1A at the end of the file
2009-01-30 19:39:20 +0100 lla r267230 : #i10000# unused parameters
2009-01-30 09:51:09 +0100 fs r267181 : onsolete
2009-01-30 09:49:27 +0100 fs r267180 : onsolete
2009-01-29 14:28:22 +0100 oj r267139 : #i96825# import cell style
2009-01-29 14:23:12 +0100 oj r267137 : #i98601# export imagescalehandler
2009-01-29 14:19:57 +0100 lla r267135 : #i98601# add ImageScaleMode
2009-01-29 13:21:08 +0100 oj r267124 : #i98601# impl ScaleMode
2009-01-29 13:20:56 +0100 oj r267123 : #i98601# impl ScaleMode
2009-01-29 08:46:40 +0100 oj r267095 : new property: ScaleMode
2009-01-29 08:45:23 +0100 oj r267094 : new ScaleMode from UnControlImageModel
2009-01-29 08:28:12 +0100 oj r267093 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 19:54:34 +0100 lla r267082 : #i98557# pictures in report wizard
2009-01-28 15:06:25 +0100 oj r267060 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 11:38:41 +0100 lla r267046 : #i76783# handle binary fields in forms
2009-01-28 09:24:43 +0100 lla r267025 : #i10000#
2009-01-28 08:40:04 +0100 fs r267024 : #i10000#
2009-01-28 08:04:43 +0100 oj r267023 : #i93456# use resource strings for function names
2009-01-27 13:26:05 +0100 oj r266988 : check data field is type field or expression
2009-01-27 13:07:17 +0100 oj r266985 : check data field length
2009-01-27 11:48:19 +0100 oj r266974 : #i96823# return dll string as column name when no alias exists
2009-01-27 09:53:11 +0100 fs r266958 : display the message of a caught exception
2009-01-27 09:44:13 +0100 fs r266957 : #i58313# when retrieving all tables, just set an empty table type filter - the connection will care for translating this, by respecting the TableTypeFilterMode setting
2009-01-27 09:36:09 +0100 fs r266956 : #i58313# getTables: per JDBC spec, is not a valid table type filter. Translate it to 'null'.
2009-01-26 11:24:49 +0100 lla r266912 : #i97865# cleanups (AddField viewable in remote mode)
2009-01-26 07:49:27 +0100 lla r266897 : #i97865# AddField opens in remote case
2009-01-26 07:48:58 +0100 lla r266896 : #i97865# AddField opens in remote case
2009-01-26 07:48:42 +0100 lla r266895 : #i97865# AddField opens in remote case
2009-01-23 15:04:40 +0100 fs r266825 : consolidate the usage of OSQLMessageBox with MessageType==Warning into OSQLWarningBox
2009-01-23 10:47:33 +0100 fs r266787 : +supportsUserAdministration
2009-01-23 10:47:11 +0100 fs r266784 : use DatabaseMetaData.supportsUserAdministration
2009-01-23 07:55:59 +0100 lla r266767 : #i10000# fix gcc compiler failures
2009-01-21 15:08:55 +0100 lla r266673 : #i97265# Labels in HC (IsDark) with other color (viewable)
2009-01-19 14:58:54 +0100 lla r266504 : #i96523# last problems with FormatKey and '0' values fixed
2009-01-19 14:58:00 +0100 lla r266503 : #i96519# AddField help text
2009-01-19 11:59:02 +0100 fs r266485 : #i96523# for formatted field models, init them with TreatAsNumber = false
2009-01-16 10:31:49 +0100 lla r266405 : #i96793# add shrink to popup menu
2009-01-16 09:21:44 +0100 lla r266401 : #i96519# AddField contains a help text
2009-01-15 11:21:49 +0100 lla r266357 : #i96523# problem with XVclWindowPeer not fixed now
2009-01-15 09:19:20 +0100 lla r266335 : #i96523# more crashes fixed.
2009-01-14 13:08:34 +0100 lla r266291 : #i96523# problems with crashes fixed
2009-01-13 10:54:24 +0100 lla r266199 : #i96523# show datasource in formattedfields new files
2009-01-13 10:52:39 +0100 lla r266198 : #i96523# show datasource in formattedfields
2009-01-13 09:41:50 +0100 lla r266197 : #i96526# handling none existance default.otr
2009-01-12 12:55:49 +0100 fs r266151 : don't expect the control model to be a BoundComponent before adding as modify listener
2009-01-12 12:51:33 +0100 fs r266149 : #i88458# let the ImageControl be an XModifyBroadcaster, so the forms runtime can notice when the user changes the control content while it does not have the focus
2009-01-09 13:41:22 +0100 fs r266080 : doc
2009-01-09 13:14:14 +0100 fs r266077 : #i97377# SetModified when order is changed via DnD
2009-01-07 09:55:40 +0100 oj r265951 : merge from master
2009-01-07 09:55:24 +0100 oj r265950 : removed observer
2009-01-07 09:55:06 +0100 oj r265949 : merge from master
2009-01-07 07:29:11 +0100 oj r265945 : shadow var changed
2009-01-06 07:25:57 +0100 oj r265893 : CWS-TOOLING: rebase CWS dba32a to trunk@265758 (milestone: DEV300:m38)
2009-01-05 13:18:22 +0100 oj r265865 : convert to unix le
2009-01-05 09:13:52 +0100 lla r265857 : #i79423# lc_ sc_ permutation fix
2009-01-02 19:40:59 +0100 lla r265847 : #i79423# section shrink icons
2008-12-22 11:37:57 +0100 lla r265749 : #i97484# move component to negative Y-position
2008-12-22 11:37:05 +0100 lla r265748 : #i97484# move component to negative Y-position
2008-12-22 11:35:33 +0100 lla r265747 : #i97484# move component to negative Y-position
2008-12-22 11:25:07 +0100 lla r265745 : #i96757# changes via property browser was not undoable
2008-12-18 15:10:38 +0100 fs r265694 : corrected an condition in doFormListening, which otherwise leads to uncommitable grid columns in documents which are loaded from disc (not in documents which are newly created)
2008-12-18 14:54:39 +0100 fs r265692 : Hide Columns text slightly changed
2008-12-18 13:44:15 +0100 fs r265683 : #i94068# properly display erros happening during a form operation - at least once, and at most once
2008-12-18 11:28:29 +0100 fs r265677 : document the new InputRequired property
2008-12-18 11:04:15 +0100 fs r265676 : #i96530# createControlLabelPair: don't actually create a label for a checkbox
2008-12-18 10:35:53 +0100 fs r265674 : #i95226# when a column is replaced, and it's the selected column, update the selection
2008-12-18 10:34:42 +0100 fs r265673 : #i95226# refactoring of the implReplaced method
2008-12-18 10:34:28 +0100 fs r265672 : #i95226# when replacing a grid column, update the property browser
2008-12-18 10:33:17 +0100 fs r265671 : when an element is removed, remove it from m_aCurrentSelection, too (if necessary)
2008-12-18 10:31:57 +0100 fs r265670 : Hide Columns text slightly changed
2008-12-18 10:15:56 +0100 lla r265669 : #i14538# do not allow to press finish button twice
2008-12-18 08:56:33 +0100 lla r265665 : #i10000# build depend=t problem hacked.
2008-12-17 20:59:10 +0100 fs r265656 : #i89821# don't let a MultiLineEdit select all text when it receives the focus
2008-12-17 12:10:54 +0100 fs r265594 : #i97356#
2008-12-17 12:06:29 +0100 fs r265593 : #i97355# Print -> Printable
2008-12-17 11:59:31 +0100 fs r265591 : #i97350# combo boxes comment on list selection (as list boxes already do)
2008-12-16 09:53:57 +0100 lla r265527 : #i96526# handling none existance default.otr
2008-12-15 14:48:39 +0100 lla r265500 : #i79423# reparing, was wrong implemented
2008-12-12 15:08:33 +0100 lla r265424 : #i10000# remove wrong carridge returns
2008-12-12 15:07:55 +0100 lla r265423 : #i10000# remove wrong carridge returns
2008-12-12 15:06:41 +0100 lla r265422 : #i10000# remove wrong carridge returns
2008-12-12 10:23:13 +0100 lla r265395 : #i95234# reset DragDelta
2008-12-12 10:11:02 +0100 lla r265393 : #i79423# pre versions of shrink buttons
2008-12-11 15:32:13 +0100 fs r265318 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:30:06 +0100 fs r265316 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:07:05 +0100 fs r265307 : removed superfluous text
2008-12-11 12:29:54 +0100 lla r265282 : #i96757# cleanup second try
2008-12-11 12:09:15 +0100 lla r265278 : #i96757# cleanup
2008-12-11 12:07:56 +0100 lla r265277 : #i95234#
2008-12-10 14:04:39 +0100 lla r265183 : #i93472# D&D fixes
2008-12-10 12:29:33 +0100 lla r265168 : #i94067# add (APP|SYS)FONT to XUnitConversion
2008-12-10 12:15:02 +0100 lla r265166 : #i94067# add APPFONT, SYSFONT to MeasureUnit
2008-12-10 11:52:10 +0100 lla r265163 : #i94067# add comments
2008-12-06 20:33:05 +0100 fs r264935 : #i10000# precompiled header
2008-12-05 09:29:26 +0100 fs r264889 : #i10000#
2008-12-05 09:07:31 +0100 fs r264888 : #i10000#
2008-12-04 13:25:46 +0100 fs r264838 : CWS-TOOLING: rebase CWS dba32a to trunk@264807 (milestone: DEV300:m37)
2008-12-03 23:49:13 +0100 fs r264808 : merge changes from trunk, to be able to do a rebase
2008-12-03 17:13:09 +0100 lla r264801 : #i91041# update documentation
2008-12-03 16:57:04 +0100 lla r264799 : #i94067# allow convert(Point|Size)ToLogic as pixel also
2008-12-02 12:36:32 +0100 lla r264687 : #i96782# bring toolbar objects to menu structure
2008-12-02 10:32:44 +0100 lla r264667 : #i86255# make property work
2008-12-02 09:22:47 +0100 lla r264659 : #i79423# add section shrink toolbar
2008-12-02 07:41:22 +0100 lla r264657 : #i86255# add check box for Escape DateTime property
2008-12-02 07:37:17 +0100 lla r264656 : #i79423# new shrink buttons
2008-11-26 11:55:28 +0100 fs r264362 : #i96541#
FillPropertySet: do not only catch UnknownPropertyException when setting the Char/ParaAutoStyleName,
but also care for the other exceptions which can be thrown by XPropertySet::setPropertyValue.
This is actually not the real fix for #i96541#, but only a follow-up. The root cause of the issue
was fixed in CWS dba301b, but this here was another (potential) bug which popped up during investigations.
2008-11-25 09:04:40 +0100 lla r264273 : #i82083# new toolbox in GroupsSorting dialog
2008-11-25 08:56:08 +0100 lla r264272 : #i94729# change token strings into string list, move class out of function
2008-11-24 15:52:22 +0100 fs r264251 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:51:45 +0100 fs r264249 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:45:21 +0100 fs r264244 : #i96532# the API default for ParamNameSubst is false
2008-11-24 15:45:04 +0100 fs r264243 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:44:14 +0100 fs r264241 : #i96532# slight refactoring of exporting properties which have a XML default different from the API default
2008-11-24 10:50:01 +0100 lla r264216 : #i82083# icons for new toolbox
2008-11-24 09:38:45 +0100 lla r264205 : #i82083# new toolbox in GroupsSorting dialog
2008-11-24 09:32:20 +0100 lla r264201 : #i96501# cleanup assertions
2008-11-24 09:12:55 +0100 lla r264198 : #i83082# enhancement for toolboxes, better HC comfort
2008-11-24 08:46:43 +0100 lla r264197 : #i96501# fix problem with negative positions
2008-11-21 11:44:47 +0100 fs r264118 : #i57042# introduce a counter for suspending change notifications of a given property, so recursive calls are possible
2008-11-21 11:02:17 +0100 fs r264116 : #i96388# don't call ExecuteContextMenuAction when no action was chosen by the user
2008-11-21 10:36:53 +0100 fs r264114 : #i47384# assertion was wrong
2008-11-14 12:33:15 +0100 fs r263673 : #i47318# XRowSetChangeBroadcaster/Listener, to be able to listen for changes in an XRowSetSupplier's RowSet
2008-11-14 12:30:29 +0100 fs r263672 : #i47318# more refactoring
- BoundControlModels now listen at the XRowSetSupplier for changes in the supplied
RowSet, to properly revoke/register old/new listeners at the RowSet
- replaced ::osl::Mutex in various places with a ControlModelLock
2008-11-14 12:20:55 +0100 fs r263671 : when BUILD_TYPE includes QADEVOOO, the BUILD_QADEVOOO needs to bet set, too
2008-11-14 12:19:21 +0100 fs r263670 : oops, this was not intended to be committed
2008-11-12 11:08:10 +0100 fs r263579 : #i96096# new ctors taking UNO_QUERY_THROW
2008-11-12 09:15:54 +0100 fs r263576 : no need to load the complete dialog just to get a string which the dialog itself loads from resource
2008-11-10 17:55:45 +0100 fs r263535 : spelling in comment
2008-11-10 15:51:14 +0100 fs r263523 : #i47318# various refactorings
1. don't forward syntetic XLoadListener events from the grid control to
the grid columns. Instead, forward GridColumn::XChild::setParent to
the base class, which then can add itself as load listener
2. removed various occurances of XMultiServiceFactory, instead use the
::comphelper::ComponentContext
3. in O(Bound)ControlModel, have a mechanism to lock the instance (using
ControlModelLock) and fire property changes when the last lock dies.
2008-11-10 12:49:24 +0100 oj r263513 : #i94729# change token strings into string list
2008-11-10 12:13:15 +0100 oj r263512 : #i95222# export chart:title style as well
2008-11-10 08:55:25 +0100 oj r263507 : #i93471# show the correct tabpage when selecting a different object
2008-11-07 23:38:29 +0100 fs r263490 : #i95977# for the event input controls, add a component extending their functionality so they're reset when the users presses DEL
2008-11-07 23:35:39 +0100 fs r263489 : during #i95977#: When a VCL Window is deleted from within VCL code, the respective WindowPeer was never disposed. Corrected this.
2008-11-07 14:57:07 +0100 fs r263420 : #i95963# human-readable display names for event bindings
2008-11-06 10:34:52 +0100 fs r263366 : #i95865# don't use library names containing InvalidZipEntryFileNames - workaround until i95409 is fixed
2008-11-06 10:33:28 +0100 fs r263365 : #i95865#
copied the following change from CWS odfmetadata2 (not yet integrated) into CWS dba31d
- comphelper/inc/comphelper/storagehelper.hxx,
comphelper/source/misc/storagehelper.cxx:
+ add function IsValidZipEntryFileName (moved from module package)
2009-04-22 11:01:27 +00:00
OSQLWarningBox ( this , sErrorMessage ) . Execute ( ) ;
2006-11-06 13:42:51 +00:00
return sal_True ;
}
2002-08-30 10:14:45 +00:00
2006-11-06 13:42:51 +00:00
// we got a valid select column
// find what type of column has be inserted
: : connectivity : : OSQLParseNode * pSelection = pParseNode - > getChild ( 2 ) ;
if ( SQL_ISRULE ( pSelection , selection ) ) // we found the asterix
{
_pEntry - > SetField ( _sFieldName ) ;
clearEntryFunctionField ( _sFieldName , _pEntry , _bListAction , _pEntry - > GetColumnId ( ) ) ;
} // travel through the select column parse node
else
{
: : comphelper : : UStringMixEqual bCase ( xMetaData - > supportsMixedCaseQuotedIdentifiers ( ) ) ;
OTableFieldDescRef aSelEntry = _pEntry ;
USHORT nColumnId = aSelEntry - > GetColumnId ( ) ;
sal_uInt32 nCount = pSelection - > count ( ) ;
for ( sal_uInt32 i = 0 ; i < nCount ; + + i )
{
if ( i > 0 ) // may we have to append more than one field
2002-08-30 10:14:45 +00:00
{
2006-11-06 13:42:51 +00:00
USHORT nColumnPostion ;
aSelEntry = FindFirstFreeCol ( nColumnPostion ) ;
if ( ! aSelEntry . isValid ( ) )
2002-08-30 10:14:45 +00:00
{
2006-11-06 13:42:51 +00:00
AppendNewCol ( 1 ) ;
2002-08-30 10:14:45 +00:00
aSelEntry = FindFirstFreeCol ( nColumnPostion ) ;
}
2006-11-06 13:42:51 +00:00
+ + nColumnPostion ;
nColumnId = GetColumnId ( nColumnPostion ) ;
}
2002-08-30 10:14:45 +00:00
2006-11-06 13:42:51 +00:00
: : connectivity : : OSQLParseNode * pChild = pSelection - > getChild ( i ) ;
OSL_ENSURE ( SQL_ISRULE ( pChild , derived_column ) , " No derived column found! " ) ;
// get the column alias
: : rtl : : OUString sColumnAlias = OSQLParseTreeIterator : : getColumnAlias ( pChild ) ;
if ( sColumnAlias . getLength ( ) ) // we found an as clause
{
String aSelectionAlias = aSelEntry - > GetFieldAlias ( ) ;
aSelEntry - > SetFieldAlias ( sColumnAlias ) ;
// append undo
appendUndoAction ( aSelectionAlias , aSelEntry - > GetFieldAlias ( ) , BROW_COLUMNALIAS_ROW , _bListAction ) ;
if ( m_bVisibleRow [ BROW_COLUMNALIAS_ROW ] )
RowModified ( GetBrowseRow ( BROW_COLUMNALIAS_ROW ) , nColumnId ) ;
}
2002-08-30 10:14:45 +00:00
2006-11-06 13:42:51 +00:00
: : connectivity : : OSQLParseNode * pColumnRef = pChild - > getChild ( 0 ) ;
if (
pColumnRef - > count ( ) = = 3 & &
SQL_ISPUNCTUATION ( pColumnRef - > getChild ( 0 ) , " ( " ) & &
SQL_ISPUNCTUATION ( pColumnRef - > getChild ( 2 ) , " ) " )
)
pColumnRef = pColumnRef - > getChild ( 1 ) ;
2004-10-22 08:07:06 +00:00
2006-11-06 13:42:51 +00:00
if ( SQL_ISRULE ( pColumnRef , column_ref ) ) // we found a valid column name or more column names
{
// look if we can find the corresponding table
2006-12-13 15:53:47 +00:00
bError = fillColumnRef ( pColumnRef , xConnection , aSelEntry , _bListAction ) ;
2002-08-30 10:14:45 +00:00
2006-11-06 13:42:51 +00:00
// we found a simple column so we must clear the function fields but only when the column name is '*'
// and the function is different to count
clearEntryFunctionField ( _sFieldName , aSelEntry , _bListAction , nColumnId ) ;
}
else
{
// first check if we have a aggregate function and only a function
if ( SQL_ISRULE ( pColumnRef , general_set_fct ) )
2002-08-30 10:14:45 +00:00
{
2006-11-06 13:42:51 +00:00
String sLocalizedFunctionName ;
if ( GetFunctionName ( pColumnRef - > getChild ( 0 ) - > getTokenID ( ) , sLocalizedFunctionName ) )
2002-08-30 10:14:45 +00:00
{
2006-11-06 13:42:51 +00:00
String sOldLocalizedFunctionName = aSelEntry - > GetFunction ( ) ;
aSelEntry - > SetFunction ( sLocalizedFunctionName ) ;
sal_uInt32 nFunCount = pColumnRef - > count ( ) - 1 ;
sal_Int32 nFunctionType = FKT_AGGREGATE ;
sal_Bool bQuote = sal_False ;
// may be there exists only one parameter which is a column, fill all information into our fields
if ( nFunCount = = 4 & & SQL_ISRULE ( pColumnRef - > getChild ( 3 ) , column_ref ) )
2006-12-13 15:53:47 +00:00
bError = fillColumnRef ( pColumnRef - > getChild ( 3 ) , xConnection , aSelEntry , _bListAction ) ;
2006-11-06 13:42:51 +00:00
else if ( nFunCount = = 3 ) // we have a COUNT(*) here, so take the first table
2006-12-13 15:53:47 +00:00
bError = fillColumnRef ( : : rtl : : OUString ( RTL_CONSTASCII_USTRINGPARAM ( " * " ) ) , : : rtl : : OUString ( ) , xMetaData , aSelEntry , _bListAction ) ;
2006-11-06 13:42:51 +00:00
else
2002-08-30 10:14:45 +00:00
{
2006-11-06 13:42:51 +00:00
nFunctionType | = FKT_NUMERIC ;
bQuote = sal_True ;
aSelEntry - > SetDataType ( DataType : : DOUBLE ) ;
aSelEntry - > SetFieldType ( TAB_NORMAL_FIELD ) ;
2002-08-30 10:14:45 +00:00
}
2006-11-06 13:42:51 +00:00
// now parse the parameters
: : rtl : : OUString sParameters ;
for ( sal_uInt32 function = 2 ; function < nFunCount ; + + function ) // we only want to parse the parameters of the function
2006-12-13 15:53:47 +00:00
pColumnRef - > getChild ( function ) - > parseNodeToStr ( sParameters , xConnection , & rParser . getContext ( ) , sal_True , bQuote ) ;
2006-11-06 13:42:51 +00:00
aSelEntry - > SetFunctionType ( nFunctionType ) ;
aSelEntry - > SetField ( sParameters ) ;
if ( aSelEntry - > IsGroupBy ( ) )
{
sOldLocalizedFunctionName = m_aFunctionStrings . GetToken ( m_aFunctionStrings . GetTokenCount ( ) - 1 ) ;
aSelEntry - > SetGroupBy ( sal_False ) ;
}
// append undo action
notifyFunctionFieldChanged ( sOldLocalizedFunctionName , sLocalizedFunctionName , _bListAction , nColumnId ) ;
2002-08-30 10:14:45 +00:00
}
2006-11-06 13:42:51 +00:00
else
OSL_ENSURE ( 0 , " Unsupported function inserted! " ) ;
}
else if ( SQL_ISRULEOR2 ( pColumnRef , position_exp , extract_exp ) | |
SQL_ISRULEOR2 ( pColumnRef , fold , char_substring_fct ) | |
SQL_ISRULEOR2 ( pColumnRef , length_exp , char_value_fct ) )
// a calculation has been found ( can be calc and function )
{
// append the whole text as field name
// so we first clear the function field
clearEntryFunctionField ( _sFieldName , aSelEntry , _bListAction , nColumnId ) ;
sal_Bool bQuote = sal_True ;
sal_Int32 nDataType = DataType : : DOUBLE ;
OSQLParseNode * pFunctionName = pColumnRef - > getChild ( 0 ) ;
if ( ! SQL_ISPUNCTUATION ( pFunctionName , " { " ) )
2002-08-30 10:14:45 +00:00
{
2006-11-06 13:42:51 +00:00
if ( SQL_ISRULEOR2 ( pColumnRef , length_exp , char_value_fct ) )
pFunctionName = pFunctionName - > getChild ( 0 ) ;
if ( pFunctionName )
2003-03-19 16:57:12 +00:00
{
2006-11-06 13:42:51 +00:00
: : rtl : : OUString sFunctionName = pFunctionName - > getTokenValue ( ) ;
if ( ! sFunctionName . getLength ( ) )
sFunctionName = : : rtl : : OStringToOUString ( OSQLParser : : TokenIDToStr ( pFunctionName - > getTokenID ( ) ) , RTL_TEXTENCODING_MS_1252 ) ;
nDataType = OSQLParser : : getFunctionReturnType (
sFunctionName
2008-06-25 11:54:03 +00:00
, & rController . getParser ( ) . getContext ( ) ) ;
2006-11-06 13:42:51 +00:00
aSelEntry - > SetDataType ( nDataType ) ;
2003-03-19 16:57:12 +00:00
}
2006-11-06 13:42:51 +00:00
}
2002-08-30 10:14:45 +00:00
2003-09-04 07:33:47 +00:00
2006-11-06 13:42:51 +00:00
// now parse the whole statement
sal_uInt32 nFunCount = pColumnRef - > count ( ) ;
: : rtl : : OUString sParameters ;
for ( sal_uInt32 function = 0 ; function < nFunCount ; + + function )
2006-12-13 15:53:47 +00:00
pColumnRef - > getChild ( function ) - > parseNodeToStr ( sParameters , xConnection , & rParser . getContext ( ) , sal_True , bQuote ) ;
2002-08-30 10:14:45 +00:00
2006-11-06 13:42:51 +00:00
: : rtl : : OUString aSelectionAlias = aSelEntry - > GetAlias ( ) ;
aSelEntry - > SetAlias ( : : rtl : : OUString ( ) ) ;
2002-08-30 10:14:45 +00:00
2006-11-06 13:42:51 +00:00
sal_Int32 nNewFunctionType = aSelEntry - > GetFunctionType ( ) | FKT_NUMERIC | FKT_OTHER ;
aSelEntry - > SetFunctionType ( nNewFunctionType ) ;
2002-08-30 10:14:45 +00:00
2003-03-19 16:57:12 +00:00
2006-11-06 13:42:51 +00:00
aSelEntry - > SetFieldType ( TAB_NORMAL_FIELD ) ;
2003-03-19 16:57:12 +00:00
2006-11-06 13:42:51 +00:00
aSelEntry - > SetTabWindow ( NULL ) ;
2003-03-19 16:57:12 +00:00
2006-11-06 13:42:51 +00:00
aSelEntry - > SetField ( sParameters ) ;
notifyTableFieldChanged ( aSelectionAlias , aSelEntry - > GetAlias ( ) , _bListAction , nColumnId ) ;
2002-08-30 10:14:45 +00:00
}
2006-11-06 13:42:51 +00:00
else
{
clearEntryFunctionField ( _sFieldName , aSelEntry , _bListAction , nColumnId ) ;
: : rtl : : OUString aColumns ;
pColumnRef - > parseNodeToStr ( aColumns ,
2006-12-13 15:53:47 +00:00
xConnection ,
2008-06-25 11:54:03 +00:00
& rController . getParser ( ) . getContext ( ) ,
2006-11-06 13:42:51 +00:00
sal_True ,
sal_True ) ;
// get the type out of the funtion name
sal_Int32 nDataType = DataType : : DOUBLE ;
aSelEntry - > SetDataType ( nDataType ) ;
aSelEntry - > SetField ( aColumns ) ;
aSelEntry - > SetFieldType ( TAB_NORMAL_FIELD ) ;
aSelEntry - > SetTabWindow ( NULL ) ;
aSelEntry - > SetAlias ( : : rtl : : OUString ( ) ) ;
aSelEntry - > SetFieldAlias ( sColumnAlias ) ;
aSelEntry - > SetFunctionType ( FKT_NUMERIC | FKT_OTHER ) ;
notifyTableFieldChanged ( sOldAlias , aSelEntry - > GetAlias ( ) , _bListAction , nColumnId ) ;
2002-08-30 10:14:45 +00:00
}
}
2006-11-06 13:42:51 +00:00
if ( i > 0 & & InsertField ( aSelEntry , BROWSER_INVALIDID , sal_True , sal_False ) . isEmpty ( ) ) // may we have to append more than one field
{ // the field could not be isnerted
String sErrorMessage ( ModuleRes ( RID_STR_FIELD_DOESNT_EXIST ) ) ;
sErrorMessage . SearchAndReplaceAscii ( " $name$ " , aSelEntry - > GetField ( ) ) ;
CWS-TOOLING: integrate CWS dba32a
2009-04-16 13:08:19 +0200 oj r270882 : #i14538# set property at control
2009-04-16 13:04:28 +0200 oj r270881 : #i98557# remove binary string for SRB
2009-04-15 13:19:10 +0200 oj r270838 : #i96782# use type set at view
2009-04-14 14:53:20 +0200 oj r270778 : #i96782# set initialize size for custom shape
2009-04-06 14:19:14 +0200 oj r270546 : #i88432# correct pos when < 0 while resizing
2009-04-06 13:36:13 +0200 oj r270541 : #i96782# handle toolbar and menubar differently
2009-04-06 13:33:54 +0200 oj r270540 : #i96782# handle toolbar and menubar differently
2009-04-06 12:28:23 +0200 oj r270534 : #i96782# handle toolbar and menubar differently
2009-04-06 12:27:44 +0200 oj r270533 : #i96782# handle toolbar and menubar differently
2009-04-06 12:24:32 +0200 oj r270532 : #i96782# handle toolbar and menubar differently
2009-04-06 12:15:15 +0200 oj r270531 : do not initialze when field is empty
2009-04-06 10:06:08 +0200 oj r270528 : #i96782# clean up of menubar and remove duplicates
2009-04-06 09:47:49 +0200 oj r270527 : #i96519# adjust help text dynamic
2009-04-03 13:43:20 +0200 oj r270482 : do not need to remove section from observer they are already disposed
2009-04-03 13:27:28 +0200 fs r270479 : #i97356#
2009-04-02 11:30:39 +0200 fs r270386 : UNX line ends
2009-04-02 10:54:51 +0200 fs r270379 : UNX line ends
2009-04-02 10:39:57 +0200 fs r270378 : UNX line ends
2009-04-02 10:37:24 +0200 fs r270377 : why did this survive the rebase? was removed on trunk ...
2009-03-31 13:31:12 +0200 fs r270277 : component_foo should be public
2009-03-28 00:21:01 +0100 fs r270176 : manuallly merged the changes which happened in CWS before resync to m45, where the directory had been moved from reportdesign/registry to reportbuilder/registry
2009-03-27 23:01:20 +0100 fs r270174 : CWS-TOOLING: rebase CWS dba32a to trunk@270033 (milestone: DEV300:m45)
2009-03-11 12:23:35 +0100 fs r269310 : #i99958# ensure the ControlModelLock doesn't release twice
2009-03-06 09:07:32 +0100 fs r268970 : ignore output paths in SVN's status
2009-03-06 09:07:08 +0100 fs r268969 : ignore output paths in SVN's status
2009-03-04 11:28:02 +0100 oj r268800 : copy and paste error, check correct end now
2009-03-03 15:49:11 +0100 fs r268736 : #i10000# those merges were lost during the rebase (m38->m42)
2009-03-03 13:25:27 +0100 lla r268720 : #i99652# fix wrong refactoring
2009-02-27 11:12:56 +0100 fs r268566 : beautified
2009-02-27 10:53:47 +0100 fs r268561 : doFormListening(false) only when actually isFormListening() (found during complex test case XMLFormSettings with assertions)
2009-02-26 20:55:31 +0100 fs r268546 : #i96530# set the Label property of the bound control, if we didn't create a dedicated label control
2009-02-26 11:53:09 +0100 fs r268494 : #i10000#
2009-02-26 11:27:50 +0100 fs r268493 : #i10000#
2009-02-26 11:17:08 +0100 fs r268490 : reportdesign depends on REPORTBUILDER, not REPORTDESIGN
2009-02-25 11:39:48 +0100 fs r268422 : #i10000# post-resync: INFO_ESCAPE_DATETIME got lost during rebase
2009-02-24 23:24:10 +0100 fs r268411 : CWS-TOOLING: rebase CWS dba32a to trunk@268395 (milestone: DEV300:m42)
2009-02-20 15:09:48 +0100 fs r268324 : respect ImplicitCatalog/SchemaRestriction in all necessary places
2009-02-20 13:48:10 +0100 oj r268318 : order of initialize corrected
2009-02-14 15:07:52 +0100 fs r267759 : #i98975# when an image does not have a bitmap, but a text, draw this (as placeholder)
2009-02-14 15:02:40 +0100 fs r267758 : consolidated and removed some duplicate code
2009-02-14 13:52:23 +0100 fs r267756 : #i10000#
2009-02-13 22:08:34 +0100 fs r267750 : #i100000#
2009-02-13 22:07:25 +0100 fs r267749 : #i10000#
2009-02-13 21:55:36 +0100 fs r267747 : #i10000#
2009-02-13 21:54:27 +0100 fs r267746 : use const_cast
2009-02-13 21:29:10 +0100 fs r267745 : #i10000#
2009-02-13 21:27:39 +0100 fs r267744 : #i10000#
2009-02-13 20:59:13 +0100 fs r267742 : #i10000#
2009-02-13 13:21:30 +0100 fs r267717 : better diagnostics
2009-02-13 13:17:24 +0100 fs r267715 : #i58313# support Catalog/SchemaRestriction settings, which are applied in getTables when 'all catalogs/schemas' are to be retrieved
2009-02-13 13:16:14 +0100 fs r267714 : filter out some more known global settings
2009-02-13 12:39:43 +0100 fs r267713 : #i58313# ImplicitCatalog/SchemaRestriction
2009-02-13 12:36:50 +0100 fs r267712 : when exporting data source settings, allow for properties which have a VOID default value, but are currently not VOID
2009-02-13 12:35:57 +0100 fs r267711 : implement XSet, to allow inserting properties which have a default value of VOID
2009-02-13 12:35:03 +0100 fs r267710 : +addVoidProperty
2009-02-13 10:20:08 +0100 fs r267697 : removed unused variable
2009-02-13 09:46:46 +0100 fs r267695 : refactored the table filtering code, to have a better base for introducing additional low level filters
2009-02-10 09:23:07 +0100 lla r267537 : #i10000# wrong line feed, double named variable
2009-02-09 12:13:08 +0100 oj r267508 : #i98605# notify hanlder
2009-02-09 11:50:34 +0100 oj r267507 : #i98926# solve refcount problem
2009-02-09 11:50:05 +0100 oj r267506 : #i98971# fix for simple html
2009-02-09 11:49:24 +0100 oj r267505 : #i98971# fix for simple html
2009-02-09 11:47:27 +0100 oj r267504 : invoke on copy
2009-02-09 09:51:00 +0100 fs r267500 : #i98316#
2009-02-09 09:46:10 +0100 fs r267499 : setCurrentSelection: don't reset the current form when we de-select everything
2009-02-09 09:43:45 +0100 fs r267498 : #i98316#
2009-02-08 21:25:18 +0100 fs r267496 : #i98272# introduce late ctor for cloning
2009-02-07 21:08:39 +0100 fs r267485 : #i98272# when copy-constructing a FmFormPageImpl, use the XCloneable of the forms collection, instead of XPersistObject (which is incompletely implemented)
2009-02-07 21:07:26 +0100 fs r267484 : removed obsolete include guards
2009-02-07 21:05:22 +0100 fs r267483 : #i98272# implement XCloneable
2009-02-06 15:02:48 +0100 lla r267467 : #i96523# add XImageControl
2009-02-06 14:41:38 +0100 oj r267463 : #i98926# late init when connection disposed but only when asked for
2009-02-06 13:49:57 +0100 lla r267457 : #i92860# bigint in forms doesn't allow input of values > 1, fixed
2009-02-06 13:03:55 +0100 oj r267455 : ImageScaleMode
2009-02-05 14:48:19 +0100 lla r267424 : #i89335# dropdown listboxes are 14 instead of 7 lines high
2009-02-05 13:40:00 +0100 oj r267423 : #i96945# insert new prop Opaque
2009-02-05 13:39:19 +0100 oj r267422 : #i96945# insert layer handling for hell and heaven
2009-02-05 13:29:32 +0100 lla r267420 : #i89335# add is null, is not null, is not like filter condition
2009-02-04 12:23:02 +0100 oj r267364 : #i98821# load table font settings
2009-02-04 10:05:27 +0100 oj r267351 : #i98821# load table font settings
2009-02-04 09:23:22 +0100 fs r267350 : checking persistency of UI settings in database documents - for the moment, capture table formattings (which is issue 98821)
2009-02-04 09:22:15 +0100 fs r267349 : moved some methods which are of wider interest from DatabaseDocument to FileHelper resp. TestCase
2009-02-04 08:56:27 +0100 oj r267347 : #i97586# UcbStreamHelper::CreateStream doesn't check all streamModes use different method
2009-02-04 08:23:26 +0100 oj r267346 : #i98701# check key size is >= 3 and some redesign
2009-02-03 23:29:24 +0100 fs r267345 : return the component (controller), not the frame
2009-02-03 23:28:53 +0100 fs r267344 : openExisting returns a controller now, not the frame (this was a bug)
2009-02-03 23:28:25 +0100 fs r267343 : openElement: properly return the component in the table/query case
2009-02-02 12:48:17 +0100 oj r267261 : #i96013# fix for relative path
2009-02-02 10:33:28 +0100 lla r267253 : #i98557# cleanups and consolidation
2009-02-02 09:37:23 +0100 lla r267250 : #i88432# resize will no longer move components to other sections
2009-02-02 09:08:24 +0100 oj r267245 : #i97475# write 0x1A at the end of the file
2009-01-30 19:39:20 +0100 lla r267230 : #i10000# unused parameters
2009-01-30 09:51:09 +0100 fs r267181 : onsolete
2009-01-30 09:49:27 +0100 fs r267180 : onsolete
2009-01-29 14:28:22 +0100 oj r267139 : #i96825# import cell style
2009-01-29 14:23:12 +0100 oj r267137 : #i98601# export imagescalehandler
2009-01-29 14:19:57 +0100 lla r267135 : #i98601# add ImageScaleMode
2009-01-29 13:21:08 +0100 oj r267124 : #i98601# impl ScaleMode
2009-01-29 13:20:56 +0100 oj r267123 : #i98601# impl ScaleMode
2009-01-29 08:46:40 +0100 oj r267095 : new property: ScaleMode
2009-01-29 08:45:23 +0100 oj r267094 : new ScaleMode from UnControlImageModel
2009-01-29 08:28:12 +0100 oj r267093 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 19:54:34 +0100 lla r267082 : #i98557# pictures in report wizard
2009-01-28 15:06:25 +0100 oj r267060 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 11:38:41 +0100 lla r267046 : #i76783# handle binary fields in forms
2009-01-28 09:24:43 +0100 lla r267025 : #i10000#
2009-01-28 08:40:04 +0100 fs r267024 : #i10000#
2009-01-28 08:04:43 +0100 oj r267023 : #i93456# use resource strings for function names
2009-01-27 13:26:05 +0100 oj r266988 : check data field is type field or expression
2009-01-27 13:07:17 +0100 oj r266985 : check data field length
2009-01-27 11:48:19 +0100 oj r266974 : #i96823# return dll string as column name when no alias exists
2009-01-27 09:53:11 +0100 fs r266958 : display the message of a caught exception
2009-01-27 09:44:13 +0100 fs r266957 : #i58313# when retrieving all tables, just set an empty table type filter - the connection will care for translating this, by respecting the TableTypeFilterMode setting
2009-01-27 09:36:09 +0100 fs r266956 : #i58313# getTables: per JDBC spec, is not a valid table type filter. Translate it to 'null'.
2009-01-26 11:24:49 +0100 lla r266912 : #i97865# cleanups (AddField viewable in remote mode)
2009-01-26 07:49:27 +0100 lla r266897 : #i97865# AddField opens in remote case
2009-01-26 07:48:58 +0100 lla r266896 : #i97865# AddField opens in remote case
2009-01-26 07:48:42 +0100 lla r266895 : #i97865# AddField opens in remote case
2009-01-23 15:04:40 +0100 fs r266825 : consolidate the usage of OSQLMessageBox with MessageType==Warning into OSQLWarningBox
2009-01-23 10:47:33 +0100 fs r266787 : +supportsUserAdministration
2009-01-23 10:47:11 +0100 fs r266784 : use DatabaseMetaData.supportsUserAdministration
2009-01-23 07:55:59 +0100 lla r266767 : #i10000# fix gcc compiler failures
2009-01-21 15:08:55 +0100 lla r266673 : #i97265# Labels in HC (IsDark) with other color (viewable)
2009-01-19 14:58:54 +0100 lla r266504 : #i96523# last problems with FormatKey and '0' values fixed
2009-01-19 14:58:00 +0100 lla r266503 : #i96519# AddField help text
2009-01-19 11:59:02 +0100 fs r266485 : #i96523# for formatted field models, init them with TreatAsNumber = false
2009-01-16 10:31:49 +0100 lla r266405 : #i96793# add shrink to popup menu
2009-01-16 09:21:44 +0100 lla r266401 : #i96519# AddField contains a help text
2009-01-15 11:21:49 +0100 lla r266357 : #i96523# problem with XVclWindowPeer not fixed now
2009-01-15 09:19:20 +0100 lla r266335 : #i96523# more crashes fixed.
2009-01-14 13:08:34 +0100 lla r266291 : #i96523# problems with crashes fixed
2009-01-13 10:54:24 +0100 lla r266199 : #i96523# show datasource in formattedfields new files
2009-01-13 10:52:39 +0100 lla r266198 : #i96523# show datasource in formattedfields
2009-01-13 09:41:50 +0100 lla r266197 : #i96526# handling none existance default.otr
2009-01-12 12:55:49 +0100 fs r266151 : don't expect the control model to be a BoundComponent before adding as modify listener
2009-01-12 12:51:33 +0100 fs r266149 : #i88458# let the ImageControl be an XModifyBroadcaster, so the forms runtime can notice when the user changes the control content while it does not have the focus
2009-01-09 13:41:22 +0100 fs r266080 : doc
2009-01-09 13:14:14 +0100 fs r266077 : #i97377# SetModified when order is changed via DnD
2009-01-07 09:55:40 +0100 oj r265951 : merge from master
2009-01-07 09:55:24 +0100 oj r265950 : removed observer
2009-01-07 09:55:06 +0100 oj r265949 : merge from master
2009-01-07 07:29:11 +0100 oj r265945 : shadow var changed
2009-01-06 07:25:57 +0100 oj r265893 : CWS-TOOLING: rebase CWS dba32a to trunk@265758 (milestone: DEV300:m38)
2009-01-05 13:18:22 +0100 oj r265865 : convert to unix le
2009-01-05 09:13:52 +0100 lla r265857 : #i79423# lc_ sc_ permutation fix
2009-01-02 19:40:59 +0100 lla r265847 : #i79423# section shrink icons
2008-12-22 11:37:57 +0100 lla r265749 : #i97484# move component to negative Y-position
2008-12-22 11:37:05 +0100 lla r265748 : #i97484# move component to negative Y-position
2008-12-22 11:35:33 +0100 lla r265747 : #i97484# move component to negative Y-position
2008-12-22 11:25:07 +0100 lla r265745 : #i96757# changes via property browser was not undoable
2008-12-18 15:10:38 +0100 fs r265694 : corrected an condition in doFormListening, which otherwise leads to uncommitable grid columns in documents which are loaded from disc (not in documents which are newly created)
2008-12-18 14:54:39 +0100 fs r265692 : Hide Columns text slightly changed
2008-12-18 13:44:15 +0100 fs r265683 : #i94068# properly display erros happening during a form operation - at least once, and at most once
2008-12-18 11:28:29 +0100 fs r265677 : document the new InputRequired property
2008-12-18 11:04:15 +0100 fs r265676 : #i96530# createControlLabelPair: don't actually create a label for a checkbox
2008-12-18 10:35:53 +0100 fs r265674 : #i95226# when a column is replaced, and it's the selected column, update the selection
2008-12-18 10:34:42 +0100 fs r265673 : #i95226# refactoring of the implReplaced method
2008-12-18 10:34:28 +0100 fs r265672 : #i95226# when replacing a grid column, update the property browser
2008-12-18 10:33:17 +0100 fs r265671 : when an element is removed, remove it from m_aCurrentSelection, too (if necessary)
2008-12-18 10:31:57 +0100 fs r265670 : Hide Columns text slightly changed
2008-12-18 10:15:56 +0100 lla r265669 : #i14538# do not allow to press finish button twice
2008-12-18 08:56:33 +0100 lla r265665 : #i10000# build depend=t problem hacked.
2008-12-17 20:59:10 +0100 fs r265656 : #i89821# don't let a MultiLineEdit select all text when it receives the focus
2008-12-17 12:10:54 +0100 fs r265594 : #i97356#
2008-12-17 12:06:29 +0100 fs r265593 : #i97355# Print -> Printable
2008-12-17 11:59:31 +0100 fs r265591 : #i97350# combo boxes comment on list selection (as list boxes already do)
2008-12-16 09:53:57 +0100 lla r265527 : #i96526# handling none existance default.otr
2008-12-15 14:48:39 +0100 lla r265500 : #i79423# reparing, was wrong implemented
2008-12-12 15:08:33 +0100 lla r265424 : #i10000# remove wrong carridge returns
2008-12-12 15:07:55 +0100 lla r265423 : #i10000# remove wrong carridge returns
2008-12-12 15:06:41 +0100 lla r265422 : #i10000# remove wrong carridge returns
2008-12-12 10:23:13 +0100 lla r265395 : #i95234# reset DragDelta
2008-12-12 10:11:02 +0100 lla r265393 : #i79423# pre versions of shrink buttons
2008-12-11 15:32:13 +0100 fs r265318 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:30:06 +0100 fs r265316 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:07:05 +0100 fs r265307 : removed superfluous text
2008-12-11 12:29:54 +0100 lla r265282 : #i96757# cleanup second try
2008-12-11 12:09:15 +0100 lla r265278 : #i96757# cleanup
2008-12-11 12:07:56 +0100 lla r265277 : #i95234#
2008-12-10 14:04:39 +0100 lla r265183 : #i93472# D&D fixes
2008-12-10 12:29:33 +0100 lla r265168 : #i94067# add (APP|SYS)FONT to XUnitConversion
2008-12-10 12:15:02 +0100 lla r265166 : #i94067# add APPFONT, SYSFONT to MeasureUnit
2008-12-10 11:52:10 +0100 lla r265163 : #i94067# add comments
2008-12-06 20:33:05 +0100 fs r264935 : #i10000# precompiled header
2008-12-05 09:29:26 +0100 fs r264889 : #i10000#
2008-12-05 09:07:31 +0100 fs r264888 : #i10000#
2008-12-04 13:25:46 +0100 fs r264838 : CWS-TOOLING: rebase CWS dba32a to trunk@264807 (milestone: DEV300:m37)
2008-12-03 23:49:13 +0100 fs r264808 : merge changes from trunk, to be able to do a rebase
2008-12-03 17:13:09 +0100 lla r264801 : #i91041# update documentation
2008-12-03 16:57:04 +0100 lla r264799 : #i94067# allow convert(Point|Size)ToLogic as pixel also
2008-12-02 12:36:32 +0100 lla r264687 : #i96782# bring toolbar objects to menu structure
2008-12-02 10:32:44 +0100 lla r264667 : #i86255# make property work
2008-12-02 09:22:47 +0100 lla r264659 : #i79423# add section shrink toolbar
2008-12-02 07:41:22 +0100 lla r264657 : #i86255# add check box for Escape DateTime property
2008-12-02 07:37:17 +0100 lla r264656 : #i79423# new shrink buttons
2008-11-26 11:55:28 +0100 fs r264362 : #i96541#
FillPropertySet: do not only catch UnknownPropertyException when setting the Char/ParaAutoStyleName,
but also care for the other exceptions which can be thrown by XPropertySet::setPropertyValue.
This is actually not the real fix for #i96541#, but only a follow-up. The root cause of the issue
was fixed in CWS dba301b, but this here was another (potential) bug which popped up during investigations.
2008-11-25 09:04:40 +0100 lla r264273 : #i82083# new toolbox in GroupsSorting dialog
2008-11-25 08:56:08 +0100 lla r264272 : #i94729# change token strings into string list, move class out of function
2008-11-24 15:52:22 +0100 fs r264251 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:51:45 +0100 fs r264249 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:45:21 +0100 fs r264244 : #i96532# the API default for ParamNameSubst is false
2008-11-24 15:45:04 +0100 fs r264243 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:44:14 +0100 fs r264241 : #i96532# slight refactoring of exporting properties which have a XML default different from the API default
2008-11-24 10:50:01 +0100 lla r264216 : #i82083# icons for new toolbox
2008-11-24 09:38:45 +0100 lla r264205 : #i82083# new toolbox in GroupsSorting dialog
2008-11-24 09:32:20 +0100 lla r264201 : #i96501# cleanup assertions
2008-11-24 09:12:55 +0100 lla r264198 : #i83082# enhancement for toolboxes, better HC comfort
2008-11-24 08:46:43 +0100 lla r264197 : #i96501# fix problem with negative positions
2008-11-21 11:44:47 +0100 fs r264118 : #i57042# introduce a counter for suspending change notifications of a given property, so recursive calls are possible
2008-11-21 11:02:17 +0100 fs r264116 : #i96388# don't call ExecuteContextMenuAction when no action was chosen by the user
2008-11-21 10:36:53 +0100 fs r264114 : #i47384# assertion was wrong
2008-11-14 12:33:15 +0100 fs r263673 : #i47318# XRowSetChangeBroadcaster/Listener, to be able to listen for changes in an XRowSetSupplier's RowSet
2008-11-14 12:30:29 +0100 fs r263672 : #i47318# more refactoring
- BoundControlModels now listen at the XRowSetSupplier for changes in the supplied
RowSet, to properly revoke/register old/new listeners at the RowSet
- replaced ::osl::Mutex in various places with a ControlModelLock
2008-11-14 12:20:55 +0100 fs r263671 : when BUILD_TYPE includes QADEVOOO, the BUILD_QADEVOOO needs to bet set, too
2008-11-14 12:19:21 +0100 fs r263670 : oops, this was not intended to be committed
2008-11-12 11:08:10 +0100 fs r263579 : #i96096# new ctors taking UNO_QUERY_THROW
2008-11-12 09:15:54 +0100 fs r263576 : no need to load the complete dialog just to get a string which the dialog itself loads from resource
2008-11-10 17:55:45 +0100 fs r263535 : spelling in comment
2008-11-10 15:51:14 +0100 fs r263523 : #i47318# various refactorings
1. don't forward syntetic XLoadListener events from the grid control to
the grid columns. Instead, forward GridColumn::XChild::setParent to
the base class, which then can add itself as load listener
2. removed various occurances of XMultiServiceFactory, instead use the
::comphelper::ComponentContext
3. in O(Bound)ControlModel, have a mechanism to lock the instance (using
ControlModelLock) and fire property changes when the last lock dies.
2008-11-10 12:49:24 +0100 oj r263513 : #i94729# change token strings into string list
2008-11-10 12:13:15 +0100 oj r263512 : #i95222# export chart:title style as well
2008-11-10 08:55:25 +0100 oj r263507 : #i93471# show the correct tabpage when selecting a different object
2008-11-07 23:38:29 +0100 fs r263490 : #i95977# for the event input controls, add a component extending their functionality so they're reset when the users presses DEL
2008-11-07 23:35:39 +0100 fs r263489 : during #i95977#: When a VCL Window is deleted from within VCL code, the respective WindowPeer was never disposed. Corrected this.
2008-11-07 14:57:07 +0100 fs r263420 : #i95963# human-readable display names for event bindings
2008-11-06 10:34:52 +0100 fs r263366 : #i95865# don't use library names containing InvalidZipEntryFileNames - workaround until i95409 is fixed
2008-11-06 10:33:28 +0100 fs r263365 : #i95865#
copied the following change from CWS odfmetadata2 (not yet integrated) into CWS dba31d
- comphelper/inc/comphelper/storagehelper.hxx,
comphelper/source/misc/storagehelper.cxx:
+ add function IsValidZipEntryFileName (moved from module package)
2009-04-22 11:01:27 +00:00
OSQLWarningBox ( this , sErrorMessage ) . Execute ( ) ;
2006-11-06 13:42:51 +00:00
bError = sal_True ;
}
2001-02-05 08:26:47 +00:00
}
}
2006-11-06 13:42:51 +00:00
delete pParseNode ;
2001-02-05 08:26:47 +00:00
2002-08-30 10:14:45 +00:00
return bError ;
}
2001-02-05 08:26:47 +00:00
//------------------------------------------------------------------------------
sal_Bool OSelectionBrowseBox : : SaveModified ( )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2008-06-25 11:54:03 +00:00
OQueryController & rController = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) ;
2001-10-05 05:49:21 +00:00
OTableFieldDescRef pEntry = NULL ;
2006-06-20 02:27:27 +00:00
USHORT nCurrentColumnPos = GetColumnPos ( GetCurColumnId ( ) ) ;
if ( getFields ( ) . size ( ) > static_cast < USHORT > ( nCurrentColumnPos - 1 ) )
pEntry = getEntry ( nCurrentColumnPos - 1 ) ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
sal_Bool bWasEmpty = pEntry . isValid ( ) ? pEntry - > IsEmpty ( ) : sal_False ;
2001-04-18 10:44:59 +00:00
sal_Bool bError = sal_False ;
sal_Bool bListAction = sal_False ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
if ( pEntry . isValid ( ) & & Controller ( ) . Is ( ) & & Controller ( ) - > IsModified ( ) )
2001-02-05 08:26:47 +00:00
{
// fuer die Undo-Action
2001-04-18 10:44:59 +00:00
String strOldCellContents , sNewValue ;
2001-02-05 08:26:47 +00:00
long nRow = GetRealRow ( GetCurRow ( ) ) ;
2005-12-21 12:37:05 +00:00
sal_Bool bAppendRow = sal_False ;
2001-02-05 08:26:47 +00:00
switch ( nRow )
{
case BROW_VIS_ROW :
{
2006-10-12 12:43:07 +00:00
sal_Bool bOldValue = m_pVisibleCell - > GetBox ( ) . GetSavedValue ( ) ! = STATE_NOCHECK ;
2001-04-18 07:38:19 +00:00
strOldCellContents = bOldValue ? g_strOne : g_strZero ;
2001-04-18 10:44:59 +00:00
sNewValue = ! bOldValue ? g_strOne : g_strZero ;
}
if ( ( m_bOrderByUnRelated | | pEntry - > GetOrderDir ( ) = = ORDER_NONE ) & &
( m_bGroupByUnRelated | | ! pEntry - > IsGroupBy ( ) ) )
{
2001-02-05 08:26:47 +00:00
pEntry - > SetVisible ( m_pVisibleCell - > GetBox ( ) . IsChecked ( ) ) ;
}
else
{
pEntry - > SetVisible ( sal_True ) ;
m_pVisibleCell - > GetBox ( ) . Check ( ) ;
}
break ;
case BROW_FIELD_ROW :
{
String aFieldName ( m_pFieldCell - > GetText ( ) ) ;
2003-12-01 09:38:48 +00:00
try
2001-02-05 08:26:47 +00:00
{
2003-12-01 09:38:48 +00:00
if ( ! aFieldName . Len ( ) )
{
OTableFieldDescRef pNewEntry = new OTableFieldDesc ( ) ;
pNewEntry - > SetColumnId ( pEntry - > GetColumnId ( ) ) ;
: : std : : replace ( getFields ( ) . begin ( ) , getFields ( ) . end ( ) , pEntry , pNewEntry ) ;
sal_uInt16 nCol = GetCurColumnId ( ) ;
for ( int i = 0 ; i < m_nVisibleCount ; i + + ) // Spalte neu zeichnen
RowModified ( i , nCol ) ;
2002-09-24 09:52:28 +00:00
}
else
2003-12-01 09:38:48 +00:00
{
strOldCellContents = pEntry - > GetField ( ) ;
bListAction = sal_True ;
2005-09-23 11:43:59 +00:00
if ( ! m_bInUndoMode )
2008-06-25 11:54:03 +00:00
rController . getUndoMgr ( ) - > EnterListAction ( String ( ) , String ( ) ) ;
2003-12-01 09:38:48 +00:00
USHORT nPos = m_pFieldCell - > GetEntryPos ( aFieldName ) ;
2007-09-26 13:52:56 +00:00
String aAliasName = pEntry - > GetAlias ( ) ;
if ( nPos ! = COMBOBOX_ENTRY_NOTFOUND & & ! aAliasName . Len ( ) & & aFieldName . GetTokenCount ( ' . ' ) > 1 )
2003-12-01 09:38:48 +00:00
{ // special case, we have a table field so we must cut the table name
String sTableAlias = aFieldName . GetToken ( 0 , ' . ' ) ;
pEntry - > SetAlias ( sTableAlias ) ;
2007-09-26 13:52:56 +00:00
String sColumnName = aFieldName . Copy ( sTableAlias . Len ( ) + 1 , aFieldName . Len ( ) - sTableAlias . Len ( ) - 1 ) ;
2008-06-25 11:54:03 +00:00
Reference < XConnection > xConnection = rController . getConnection ( ) ;
2003-12-01 09:38:48 +00:00
if ( ! xConnection . is ( ) )
return sal_False ;
2006-12-13 15:53:47 +00:00
bError = fillColumnRef ( sColumnName , sTableAlias , xConnection - > getMetaData ( ) , pEntry , bListAction ) ;
2003-12-01 09:38:48 +00:00
}
else
bError = sal_True ;
2002-09-24 09:52:28 +00:00
2003-12-01 09:38:48 +00:00
if ( bError )
bError = saveField ( aFieldName , pEntry , bListAction ) ;
}
}
catch ( Exception & )
{
bError = sal_True ;
2002-08-30 10:14:45 +00:00
}
if ( bError )
{
sNewValue = aFieldName ;
2005-09-23 11:43:59 +00:00
if ( ! m_bInUndoMode )
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getUndoMgr ( ) - > LeaveListAction ( ) ;
2002-09-24 09:52:28 +00:00
bListAction = sal_False ;
2001-02-05 08:26:47 +00:00
}
2002-08-30 10:14:45 +00:00
else
sNewValue = pEntry - > GetField ( ) ;
2008-06-25 11:54:03 +00:00
rController . InvalidateFeature ( ID_BROWSER_QUERY_EXECUTE ) ;
2001-02-05 08:26:47 +00:00
}
break ;
case BROW_TABLE_ROW :
{
String aAliasName = m_pTableCell - > GetSelectEntry ( ) ;
strOldCellContents = pEntry - > GetAlias ( ) ;
2002-08-30 10:14:45 +00:00
if ( m_pTableCell - > GetSelectEntryPos ( ) ! = 0 )
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
pEntry - > SetAlias ( aAliasName ) ;
// we have to set the table name as well as the table window
OJoinTableView : : OTableWindowMap * pTabWinList = getDesignView ( ) - > getTableView ( ) - > GetTabWinMap ( ) ;
if ( pTabWinList )
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
OJoinTableView : : OTableWindowMapIterator aIter = pTabWinList - > find ( aAliasName ) ;
if ( aIter ! = pTabWinList - > end ( ) )
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
OQueryTableWindow * pEntryTab = static_cast < OQueryTableWindow * > ( aIter - > second ) ;
if ( pEntryTab )
{
pEntry - > SetTable ( pEntryTab - > GetTableName ( ) ) ;
pEntry - > SetTabWindow ( pEntryTab ) ;
}
2001-02-05 08:26:47 +00:00
}
}
}
2002-08-30 10:14:45 +00:00
else
{
pEntry - > SetAlias ( : : rtl : : OUString ( ) ) ;
pEntry - > SetTable ( : : rtl : : OUString ( ) ) ;
pEntry - > SetTabWindow ( NULL ) ;
}
sNewValue = pEntry - > GetAlias ( ) ;
2001-02-05 08:26:47 +00:00
} break ;
case BROW_ORDER_ROW :
{
2001-03-02 13:56:02 +00:00
strOldCellContents = String : : CreateFromInt32 ( ( sal_uInt16 ) pEntry - > GetOrderDir ( ) ) ;
2001-02-05 08:26:47 +00:00
sal_uInt16 nIdx = m_pOrderCell - > GetSelectEntryPos ( ) ;
if ( nIdx = = sal_uInt16 ( - 1 ) )
nIdx = 0 ;
pEntry - > SetOrderDir ( EOrderDir ( nIdx ) ) ;
if ( ! m_bOrderByUnRelated )
{
pEntry - > SetVisible ( sal_True ) ;
m_pVisibleCell - > GetBox ( ) . Check ( ) ;
RowModified ( GetBrowseRow ( BROW_VIS_ROW ) , GetCurColumnId ( ) ) ;
}
2001-04-18 10:44:59 +00:00
sNewValue = String : : CreateFromInt32 ( ( sal_uInt16 ) pEntry - > GetOrderDir ( ) ) ;
2001-02-05 08:26:47 +00:00
} break ;
case BROW_COLUMNALIAS_ROW :
strOldCellContents = pEntry - > GetFieldAlias ( ) ;
pEntry - > SetFieldAlias ( m_pTextCell - > GetText ( ) ) ;
2001-04-18 10:44:59 +00:00
sNewValue = pEntry - > GetFieldAlias ( ) ;
2001-02-05 08:26:47 +00:00
break ;
case BROW_FUNCTION_ROW :
{
strOldCellContents = pEntry - > GetFunction ( ) ;
sal_uInt16 nPos = m_pFunctionCell - > GetSelectEntryPos ( ) ;
// Diese Funktionen stehen nur unter CORE zur Verf<72> gung
2002-08-30 10:14:45 +00:00
String sFunctionName = m_pFunctionCell - > GetEntry ( nPos ) ;
String sGroupFunctionName = m_aFunctionStrings . GetToken ( m_aFunctionStrings . GetTokenCount ( ) - 1 ) ;
sal_Bool bGroupBy = sal_False ;
2003-06-12 09:19:54 +00:00
if ( sGroupFunctionName . Equals ( sFunctionName ) ) // check if the function name is GROUP
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
bGroupBy = sal_True ;
if ( ! m_bGroupByUnRelated & & ! pEntry - > IsVisible ( ) )
{
// we have to change the visblie flag, so we must append also an undo action
pEntry - > SetVisible ( sal_True ) ;
m_pVisibleCell - > GetBox ( ) . Check ( ) ;
appendUndoAction ( g_strZero , g_strOne , BROW_VIS_ROW , bListAction ) ;
RowModified ( GetBrowseRow ( BROW_VIS_ROW ) , GetCurColumnId ( ) ) ;
}
pEntry - > SetFunction ( String ( ) ) ;
pEntry - > SetFunctionType ( pEntry - > GetFunctionType ( ) & ~ FKT_AGGREGATE ) ;
}
else if ( nPos ) // we found an aggregate function
{
pEntry - > SetFunctionType ( pEntry - > GetFunctionType ( ) | FKT_AGGREGATE ) ;
pEntry - > SetFunction ( sFunctionName ) ;
2001-02-05 08:26:47 +00:00
}
else
{
2002-08-30 10:14:45 +00:00
sFunctionName = String ( ) ;
2001-02-05 08:26:47 +00:00
pEntry - > SetFunction ( String ( ) ) ;
2002-08-30 10:14:45 +00:00
pEntry - > SetFunctionType ( pEntry - > GetFunctionType ( ) & ~ FKT_AGGREGATE ) ;
2001-02-05 08:26:47 +00:00
}
2002-08-30 10:14:45 +00:00
pEntry - > SetGroupBy ( bGroupBy ) ;
sNewValue = sFunctionName ;
2001-02-05 08:26:47 +00:00
}
break ;
default :
{
2008-06-25 11:54:03 +00:00
Reference < XConnection > xConnection = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getConnection ( ) ;
2001-03-01 14:45:02 +00:00
if ( ! xConnection . is ( ) )
break ;
2001-02-05 08:26:47 +00:00
2003-12-01 09:38:48 +00:00
sal_uInt16 nIdx = sal_uInt16 ( nRow - BROW_CRIT1_ROW ) ;
2001-02-05 08:26:47 +00:00
String aText = m_pTextCell - > GetText ( ) ;
aText . EraseLeadingChars ( ) ;
: : rtl : : OUString aCrit ;
if ( aText . Len ( ) )
{
2001-09-27 05:19:05 +00:00
: : rtl : : OUString aErrorMsg ;
2001-02-05 08:26:47 +00:00
Reference < XPropertySet > xColumn ;
2001-09-27 05:19:05 +00:00
OSQLParseNode * pParseNode = getDesignView ( ) - > getPredicateTreeFromEntry ( pEntry , aText , aErrorMsg , xColumn ) ;
2001-02-05 08:26:47 +00:00
if ( pParseNode )
{
pParseNode - > parseNodeToPredicateStr ( aCrit ,
2006-12-13 15:53:47 +00:00
xConnection ,
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getNumberFormatter ( ) ,
2001-02-05 08:26:47 +00:00
xColumn ,
getDesignView ( ) - > getLocale ( ) ,
2002-02-06 07:15:30 +00:00
static_cast < sal_Char > ( getDesignView ( ) - > getDecimalSeparator ( ) . toChar ( ) ) ,
2008-06-25 11:54:03 +00:00
& ( static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getParser ( ) . getContext ( ) ) ) ;
2001-02-05 08:26:47 +00:00
delete pParseNode ;
}
else
{
if ( xColumn . is ( ) )
{
sal_Int32 nType = 0 ;
xColumn - > getPropertyValue ( PROPERTY_TYPE ) > > = nType ;
switch ( nType )
{
case DataType : : CHAR :
case DataType : : VARCHAR :
case DataType : : LONGVARCHAR :
2001-09-27 05:19:05 +00:00
if ( aText . GetChar ( 0 ) ! = ' \' ' | | aText . GetChar ( aText . Len ( ) - 1 ) ! = ' \' ' )
2001-02-05 08:26:47 +00:00
{
2001-09-27 05:19:05 +00:00
aText . SearchAndReplaceAll ( String : : CreateFromAscii ( " ' " ) , String : : CreateFromAscii ( " '' " ) ) ;
2001-02-05 08:26:47 +00:00
String aTmp ( String : : CreateFromAscii ( " ' " ) ) ;
2001-09-27 05:19:05 +00:00
( aTmp + = aText ) + = String : : CreateFromAscii ( " ' " ) ;
aText = aTmp ;
2001-02-05 08:26:47 +00:00
}
break ;
default :
;
}
2008-06-25 11:54:03 +00:00
: : connectivity : : OSQLParser & rParser = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getParser ( ) ;
2006-07-10 14:44:07 +00:00
pParseNode = rParser . predicateTree ( aErrorMsg ,
2001-09-27 05:19:05 +00:00
aText ,
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getNumberFormatter ( ) ,
2001-09-27 05:19:05 +00:00
xColumn ) ;
2001-02-05 08:26:47 +00:00
if ( pParseNode )
{
pParseNode - > parseNodeToPredicateStr ( aCrit ,
2006-12-13 15:53:47 +00:00
xConnection ,
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getNumberFormatter ( ) ,
2001-02-05 08:26:47 +00:00
xColumn ,
getDesignView ( ) - > getLocale ( ) ,
2002-02-06 07:15:30 +00:00
static_cast < sal_Char > ( getDesignView ( ) - > getDecimalSeparator ( ) . toChar ( ) ) ,
2008-06-25 11:54:03 +00:00
& ( static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getParser ( ) . getContext ( ) ) ) ;
2001-02-05 08:26:47 +00:00
delete pParseNode ;
}
else
{
2004-03-15 11:43:58 +00:00
if ( ! m_bDisableErrorBox )
{
CWS-TOOLING: integrate CWS dba32a
2009-04-16 13:08:19 +0200 oj r270882 : #i14538# set property at control
2009-04-16 13:04:28 +0200 oj r270881 : #i98557# remove binary string for SRB
2009-04-15 13:19:10 +0200 oj r270838 : #i96782# use type set at view
2009-04-14 14:53:20 +0200 oj r270778 : #i96782# set initialize size for custom shape
2009-04-06 14:19:14 +0200 oj r270546 : #i88432# correct pos when < 0 while resizing
2009-04-06 13:36:13 +0200 oj r270541 : #i96782# handle toolbar and menubar differently
2009-04-06 13:33:54 +0200 oj r270540 : #i96782# handle toolbar and menubar differently
2009-04-06 12:28:23 +0200 oj r270534 : #i96782# handle toolbar and menubar differently
2009-04-06 12:27:44 +0200 oj r270533 : #i96782# handle toolbar and menubar differently
2009-04-06 12:24:32 +0200 oj r270532 : #i96782# handle toolbar and menubar differently
2009-04-06 12:15:15 +0200 oj r270531 : do not initialze when field is empty
2009-04-06 10:06:08 +0200 oj r270528 : #i96782# clean up of menubar and remove duplicates
2009-04-06 09:47:49 +0200 oj r270527 : #i96519# adjust help text dynamic
2009-04-03 13:43:20 +0200 oj r270482 : do not need to remove section from observer they are already disposed
2009-04-03 13:27:28 +0200 fs r270479 : #i97356#
2009-04-02 11:30:39 +0200 fs r270386 : UNX line ends
2009-04-02 10:54:51 +0200 fs r270379 : UNX line ends
2009-04-02 10:39:57 +0200 fs r270378 : UNX line ends
2009-04-02 10:37:24 +0200 fs r270377 : why did this survive the rebase? was removed on trunk ...
2009-03-31 13:31:12 +0200 fs r270277 : component_foo should be public
2009-03-28 00:21:01 +0100 fs r270176 : manuallly merged the changes which happened in CWS before resync to m45, where the directory had been moved from reportdesign/registry to reportbuilder/registry
2009-03-27 23:01:20 +0100 fs r270174 : CWS-TOOLING: rebase CWS dba32a to trunk@270033 (milestone: DEV300:m45)
2009-03-11 12:23:35 +0100 fs r269310 : #i99958# ensure the ControlModelLock doesn't release twice
2009-03-06 09:07:32 +0100 fs r268970 : ignore output paths in SVN's status
2009-03-06 09:07:08 +0100 fs r268969 : ignore output paths in SVN's status
2009-03-04 11:28:02 +0100 oj r268800 : copy and paste error, check correct end now
2009-03-03 15:49:11 +0100 fs r268736 : #i10000# those merges were lost during the rebase (m38->m42)
2009-03-03 13:25:27 +0100 lla r268720 : #i99652# fix wrong refactoring
2009-02-27 11:12:56 +0100 fs r268566 : beautified
2009-02-27 10:53:47 +0100 fs r268561 : doFormListening(false) only when actually isFormListening() (found during complex test case XMLFormSettings with assertions)
2009-02-26 20:55:31 +0100 fs r268546 : #i96530# set the Label property of the bound control, if we didn't create a dedicated label control
2009-02-26 11:53:09 +0100 fs r268494 : #i10000#
2009-02-26 11:27:50 +0100 fs r268493 : #i10000#
2009-02-26 11:17:08 +0100 fs r268490 : reportdesign depends on REPORTBUILDER, not REPORTDESIGN
2009-02-25 11:39:48 +0100 fs r268422 : #i10000# post-resync: INFO_ESCAPE_DATETIME got lost during rebase
2009-02-24 23:24:10 +0100 fs r268411 : CWS-TOOLING: rebase CWS dba32a to trunk@268395 (milestone: DEV300:m42)
2009-02-20 15:09:48 +0100 fs r268324 : respect ImplicitCatalog/SchemaRestriction in all necessary places
2009-02-20 13:48:10 +0100 oj r268318 : order of initialize corrected
2009-02-14 15:07:52 +0100 fs r267759 : #i98975# when an image does not have a bitmap, but a text, draw this (as placeholder)
2009-02-14 15:02:40 +0100 fs r267758 : consolidated and removed some duplicate code
2009-02-14 13:52:23 +0100 fs r267756 : #i10000#
2009-02-13 22:08:34 +0100 fs r267750 : #i100000#
2009-02-13 22:07:25 +0100 fs r267749 : #i10000#
2009-02-13 21:55:36 +0100 fs r267747 : #i10000#
2009-02-13 21:54:27 +0100 fs r267746 : use const_cast
2009-02-13 21:29:10 +0100 fs r267745 : #i10000#
2009-02-13 21:27:39 +0100 fs r267744 : #i10000#
2009-02-13 20:59:13 +0100 fs r267742 : #i10000#
2009-02-13 13:21:30 +0100 fs r267717 : better diagnostics
2009-02-13 13:17:24 +0100 fs r267715 : #i58313# support Catalog/SchemaRestriction settings, which are applied in getTables when 'all catalogs/schemas' are to be retrieved
2009-02-13 13:16:14 +0100 fs r267714 : filter out some more known global settings
2009-02-13 12:39:43 +0100 fs r267713 : #i58313# ImplicitCatalog/SchemaRestriction
2009-02-13 12:36:50 +0100 fs r267712 : when exporting data source settings, allow for properties which have a VOID default value, but are currently not VOID
2009-02-13 12:35:57 +0100 fs r267711 : implement XSet, to allow inserting properties which have a default value of VOID
2009-02-13 12:35:03 +0100 fs r267710 : +addVoidProperty
2009-02-13 10:20:08 +0100 fs r267697 : removed unused variable
2009-02-13 09:46:46 +0100 fs r267695 : refactored the table filtering code, to have a better base for introducing additional low level filters
2009-02-10 09:23:07 +0100 lla r267537 : #i10000# wrong line feed, double named variable
2009-02-09 12:13:08 +0100 oj r267508 : #i98605# notify hanlder
2009-02-09 11:50:34 +0100 oj r267507 : #i98926# solve refcount problem
2009-02-09 11:50:05 +0100 oj r267506 : #i98971# fix for simple html
2009-02-09 11:49:24 +0100 oj r267505 : #i98971# fix for simple html
2009-02-09 11:47:27 +0100 oj r267504 : invoke on copy
2009-02-09 09:51:00 +0100 fs r267500 : #i98316#
2009-02-09 09:46:10 +0100 fs r267499 : setCurrentSelection: don't reset the current form when we de-select everything
2009-02-09 09:43:45 +0100 fs r267498 : #i98316#
2009-02-08 21:25:18 +0100 fs r267496 : #i98272# introduce late ctor for cloning
2009-02-07 21:08:39 +0100 fs r267485 : #i98272# when copy-constructing a FmFormPageImpl, use the XCloneable of the forms collection, instead of XPersistObject (which is incompletely implemented)
2009-02-07 21:07:26 +0100 fs r267484 : removed obsolete include guards
2009-02-07 21:05:22 +0100 fs r267483 : #i98272# implement XCloneable
2009-02-06 15:02:48 +0100 lla r267467 : #i96523# add XImageControl
2009-02-06 14:41:38 +0100 oj r267463 : #i98926# late init when connection disposed but only when asked for
2009-02-06 13:49:57 +0100 lla r267457 : #i92860# bigint in forms doesn't allow input of values > 1, fixed
2009-02-06 13:03:55 +0100 oj r267455 : ImageScaleMode
2009-02-05 14:48:19 +0100 lla r267424 : #i89335# dropdown listboxes are 14 instead of 7 lines high
2009-02-05 13:40:00 +0100 oj r267423 : #i96945# insert new prop Opaque
2009-02-05 13:39:19 +0100 oj r267422 : #i96945# insert layer handling for hell and heaven
2009-02-05 13:29:32 +0100 lla r267420 : #i89335# add is null, is not null, is not like filter condition
2009-02-04 12:23:02 +0100 oj r267364 : #i98821# load table font settings
2009-02-04 10:05:27 +0100 oj r267351 : #i98821# load table font settings
2009-02-04 09:23:22 +0100 fs r267350 : checking persistency of UI settings in database documents - for the moment, capture table formattings (which is issue 98821)
2009-02-04 09:22:15 +0100 fs r267349 : moved some methods which are of wider interest from DatabaseDocument to FileHelper resp. TestCase
2009-02-04 08:56:27 +0100 oj r267347 : #i97586# UcbStreamHelper::CreateStream doesn't check all streamModes use different method
2009-02-04 08:23:26 +0100 oj r267346 : #i98701# check key size is >= 3 and some redesign
2009-02-03 23:29:24 +0100 fs r267345 : return the component (controller), not the frame
2009-02-03 23:28:53 +0100 fs r267344 : openExisting returns a controller now, not the frame (this was a bug)
2009-02-03 23:28:25 +0100 fs r267343 : openElement: properly return the component in the table/query case
2009-02-02 12:48:17 +0100 oj r267261 : #i96013# fix for relative path
2009-02-02 10:33:28 +0100 lla r267253 : #i98557# cleanups and consolidation
2009-02-02 09:37:23 +0100 lla r267250 : #i88432# resize will no longer move components to other sections
2009-02-02 09:08:24 +0100 oj r267245 : #i97475# write 0x1A at the end of the file
2009-01-30 19:39:20 +0100 lla r267230 : #i10000# unused parameters
2009-01-30 09:51:09 +0100 fs r267181 : onsolete
2009-01-30 09:49:27 +0100 fs r267180 : onsolete
2009-01-29 14:28:22 +0100 oj r267139 : #i96825# import cell style
2009-01-29 14:23:12 +0100 oj r267137 : #i98601# export imagescalehandler
2009-01-29 14:19:57 +0100 lla r267135 : #i98601# add ImageScaleMode
2009-01-29 13:21:08 +0100 oj r267124 : #i98601# impl ScaleMode
2009-01-29 13:20:56 +0100 oj r267123 : #i98601# impl ScaleMode
2009-01-29 08:46:40 +0100 oj r267095 : new property: ScaleMode
2009-01-29 08:45:23 +0100 oj r267094 : new ScaleMode from UnControlImageModel
2009-01-29 08:28:12 +0100 oj r267093 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 19:54:34 +0100 lla r267082 : #i98557# pictures in report wizard
2009-01-28 15:06:25 +0100 oj r267060 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 11:38:41 +0100 lla r267046 : #i76783# handle binary fields in forms
2009-01-28 09:24:43 +0100 lla r267025 : #i10000#
2009-01-28 08:40:04 +0100 fs r267024 : #i10000#
2009-01-28 08:04:43 +0100 oj r267023 : #i93456# use resource strings for function names
2009-01-27 13:26:05 +0100 oj r266988 : check data field is type field or expression
2009-01-27 13:07:17 +0100 oj r266985 : check data field length
2009-01-27 11:48:19 +0100 oj r266974 : #i96823# return dll string as column name when no alias exists
2009-01-27 09:53:11 +0100 fs r266958 : display the message of a caught exception
2009-01-27 09:44:13 +0100 fs r266957 : #i58313# when retrieving all tables, just set an empty table type filter - the connection will care for translating this, by respecting the TableTypeFilterMode setting
2009-01-27 09:36:09 +0100 fs r266956 : #i58313# getTables: per JDBC spec, is not a valid table type filter. Translate it to 'null'.
2009-01-26 11:24:49 +0100 lla r266912 : #i97865# cleanups (AddField viewable in remote mode)
2009-01-26 07:49:27 +0100 lla r266897 : #i97865# AddField opens in remote case
2009-01-26 07:48:58 +0100 lla r266896 : #i97865# AddField opens in remote case
2009-01-26 07:48:42 +0100 lla r266895 : #i97865# AddField opens in remote case
2009-01-23 15:04:40 +0100 fs r266825 : consolidate the usage of OSQLMessageBox with MessageType==Warning into OSQLWarningBox
2009-01-23 10:47:33 +0100 fs r266787 : +supportsUserAdministration
2009-01-23 10:47:11 +0100 fs r266784 : use DatabaseMetaData.supportsUserAdministration
2009-01-23 07:55:59 +0100 lla r266767 : #i10000# fix gcc compiler failures
2009-01-21 15:08:55 +0100 lla r266673 : #i97265# Labels in HC (IsDark) with other color (viewable)
2009-01-19 14:58:54 +0100 lla r266504 : #i96523# last problems with FormatKey and '0' values fixed
2009-01-19 14:58:00 +0100 lla r266503 : #i96519# AddField help text
2009-01-19 11:59:02 +0100 fs r266485 : #i96523# for formatted field models, init them with TreatAsNumber = false
2009-01-16 10:31:49 +0100 lla r266405 : #i96793# add shrink to popup menu
2009-01-16 09:21:44 +0100 lla r266401 : #i96519# AddField contains a help text
2009-01-15 11:21:49 +0100 lla r266357 : #i96523# problem with XVclWindowPeer not fixed now
2009-01-15 09:19:20 +0100 lla r266335 : #i96523# more crashes fixed.
2009-01-14 13:08:34 +0100 lla r266291 : #i96523# problems with crashes fixed
2009-01-13 10:54:24 +0100 lla r266199 : #i96523# show datasource in formattedfields new files
2009-01-13 10:52:39 +0100 lla r266198 : #i96523# show datasource in formattedfields
2009-01-13 09:41:50 +0100 lla r266197 : #i96526# handling none existance default.otr
2009-01-12 12:55:49 +0100 fs r266151 : don't expect the control model to be a BoundComponent before adding as modify listener
2009-01-12 12:51:33 +0100 fs r266149 : #i88458# let the ImageControl be an XModifyBroadcaster, so the forms runtime can notice when the user changes the control content while it does not have the focus
2009-01-09 13:41:22 +0100 fs r266080 : doc
2009-01-09 13:14:14 +0100 fs r266077 : #i97377# SetModified when order is changed via DnD
2009-01-07 09:55:40 +0100 oj r265951 : merge from master
2009-01-07 09:55:24 +0100 oj r265950 : removed observer
2009-01-07 09:55:06 +0100 oj r265949 : merge from master
2009-01-07 07:29:11 +0100 oj r265945 : shadow var changed
2009-01-06 07:25:57 +0100 oj r265893 : CWS-TOOLING: rebase CWS dba32a to trunk@265758 (milestone: DEV300:m38)
2009-01-05 13:18:22 +0100 oj r265865 : convert to unix le
2009-01-05 09:13:52 +0100 lla r265857 : #i79423# lc_ sc_ permutation fix
2009-01-02 19:40:59 +0100 lla r265847 : #i79423# section shrink icons
2008-12-22 11:37:57 +0100 lla r265749 : #i97484# move component to negative Y-position
2008-12-22 11:37:05 +0100 lla r265748 : #i97484# move component to negative Y-position
2008-12-22 11:35:33 +0100 lla r265747 : #i97484# move component to negative Y-position
2008-12-22 11:25:07 +0100 lla r265745 : #i96757# changes via property browser was not undoable
2008-12-18 15:10:38 +0100 fs r265694 : corrected an condition in doFormListening, which otherwise leads to uncommitable grid columns in documents which are loaded from disc (not in documents which are newly created)
2008-12-18 14:54:39 +0100 fs r265692 : Hide Columns text slightly changed
2008-12-18 13:44:15 +0100 fs r265683 : #i94068# properly display erros happening during a form operation - at least once, and at most once
2008-12-18 11:28:29 +0100 fs r265677 : document the new InputRequired property
2008-12-18 11:04:15 +0100 fs r265676 : #i96530# createControlLabelPair: don't actually create a label for a checkbox
2008-12-18 10:35:53 +0100 fs r265674 : #i95226# when a column is replaced, and it's the selected column, update the selection
2008-12-18 10:34:42 +0100 fs r265673 : #i95226# refactoring of the implReplaced method
2008-12-18 10:34:28 +0100 fs r265672 : #i95226# when replacing a grid column, update the property browser
2008-12-18 10:33:17 +0100 fs r265671 : when an element is removed, remove it from m_aCurrentSelection, too (if necessary)
2008-12-18 10:31:57 +0100 fs r265670 : Hide Columns text slightly changed
2008-12-18 10:15:56 +0100 lla r265669 : #i14538# do not allow to press finish button twice
2008-12-18 08:56:33 +0100 lla r265665 : #i10000# build depend=t problem hacked.
2008-12-17 20:59:10 +0100 fs r265656 : #i89821# don't let a MultiLineEdit select all text when it receives the focus
2008-12-17 12:10:54 +0100 fs r265594 : #i97356#
2008-12-17 12:06:29 +0100 fs r265593 : #i97355# Print -> Printable
2008-12-17 11:59:31 +0100 fs r265591 : #i97350# combo boxes comment on list selection (as list boxes already do)
2008-12-16 09:53:57 +0100 lla r265527 : #i96526# handling none existance default.otr
2008-12-15 14:48:39 +0100 lla r265500 : #i79423# reparing, was wrong implemented
2008-12-12 15:08:33 +0100 lla r265424 : #i10000# remove wrong carridge returns
2008-12-12 15:07:55 +0100 lla r265423 : #i10000# remove wrong carridge returns
2008-12-12 15:06:41 +0100 lla r265422 : #i10000# remove wrong carridge returns
2008-12-12 10:23:13 +0100 lla r265395 : #i95234# reset DragDelta
2008-12-12 10:11:02 +0100 lla r265393 : #i79423# pre versions of shrink buttons
2008-12-11 15:32:13 +0100 fs r265318 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:30:06 +0100 fs r265316 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:07:05 +0100 fs r265307 : removed superfluous text
2008-12-11 12:29:54 +0100 lla r265282 : #i96757# cleanup second try
2008-12-11 12:09:15 +0100 lla r265278 : #i96757# cleanup
2008-12-11 12:07:56 +0100 lla r265277 : #i95234#
2008-12-10 14:04:39 +0100 lla r265183 : #i93472# D&D fixes
2008-12-10 12:29:33 +0100 lla r265168 : #i94067# add (APP|SYS)FONT to XUnitConversion
2008-12-10 12:15:02 +0100 lla r265166 : #i94067# add APPFONT, SYSFONT to MeasureUnit
2008-12-10 11:52:10 +0100 lla r265163 : #i94067# add comments
2008-12-06 20:33:05 +0100 fs r264935 : #i10000# precompiled header
2008-12-05 09:29:26 +0100 fs r264889 : #i10000#
2008-12-05 09:07:31 +0100 fs r264888 : #i10000#
2008-12-04 13:25:46 +0100 fs r264838 : CWS-TOOLING: rebase CWS dba32a to trunk@264807 (milestone: DEV300:m37)
2008-12-03 23:49:13 +0100 fs r264808 : merge changes from trunk, to be able to do a rebase
2008-12-03 17:13:09 +0100 lla r264801 : #i91041# update documentation
2008-12-03 16:57:04 +0100 lla r264799 : #i94067# allow convert(Point|Size)ToLogic as pixel also
2008-12-02 12:36:32 +0100 lla r264687 : #i96782# bring toolbar objects to menu structure
2008-12-02 10:32:44 +0100 lla r264667 : #i86255# make property work
2008-12-02 09:22:47 +0100 lla r264659 : #i79423# add section shrink toolbar
2008-12-02 07:41:22 +0100 lla r264657 : #i86255# add check box for Escape DateTime property
2008-12-02 07:37:17 +0100 lla r264656 : #i79423# new shrink buttons
2008-11-26 11:55:28 +0100 fs r264362 : #i96541#
FillPropertySet: do not only catch UnknownPropertyException when setting the Char/ParaAutoStyleName,
but also care for the other exceptions which can be thrown by XPropertySet::setPropertyValue.
This is actually not the real fix for #i96541#, but only a follow-up. The root cause of the issue
was fixed in CWS dba301b, but this here was another (potential) bug which popped up during investigations.
2008-11-25 09:04:40 +0100 lla r264273 : #i82083# new toolbox in GroupsSorting dialog
2008-11-25 08:56:08 +0100 lla r264272 : #i94729# change token strings into string list, move class out of function
2008-11-24 15:52:22 +0100 fs r264251 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:51:45 +0100 fs r264249 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:45:21 +0100 fs r264244 : #i96532# the API default for ParamNameSubst is false
2008-11-24 15:45:04 +0100 fs r264243 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:44:14 +0100 fs r264241 : #i96532# slight refactoring of exporting properties which have a XML default different from the API default
2008-11-24 10:50:01 +0100 lla r264216 : #i82083# icons for new toolbox
2008-11-24 09:38:45 +0100 lla r264205 : #i82083# new toolbox in GroupsSorting dialog
2008-11-24 09:32:20 +0100 lla r264201 : #i96501# cleanup assertions
2008-11-24 09:12:55 +0100 lla r264198 : #i83082# enhancement for toolboxes, better HC comfort
2008-11-24 08:46:43 +0100 lla r264197 : #i96501# fix problem with negative positions
2008-11-21 11:44:47 +0100 fs r264118 : #i57042# introduce a counter for suspending change notifications of a given property, so recursive calls are possible
2008-11-21 11:02:17 +0100 fs r264116 : #i96388# don't call ExecuteContextMenuAction when no action was chosen by the user
2008-11-21 10:36:53 +0100 fs r264114 : #i47384# assertion was wrong
2008-11-14 12:33:15 +0100 fs r263673 : #i47318# XRowSetChangeBroadcaster/Listener, to be able to listen for changes in an XRowSetSupplier's RowSet
2008-11-14 12:30:29 +0100 fs r263672 : #i47318# more refactoring
- BoundControlModels now listen at the XRowSetSupplier for changes in the supplied
RowSet, to properly revoke/register old/new listeners at the RowSet
- replaced ::osl::Mutex in various places with a ControlModelLock
2008-11-14 12:20:55 +0100 fs r263671 : when BUILD_TYPE includes QADEVOOO, the BUILD_QADEVOOO needs to bet set, too
2008-11-14 12:19:21 +0100 fs r263670 : oops, this was not intended to be committed
2008-11-12 11:08:10 +0100 fs r263579 : #i96096# new ctors taking UNO_QUERY_THROW
2008-11-12 09:15:54 +0100 fs r263576 : no need to load the complete dialog just to get a string which the dialog itself loads from resource
2008-11-10 17:55:45 +0100 fs r263535 : spelling in comment
2008-11-10 15:51:14 +0100 fs r263523 : #i47318# various refactorings
1. don't forward syntetic XLoadListener events from the grid control to
the grid columns. Instead, forward GridColumn::XChild::setParent to
the base class, which then can add itself as load listener
2. removed various occurances of XMultiServiceFactory, instead use the
::comphelper::ComponentContext
3. in O(Bound)ControlModel, have a mechanism to lock the instance (using
ControlModelLock) and fire property changes when the last lock dies.
2008-11-10 12:49:24 +0100 oj r263513 : #i94729# change token strings into string list
2008-11-10 12:13:15 +0100 oj r263512 : #i95222# export chart:title style as well
2008-11-10 08:55:25 +0100 oj r263507 : #i93471# show the correct tabpage when selecting a different object
2008-11-07 23:38:29 +0100 fs r263490 : #i95977# for the event input controls, add a component extending their functionality so they're reset when the users presses DEL
2008-11-07 23:35:39 +0100 fs r263489 : during #i95977#: When a VCL Window is deleted from within VCL code, the respective WindowPeer was never disposed. Corrected this.
2008-11-07 14:57:07 +0100 fs r263420 : #i95963# human-readable display names for event bindings
2008-11-06 10:34:52 +0100 fs r263366 : #i95865# don't use library names containing InvalidZipEntryFileNames - workaround until i95409 is fixed
2008-11-06 10:33:28 +0100 fs r263365 : #i95865#
copied the following change from CWS odfmetadata2 (not yet integrated) into CWS dba31d
- comphelper/inc/comphelper/storagehelper.hxx,
comphelper/source/misc/storagehelper.cxx:
+ add function IsValidZipEntryFileName (moved from module package)
2009-04-22 11:01:27 +00:00
OSQLWarningBox ( this , aErrorMsg ) . Execute ( ) ;
2004-03-15 11:43:58 +00:00
}
2001-02-05 08:26:47 +00:00
bError = sal_True ;
}
}
else
{
2004-03-15 11:43:58 +00:00
if ( ! m_bDisableErrorBox )
{
CWS-TOOLING: integrate CWS dba32a
2009-04-16 13:08:19 +0200 oj r270882 : #i14538# set property at control
2009-04-16 13:04:28 +0200 oj r270881 : #i98557# remove binary string for SRB
2009-04-15 13:19:10 +0200 oj r270838 : #i96782# use type set at view
2009-04-14 14:53:20 +0200 oj r270778 : #i96782# set initialize size for custom shape
2009-04-06 14:19:14 +0200 oj r270546 : #i88432# correct pos when < 0 while resizing
2009-04-06 13:36:13 +0200 oj r270541 : #i96782# handle toolbar and menubar differently
2009-04-06 13:33:54 +0200 oj r270540 : #i96782# handle toolbar and menubar differently
2009-04-06 12:28:23 +0200 oj r270534 : #i96782# handle toolbar and menubar differently
2009-04-06 12:27:44 +0200 oj r270533 : #i96782# handle toolbar and menubar differently
2009-04-06 12:24:32 +0200 oj r270532 : #i96782# handle toolbar and menubar differently
2009-04-06 12:15:15 +0200 oj r270531 : do not initialze when field is empty
2009-04-06 10:06:08 +0200 oj r270528 : #i96782# clean up of menubar and remove duplicates
2009-04-06 09:47:49 +0200 oj r270527 : #i96519# adjust help text dynamic
2009-04-03 13:43:20 +0200 oj r270482 : do not need to remove section from observer they are already disposed
2009-04-03 13:27:28 +0200 fs r270479 : #i97356#
2009-04-02 11:30:39 +0200 fs r270386 : UNX line ends
2009-04-02 10:54:51 +0200 fs r270379 : UNX line ends
2009-04-02 10:39:57 +0200 fs r270378 : UNX line ends
2009-04-02 10:37:24 +0200 fs r270377 : why did this survive the rebase? was removed on trunk ...
2009-03-31 13:31:12 +0200 fs r270277 : component_foo should be public
2009-03-28 00:21:01 +0100 fs r270176 : manuallly merged the changes which happened in CWS before resync to m45, where the directory had been moved from reportdesign/registry to reportbuilder/registry
2009-03-27 23:01:20 +0100 fs r270174 : CWS-TOOLING: rebase CWS dba32a to trunk@270033 (milestone: DEV300:m45)
2009-03-11 12:23:35 +0100 fs r269310 : #i99958# ensure the ControlModelLock doesn't release twice
2009-03-06 09:07:32 +0100 fs r268970 : ignore output paths in SVN's status
2009-03-06 09:07:08 +0100 fs r268969 : ignore output paths in SVN's status
2009-03-04 11:28:02 +0100 oj r268800 : copy and paste error, check correct end now
2009-03-03 15:49:11 +0100 fs r268736 : #i10000# those merges were lost during the rebase (m38->m42)
2009-03-03 13:25:27 +0100 lla r268720 : #i99652# fix wrong refactoring
2009-02-27 11:12:56 +0100 fs r268566 : beautified
2009-02-27 10:53:47 +0100 fs r268561 : doFormListening(false) only when actually isFormListening() (found during complex test case XMLFormSettings with assertions)
2009-02-26 20:55:31 +0100 fs r268546 : #i96530# set the Label property of the bound control, if we didn't create a dedicated label control
2009-02-26 11:53:09 +0100 fs r268494 : #i10000#
2009-02-26 11:27:50 +0100 fs r268493 : #i10000#
2009-02-26 11:17:08 +0100 fs r268490 : reportdesign depends on REPORTBUILDER, not REPORTDESIGN
2009-02-25 11:39:48 +0100 fs r268422 : #i10000# post-resync: INFO_ESCAPE_DATETIME got lost during rebase
2009-02-24 23:24:10 +0100 fs r268411 : CWS-TOOLING: rebase CWS dba32a to trunk@268395 (milestone: DEV300:m42)
2009-02-20 15:09:48 +0100 fs r268324 : respect ImplicitCatalog/SchemaRestriction in all necessary places
2009-02-20 13:48:10 +0100 oj r268318 : order of initialize corrected
2009-02-14 15:07:52 +0100 fs r267759 : #i98975# when an image does not have a bitmap, but a text, draw this (as placeholder)
2009-02-14 15:02:40 +0100 fs r267758 : consolidated and removed some duplicate code
2009-02-14 13:52:23 +0100 fs r267756 : #i10000#
2009-02-13 22:08:34 +0100 fs r267750 : #i100000#
2009-02-13 22:07:25 +0100 fs r267749 : #i10000#
2009-02-13 21:55:36 +0100 fs r267747 : #i10000#
2009-02-13 21:54:27 +0100 fs r267746 : use const_cast
2009-02-13 21:29:10 +0100 fs r267745 : #i10000#
2009-02-13 21:27:39 +0100 fs r267744 : #i10000#
2009-02-13 20:59:13 +0100 fs r267742 : #i10000#
2009-02-13 13:21:30 +0100 fs r267717 : better diagnostics
2009-02-13 13:17:24 +0100 fs r267715 : #i58313# support Catalog/SchemaRestriction settings, which are applied in getTables when 'all catalogs/schemas' are to be retrieved
2009-02-13 13:16:14 +0100 fs r267714 : filter out some more known global settings
2009-02-13 12:39:43 +0100 fs r267713 : #i58313# ImplicitCatalog/SchemaRestriction
2009-02-13 12:36:50 +0100 fs r267712 : when exporting data source settings, allow for properties which have a VOID default value, but are currently not VOID
2009-02-13 12:35:57 +0100 fs r267711 : implement XSet, to allow inserting properties which have a default value of VOID
2009-02-13 12:35:03 +0100 fs r267710 : +addVoidProperty
2009-02-13 10:20:08 +0100 fs r267697 : removed unused variable
2009-02-13 09:46:46 +0100 fs r267695 : refactored the table filtering code, to have a better base for introducing additional low level filters
2009-02-10 09:23:07 +0100 lla r267537 : #i10000# wrong line feed, double named variable
2009-02-09 12:13:08 +0100 oj r267508 : #i98605# notify hanlder
2009-02-09 11:50:34 +0100 oj r267507 : #i98926# solve refcount problem
2009-02-09 11:50:05 +0100 oj r267506 : #i98971# fix for simple html
2009-02-09 11:49:24 +0100 oj r267505 : #i98971# fix for simple html
2009-02-09 11:47:27 +0100 oj r267504 : invoke on copy
2009-02-09 09:51:00 +0100 fs r267500 : #i98316#
2009-02-09 09:46:10 +0100 fs r267499 : setCurrentSelection: don't reset the current form when we de-select everything
2009-02-09 09:43:45 +0100 fs r267498 : #i98316#
2009-02-08 21:25:18 +0100 fs r267496 : #i98272# introduce late ctor for cloning
2009-02-07 21:08:39 +0100 fs r267485 : #i98272# when copy-constructing a FmFormPageImpl, use the XCloneable of the forms collection, instead of XPersistObject (which is incompletely implemented)
2009-02-07 21:07:26 +0100 fs r267484 : removed obsolete include guards
2009-02-07 21:05:22 +0100 fs r267483 : #i98272# implement XCloneable
2009-02-06 15:02:48 +0100 lla r267467 : #i96523# add XImageControl
2009-02-06 14:41:38 +0100 oj r267463 : #i98926# late init when connection disposed but only when asked for
2009-02-06 13:49:57 +0100 lla r267457 : #i92860# bigint in forms doesn't allow input of values > 1, fixed
2009-02-06 13:03:55 +0100 oj r267455 : ImageScaleMode
2009-02-05 14:48:19 +0100 lla r267424 : #i89335# dropdown listboxes are 14 instead of 7 lines high
2009-02-05 13:40:00 +0100 oj r267423 : #i96945# insert new prop Opaque
2009-02-05 13:39:19 +0100 oj r267422 : #i96945# insert layer handling for hell and heaven
2009-02-05 13:29:32 +0100 lla r267420 : #i89335# add is null, is not null, is not like filter condition
2009-02-04 12:23:02 +0100 oj r267364 : #i98821# load table font settings
2009-02-04 10:05:27 +0100 oj r267351 : #i98821# load table font settings
2009-02-04 09:23:22 +0100 fs r267350 : checking persistency of UI settings in database documents - for the moment, capture table formattings (which is issue 98821)
2009-02-04 09:22:15 +0100 fs r267349 : moved some methods which are of wider interest from DatabaseDocument to FileHelper resp. TestCase
2009-02-04 08:56:27 +0100 oj r267347 : #i97586# UcbStreamHelper::CreateStream doesn't check all streamModes use different method
2009-02-04 08:23:26 +0100 oj r267346 : #i98701# check key size is >= 3 and some redesign
2009-02-03 23:29:24 +0100 fs r267345 : return the component (controller), not the frame
2009-02-03 23:28:53 +0100 fs r267344 : openExisting returns a controller now, not the frame (this was a bug)
2009-02-03 23:28:25 +0100 fs r267343 : openElement: properly return the component in the table/query case
2009-02-02 12:48:17 +0100 oj r267261 : #i96013# fix for relative path
2009-02-02 10:33:28 +0100 lla r267253 : #i98557# cleanups and consolidation
2009-02-02 09:37:23 +0100 lla r267250 : #i88432# resize will no longer move components to other sections
2009-02-02 09:08:24 +0100 oj r267245 : #i97475# write 0x1A at the end of the file
2009-01-30 19:39:20 +0100 lla r267230 : #i10000# unused parameters
2009-01-30 09:51:09 +0100 fs r267181 : onsolete
2009-01-30 09:49:27 +0100 fs r267180 : onsolete
2009-01-29 14:28:22 +0100 oj r267139 : #i96825# import cell style
2009-01-29 14:23:12 +0100 oj r267137 : #i98601# export imagescalehandler
2009-01-29 14:19:57 +0100 lla r267135 : #i98601# add ImageScaleMode
2009-01-29 13:21:08 +0100 oj r267124 : #i98601# impl ScaleMode
2009-01-29 13:20:56 +0100 oj r267123 : #i98601# impl ScaleMode
2009-01-29 08:46:40 +0100 oj r267095 : new property: ScaleMode
2009-01-29 08:45:23 +0100 oj r267094 : new ScaleMode from UnControlImageModel
2009-01-29 08:28:12 +0100 oj r267093 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 19:54:34 +0100 lla r267082 : #i98557# pictures in report wizard
2009-01-28 15:06:25 +0100 oj r267060 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists
2009-01-28 11:38:41 +0100 lla r267046 : #i76783# handle binary fields in forms
2009-01-28 09:24:43 +0100 lla r267025 : #i10000#
2009-01-28 08:40:04 +0100 fs r267024 : #i10000#
2009-01-28 08:04:43 +0100 oj r267023 : #i93456# use resource strings for function names
2009-01-27 13:26:05 +0100 oj r266988 : check data field is type field or expression
2009-01-27 13:07:17 +0100 oj r266985 : check data field length
2009-01-27 11:48:19 +0100 oj r266974 : #i96823# return dll string as column name when no alias exists
2009-01-27 09:53:11 +0100 fs r266958 : display the message of a caught exception
2009-01-27 09:44:13 +0100 fs r266957 : #i58313# when retrieving all tables, just set an empty table type filter - the connection will care for translating this, by respecting the TableTypeFilterMode setting
2009-01-27 09:36:09 +0100 fs r266956 : #i58313# getTables: per JDBC spec, is not a valid table type filter. Translate it to 'null'.
2009-01-26 11:24:49 +0100 lla r266912 : #i97865# cleanups (AddField viewable in remote mode)
2009-01-26 07:49:27 +0100 lla r266897 : #i97865# AddField opens in remote case
2009-01-26 07:48:58 +0100 lla r266896 : #i97865# AddField opens in remote case
2009-01-26 07:48:42 +0100 lla r266895 : #i97865# AddField opens in remote case
2009-01-23 15:04:40 +0100 fs r266825 : consolidate the usage of OSQLMessageBox with MessageType==Warning into OSQLWarningBox
2009-01-23 10:47:33 +0100 fs r266787 : +supportsUserAdministration
2009-01-23 10:47:11 +0100 fs r266784 : use DatabaseMetaData.supportsUserAdministration
2009-01-23 07:55:59 +0100 lla r266767 : #i10000# fix gcc compiler failures
2009-01-21 15:08:55 +0100 lla r266673 : #i97265# Labels in HC (IsDark) with other color (viewable)
2009-01-19 14:58:54 +0100 lla r266504 : #i96523# last problems with FormatKey and '0' values fixed
2009-01-19 14:58:00 +0100 lla r266503 : #i96519# AddField help text
2009-01-19 11:59:02 +0100 fs r266485 : #i96523# for formatted field models, init them with TreatAsNumber = false
2009-01-16 10:31:49 +0100 lla r266405 : #i96793# add shrink to popup menu
2009-01-16 09:21:44 +0100 lla r266401 : #i96519# AddField contains a help text
2009-01-15 11:21:49 +0100 lla r266357 : #i96523# problem with XVclWindowPeer not fixed now
2009-01-15 09:19:20 +0100 lla r266335 : #i96523# more crashes fixed.
2009-01-14 13:08:34 +0100 lla r266291 : #i96523# problems with crashes fixed
2009-01-13 10:54:24 +0100 lla r266199 : #i96523# show datasource in formattedfields new files
2009-01-13 10:52:39 +0100 lla r266198 : #i96523# show datasource in formattedfields
2009-01-13 09:41:50 +0100 lla r266197 : #i96526# handling none existance default.otr
2009-01-12 12:55:49 +0100 fs r266151 : don't expect the control model to be a BoundComponent before adding as modify listener
2009-01-12 12:51:33 +0100 fs r266149 : #i88458# let the ImageControl be an XModifyBroadcaster, so the forms runtime can notice when the user changes the control content while it does not have the focus
2009-01-09 13:41:22 +0100 fs r266080 : doc
2009-01-09 13:14:14 +0100 fs r266077 : #i97377# SetModified when order is changed via DnD
2009-01-07 09:55:40 +0100 oj r265951 : merge from master
2009-01-07 09:55:24 +0100 oj r265950 : removed observer
2009-01-07 09:55:06 +0100 oj r265949 : merge from master
2009-01-07 07:29:11 +0100 oj r265945 : shadow var changed
2009-01-06 07:25:57 +0100 oj r265893 : CWS-TOOLING: rebase CWS dba32a to trunk@265758 (milestone: DEV300:m38)
2009-01-05 13:18:22 +0100 oj r265865 : convert to unix le
2009-01-05 09:13:52 +0100 lla r265857 : #i79423# lc_ sc_ permutation fix
2009-01-02 19:40:59 +0100 lla r265847 : #i79423# section shrink icons
2008-12-22 11:37:57 +0100 lla r265749 : #i97484# move component to negative Y-position
2008-12-22 11:37:05 +0100 lla r265748 : #i97484# move component to negative Y-position
2008-12-22 11:35:33 +0100 lla r265747 : #i97484# move component to negative Y-position
2008-12-22 11:25:07 +0100 lla r265745 : #i96757# changes via property browser was not undoable
2008-12-18 15:10:38 +0100 fs r265694 : corrected an condition in doFormListening, which otherwise leads to uncommitable grid columns in documents which are loaded from disc (not in documents which are newly created)
2008-12-18 14:54:39 +0100 fs r265692 : Hide Columns text slightly changed
2008-12-18 13:44:15 +0100 fs r265683 : #i94068# properly display erros happening during a form operation - at least once, and at most once
2008-12-18 11:28:29 +0100 fs r265677 : document the new InputRequired property
2008-12-18 11:04:15 +0100 fs r265676 : #i96530# createControlLabelPair: don't actually create a label for a checkbox
2008-12-18 10:35:53 +0100 fs r265674 : #i95226# when a column is replaced, and it's the selected column, update the selection
2008-12-18 10:34:42 +0100 fs r265673 : #i95226# refactoring of the implReplaced method
2008-12-18 10:34:28 +0100 fs r265672 : #i95226# when replacing a grid column, update the property browser
2008-12-18 10:33:17 +0100 fs r265671 : when an element is removed, remove it from m_aCurrentSelection, too (if necessary)
2008-12-18 10:31:57 +0100 fs r265670 : Hide Columns text slightly changed
2008-12-18 10:15:56 +0100 lla r265669 : #i14538# do not allow to press finish button twice
2008-12-18 08:56:33 +0100 lla r265665 : #i10000# build depend=t problem hacked.
2008-12-17 20:59:10 +0100 fs r265656 : #i89821# don't let a MultiLineEdit select all text when it receives the focus
2008-12-17 12:10:54 +0100 fs r265594 : #i97356#
2008-12-17 12:06:29 +0100 fs r265593 : #i97355# Print -> Printable
2008-12-17 11:59:31 +0100 fs r265591 : #i97350# combo boxes comment on list selection (as list boxes already do)
2008-12-16 09:53:57 +0100 lla r265527 : #i96526# handling none existance default.otr
2008-12-15 14:48:39 +0100 lla r265500 : #i79423# reparing, was wrong implemented
2008-12-12 15:08:33 +0100 lla r265424 : #i10000# remove wrong carridge returns
2008-12-12 15:07:55 +0100 lla r265423 : #i10000# remove wrong carridge returns
2008-12-12 15:06:41 +0100 lla r265422 : #i10000# remove wrong carridge returns
2008-12-12 10:23:13 +0100 lla r265395 : #i95234# reset DragDelta
2008-12-12 10:11:02 +0100 lla r265393 : #i79423# pre versions of shrink buttons
2008-12-11 15:32:13 +0100 fs r265318 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:30:06 +0100 fs r265316 : prevent a deadlock during complex.dbaccess.DatabaseDocument test
2008-12-11 15:07:05 +0100 fs r265307 : removed superfluous text
2008-12-11 12:29:54 +0100 lla r265282 : #i96757# cleanup second try
2008-12-11 12:09:15 +0100 lla r265278 : #i96757# cleanup
2008-12-11 12:07:56 +0100 lla r265277 : #i95234#
2008-12-10 14:04:39 +0100 lla r265183 : #i93472# D&D fixes
2008-12-10 12:29:33 +0100 lla r265168 : #i94067# add (APP|SYS)FONT to XUnitConversion
2008-12-10 12:15:02 +0100 lla r265166 : #i94067# add APPFONT, SYSFONT to MeasureUnit
2008-12-10 11:52:10 +0100 lla r265163 : #i94067# add comments
2008-12-06 20:33:05 +0100 fs r264935 : #i10000# precompiled header
2008-12-05 09:29:26 +0100 fs r264889 : #i10000#
2008-12-05 09:07:31 +0100 fs r264888 : #i10000#
2008-12-04 13:25:46 +0100 fs r264838 : CWS-TOOLING: rebase CWS dba32a to trunk@264807 (milestone: DEV300:m37)
2008-12-03 23:49:13 +0100 fs r264808 : merge changes from trunk, to be able to do a rebase
2008-12-03 17:13:09 +0100 lla r264801 : #i91041# update documentation
2008-12-03 16:57:04 +0100 lla r264799 : #i94067# allow convert(Point|Size)ToLogic as pixel also
2008-12-02 12:36:32 +0100 lla r264687 : #i96782# bring toolbar objects to menu structure
2008-12-02 10:32:44 +0100 lla r264667 : #i86255# make property work
2008-12-02 09:22:47 +0100 lla r264659 : #i79423# add section shrink toolbar
2008-12-02 07:41:22 +0100 lla r264657 : #i86255# add check box for Escape DateTime property
2008-12-02 07:37:17 +0100 lla r264656 : #i79423# new shrink buttons
2008-11-26 11:55:28 +0100 fs r264362 : #i96541#
FillPropertySet: do not only catch UnknownPropertyException when setting the Char/ParaAutoStyleName,
but also care for the other exceptions which can be thrown by XPropertySet::setPropertyValue.
This is actually not the real fix for #i96541#, but only a follow-up. The root cause of the issue
was fixed in CWS dba301b, but this here was another (potential) bug which popped up during investigations.
2008-11-25 09:04:40 +0100 lla r264273 : #i82083# new toolbox in GroupsSorting dialog
2008-11-25 08:56:08 +0100 lla r264272 : #i94729# change token strings into string list, move class out of function
2008-11-24 15:52:22 +0100 fs r264251 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:51:45 +0100 fs r264249 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:45:21 +0100 fs r264244 : #i96532# the API default for ParamNameSubst is false
2008-11-24 15:45:04 +0100 fs r264243 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear
2008-11-24 15:44:14 +0100 fs r264241 : #i96532# slight refactoring of exporting properties which have a XML default different from the API default
2008-11-24 10:50:01 +0100 lla r264216 : #i82083# icons for new toolbox
2008-11-24 09:38:45 +0100 lla r264205 : #i82083# new toolbox in GroupsSorting dialog
2008-11-24 09:32:20 +0100 lla r264201 : #i96501# cleanup assertions
2008-11-24 09:12:55 +0100 lla r264198 : #i83082# enhancement for toolboxes, better HC comfort
2008-11-24 08:46:43 +0100 lla r264197 : #i96501# fix problem with negative positions
2008-11-21 11:44:47 +0100 fs r264118 : #i57042# introduce a counter for suspending change notifications of a given property, so recursive calls are possible
2008-11-21 11:02:17 +0100 fs r264116 : #i96388# don't call ExecuteContextMenuAction when no action was chosen by the user
2008-11-21 10:36:53 +0100 fs r264114 : #i47384# assertion was wrong
2008-11-14 12:33:15 +0100 fs r263673 : #i47318# XRowSetChangeBroadcaster/Listener, to be able to listen for changes in an XRowSetSupplier's RowSet
2008-11-14 12:30:29 +0100 fs r263672 : #i47318# more refactoring
- BoundControlModels now listen at the XRowSetSupplier for changes in the supplied
RowSet, to properly revoke/register old/new listeners at the RowSet
- replaced ::osl::Mutex in various places with a ControlModelLock
2008-11-14 12:20:55 +0100 fs r263671 : when BUILD_TYPE includes QADEVOOO, the BUILD_QADEVOOO needs to bet set, too
2008-11-14 12:19:21 +0100 fs r263670 : oops, this was not intended to be committed
2008-11-12 11:08:10 +0100 fs r263579 : #i96096# new ctors taking UNO_QUERY_THROW
2008-11-12 09:15:54 +0100 fs r263576 : no need to load the complete dialog just to get a string which the dialog itself loads from resource
2008-11-10 17:55:45 +0100 fs r263535 : spelling in comment
2008-11-10 15:51:14 +0100 fs r263523 : #i47318# various refactorings
1. don't forward syntetic XLoadListener events from the grid control to
the grid columns. Instead, forward GridColumn::XChild::setParent to
the base class, which then can add itself as load listener
2. removed various occurances of XMultiServiceFactory, instead use the
::comphelper::ComponentContext
3. in O(Bound)ControlModel, have a mechanism to lock the instance (using
ControlModelLock) and fire property changes when the last lock dies.
2008-11-10 12:49:24 +0100 oj r263513 : #i94729# change token strings into string list
2008-11-10 12:13:15 +0100 oj r263512 : #i95222# export chart:title style as well
2008-11-10 08:55:25 +0100 oj r263507 : #i93471# show the correct tabpage when selecting a different object
2008-11-07 23:38:29 +0100 fs r263490 : #i95977# for the event input controls, add a component extending their functionality so they're reset when the users presses DEL
2008-11-07 23:35:39 +0100 fs r263489 : during #i95977#: When a VCL Window is deleted from within VCL code, the respective WindowPeer was never disposed. Corrected this.
2008-11-07 14:57:07 +0100 fs r263420 : #i95963# human-readable display names for event bindings
2008-11-06 10:34:52 +0100 fs r263366 : #i95865# don't use library names containing InvalidZipEntryFileNames - workaround until i95409 is fixed
2008-11-06 10:33:28 +0100 fs r263365 : #i95865#
copied the following change from CWS odfmetadata2 (not yet integrated) into CWS dba31d
- comphelper/inc/comphelper/storagehelper.hxx,
comphelper/source/misc/storagehelper.cxx:
+ add function IsValidZipEntryFileName (moved from module package)
2009-04-22 11:01:27 +00:00
OSQLWarningBox ( this , aErrorMsg ) . Execute ( ) ;
2004-03-15 11:43:58 +00:00
}
2001-02-05 08:26:47 +00:00
bError = sal_True ;
}
}
2001-09-27 05:19:05 +00:00
// }
2001-02-05 08:26:47 +00:00
}
strOldCellContents = pEntry - > GetCriteria ( nIdx ) ;
pEntry - > SetCriteria ( nIdx , aCrit ) ;
2001-04-18 10:44:59 +00:00
sNewValue = pEntry - > GetCriteria ( nIdx ) ;
2001-02-05 08:26:47 +00:00
if ( aCrit . getLength ( ) & & nRow > = ( GetRowCount ( ) - 1 ) )
2005-12-21 12:37:05 +00:00
bAppendRow = sal_True ;
2001-02-05 08:26:47 +00:00
}
}
if ( ! bError & & Controller ( ) )
Controller ( ) - > ClearModified ( ) ;
RowModified ( GetCurRow ( ) , GetCurColumnId ( ) ) ;
2005-12-21 12:37:05 +00:00
if ( bAppendRow )
{
RowInserted ( GetRowCount ( ) - 1 , 1 , TRUE ) ;
m_bVisibleRow . push_back ( sal_True ) ;
+ + m_nVisibleCount ;
}
2001-03-20 07:12:13 +00:00
if ( ! bError )
{
// und noch die Undo-Action fuer das Ganze
2001-04-18 10:44:59 +00:00
appendUndoAction ( strOldCellContents , sNewValue , nRow ) ;
2002-08-30 10:14:45 +00:00
2001-03-20 07:12:13 +00:00
}
2001-02-05 08:26:47 +00:00
}
// habe ich Daten in einer FieldDescription gespeichert, die vorher leer war und es nach den Aenderungen nicht mehr ist ?
2002-08-30 10:14:45 +00:00
if ( pEntry . isValid ( ) & & bWasEmpty & & ! pEntry - > IsEmpty ( ) & & ! bError )
2001-02-05 08:26:47 +00:00
{
// Default auf sichtbar
pEntry - > SetVisible ( sal_True ) ;
2002-08-30 10:14:45 +00:00
appendUndoAction ( g_strZero , g_strOne , BROW_VIS_ROW , bListAction ) ;
2001-02-05 08:26:47 +00:00
RowModified ( BROW_VIS_ROW , GetCurColumnId ( ) ) ;
// wenn noetig neue freie Spalten anlegen
2002-08-19 07:01:32 +00:00
USHORT nDummy ;
2001-02-05 08:26:47 +00:00
CheckFreeColumns ( nDummy ) ;
}
2005-09-23 11:43:59 +00:00
if ( bListAction & & ! m_bInUndoMode )
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getUndoMgr ( ) - > LeaveListAction ( ) ;
2002-08-30 10:14:45 +00:00
2001-02-05 08:26:47 +00:00
return pEntry ! = NULL & & ! bError ;
}
//------------------------------------------------------------------------------
sal_Bool OSelectionBrowseBox : : SeekRow ( long nRow )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
sal_Bool bRet = sal_False ;
m_nSeekRow = nRow ;
if ( nRow < m_nVisibleCount )
bRet = sal_True ;
return bRet ;
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : PaintCell ( OutputDevice & rDev , const Rectangle & rRect , sal_uInt16 nColumnId ) const
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
rDev . SetClipRegion ( rRect ) ;
2001-10-05 05:49:21 +00:00
OTableFieldDescRef pEntry = NULL ;
2002-08-19 07:01:32 +00:00
USHORT nPos = GetColumnPos ( nColumnId ) ;
if ( getFields ( ) . size ( ) > sal_uInt16 ( nPos - 1 ) )
pEntry = getFields ( ) [ nPos - 1 ] ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
if ( ! pEntry . isValid ( ) )
2001-02-05 08:26:47 +00:00
return ;
long nRow = GetRealRow ( m_nSeekRow ) ;
if ( nRow = = BROW_VIS_ROW )
PaintTristate ( rDev , rRect , pEntry - > IsVisible ( ) ? STATE_CHECK : STATE_NOCHECK ) ;
else
2008-12-10 13:41:25 +00:00
rDev . DrawText ( rRect , GetCellText ( nRow , nColumnId ) , TEXT_DRAW_VCENTER ) ;
2001-02-05 08:26:47 +00:00
rDev . SetClipRegion ( ) ;
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : PaintStatusCell ( OutputDevice & rDev , const Rectangle & rRect ) const
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2008-12-10 13:41:25 +00:00
Rectangle aRect ( rRect ) ;
aRect . TopLeft ( ) . Y ( ) - = 2 ;
2001-02-05 08:26:47 +00:00
String aLabel ( ModuleRes ( STR_QUERY_HANDLETEXT ) ) ;
// ab BROW_CRIT2_ROW werden alle Zeilen mit "oder" angegeben
2001-02-23 14:04:37 +00:00
xub_StrLen nToken = ( xub_StrLen ) ( m_nSeekRow > = GetBrowseRow ( BROW_CRIT2_ROW ) )
2001-02-05 08:26:47 +00:00
?
2001-02-23 14:04:37 +00:00
xub_StrLen ( BROW_CRIT2_ROW ) : xub_StrLen ( GetRealRow ( m_nSeekRow ) ) ;
2008-12-10 13:41:25 +00:00
rDev . DrawText ( aRect , aLabel . GetToken ( nToken ) , TEXT_DRAW_VCENTER ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2002-08-19 07:01:32 +00:00
void OSelectionBrowseBox : : RemoveColumn ( USHORT _nColumnId )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2008-06-25 11:54:03 +00:00
OQueryController & rController = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) ;
2001-04-30 12:02:01 +00:00
2002-08-19 07:01:32 +00:00
USHORT nPos = GetColumnPos ( _nColumnId ) ;
2001-02-05 08:26:47 +00:00
// das Control sollte immer genau eine Spalte mehr haben, naemlich die HandleColumn
2002-08-19 07:01:32 +00:00
DBG_ASSERT ( ( nPos = = 0 ) | | ( nPos < = getFields ( ) . size ( ) ) , " OSelectionBrowseBox::RemoveColumn : invalid parameter nColId " ) ;
2001-02-05 08:26:47 +00:00
// ColId ist bei mir gleichbedeutend mit Position, und da sollte die Bedingung natuerlich zutreffen
sal_uInt16 nCurCol = GetCurColumnId ( ) ;
2006-06-20 02:27:27 +00:00
long nCurrentRow = GetCurRow ( ) ;
2001-02-05 08:26:47 +00:00
DeactivateCell ( ) ;
2002-08-19 07:01:32 +00:00
getFields ( ) . erase ( getFields ( ) . begin ( ) + ( nPos - 1 ) ) ;
OTableFieldDescRef pEntry = new OTableFieldDesc ( ) ;
pEntry - > SetColumnId ( _nColumnId ) ;
getFields ( ) . push_back ( pEntry ) ;
EditBrowseBox : : RemoveColumn ( _nColumnId ) ;
InsertDataColumn ( _nColumnId , String ( ) , DEFAULT_SIZE , HIB_STDSTYLE , HEADERBAR_APPEND ) ;
2001-02-05 08:26:47 +00:00
// Neuzeichnen
2002-08-19 07:01:32 +00:00
Rectangle aInvalidRect = GetInvalidRect ( _nColumnId ) ;
2001-02-05 08:26:47 +00:00
Invalidate ( aInvalidRect ) ;
2006-06-20 02:27:27 +00:00
ActivateCell ( nCurrentRow , nCurCol ) ;
2001-02-05 08:26:47 +00:00
2008-06-25 11:54:03 +00:00
rController . setModified ( ) ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
invalidateUndoRedo ( ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2006-06-20 02:27:27 +00:00
void OSelectionBrowseBox : : RemoveField ( sal_uInt16 nColumnId )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2008-06-25 11:54:03 +00:00
OQueryController & rController = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) ;
2001-02-05 08:26:47 +00:00
2002-08-19 07:01:32 +00:00
USHORT nPos = GetColumnPos ( nColumnId ) ;
OSL_ENSURE ( getFields ( ) . size ( ) > sal_uInt16 ( nPos - 1 ) , " ID is to great! " ) ;
2001-04-30 12:02:01 +00:00
2002-08-19 07:01:32 +00:00
OTableFieldDescRef pDesc = getEntry ( ( sal_uInt32 ) ( nPos - 1 ) ) ;
pDesc - > SetColWidth ( ( sal_uInt16 ) GetColumnWidth ( nColumnId ) ) ; // hat er sich vorher leider nicht gemerkt
2001-02-05 08:26:47 +00:00
// UndoAction erzeugen
2005-09-23 11:43:59 +00:00
if ( ! m_bInUndoMode )
{
OTabFieldDelUndoAct * pUndoAction = new OTabFieldDelUndoAct ( this ) ;
pUndoAction - > SetTabFieldDescr ( pDesc ) ;
pUndoAction - > SetColumnPosition ( nPos ) ;
2008-06-25 11:54:03 +00:00
rController . addUndoActionAndInvalidate ( pUndoAction ) ;
2005-09-23 11:43:59 +00:00
}
2001-02-05 08:26:47 +00:00
2002-08-19 07:01:32 +00:00
RemoveColumn ( nColumnId ) ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
invalidateUndoRedo ( ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2002-05-24 11:58:56 +00:00
void OSelectionBrowseBox : : adjustSelectionMode ( sal_Bool _bClickedOntoHeader , sal_Bool _bClickedOntoHandleCol )
2001-02-05 08:26:47 +00:00
{
2002-05-24 11:58:56 +00:00
// wenn ein Header selectiert wird, mu<6D> die selection angezeigt werden, sonst nicht)
if ( _bClickedOntoHeader )
2001-02-05 08:26:47 +00:00
{
2002-05-24 11:58:56 +00:00
if ( 0 = = GetSelectColumnCount ( ) )
// wenn es schon eine selektierte Spalte gibt, bin ich schon im richtigen Modus
if ( BROWSER_HIDESELECT = = ( m_nMode & BROWSER_HIDESELECT ) )
2001-02-05 08:26:47 +00:00
{
2002-05-24 11:58:56 +00:00
m_nMode & = ~ BROWSER_HIDESELECT ;
m_nMode | = BROWSER_MULTISELECTION ;
SetMode ( m_nMode ) ;
2001-02-05 08:26:47 +00:00
}
2002-05-24 11:58:56 +00:00
}
else if ( BROWSER_HIDESELECT ! = ( m_nMode & BROWSER_HIDESELECT ) )
{
if ( GetSelectColumnCount ( ) ! = 0 )
SetNoSelection ( ) ;
if ( _bClickedOntoHandleCol )
{
m_nMode | = BROWSER_HIDESELECT ;
m_nMode & = ~ BROWSER_MULTISELECTION ;
SetMode ( m_nMode ) ;
2001-02-05 08:26:47 +00:00
}
}
2002-05-24 11:58:56 +00:00
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : MouseButtonDown ( const BrowserMouseEvent & rEvt )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
if ( rEvt . IsLeft ( ) )
{
sal_Bool bOnHandle = HANDLE_ID = = rEvt . GetColumnId ( ) ;
sal_Bool bOnHeader = ( rEvt . GetRow ( ) < 0 ) & & ! bOnHandle ;
adjustSelectionMode ( bOnHeader , bOnHandle ) ;
}
2001-06-29 07:45:10 +00:00
EditBrowseBox : : MouseButtonDown ( rEvt ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : MouseButtonUp ( const BrowserMouseEvent & rEvt )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-06-29 07:45:10 +00:00
EditBrowseBox : : MouseButtonUp ( rEvt ) ;
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . InvalidateFeature ( ID_BROWSER_QUERY_EXECUTE ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : KeyInput ( const KeyEvent & rEvt )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
if ( IsColumnSelected ( GetCurColumnId ( ) ) )
{
if ( rEvt . GetKeyCode ( ) . GetCode ( ) = = KEY_DELETE & & // Delete rows
! rEvt . GetKeyCode ( ) . IsShift ( ) & &
! rEvt . GetKeyCode ( ) . IsMod1 ( ) )
{
RemoveField ( GetCurColumnId ( ) ) ;
return ;
}
}
2001-06-29 07:45:10 +00:00
EditBrowseBox : : KeyInput ( rEvt ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2001-03-30 12:06:46 +00:00
sal_Int8 OSelectionBrowseBox : : AcceptDrop ( const BrowserAcceptDropEvent & rEvt )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2002-06-21 06:09:34 +00:00
sal_Int8 nDropAction = DND_ACTION_NONE ;
2006-06-20 02:27:27 +00:00
if ( rEvt . GetRow ( ) > = - 1 )
2002-06-21 06:09:34 +00:00
{
if ( IsEditing ( ) )
{
// #100271# OJ allow the asterix again
2004-03-15 11:43:58 +00:00
m_bDisableErrorBox = sal_True ;
2002-06-21 06:09:34 +00:00
SaveModified ( ) ;
2004-03-15 11:43:58 +00:00
m_bDisableErrorBox = sal_False ;
2002-06-21 06:09:34 +00:00
DeactivateCell ( ) ;
}
// check if the format is already supported, if not deactivate the current cell and try again
if ( OJoinExchObj : : isFormatAvailable ( GetDataFlavors ( ) ) )
nDropAction = DND_ACTION_LINK ;
}
2001-03-30 12:06:46 +00:00
2002-06-21 06:09:34 +00:00
return nDropAction ;
2001-03-30 12:06:46 +00:00
}
//------------------------------------------------------------------------------
sal_Int8 OSelectionBrowseBox : : ExecuteDrop ( const BrowserExecuteDropEvent & _rEvt )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
TransferableDataHelper aDropped ( _rEvt . maDropEvent . Transferable ) ;
if ( ! OJoinExchObj : : isFormatAvailable ( aDropped . GetDataFlavorExVector ( ) ) )
2001-02-05 08:26:47 +00:00
{
2001-03-30 12:06:46 +00:00
DBG_ERROR ( " OSelectionBrowseBox::ExecuteDrop: this should never have passed AcceptDrop! " ) ;
return DND_ACTION_NONE ;
2001-02-05 08:26:47 +00:00
}
2001-03-30 12:06:46 +00:00
OTableFieldDesc aInfo ;
// Einfuegen des Feldes an der gewuenschten Position
OJoinExchangeData jxdSource = OJoinExchObj : : GetSourceDescription ( _rEvt . maDropEvent . Transferable ) ;
InsertField ( jxdSource ) ;
return DND_ACTION_LINK ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2002-08-19 07:01:32 +00:00
OTableFieldDescRef OSelectionBrowseBox : : AppendNewCol ( sal_uInt16 nCnt )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
// es koennen mehrere angelegt werden, aber der Erste
// wird returnt
2001-10-05 05:49:21 +00:00
sal_uInt32 nCount = getFields ( ) . size ( ) ;
2001-02-05 08:26:47 +00:00
for ( sal_uInt16 i = 0 ; i < nCnt ; i + + )
{
2002-08-19 07:01:32 +00:00
OTableFieldDescRef pEmptyEntry = new OTableFieldDesc ( ) ;
getFields ( ) . push_back ( pEmptyEntry ) ;
2006-10-12 12:43:07 +00:00
USHORT nColumnId = sal : : static_int_cast < USHORT > ( getFields ( ) . size ( ) ) ;
2002-08-19 07:01:32 +00:00
pEmptyEntry - > SetColumnId ( nColumnId ) ;
InsertDataColumn ( nColumnId , String ( ) , DEFAULT_SIZE , HIB_STDSTYLE , HEADERBAR_APPEND ) ;
2001-02-05 08:26:47 +00:00
}
2001-10-05 05:49:21 +00:00
return getFields ( ) [ nCount ] ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : DeleteFields ( const String & rAliasName )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-10-05 05:49:21 +00:00
if ( ! getFields ( ) . empty ( ) )
2001-02-05 08:26:47 +00:00
{
sal_uInt16 nColId = GetCurColumnId ( ) ;
sal_uInt32 nRow = GetCurRow ( ) ;
2001-10-26 06:49:36 +00:00
sal_Bool bWasEditing = IsEditing ( ) ;
if ( bWasEditing )
2001-02-05 08:26:47 +00:00
DeactivateCell ( ) ;
2001-10-05 05:49:21 +00:00
OTableFields : : reverse_iterator aIter = getFields ( ) . rbegin ( ) ;
OTableFieldDescRef pEntry = NULL ;
2006-10-12 12:43:07 +00:00
for ( USHORT nPos = sal : : static_int_cast < USHORT > ( getFields ( ) . size ( ) ) ; aIter ! = getFields ( ) . rend ( ) ; + + aIter , - - nPos )
2001-02-05 08:26:47 +00:00
{
pEntry = * aIter ;
2006-07-26 06:48:50 +00:00
if ( pEntry - > GetAlias ( ) . equals ( rAliasName ) )
{
2006-06-20 02:27:27 +00:00
RemoveField ( GetColumnId ( nPos ) ) ;
2006-07-26 06:48:50 +00:00
break ;
}
2001-02-05 08:26:47 +00:00
}
2001-10-26 06:49:36 +00:00
if ( bWasEditing )
2001-02-05 08:26:47 +00:00
ActivateCell ( nRow , nColId ) ;
}
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : SetColWidth ( sal_uInt16 nColId , long nNewWidth )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-10-26 06:49:36 +00:00
sal_Bool bWasEditing = IsEditing ( ) ;
if ( bWasEditing )
2001-02-05 08:26:47 +00:00
DeactivateCell ( ) ;
// die Basisklasse machen lassen
SetColumnWidth ( nColId , nNewWidth ) ;
// der FieldDescription Bescheid sagen
2002-08-30 10:14:45 +00:00
OTableFieldDescRef pEntry = getEntry ( GetColumnPos ( nColId ) - 1 ) ;
2001-10-05 05:49:21 +00:00
if ( pEntry . isValid ( ) )
2001-02-23 14:04:37 +00:00
pEntry - > SetColWidth ( sal_uInt16 ( GetColumnWidth ( nColId ) ) ) ;
2001-02-05 08:26:47 +00:00
2001-10-26 06:49:36 +00:00
if ( bWasEditing )
2001-02-05 08:26:47 +00:00
ActivateCell ( GetCurRow ( ) , GetCurColumnId ( ) ) ;
}
//------------------------------------------------------------------------------
Rectangle OSelectionBrowseBox : : GetInvalidRect ( sal_uInt16 nColId )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
//////////////////////////////////////////////////////////////////////
// Rechteck ist erst einmal der gesamte Outputbereich des Fensters
Rectangle aInvalidRect ( Point ( 0 , 0 ) , GetOutputSizePixel ( ) ) ;
//////////////////////////////////////////////////////////////////////
// Dann wird die linke Seite angepasst
2001-02-14 13:54:12 +00:00
Rectangle aFieldRect ( GetCellRect ( 0 , nColId ) ) ; // used instead of GetFieldRectPixel
2001-02-05 08:26:47 +00:00
aInvalidRect . Left ( ) = aFieldRect . Left ( ) ;
return aInvalidRect ;
}
//------------------------------------------------------------------------------
2002-08-19 07:01:32 +00:00
void OSelectionBrowseBox : : InsertColumn ( OTableFieldDescRef pEntry , USHORT & _nColumnPostion )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
// das Control sollte immer genau eine Spalte mehr haben, naemlich die HandleColumn
2002-08-19 07:01:32 +00:00
DBG_ASSERT ( _nColumnPostion = = BROWSER_INVALIDID | | ( _nColumnPostion < = ( long ) getFields ( ) . size ( ) ) , " OSelectionBrowseBox::InsertColumn : invalid parameter nColId. " ) ;
2001-02-05 08:26:47 +00:00
// -1 heisst ganz hinten, Count heisst ganz hinten, der Rest bezeichnet eine richtige Position
sal_uInt16 nCurCol = GetCurColumnId ( ) ;
2006-06-20 02:27:27 +00:00
long nCurrentRow = GetCurRow ( ) ;
2001-02-05 08:26:47 +00:00
DeactivateCell ( ) ;
2002-08-19 07:01:32 +00:00
// remember the column id of the current positon
USHORT nColumnId = GetColumnId ( _nColumnPostion ) ;
2001-02-05 08:26:47 +00:00
// Wenn zu klein oder zu gross, auf Ende der Liste setzen
2002-08-19 07:01:32 +00:00
if ( ( _nColumnPostion = = BROWSER_INVALIDID ) | | ( _nColumnPostion > = getFields ( ) . size ( ) ) ) // Anhaengen des Feldes
2001-02-05 08:26:47 +00:00
{
2002-08-19 07:01:32 +00:00
if ( FindFirstFreeCol ( _nColumnPostion ) = = NULL ) // keine freie Column mehr
2001-02-05 08:26:47 +00:00
{
AppendNewCol ( 1 ) ;
2006-10-12 12:43:07 +00:00
_nColumnPostion = sal : : static_int_cast < USHORT > (
getFields ( ) . size ( ) ) ;
2001-02-05 08:26:47 +00:00
}
else
2002-08-19 07:01:32 +00:00
+ + _nColumnPostion ; // innerhalb der vorgegebenen Liste
nColumnId = GetColumnId ( _nColumnPostion ) ;
pEntry - > SetColumnId ( nColumnId ) ;
getFields ( ) [ _nColumnPostion - 1 ] = pEntry ;
2001-02-05 08:26:47 +00:00
}
2002-08-19 07:01:32 +00:00
// check if the column ids are identical, if not we have to move
if ( pEntry - > GetColumnId ( ) ! = nColumnId )
{
USHORT nOldPosition = GetColumnPos ( pEntry - > GetColumnId ( ) ) ;
OSL_ENSURE ( nOldPosition ! = 0 , " Old position was 0. Not possible! " ) ;
SetColumnPos ( pEntry - > GetColumnId ( ) , _nColumnPostion ) ;
// we have to delete an empty field for the fields list, because the columns must have equal length
if ( nOldPosition > 0 & & nOldPosition < = getFields ( ) . size ( ) )
getFields ( ) [ nOldPosition - 1 ] = pEntry ;
ColumnMoved ( pEntry - > GetColumnId ( ) , FALSE ) ;
2008-12-01 12:31:27 +00:00
} // if ( pEntry->GetColumnId() != nColumnId )
if ( pEntry - > GetFunctionType ( ) & ( FKT_AGGREGATE ) )
{
String sFunctionName = pEntry - > GetFunction ( ) ;
if ( GetFunctionName ( sal_uInt32 ( - 1 ) , sFunctionName ) )
pEntry - > SetFunction ( sFunctionName ) ;
2002-08-19 07:01:32 +00:00
}
2001-02-05 08:26:47 +00:00
2008-12-09 07:25:38 +00:00
nColumnId = pEntry - > GetColumnId ( ) ;
SetColWidth ( nColumnId , getDesignView ( ) - > getColWidth ( GetColumnPos ( nColumnId ) - 1 ) ) ;
2001-02-05 08:26:47 +00:00
// Neuzeichnen
2008-12-09 07:25:38 +00:00
Rectangle aInvalidRect = GetInvalidRect ( nColumnId ) ;
2001-02-05 08:26:47 +00:00
Invalidate ( aInvalidRect ) ;
2006-06-20 02:27:27 +00:00
ActivateCell ( nCurrentRow , nCurCol ) ;
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . setModified ( ) ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
invalidateUndoRedo ( ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2002-08-19 07:01:32 +00:00
OTableFieldDescRef OSelectionBrowseBox : : InsertField ( const OJoinExchangeData & jxdSource , USHORT _nColumnPostion , sal_Bool bVis , sal_Bool bActivate )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
OQueryTableWindow * pSourceWin = static_cast < OQueryTableWindow * > ( jxdSource . pListBox - > GetTabWin ( ) ) ;
if ( ! pSourceWin )
return NULL ;
// Namen/Position des selektierten Feldes
String aFieldName = jxdSource . pListBox - > GetEntryText ( jxdSource . pEntry ) ;
sal_uInt32 nFieldIndex = jxdSource . pListBox - > GetModel ( ) - > GetAbsPos ( jxdSource . pEntry ) ;
OTableFieldInfo * pInf = static_cast < OTableFieldInfo * > ( jxdSource . pEntry - > GetUserData ( ) ) ;
// eine DragInfo aufbauen, damit ich mich auf das andere InsertField zurueckziehen kann
2001-10-05 05:49:21 +00:00
OTableFieldDescRef aInfo = new OTableFieldDesc ( pSourceWin - > GetTableName ( ) , aFieldName ) ;
aInfo - > SetTabWindow ( pSourceWin ) ;
aInfo - > SetFieldIndex ( nFieldIndex ) ;
aInfo - > SetFieldType ( pInf - > GetKeyType ( ) ) ;
aInfo - > SetAlias ( pSourceWin - > GetAliasName ( ) ) ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
aInfo - > SetDataType ( pInf - > GetDataType ( ) ) ;
aInfo - > SetVisible ( bVis ) ;
2001-02-05 08:26:47 +00:00
2002-08-19 07:01:32 +00:00
return InsertField ( aInfo , _nColumnPostion , bVis , bActivate ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2002-08-19 07:01:32 +00:00
OTableFieldDescRef OSelectionBrowseBox : : InsertField ( const OTableFieldDescRef & _rInfo , USHORT _nColumnPostion , sal_Bool bVis , sal_Bool bActivate )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
if ( m_nMaxColumns & & m_nMaxColumns < = FieldsCount ( ) )
return NULL ;
if ( bActivate )
SaveModified ( ) ;
// Neue Spaltenbeschreibung
2002-08-19 07:01:32 +00:00
OTableFieldDescRef pEntry = _rInfo ;
2001-02-05 08:26:47 +00:00
pEntry - > SetVisible ( bVis ) ;
// Spalte einfuegen
2002-08-19 07:01:32 +00:00
InsertColumn ( pEntry , _nColumnPostion ) ;
2001-02-05 08:26:47 +00:00
2005-09-23 11:43:59 +00:00
if ( ! m_bInUndoMode )
{
// UndoAction erzeugen
OTabFieldCreateUndoAct * pUndoAction = new OTabFieldCreateUndoAct ( this ) ;
pUndoAction - > SetTabFieldDescr ( pEntry ) ;
pUndoAction - > SetColumnPosition ( _nColumnPostion ) ;
2008-06-25 11:54:03 +00:00
getDesignView ( ) - > getController ( ) . addUndoActionAndInvalidate ( pUndoAction ) ;
2005-09-23 11:43:59 +00:00
}
2001-02-05 08:26:47 +00:00
return pEntry ;
}
//------------------------------------------------------------------------------
sal_uInt16 OSelectionBrowseBox : : FieldsCount ( )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-10-05 05:49:21 +00:00
OTableFields : : iterator aIter = getFields ( ) . begin ( ) ;
2001-02-05 08:26:47 +00:00
sal_uInt16 nCount = 0 ;
2001-10-05 05:49:21 +00:00
while ( aIter ! = getFields ( ) . end ( ) )
2001-02-05 08:26:47 +00:00
{
2001-10-05 05:49:21 +00:00
if ( ( * aIter ) . isValid ( ) & & ! ( * aIter ) - > IsEmpty ( ) )
2001-10-22 08:57:52 +00:00
+ + nCount ;
2001-02-05 08:26:47 +00:00
+ + aIter ;
}
return nCount ;
}
//------------------------------------------------------------------------------
2002-08-19 07:01:32 +00:00
OTableFieldDescRef OSelectionBrowseBox : : FindFirstFreeCol ( USHORT & _rColumnPosition )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-10-05 05:49:21 +00:00
OTableFields : : iterator aIter = getFields ( ) . begin ( ) ;
2002-08-19 07:01:32 +00:00
OTableFields : : iterator aEnd = getFields ( ) . end ( ) ;
_rColumnPosition = BROWSER_INVALIDID ;
while ( aIter ! = aEnd )
2001-02-05 08:26:47 +00:00
{
2002-08-19 07:01:32 +00:00
+ + _rColumnPosition ;
OTableFieldDescRef pEntry = ( * aIter ) ;
if ( pEntry . isValid ( ) & & pEntry - > IsEmpty ( ) )
return pEntry ;
2001-02-05 08:26:47 +00:00
+ + aIter ;
}
return NULL ;
}
//------------------------------------------------------------------------------
2002-08-19 07:01:32 +00:00
void OSelectionBrowseBox : : CheckFreeColumns ( USHORT & _rColumnPosition )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2002-08-19 07:01:32 +00:00
if ( FindFirstFreeCol ( _rColumnPosition ) = = NULL )
2001-02-05 08:26:47 +00:00
{
// es ist voll, also einen Packen Spalten anhaengen
AppendNewCol ( DEFAULT_QUERY_COLS ) ;
2002-08-19 07:01:32 +00:00
OSL_VERIFY ( FindFirstFreeCol ( _rColumnPosition ) . isValid ( ) ) ;
2001-02-05 08:26:47 +00:00
}
}
//------------------------------------------------------------------------------
2008-06-25 11:54:03 +00:00
void OSelectionBrowseBox : : AddGroupBy ( const OTableFieldDescRef & rInfo , sal_uInt32 /*_nCurrentPos*/ )
2001-02-05 08:26:47 +00:00
{
2008-06-25 11:54:03 +00:00
Reference < XConnection > xConnection = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getConnection ( ) ;
2001-03-01 14:45:02 +00:00
if ( ! xConnection . is ( ) )
return ;
2001-02-05 08:26:47 +00:00
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-10-05 05:49:21 +00:00
DBG_ASSERT ( ! rInfo - > IsEmpty ( ) , " AddGroupBy:: OTableFieldDescRef sollte nicht Empty sein! " ) ;
OTableFieldDescRef pEntry ;
2008-06-25 11:54:03 +00:00
const Reference < XDatabaseMetaData > xMeta = xConnection - > getMetaData ( ) ;
const : : comphelper : : UStringMixEqual bCase ( xMeta . is ( ) & & xMeta - > supportsMixedCaseQuotedIdentifiers ( ) ) ;
//sal_Bool bAppend = sal_False;
2005-03-10 15:53:16 +00:00
OTableFields & rFields = getFields ( ) ;
OTableFields : : iterator aIter = rFields . begin ( ) ;
for ( ; aIter ! = rFields . end ( ) ; + + aIter )
2001-02-05 08:26:47 +00:00
{
pEntry = * aIter ;
2001-10-05 05:49:21 +00:00
OSL_ENSURE ( pEntry . isValid ( ) , " OTableFieldDescRef was null! " ) ;
2001-02-05 08:26:47 +00:00
2008-06-25 11:54:03 +00:00
const : : rtl : : OUString aField = pEntry - > GetField ( ) ;
const : : rtl : : OUString aAlias = pEntry - > GetAlias ( ) ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
if ( bCase ( aField , rInfo - > GetField ( ) ) & &
bCase ( aAlias , rInfo - > GetAlias ( ) ) & &
2009-02-17 15:39:54 +00:00
pEntry - > GetFunctionType ( ) = = rInfo - > GetFunctionType ( ) & &
pEntry - > GetFunction ( ) = = rInfo - > GetFunction ( ) )
2001-02-05 08:26:47 +00:00
{
2008-06-25 11:54:03 +00:00
/*sal_uInt32 nPos = aIter - rFields.begin();
bAppend = _nCurrentPos > nPos & & ( rInfo - > IsGroupBy ( ) ! = pEntry - > IsGroupBy ( ) ) ;
2005-03-10 15:53:16 +00:00
if ( bAppend )
aIter = rFields . end ( ) ;
2008-06-25 11:54:03 +00:00
else */
2001-02-05 08:26:47 +00:00
{
2005-03-10 15:53:16 +00:00
if ( pEntry - > isNumericOrAggreateFunction ( ) & & rInfo - > IsGroupBy ( ) )
2008-06-25 11:54:03 +00:00
{
2005-03-10 15:53:16 +00:00
pEntry - > SetGroupBy ( sal_False ) ;
2008-06-25 11:54:03 +00:00
aIter = rFields . end ( ) ;
}
2005-03-10 15:53:16 +00:00
else
{
pEntry - > SetGroupBy ( rInfo - > IsGroupBy ( ) ) ;
if ( ! m_bGroupByUnRelated & & pEntry - > IsGroupBy ( ) )
pEntry - > SetVisible ( sal_True ) ;
}
2001-02-05 08:26:47 +00:00
}
break ;
}
}
2005-03-10 15:53:16 +00:00
if ( aIter = = rFields . end ( ) )
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
OTableFieldDescRef pTmp = InsertField ( rInfo , BROWSER_INVALIDID , sal_False , sal_False ) ;
if ( ( pTmp - > isNumericOrAggreateFunction ( ) & & rInfo - > IsGroupBy ( ) ) ) // das GroupBy wird bereits von rInfo "ubernommen
2001-02-05 08:26:47 +00:00
pTmp - > SetGroupBy ( sal_False ) ;
}
}
//------------------------------------------------------------------------------
2007-11-01 14:32:32 +00:00
void OSelectionBrowseBox : : AddCondition ( const OTableFieldDescRef & rInfo , const String & rValue , const sal_uInt16 nLevel , bool _bAddOrOnOneLine )
2001-02-05 08:26:47 +00:00
{
2008-06-25 11:54:03 +00:00
Reference < XConnection > xConnection = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getConnection ( ) ;
2001-03-01 14:45:02 +00:00
if ( ! xConnection . is ( ) )
return ;
2001-02-05 08:26:47 +00:00
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-10-05 05:49:21 +00:00
DBG_ASSERT ( rInfo . isValid ( ) & & ! rInfo - > IsEmpty ( ) , " AddCondition:: OTableFieldDescRef sollte nicht Empty sein! " ) ;
OTableFieldDescRef pEntry ;
2003-12-01 09:38:48 +00:00
Reference < XDatabaseMetaData > xMeta = xConnection - > getMetaData ( ) ;
2006-08-15 09:56:20 +00:00
: : comphelper : : UStringMixEqual bCase ( xMeta . is ( ) & & xMeta - > supportsMixedCaseQuotedIdentifiers ( ) ) ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
OTableFields : : iterator aIter = getFields ( ) . begin ( ) ;
for ( ; aIter ! = getFields ( ) . end ( ) ; + + aIter )
2001-02-05 08:26:47 +00:00
{
pEntry = * aIter ;
2008-06-25 11:54:03 +00:00
const : : rtl : : OUString aField = pEntry - > GetField ( ) ;
const : : rtl : : OUString aAlias = pEntry - > GetAlias ( ) ;
2001-02-05 08:26:47 +00:00
2001-10-05 05:49:21 +00:00
if ( bCase ( aField , rInfo - > GetField ( ) ) & &
bCase ( aAlias , rInfo - > GetAlias ( ) ) & &
2009-02-17 15:39:54 +00:00
pEntry - > GetFunctionType ( ) = = rInfo - > GetFunctionType ( ) & &
pEntry - > GetFunction ( ) = = rInfo - > GetFunction ( ) )
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
if ( pEntry - > isNumericOrAggreateFunction ( ) & & rInfo - > IsGroupBy ( ) )
2001-02-05 08:26:47 +00:00
pEntry - > SetGroupBy ( sal_False ) ;
else
{
2001-10-05 05:49:21 +00:00
pEntry - > SetGroupBy ( rInfo - > IsGroupBy ( ) ) ;
2001-03-20 09:56:40 +00:00
if ( ! m_bGroupByUnRelated & & pEntry - > IsGroupBy ( ) )
2001-02-05 08:26:47 +00:00
pEntry - > SetVisible ( sal_True ) ;
}
2007-11-01 14:32:32 +00:00
if ( ! pEntry - > GetCriteria ( nLevel ) . getLength ( ) | | _bAddOrOnOneLine )
2001-02-05 08:26:47 +00:00
{
2007-11-01 14:32:32 +00:00
String sCriteria = rValue ;
if ( _bAddOrOnOneLine )
{
String sOldCriteria = pEntry - > GetCriteria ( nLevel ) ;
if ( sOldCriteria . Len ( ) )
{
sCriteria = String ( RTL_CONSTASCII_USTRINGPARAM ( " ( " ) ) ;
sCriteria + = sOldCriteria ;
sCriteria + = String ( RTL_CONSTASCII_USTRINGPARAM ( " OR " ) ) ;
sCriteria + = rValue ;
sCriteria + = String ( RTL_CONSTASCII_USTRINGPARAM ( " ) " ) ) ;
}
}
pEntry - > SetCriteria ( nLevel , sCriteria ) ;
2001-02-05 08:26:47 +00:00
if ( nLevel = = ( m_nVisibleCount - BROW_CRIT1_ROW - 1 ) )
{
RowInserted ( GetRowCount ( ) - 1 , 1 , TRUE ) ;
m_bVisibleRow . push_back ( sal_True ) ;
+ + m_nVisibleCount ;
}
2007-11-01 14:32:32 +00:00
m_bVisibleRow [ BROW_CRIT1_ROW + nLevel ] = sal_True ;
2001-02-05 08:26:47 +00:00
break ;
}
}
}
2001-10-05 05:49:21 +00:00
if ( aIter = = getFields ( ) . end ( ) )
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
OTableFieldDescRef pTmp = InsertField ( rInfo , BROWSER_INVALIDID , sal_False , sal_False ) ;
if ( pTmp - > isNumericOrAggreateFunction ( ) & & rInfo - > IsGroupBy ( ) ) // das GroupBy wird bereits von rInfo "ubernommen
2001-02-05 08:26:47 +00:00
pTmp - > SetGroupBy ( sal_False ) ;
2002-08-30 10:14:45 +00:00
if ( pTmp . isValid ( ) )
2001-02-05 08:26:47 +00:00
{
pTmp - > SetCriteria ( nLevel , rValue ) ;
if ( nLevel = = ( m_nVisibleCount - BROW_CRIT1_ROW - 1 ) )
{
RowInserted ( GetRowCount ( ) - 1 , 1 , TRUE ) ;
m_bVisibleRow . push_back ( sal_True ) ;
+ + m_nVisibleCount ;
}
}
}
}
//------------------------------------------------------------------------------
2005-03-10 15:53:16 +00:00
void OSelectionBrowseBox : : AddOrder ( const OTableFieldDescRef & rInfo , const EOrderDir eDir , sal_uInt32 _nCurrentPos )
2001-02-05 08:26:47 +00:00
{
2008-06-25 11:54:03 +00:00
Reference < XConnection > xConnection = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getConnection ( ) ;
2001-03-01 14:45:02 +00:00
if ( ! xConnection . is ( ) )
return ;
2001-02-05 08:26:47 +00:00
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-10-05 05:49:21 +00:00
DBG_ASSERT ( ! rInfo - > IsEmpty ( ) , " AddOrder:: OTableFieldDescRef sollte nicht Empty sein! " ) ;
OTableFieldDescRef pEntry ;
2003-12-01 09:38:48 +00:00
Reference < XDatabaseMetaData > xMeta = xConnection - > getMetaData ( ) ;
2006-08-15 09:56:20 +00:00
: : comphelper : : UStringMixEqual bCase ( xMeta . is ( ) & & xMeta - > supportsMixedCaseQuotedIdentifiers ( ) ) ;
2001-02-05 08:26:47 +00:00
2005-03-10 15:53:16 +00:00
sal_Bool bAppend = sal_False ;
OTableFields & rFields = getFields ( ) ;
OTableFields : : iterator aIter = rFields . begin ( ) ;
for ( ; aIter ! = rFields . end ( ) ; + + aIter )
2001-02-05 08:26:47 +00:00
{
pEntry = * aIter ;
: : rtl : : OUString aField = pEntry - > GetField ( ) ;
: : rtl : : OUString aAlias = pEntry - > GetAlias ( ) ;
2001-10-05 05:49:21 +00:00
if ( bCase ( aField , rInfo - > GetField ( ) ) & &
bCase ( aAlias , rInfo - > GetAlias ( ) ) )
2001-02-05 08:26:47 +00:00
{
2005-03-10 15:53:16 +00:00
sal_uInt32 nPos = aIter - rFields . begin ( ) ;
bAppend = _nCurrentPos > nPos ;
if ( bAppend )
aIter = rFields . end ( ) ;
else
{
if ( ! m_bOrderByUnRelated )
pEntry - > SetVisible ( sal_True ) ;
pEntry - > SetOrderDir ( eDir ) ;
}
2001-02-05 08:26:47 +00:00
break ;
}
}
2005-03-10 15:53:16 +00:00
if ( aIter = = rFields . end ( ) )
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
OTableFieldDescRef pTmp = InsertField ( rInfo , BROWSER_INVALIDID , sal_False , sal_False ) ;
2001-10-05 05:49:21 +00:00
if ( pTmp . isValid ( ) )
2001-02-05 08:26:47 +00:00
{
2005-03-10 15:53:16 +00:00
if ( ! m_bOrderByUnRelated & & ! bAppend )
2001-03-20 09:56:40 +00:00
pTmp - > SetVisible ( sal_True ) ;
2001-02-05 08:26:47 +00:00
pTmp - > SetOrderDir ( eDir ) ;
}
}
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : ArrangeControls ( sal_uInt16 & nX , sal_uInt16 nY )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-06-29 07:45:10 +00:00
EditBrowseBox : : ArrangeControls ( nX , nY ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2001-09-27 05:19:05 +00:00
sal_Bool OSelectionBrowseBox : : Save ( )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-09-27 05:19:05 +00:00
sal_Bool bRet = sal_True ;
2001-02-05 08:26:47 +00:00
if ( IsModified ( ) )
2001-09-27 05:19:05 +00:00
bRet = SaveModified ( ) ;
return bRet ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : CellModified ( )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
long nRow = GetRealRow ( GetCurRow ( ) ) ;
switch ( nRow )
{
case BROW_VIS_ROW :
{
2002-08-30 10:14:45 +00:00
OTableFieldDescRef pEntry = getEntry ( GetColumnPos ( GetCurColumnId ( ) ) - 1 ) ;
2001-10-05 05:49:21 +00:00
2001-02-05 08:26:47 +00:00
sal_uInt16 nIdx = m_pOrderCell - > GetSelectEntryPos ( ) ;
2001-03-20 09:56:40 +00:00
if ( ! m_bOrderByUnRelated & & nIdx > 0 & &
nIdx ! = sal_uInt16 ( - 1 ) & &
! pEntry - > IsEmpty ( ) & &
pEntry - > GetOrderDir ( ) ! = ORDER_NONE )
2001-02-05 08:26:47 +00:00
{
m_pVisibleCell - > GetBox ( ) . Check ( ) ;
pEntry - > SetVisible ( sal_True ) ;
}
else
pEntry - > SetVisible ( m_pVisibleCell - > GetBox ( ) . IsChecked ( ) ) ;
}
break ;
}
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . setModified ( ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : Fill ( )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
DBG_ASSERT ( ColCount ( ) > = 1 , " OSelectionBrowseBox::Fill : please call only after inserting the handle column ! " ) ;
sal_uInt16 nColCount = ColCount ( ) - 1 ;
if ( nColCount < DEFAULT_QUERY_COLS )
AppendNewCol ( DEFAULT_QUERY_COLS - nColCount ) ;
}
2002-05-24 11:58:56 +00:00
//------------------------------------------------------------------------------
Size OSelectionBrowseBox : : CalcOptimalSize ( const Size & _rAvailable )
{
Size aReturn ( _rAvailable . Width ( ) , GetTitleHeight ( ) ) ;
aReturn . Height ( ) + = ( m_nVisibleCount ? m_nVisibleCount : 15 ) * GetDataRowHeight ( ) ;
aReturn . Height ( ) + = 40 ; // just some space
return aReturn ;
}
2001-02-05 08:26:47 +00:00
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : Command ( const CommandEvent & rEvt )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
switch ( rEvt . GetCommand ( ) )
{
case COMMAND_CONTEXTMENU :
{
2002-05-24 11:58:56 +00:00
Point aMenuPos ( rEvt . GetMousePosPixel ( ) ) ;
2001-02-05 08:26:47 +00:00
if ( ! rEvt . IsMouseEvent ( ) )
{
2002-05-24 11:58:56 +00:00
if ( 1 = = GetSelectColumnCount ( ) )
{
2006-10-12 12:43:07 +00:00
sal_uInt16 nSelId = GetColumnId (
sal : : static_int_cast < USHORT > (
FirstSelectedColumn ( ) ) ) ;
2002-05-24 11:58:56 +00:00
: : Rectangle aColRect ( GetFieldRectPixel ( 0 , nSelId , sal_False ) ) ;
aMenuPos = aColRect . TopCenter ( ) ;
}
else
{
EditBrowseBox : : Command ( rEvt ) ;
return ;
}
2001-02-05 08:26:47 +00:00
}
2002-08-19 07:01:32 +00:00
sal_uInt16 nColId = GetColumnId ( GetColumnAtXPosPixel ( aMenuPos . X ( ) ) ) ;
2002-05-24 11:58:56 +00:00
long nRow = GetRowAtYPosPixel ( aMenuPos . Y ( ) ) ;
2001-02-05 08:26:47 +00:00
2002-05-24 11:58:56 +00:00
if ( nRow < 0 & & nColId > HANDLE_ID )
2001-02-05 08:26:47 +00:00
{
2002-05-24 11:58:56 +00:00
if ( ! IsColumnSelected ( nColId ) )
{
adjustSelectionMode ( sal_True /* clicked onto a header */ , sal_False /* not onto the handle col */ ) ;
SelectColumnId ( nColId ) ;
}
2008-06-25 11:54:03 +00:00
if ( ! static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . isReadOnly ( ) )
2001-02-05 08:26:47 +00:00
{
2002-05-24 11:58:56 +00:00
PopupMenu aContextMenu ( ModuleRes ( RID_QUERYCOLPOPUPMENU ) ) ;
switch ( aContextMenu . Execute ( this , aMenuPos ) )
2001-02-05 08:26:47 +00:00
{
2002-05-24 11:58:56 +00:00
case SID_DELETE :
2001-02-05 08:26:47 +00:00
RemoveField ( nColId ) ;
break ;
2002-05-24 11:58:56 +00:00
case ID_BROWSER_COLWIDTH :
adjustBrowseBoxColumnWidth ( this , nColId ) ;
break ;
2001-02-05 08:26:47 +00:00
}
}
}
else if ( nRow > = 0 & & nColId < = HANDLE_ID )
{
2008-06-25 11:54:03 +00:00
if ( ! static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . isReadOnly ( ) )
2001-02-05 08:26:47 +00:00
{
PopupMenu aContextMenu ( ModuleRes ( RID_QUERYFUNCTION_POPUPMENU ) ) ;
aContextMenu . CheckItem ( ID_QUERY_FUNCTION , m_bVisibleRow [ BROW_FUNCTION_ROW ] ) ;
aContextMenu . CheckItem ( ID_QUERY_TABLENAME , m_bVisibleRow [ BROW_TABLE_ROW ] ) ;
aContextMenu . CheckItem ( ID_QUERY_ALIASNAME , m_bVisibleRow [ BROW_COLUMNALIAS_ROW ] ) ;
2008-06-25 11:54:03 +00:00
aContextMenu . CheckItem ( ID_QUERY_DISTINCT , static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . isDistinct ( ) ) ;
2001-02-05 08:26:47 +00:00
2002-05-24 11:58:56 +00:00
switch ( aContextMenu . Execute ( this , aMenuPos ) )
2001-02-05 08:26:47 +00:00
{
case ID_QUERY_FUNCTION :
SetRowVisible ( BROW_FUNCTION_ROW , ! IsRowVisible ( BROW_FUNCTION_ROW ) ) ;
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . InvalidateFeature ( SID_QUERY_VIEW_FUNCTIONS ) ;
2001-02-05 08:26:47 +00:00
break ;
case ID_QUERY_TABLENAME :
SetRowVisible ( BROW_TABLE_ROW , ! IsRowVisible ( BROW_TABLE_ROW ) ) ;
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . InvalidateFeature ( SID_QUERY_VIEW_TABLES ) ;
2001-02-05 08:26:47 +00:00
break ;
case ID_QUERY_ALIASNAME :
SetRowVisible ( BROW_COLUMNALIAS_ROW , ! IsRowVisible ( BROW_COLUMNALIAS_ROW ) ) ;
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . InvalidateFeature ( SID_QUERY_VIEW_ALIASES ) ;
2001-02-05 08:26:47 +00:00
break ;
case ID_QUERY_DISTINCT :
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . setDistinct ( ! static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . isDistinct ( ) ) ;
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . setModified ( ) ;
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . InvalidateFeature ( SID_QUERY_DISTINCT_VALUES ) ;
2001-02-05 08:26:47 +00:00
break ;
}
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . setModified ( ) ;
2001-02-05 08:26:47 +00:00
}
}
else
{
2001-06-29 07:45:10 +00:00
EditBrowseBox : : Command ( rEvt ) ;
2001-02-05 08:26:47 +00:00
return ;
}
}
default :
2001-06-29 07:45:10 +00:00
EditBrowseBox : : Command ( rEvt ) ;
2001-02-05 08:26:47 +00:00
}
}
//------------------------------------------------------------------------------
sal_Bool OSelectionBrowseBox : : IsRowVisible ( sal_uInt16 _nWhich ) const
{
2006-06-20 02:27:27 +00:00
DBG_ASSERT ( _nWhich < ( m_bVisibleRow . size ( ) ) , " OSelectionBrowseBox::IsRowVisible : invalid parameter ! " ) ;
2001-02-05 08:26:47 +00:00
return m_bVisibleRow [ _nWhich ] ;
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : SetRowVisible ( sal_uInt16 _nWhich , sal_Bool _bVis )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2006-06-20 02:27:27 +00:00
DBG_ASSERT ( _nWhich < m_bVisibleRow . size ( ) , " OSelectionBrowseBox::SetRowVisible : invalid parameter ! " ) ;
2001-02-05 08:26:47 +00:00
2001-10-26 06:49:36 +00:00
sal_Bool bWasEditing = IsEditing ( ) ;
if ( bWasEditing )
2001-02-05 08:26:47 +00:00
DeactivateCell ( ) ;
// do this before removing or inserting rows, as this triggers ActivateCell-calls, which rely on m_bVisibleRow
m_bVisibleRow [ _nWhich ] = ! m_bVisibleRow [ _nWhich ] ;
long nId = GetBrowseRow ( _nWhich ) ;
if ( _bVis )
{
RowInserted ( nId , 1 ) ;
2001-10-23 11:30:27 +00:00
+ + m_nVisibleCount ;
2001-02-05 08:26:47 +00:00
}
else
{
RowRemoved ( nId , 1 ) ;
2001-10-23 11:30:27 +00:00
- - m_nVisibleCount ;
2001-02-05 08:26:47 +00:00
}
2001-10-26 06:49:36 +00:00
if ( bWasEditing )
2001-02-05 08:26:47 +00:00
ActivateCell ( ) ;
}
//------------------------------------------------------------------------------
long OSelectionBrowseBox : : GetBrowseRow ( long nRowId ) const
{
2002-08-19 07:01:32 +00:00
USHORT nCount ( 0 ) ;
for ( USHORT i = 0 ; i < nRowId ; + + i )
2001-02-05 08:26:47 +00:00
{
2002-08-19 07:01:32 +00:00
if ( m_bVisibleRow [ i ] )
+ + nCount ;
2001-02-05 08:26:47 +00:00
}
return nCount ;
}
//------------------------------------------------------------------------------
long OSelectionBrowseBox : : GetRealRow ( long nRowId ) const
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
long nErg = 0 , i ;
2007-11-01 14:32:32 +00:00
const long nCount = m_bVisibleRow . size ( ) ;
2002-08-19 07:01:32 +00:00
for ( i = 0 ; i < nCount ; + + i )
2001-02-05 08:26:47 +00:00
{
if ( m_bVisibleRow [ i ] )
{
if ( nErg + + = = nRowId )
break ;
}
}
2001-02-23 14:04:37 +00:00
DBG_ASSERT ( nErg < = long ( m_bVisibleRow . size ( ) ) , " nErg kann nicht groesser als BROW_ROW_CNT sein! " ) ;
2001-02-05 08:26:47 +00:00
return i ;
}
static long nVisibleRowMask [ ] =
{
0x0001 ,
0x0002 ,
0x0004 ,
0x0008 ,
0x0010 ,
0x0020 ,
0x0040 ,
0x0080 ,
0x0100 ,
0x0200 ,
0x0400 ,
0x0800
} ;
//------------------------------------------------------------------------------
sal_Int32 OSelectionBrowseBox : : GetNoneVisibleRows ( ) const
{
sal_Int32 nErg ( 0 ) ;
2001-10-23 11:30:27 +00:00
// only the first 11 row are interesting
2001-02-05 08:26:47 +00:00
sal_Int32 nSize = sizeof ( nVisibleRowMask ) / sizeof ( nVisibleRowMask [ 0 ] ) ;
for ( sal_Int32 i = 0 ; i < nSize ; i + + )
{
if ( ! m_bVisibleRow [ i ] )
nErg | = nVisibleRowMask [ i ] ;
}
return nErg ;
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : SetNoneVisbleRow ( long nRows )
{
2001-10-23 11:30:27 +00:00
// only the first 11 row are interesting
2001-02-05 08:26:47 +00:00
sal_Int32 nSize = sizeof ( nVisibleRowMask ) / sizeof ( nVisibleRowMask [ 0 ] ) ;
for ( sal_Int32 i = 0 ; i < nSize ; i + + )
m_bVisibleRow [ i ] = ! ( nRows & nVisibleRowMask [ i ] ) ;
}
//------------------------------------------------------------------------------
String OSelectionBrowseBox : : GetCellText ( long nRow , sal_uInt16 nColId ) const
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2002-08-19 07:01:32 +00:00
USHORT nPos = GetColumnPos ( nColId ) ;
OTableFieldDescRef pEntry = getFields ( ) [ nPos - 1 ] ;
2001-02-05 08:26:47 +00:00
DBG_ASSERT ( pEntry ! = NULL , " OSelectionBrowseBox::GetCellText : invalid column id, prepare for GPF ... " ) ;
2002-08-30 10:14:45 +00:00
if ( pEntry - > IsEmpty ( ) )
2001-02-05 08:26:47 +00:00
return String ( ) ;
String aText ;
switch ( nRow )
{
case BROW_TABLE_ROW :
aText = pEntry - > GetAlias ( ) ;
break ;
case BROW_FIELD_ROW :
{
String aField = pEntry - > GetField ( ) ;
if ( aField . GetChar ( 0 ) = = ' * ' ) // * durch alias.* ersetzen
{
aField = pEntry - > GetAlias ( ) ;
2001-04-06 12:47:18 +00:00
if ( aField . Len ( ) )
aField + = ' . ' ;
2001-02-05 08:26:47 +00:00
aField + = ' * ' ;
}
aText = aField ;
} break ;
case BROW_ORDER_ROW :
if ( pEntry - > GetOrderDir ( ) ! = ORDER_NONE )
2006-10-12 12:43:07 +00:00
aText = String ( ModuleRes ( STR_QUERY_SORTTEXT ) ) . GetToken ( sal : : static_int_cast < USHORT > ( pEntry - > GetOrderDir ( ) ) ) ;
2001-02-05 08:26:47 +00:00
break ;
case BROW_VIS_ROW :
break ;
case BROW_COLUMNALIAS_ROW :
aText = pEntry - > GetFieldAlias ( ) ;
break ;
case BROW_FUNCTION_ROW :
2002-08-30 10:14:45 +00:00
// we always show the group function at first
if ( pEntry - > IsGroupBy ( ) )
2001-02-05 08:26:47 +00:00
aText = m_aFunctionStrings . GetToken ( m_aFunctionStrings . GetTokenCount ( ) - 1 ) ;
2002-08-30 10:14:45 +00:00
else if ( pEntry - > isNumericOrAggreateFunction ( ) )
aText = pEntry - > GetFunction ( ) ;
2001-02-05 08:26:47 +00:00
break ;
default :
2003-12-01 09:38:48 +00:00
aText = pEntry - > GetCriteria ( sal_uInt16 ( nRow - BROW_CRIT1_ROW ) ) ;
2001-02-05 08:26:47 +00:00
}
return aText ;
}
//------------------------------------------------------------------------------
2002-08-30 10:14:45 +00:00
sal_Bool OSelectionBrowseBox : : GetFunctionName ( sal_uInt32 _nFunctionTokenId , String & rFkt )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
sal_Bool bErg = sal_True ;
String aText ;
2002-08-30 10:14:45 +00:00
switch ( _nFunctionTokenId )
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
case SQL_TOKEN_COUNT :
rFkt = ( m_pFunctionCell - > GetEntryCount ( ) < 3 ) ? m_pFunctionCell - > GetEntry ( 1 ) : m_pFunctionCell - > GetEntry ( 2 ) ;
break ;
case SQL_TOKEN_AVG :
rFkt = m_pFunctionCell - > GetEntry ( 1 ) ;
break ;
case SQL_TOKEN_MAX :
rFkt = m_pFunctionCell - > GetEntry ( 3 ) ;
break ;
case SQL_TOKEN_MIN :
rFkt = m_pFunctionCell - > GetEntry ( 4 ) ;
break ;
case SQL_TOKEN_SUM :
rFkt = m_pFunctionCell - > GetEntry ( 5 ) ;
break ;
2008-12-01 12:31:27 +00:00
case SQL_TOKEN_EVERY :
rFkt = m_pFunctionCell - > GetEntry ( 6 ) ;
break ;
case SQL_TOKEN_ANY :
rFkt = m_pFunctionCell - > GetEntry ( 7 ) ;
break ;
case SQL_TOKEN_SOME :
rFkt = m_pFunctionCell - > GetEntry ( 8 ) ;
break ;
case SQL_TOKEN_STDDEV_POP :
rFkt = m_pFunctionCell - > GetEntry ( 9 ) ;
break ;
case SQL_TOKEN_STDDEV_SAMP :
rFkt = m_pFunctionCell - > GetEntry ( 10 ) ;
break ;
case SQL_TOKEN_VAR_SAMP :
rFkt = m_pFunctionCell - > GetEntry ( 11 ) ;
break ;
case SQL_TOKEN_VAR_POP :
rFkt = m_pFunctionCell - > GetEntry ( 12 ) ;
break ;
case SQL_TOKEN_COLLECT :
rFkt = m_pFunctionCell - > GetEntry ( 13 ) ;
break ;
case SQL_TOKEN_FUSION :
rFkt = m_pFunctionCell - > GetEntry ( 14 ) ;
break ;
case SQL_TOKEN_INTERSECTION :
rFkt = m_pFunctionCell - > GetEntry ( 15 ) ;
break ;
2002-08-30 10:14:45 +00:00
default :
2001-02-05 08:26:47 +00:00
{
2002-08-30 10:14:45 +00:00
xub_StrLen nCount = m_aFunctionStrings . GetTokenCount ( ) ;
2003-12-01 17:02:43 +00:00
xub_StrLen i ;
for ( i = 0 ; i < nCount - 1 ; i + + ) // Gruppierung wird nicht mit gez"ahlt
2002-08-30 10:14:45 +00:00
{
if ( rFkt . EqualsIgnoreCaseAscii ( m_aFunctionStrings . GetToken ( i ) ) )
{
rFkt = m_aFunctionStrings . GetToken ( i ) ;
break ;
}
}
if ( i = = nCount - 1 )
bErg = sal_False ;
2001-02-05 08:26:47 +00:00
}
}
2002-08-30 10:14:45 +00:00
2001-02-05 08:26:47 +00:00
return bErg ;
}
//------------------------------------------------------------------------------
2002-08-19 07:01:32 +00:00
String OSelectionBrowseBox : : GetCellContents ( sal_Int32 nCellIndex , USHORT nColId )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2001-04-18 10:44:59 +00:00
// DBG_ASSERT(nCellIndex < (GetRowCount()-1),"CellIndex ist zu gross");
2005-09-23 11:43:59 +00:00
if ( GetCurColumnId ( ) = = nColId & & ! m_bInUndoMode )
2003-03-19 16:57:12 +00:00
SaveModified ( ) ;
2001-02-05 08:26:47 +00:00
2002-08-19 07:01:32 +00:00
USHORT nPos = GetColumnPos ( nColId ) ;
OTableFieldDescRef pEntry = getFields ( ) [ nPos - 1 ] ;
2001-02-05 08:26:47 +00:00
DBG_ASSERT ( pEntry ! = NULL , " OSelectionBrowseBox::GetCellContents : invalid column id, prepare for GPF ... " ) ;
2001-04-18 10:44:59 +00:00
switch ( nCellIndex )
2001-02-05 08:26:47 +00:00
{
case BROW_VIS_ROW :
return pEntry - > IsVisible ( ) ? g_strOne : g_strZero ;
case BROW_ORDER_ROW :
{
sal_uInt16 nIdx = m_pOrderCell - > GetSelectEntryPos ( ) ;
if ( nIdx = = sal_uInt16 ( - 1 ) )
nIdx = 0 ;
return String ( nIdx ) ;
}
default :
2002-08-19 07:01:32 +00:00
return GetCellText ( nCellIndex , nColId ) ;
2001-02-05 08:26:47 +00:00
}
}
//------------------------------------------------------------------------------
2002-08-19 07:01:32 +00:00
void OSelectionBrowseBox : : SetCellContents ( sal_Int32 nRow , USHORT nColId , const String & strNewText )
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2002-08-19 07:01:32 +00:00
sal_Bool bWasEditing = IsEditing ( ) & & ( GetCurColumnId ( ) = = nColId ) & & IsRowVisible ( static_cast < USHORT > ( nRow ) ) & & ( GetCurRow ( ) = = static_cast < USHORT > ( GetBrowseRow ( nRow ) ) ) ;
2001-10-26 06:49:36 +00:00
if ( bWasEditing )
2001-02-05 08:26:47 +00:00
DeactivateCell ( ) ;
2002-08-19 07:01:32 +00:00
USHORT nPos = GetColumnPos ( nColId ) ;
OTableFieldDescRef pEntry = getEntry ( nPos - 1 ) ;
2001-02-05 08:26:47 +00:00
DBG_ASSERT ( pEntry ! = NULL , " OSelectionBrowseBox::SetCellContents : invalid column id, prepare for GPF ... " ) ;
2001-04-18 10:44:59 +00:00
switch ( nRow )
2001-02-05 08:26:47 +00:00
{
case BROW_VIS_ROW :
2002-01-02 10:07:17 +00:00
pEntry - > SetVisible ( strNewText . Equals ( g_strOne ) ) ;
2001-02-05 08:26:47 +00:00
break ;
case BROW_FIELD_ROW :
pEntry - > SetField ( strNewText ) ;
break ;
case BROW_TABLE_ROW :
pEntry - > SetAlias ( strNewText ) ;
break ;
case BROW_ORDER_ROW :
{
sal_uInt16 nIdx = ( sal_uInt16 ) strNewText . ToInt32 ( ) ;
pEntry - > SetOrderDir ( EOrderDir ( nIdx ) ) ;
} break ;
case BROW_COLUMNALIAS_ROW :
pEntry - > SetFieldAlias ( strNewText ) ;
break ;
case BROW_FUNCTION_ROW :
2002-08-30 10:14:45 +00:00
{
String sOldFunctionName = pEntry - > GetFunction ( ) ;
String sGroupFunctionName = m_aFunctionStrings . GetToken ( m_aFunctionStrings . GetTokenCount ( ) - 1 ) ;
2001-02-05 08:26:47 +00:00
pEntry - > SetFunction ( strNewText ) ;
2002-08-30 10:14:45 +00:00
// first reset this two member
sal_Int32 nFunctionType = pEntry - > GetFunctionType ( ) ;
nFunctionType & = ~ FKT_AGGREGATE ;
pEntry - > SetFunctionType ( nFunctionType ) ;
if ( pEntry - > IsGroupBy ( ) & & ! sGroupFunctionName . EqualsIgnoreCaseAscii ( strNewText ) )
pEntry - > SetGroupBy ( sal_False ) ;
if ( sGroupFunctionName . EqualsIgnoreCaseAscii ( strNewText ) )
2001-02-05 08:26:47 +00:00
pEntry - > SetGroupBy ( sal_True ) ;
2002-08-30 10:14:45 +00:00
else if ( strNewText . Len ( ) )
{
nFunctionType | = FKT_AGGREGATE ;
pEntry - > SetFunctionType ( nFunctionType ) ;
}
} break ;
2001-02-05 08:26:47 +00:00
default :
2003-12-01 09:38:48 +00:00
pEntry - > SetCriteria ( sal_uInt16 ( nRow - BROW_CRIT1_ROW ) , strNewText ) ;
2001-02-05 08:26:47 +00:00
}
2001-04-18 10:44:59 +00:00
long nCellIndex = GetRealRow ( nRow ) ;
2002-08-19 07:01:32 +00:00
if ( IsRowVisible ( static_cast < USHORT > ( nRow ) ) )
RowModified ( nCellIndex , nColId ) ;
2001-02-05 08:26:47 +00:00
// die entsprechende Feld-Beschreibung ist jetzt leer -> Visible auf sal_False (damit das konsistent mit normalen leeren Spalten ist)
if ( pEntry - > IsEmpty ( ) )
pEntry - > SetVisible ( sal_False ) ;
2001-10-26 06:49:36 +00:00
if ( bWasEditing )
2002-08-19 07:01:32 +00:00
ActivateCell ( nCellIndex , nColId ) ;
2001-02-05 08:26:47 +00:00
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . setModified ( ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
sal_uInt32 OSelectionBrowseBox : : GetTotalCellWidth ( long nRow , sal_uInt16 nColId ) const
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
long nRowId = GetRealRow ( nRow ) ;
if ( nRowId = = BROW_VIS_ROW )
return CHECKBOX_SIZE ;
else
return GetDataWindow ( ) . GetTextWidth ( GetCellText ( nRowId , nColId ) ) ;
}
//------------------------------------------------------------------------------
void OSelectionBrowseBox : : ColumnResized ( sal_uInt16 nColId )
{
2008-06-25 11:54:03 +00:00
if ( static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . isReadOnly ( ) )
2001-02-05 08:26:47 +00:00
return ;
// The resizing of columns can't be suppressed (BrowseBox doesn't support that) so we have to do this
// fake. It's not _that_ bad : the user may change column widths while in read-only mode to see all details
// but the changes aren't permanent ...
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2002-08-19 07:01:32 +00:00
USHORT nPos = GetColumnPos ( nColId ) ;
DBG_ASSERT ( nPos < = getFields ( ) . size ( ) , " ColumnResized:: nColId sollte nicht groesser als List::count sein! " ) ;
OTableFieldDescRef pEntry = getEntry ( nPos - 1 ) ;
2001-10-05 05:49:21 +00:00
DBG_ASSERT ( pEntry . isValid ( ) , " OSelectionBrowseBox::ColumnResized : keine FieldDescription ! " ) ;
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . setModified ( ) ;
2001-06-29 07:45:10 +00:00
EditBrowseBox : : ColumnResized ( nColId ) ;
2001-02-05 08:26:47 +00:00
2005-09-23 11:43:59 +00:00
if ( pEntry . isValid ( ) )
2001-02-05 08:26:47 +00:00
{
2005-09-23 11:43:59 +00:00
if ( ! m_bInUndoMode )
{
// create the undo action
OTabFieldSizedUndoAct * pUndo = new OTabFieldSizedUndoAct ( this ) ;
pUndo - > SetColumnPosition ( nPos ) ;
pUndo - > SetOriginalWidth ( pEntry - > GetColWidth ( ) ) ;
2008-06-25 11:54:03 +00:00
getDesignView ( ) - > getController ( ) . addUndoActionAndInvalidate ( pUndo ) ;
2005-09-23 11:43:59 +00:00
}
2001-02-23 14:04:37 +00:00
pEntry - > SetColWidth ( sal_uInt16 ( GetColumnWidth ( nColId ) ) ) ;
2001-02-05 08:26:47 +00:00
}
}
//------------------------------------------------------------------------------
sal_uInt32 OSelectionBrowseBox : : GetTotalCellWidth ( long nRowId , sal_uInt16 nColId )
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
2002-08-19 07:01:32 +00:00
USHORT nPos = GetColumnPos ( nColId ) ;
DBG_ASSERT ( ( nPos = = 0 ) | | ( nPos < = getFields ( ) . size ( ) ) , " OSelectionBrowseBox::GetTotalCellWidth : invalid parameter nColId " ) ;
2001-02-05 08:26:47 +00:00
2002-08-19 07:01:32 +00:00
OTableFieldDescRef pEntry = getFields ( ) [ nPos - 1 ] ;
2001-10-05 05:49:21 +00:00
DBG_ASSERT ( pEntry . isValid ( ) , " OSelectionBrowseBox::GetTotalCellWidth : invalid FieldDescription ! " ) ;
2001-02-05 08:26:47 +00:00
long nRow = GetRealRow ( nRowId ) ;
String strText ( GetCellText ( nRow , nColId ) ) ;
return GetDataWindow ( ) . LogicToPixel ( Size ( GetDataWindow ( ) . GetTextWidth ( strText ) , 0 ) ) . Width ( ) ;
}
//------------------------------------------------------------------------------
2006-06-20 02:27:27 +00:00
sal_uInt16 OSelectionBrowseBox : : GetDefaultColumnWidth ( const String & /*rName*/ ) const
2001-02-05 08:26:47 +00:00
{
DBG_CHKTHIS ( OSelectionBrowseBox , NULL ) ;
// die Baissklasse macht das von dem Text abhaengig, ich habe aber keine Spaltenueberschriften, daher haette ich
// hier gern einen anderen Default-Wert
2003-12-01 09:38:48 +00:00
return static_cast < sal_uInt16 > ( DEFAULT_SIZE ) ;
2001-02-05 08:26:47 +00:00
}
//------------------------------------------------------------------------------
2001-04-18 10:44:59 +00:00
sal_Bool OSelectionBrowseBox : : isCutAllowed ( )
{
sal_Bool bCutAllowed = sal_False ;
long nRow = GetRealRow ( GetCurRow ( ) ) ;
switch ( nRow )
{
case BROW_VIS_ROW :
case BROW_ORDER_ROW :
case BROW_TABLE_ROW :
case BROW_FUNCTION_ROW :
break ;
case BROW_FIELD_ROW :
bCutAllowed = m_pFieldCell - > GetSelected ( ) . Len ( ) ! = 0 ;
break ;
default :
bCutAllowed = m_pTextCell - > GetSelected ( ) . Len ( ) ! = 0 ;
break ;
}
return bCutAllowed ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : cut ( )
{
String sOldValue = GetCellContents ( GetRealRow ( GetCurRow ( ) ) , GetCurColumnId ( ) ) ;
long nRow = GetRealRow ( GetCurRow ( ) ) ;
switch ( nRow )
{
case BROW_FIELD_ROW :
m_pFieldCell - > Cut ( ) ;
2001-08-13 07:34:13 +00:00
m_pFieldCell - > SetModifyFlag ( ) ;
2001-04-18 10:44:59 +00:00
break ;
default :
m_pTextCell - > Cut ( ) ;
2001-08-13 07:34:13 +00:00
m_pTextCell - > SetModifyFlag ( ) ;
2001-04-18 10:44:59 +00:00
}
2001-08-13 07:34:13 +00:00
SaveModified ( ) ;
2001-04-18 10:44:59 +00:00
RowModified ( GetBrowseRow ( nRow ) , GetCurColumnId ( ) ) ;
2001-10-05 05:49:21 +00:00
invalidateUndoRedo ( ) ;
2001-04-18 10:44:59 +00:00
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : paste ( )
{
long nRow = GetRealRow ( GetCurRow ( ) ) ;
switch ( nRow )
{
case BROW_FIELD_ROW :
m_pFieldCell - > Paste ( ) ;
2001-08-30 12:35:55 +00:00
m_pFieldCell - > SetModifyFlag ( ) ;
2001-04-18 10:44:59 +00:00
break ;
default :
m_pTextCell - > Paste ( ) ;
2001-08-30 12:35:38 +00:00
m_pTextCell - > SetModifyFlag ( ) ;
2001-04-18 10:44:59 +00:00
}
RowModified ( GetBrowseRow ( nRow ) , GetCurColumnId ( ) ) ;
2001-10-05 05:49:21 +00:00
invalidateUndoRedo ( ) ;
2001-04-18 10:44:59 +00:00
}
// -----------------------------------------------------------------------------
2003-04-01 13:05:21 +00:00
sal_Bool OSelectionBrowseBox : : isPasteAllowed ( )
{
sal_Bool bPasteAllowed = sal_True ;
long nRow = GetRealRow ( GetCurRow ( ) ) ;
switch ( nRow )
{
case BROW_VIS_ROW :
case BROW_ORDER_ROW :
case BROW_TABLE_ROW :
case BROW_FUNCTION_ROW :
bPasteAllowed = sal_False ;
break ;
}
return bPasteAllowed ;
}
// -----------------------------------------------------------------------------
sal_Bool OSelectionBrowseBox : : isCopyAllowed ( )
{
return isCutAllowed ( ) ;
}
// -----------------------------------------------------------------------------
2001-04-18 10:44:59 +00:00
void OSelectionBrowseBox : : copy ( )
{
long nRow = GetRealRow ( GetCurRow ( ) ) ;
switch ( nRow )
{
case BROW_FIELD_ROW :
m_pFieldCell - > Copy ( ) ;
break ;
default :
m_pTextCell - > Copy ( ) ;
}
}
// -----------------------------------------------------------------------------
2002-08-30 10:14:45 +00:00
void OSelectionBrowseBox : : appendUndoAction ( const String & _rOldValue , const String & _rNewValue , sal_Int32 _nRow , sal_Bool & _bListAction )
{
2005-09-23 11:43:59 +00:00
if ( ! m_bInUndoMode & & ! _rNewValue . Equals ( _rOldValue ) )
2002-08-30 10:14:45 +00:00
{
if ( ! _bListAction )
{
_bListAction = sal_True ;
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getUndoMgr ( ) - > EnterListAction ( String ( ) , String ( ) ) ;
2002-08-30 10:14:45 +00:00
}
appendUndoAction ( _rOldValue , _rNewValue , _nRow ) ;
}
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : appendUndoAction ( const String & _rOldValue , const String & _rNewValue , sal_Int32 _nRow )
2001-04-18 10:44:59 +00:00
{
2005-09-23 11:43:59 +00:00
if ( ! m_bInUndoMode & & ! _rNewValue . Equals ( _rOldValue ) )
2001-04-18 10:44:59 +00:00
{
OTabFieldCellModifiedUndoAct * pUndoAct = new OTabFieldCellModifiedUndoAct ( this ) ;
pUndoAct - > SetCellIndex ( _nRow ) ;
2003-03-19 16:57:12 +00:00
OSL_ENSURE ( GetColumnPos ( GetCurColumnId ( ) ) ! = BROWSER_INVALIDID , " Current position isn't valid! " ) ;
2002-08-30 10:14:45 +00:00
pUndoAct - > SetColumnPosition ( GetColumnPos ( GetCurColumnId ( ) ) ) ;
2001-04-18 10:44:59 +00:00
pUndoAct - > SetCellContents ( _rOldValue ) ;
2008-06-25 11:54:03 +00:00
getDesignView ( ) - > getController ( ) . addUndoActionAndInvalidate ( pUndoAct ) ;
2001-04-18 10:44:59 +00:00
}
}
// -----------------------------------------------------------------------------
2001-04-18 12:20:48 +00:00
IMPL_LINK ( OSelectionBrowseBox , OnInvalidateTimer , void * , EMPTYARG )
{
2008-06-25 11:54:03 +00:00
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . InvalidateFeature ( SID_CUT ) ;
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . InvalidateFeature ( SID_COPY ) ;
static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . InvalidateFeature ( SID_PASTE ) ;
2001-04-18 12:20:48 +00:00
if ( ! m_bStopTimer )
m_timerInvalidate . Start ( ) ;
return 0L ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : stopTimer ( )
{
m_bStopTimer = sal_True ;
if ( m_timerInvalidate . IsActive ( ) )
m_timerInvalidate . Stop ( ) ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : startTimer ( )
{
m_bStopTimer = sal_False ;
if ( ! m_timerInvalidate . IsActive ( ) )
m_timerInvalidate . Start ( ) ;
}
// -----------------------------------------------------------------------------
2001-10-05 05:49:21 +00:00
OTableFields & OSelectionBrowseBox : : getFields ( ) const
2001-04-30 12:02:01 +00:00
{
2008-06-25 11:54:03 +00:00
OQueryController & rController = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) ;
return rController . getTableFieldDesc ( ) ;
2001-04-30 12:02:01 +00:00
}
// -----------------------------------------------------------------------------
2001-10-05 05:49:21 +00:00
void OSelectionBrowseBox : : enableControl ( const OTableFieldDescRef & _rEntry , Window * _pControl )
{
2002-08-30 10:14:45 +00:00
BOOL bEnable = ! _rEntry - > isCondition ( ) ;
2001-10-05 05:49:21 +00:00
_pControl - > Enable ( bEnable ) ;
_pControl - > EnableInput ( bEnable ) ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : setTextCellContext ( const OTableFieldDescRef & _rEntry , const String & _sText , ULONG _nHelpId )
{
m_pTextCell - > SetText ( _sText ) ;
m_pTextCell - > ClearModifyFlag ( ) ;
if ( ! m_pTextCell - > HasFocus ( ) )
m_pTextCell - > GrabFocus ( ) ;
enableControl ( _rEntry , m_pTextCell ) ;
if ( m_pTextCell - > GetHelpId ( ) ! = _nHelpId )
// da TextCell in verschiedenen Kontexten verwendet wird, muss ich den gecachten HelpText loeschen
m_pTextCell - > SetHelpText ( String ( ) ) ;
m_pTextCell - > SetHelpId ( _nHelpId ) ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : invalidateUndoRedo ( )
{
2008-06-25 11:54:03 +00:00
OQueryController & rController = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) ;
rController . InvalidateFeature ( ID_BROWSER_UNDO ) ;
rController . InvalidateFeature ( ID_BROWSER_REDO ) ;
rController . InvalidateFeature ( ID_BROWSER_QUERY_EXECUTE ) ;
2001-10-05 05:49:21 +00:00
}
// -----------------------------------------------------------------------------
OTableFieldDescRef OSelectionBrowseBox : : getEntry ( OTableFields : : size_type _nPos )
{
// we have to check if we need a new entry at this position
OTableFields & aFields = getFields ( ) ;
OSL_ENSURE ( aFields . size ( ) > _nPos , " ColID is to great! " ) ;
2001-04-18 12:20:48 +00:00
2001-10-05 05:49:21 +00:00
OTableFieldDescRef pEntry = aFields [ _nPos ] ;
OSL_ENSURE ( pEntry . isValid ( ) , " Invalid entry! " ) ;
2002-08-19 07:01:32 +00:00
if ( ! pEntry . isValid ( ) )
2001-10-05 05:49:21 +00:00
{
pEntry = new OTableFieldDesc ( ) ;
2006-10-12 12:43:07 +00:00
pEntry - > SetColumnId (
GetColumnId ( sal : : static_int_cast < USHORT > ( _nPos + 1 ) ) ) ;
2001-10-05 05:49:21 +00:00
aFields [ _nPos ] = pEntry ;
}
return pEntry ;
}
// -----------------------------------------------------------------------------
2001-10-22 08:57:52 +00:00
void OSelectionBrowseBox : : GetFocus ( )
{
2001-10-23 11:30:27 +00:00
if ( ! IsEditing ( ) & & ! m_bWasEditing )
2001-10-22 08:57:52 +00:00
ActivateCell ( ) ;
EditBrowseBox : : GetFocus ( ) ;
}
// -----------------------------------------------------------------------------
2001-10-26 06:49:36 +00:00
void OSelectionBrowseBox : : DeactivateCell ( sal_Bool _bUpdate )
{
m_bWasEditing = sal_True ;
EditBrowseBox : : DeactivateCell ( _bUpdate ) ;
m_bWasEditing = sal_False ;
}
// -----------------------------------------------------------------------------
2002-04-23 06:58:14 +00:00
: : rtl : : OUString OSelectionBrowseBox : : GetRowDescription ( sal_Int32 _nRow ) const
{
String aLabel ( ModuleRes ( STR_QUERY_HANDLETEXT ) ) ;
// ab BROW_CRIT2_ROW werden alle Zeilen mit "oder" angegeben
xub_StrLen nToken = ( xub_StrLen ) ( _nRow > = GetBrowseRow ( BROW_CRIT2_ROW ) )
?
xub_StrLen ( BROW_CRIT2_ROW ) : xub_StrLen ( GetRealRow ( _nRow ) ) ;
return : : rtl : : OUString ( aLabel . GetToken ( nToken ) ) ;
}
// -----------------------------------------------------------------------------
2006-06-20 02:27:27 +00:00
: : rtl : : OUString OSelectionBrowseBox : : GetAccessibleObjectName ( : : svt : : AccessibleBrowseBoxObjType _eObjType , sal_Int32 _nPosition ) const
2002-04-23 06:58:14 +00:00
{
: : rtl : : OUString sRetText ;
switch ( _eObjType )
{
case : : svt : : BBTYPE_ROWHEADERCELL :
sRetText = GetRowDescription ( _nPosition ) ;
break ;
default :
2006-06-20 02:27:27 +00:00
sRetText = EditBrowseBox : : GetAccessibleObjectDescription ( _eObjType , _nPosition ) ;
2002-04-23 06:58:14 +00:00
}
return sRetText ;
}
2002-08-30 10:14:45 +00:00
// -----------------------------------------------------------------------------
sal_Bool OSelectionBrowseBox : : fillEntryTable ( OTableFieldDescRef & _pEntry , const : : rtl : : OUString & _sTableName )
{
sal_Bool bRet = sal_False ;
OJoinTableView : : OTableWindowMap * pTabWinList = getDesignView ( ) - > getTableView ( ) - > GetTabWinMap ( ) ;
if ( pTabWinList )
{
OJoinTableView : : OTableWindowMapIterator aIter = pTabWinList - > find ( _sTableName ) ;
if ( aIter ! = pTabWinList - > end ( ) )
{
OQueryTableWindow * pEntryTab = static_cast < OQueryTableWindow * > ( aIter - > second ) ;
if ( pEntryTab )
{
_pEntry - > SetTable ( pEntryTab - > GetTableName ( ) ) ;
_pEntry - > SetTabWindow ( pEntryTab ) ;
bRet = sal_True ;
}
}
}
return bRet ;
}
// -----------------------------------------------------------------------------
void OSelectionBrowseBox : : setFunctionCell ( OTableFieldDescRef & _pEntry )
{
2008-06-25 11:54:03 +00:00
Reference < XConnection > xConnection = static_cast < OQueryController & > ( getDesignView ( ) - > getController ( ) ) . getConnection ( ) ;
2002-08-30 10:14:45 +00:00
if ( xConnection . is ( ) )
{
// Diese Funktionen stehen nur unter CORE zur Verf<72> gung
2003-12-01 09:38:48 +00:00
if ( lcl_SupportsCoreSQLGrammar ( xConnection ) )
2002-08-30 10:14:45 +00:00
{
// if we have an asterix, no other function than count is allowed
m_pFunctionCell - > Clear ( ) ;
m_pFunctionCell - > InsertEntry ( m_aFunctionStrings . GetToken ( 0 ) ) ;
if ( isFieldNameAsterix ( _pEntry - > GetField ( ) ) )
m_pFunctionCell - > InsertEntry ( m_aFunctionStrings . GetToken ( 2 ) ) ; // 2 -> COUNT
else
{
xub_StrLen nCount = m_aFunctionStrings . GetTokenCount ( ) ;
if ( _pEntry - > isNumeric ( ) )
- - nCount ;
for ( xub_StrLen nIdx = 1 ; nIdx < nCount ; nIdx + + )
m_pFunctionCell - > InsertEntry ( m_aFunctionStrings . GetToken ( nIdx ) ) ;
}
if ( _pEntry - > IsGroupBy ( ) )
{
OSL_ENSURE ( ! _pEntry - > isNumeric ( ) , " Not allowed to combine group by and numeric values! " ) ;
m_pFunctionCell - > SelectEntry ( m_pFunctionCell - > GetEntry ( m_pFunctionCell - > GetEntryCount ( ) - 1 ) ) ;
}
else if ( m_pFunctionCell - > GetEntryPos ( String ( _pEntry - > GetFunction ( ) ) ) ! = COMBOBOX_ENTRY_NOTFOUND )
m_pFunctionCell - > SelectEntry ( String ( _pEntry - > GetFunction ( ) ) ) ;
else
m_pFunctionCell - > SelectEntryPos ( 0 ) ;
enableControl ( _pEntry , m_pFunctionCell ) ;
}
else
{
// nur COUNT(*) erlaubt
2006-07-19 15:06:23 +00:00
sal_Bool bCountRemoved = ! isFieldNameAsterix ( _pEntry - > GetField ( ) ) ;
if ( bCountRemoved )
2002-08-30 10:14:45 +00:00
m_pFunctionCell - > RemoveEntry ( 1 ) ;
if ( ! bCountRemoved & & m_pFunctionCell - > GetEntryCount ( ) < 2 )
m_pFunctionCell - > InsertEntry ( m_aFunctionStrings . GetToken ( 2 ) ) ; // 2 -> COUNT
if ( m_pFunctionCell - > GetEntryPos ( String ( _pEntry - > GetFunction ( ) ) ) ! = COMBOBOX_ENTRY_NOTFOUND )
m_pFunctionCell - > SelectEntry ( _pEntry - > GetFunction ( ) ) ;
else
m_pFunctionCell - > SelectEntryPos ( 0 ) ;
}
}
}
// -----------------------------------------------------------------------------
2003-05-19 11:56:04 +00:00
Reference < XAccessible > OSelectionBrowseBox : : CreateAccessibleCell ( sal_Int32 _nRow , sal_uInt16 _nColumnPos )
{
OTableFieldDescRef pEntry = NULL ;
if ( getFields ( ) . size ( ) > sal_uInt16 ( _nColumnPos - 1 ) )
pEntry = getFields ( ) [ _nColumnPos - 1 ] ;
if ( _nRow = = BROW_VIS_ROW & & pEntry . isValid ( ) )
return EditBrowseBox : : CreateAccessibleCheckBoxCell ( _nRow , _nColumnPos , pEntry - > IsVisible ( ) ? STATE_CHECK : STATE_NOCHECK ) ;
return EditBrowseBox : : CreateAccessibleCell ( _nRow , _nColumnPos ) ;
}
// -----------------------------------------------------------------------------
2008-12-10 13:41:25 +00:00
bool OSelectionBrowseBox : : HasFieldByAliasName ( const : : rtl : : OUString & rFieldName , OTableFieldDescRef & rInfo ) const
{
OTableFields & aFields = getFields ( ) ;
OTableFields : : iterator aIter = aFields . begin ( ) ;
OTableFields : : iterator aEnd = aFields . end ( ) ;
2003-12-01 09:38:48 +00:00
2008-12-10 13:41:25 +00:00
for ( ; aIter ! = aEnd ; + + aIter )
{
if ( ( * aIter ) - > GetFieldAlias ( ) = = rFieldName )
{
rInfo = * aIter ;
break ;
}
}
return aIter ! = aEnd ;
}
// -----------------------------------------------------------------------------
2003-12-01 09:38:48 +00:00