From 576db995b72e1ab72100212cace1fb4739782b27 Mon Sep 17 00:00:00 2001 From: Oliver Bolte Date: Wed, 11 Aug 2004 12:08:40 +0000 Subject: INTEGRATION: CWS pbhelp02 (1.2.76); FILE MERGED 2004/08/02 10:55:13 pb 1.2.76.4: RESYNC: (1.2-1.3); FILE MERGED 2004/07/27 16:24:50 pb 1.2.76.3: fix: #i31411# help for ClassPathDlg 2004/07/23 10:22:13 pb 1.2.76.2: fix: #31411# example for parameters under the list 2004/07/16 09:48:24 pb 1.2.76.1: fix: #i31411# some enhancements --- svx/source/dialog/optjava.cxx | 76 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 72 insertions(+), 4 deletions(-) (limited to 'svx') diff --git a/svx/source/dialog/optjava.cxx b/svx/source/dialog/optjava.cxx index 4237fe8f9e76..6cf089554548 100644 --- a/svx/source/dialog/optjava.cxx +++ b/svx/source/dialog/optjava.cxx @@ -2,9 +2,9 @@ * * $RCSfile: optjava.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: hr $ $Date: 2004-07-23 11:57:29 $ + * last change: $Author: obo $ $Date: 2004-08-11 13:08:40 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -175,6 +175,33 @@ void SvxJavaTable::KeyInput( const KeyEvent& rKEvt ) SvxSimpleTable::KeyInput( rKEvt ); } +// ----------------------------------------------------------------------- + +bool areListsEqual( const Sequence< ::rtl::OUString >& rListA, const Sequence< ::rtl::OUString >& rListB ) +{ + bool bRet = true; + const sal_Int32 nLen = rListA.getLength(); + + if ( rListB.getLength() != nLen ) + bRet = false; + else + { + const ::rtl::OUString* pStringA = rListA.getConstArray(); + const ::rtl::OUString* pStringB = rListB.getConstArray(); + + for ( sal_Int32 i = 0; i < nLen; ++i ) + { + if ( *pStringA++ != *pStringB++ ) + { + bRet = false; + break; + } + } + } + + return bRet; +} + // class SvxJavaOptionsPage ---------------------------------------------- SvxJavaOptionsPage::SvxJavaOptionsPage( Window* pParent, const SfxItemSet& rSet ) : @@ -409,7 +436,21 @@ IMPL_LINK( SvxJavaOptionsPage, ParameterHdl_Impl, PushButton *, EMPTYARG ) aParameterList = m_pParamDlg->GetParameters(); if ( m_pParamDlg->Execute() == RET_OK ) - aParameterList = m_pParamDlg->GetParameters(); + { + if ( !areListsEqual( aParameterList, m_pParamDlg->GetParameters() ) ) + { + aParameterList = m_pParamDlg->GetParameters(); + sal_Bool bRunning = sal_False; + javaFrameworkError eErr = jfw_isVMRunning( &bRunning ); + DBG_ASSERT( JFW_E_NONE == eErr, + "SvxJavaOptionsPage::ParameterHdl_Impl(): error in jfw_isVMRunning" ); + if ( bRunning ) + { + WarningBox aWarnBox( this, SVX_RES( RID_SVX_MSGBOX_JAVA_RESTART2 ) ); + aWarnBox.Execute(); + } + } + } else m_pParamDlg->SetParameters( aParameterList ); @@ -437,7 +478,22 @@ IMPL_LINK( SvxJavaOptionsPage, ClassPathHdl_Impl, PushButton *, EMPTYARG ) m_pPathDlg->SetFocus(); if ( m_pPathDlg->Execute() == RET_OK ) - sClassPath = m_pPathDlg->GetClassPath(); + { + + if ( m_pPathDlg->GetClassPath() != sClassPath ) + { + sClassPath = m_pPathDlg->GetClassPath(); + sal_Bool bRunning = sal_False; + javaFrameworkError eErr = jfw_isVMRunning( &bRunning ); + DBG_ASSERT( JFW_E_NONE == eErr, + "SvxJavaOptionsPage::ParameterHdl_Impl(): error in jfw_isVMRunning" ); + if ( bRunning ) + { + WarningBox aWarnBox( this, SVX_RES( RID_SVX_MSGBOX_JAVA_RESTART2 ) ); + aWarnBox.Execute(); + } + } + } else m_pPathDlg->SetClassPath( sClassPath ); @@ -699,6 +755,7 @@ SvxJavaParameterDlg::SvxJavaParameterDlg( Window* pParent ) : m_aAssignBtn ( this, ResId( PB_ASSIGN ) ), m_aAssignedLabel ( this, ResId( FT_ASSIGNED ) ), m_aAssignedList ( this, ResId( LB_ASSIGNED ) ), + m_aExampleText ( this, ResId( FT_EXAMPLE ) ), m_aRemoveBtn ( this, ResId( PB_REMOVE ) ), m_aButtonsLine ( this, ResId( FL_BUTTONS ) ), m_aOKBtn ( this, ResId( PB_PARAMETER_OK ) ), @@ -712,6 +769,7 @@ SvxJavaParameterDlg::SvxJavaParameterDlg( Window* pParent ) : m_aAssignBtn.SetClickHdl( LINK( this, SvxJavaParameterDlg, AssignHdl_Impl ) ); m_aRemoveBtn.SetClickHdl( LINK( this, SvxJavaParameterDlg, RemoveHdl_Impl ) ); m_aAssignedList.SetSelectHdl( LINK( this, SvxJavaParameterDlg, SelectHdl_Impl ) ); + m_aAssignedList.SetDoubleClickHdl( LINK( this, SvxJavaParameterDlg, DblClickHdl_Impl ) ); ModifyHdl_Impl( &m_aParameterEdit ); EnableRemoveButton(); @@ -762,6 +820,16 @@ IMPL_LINK( SvxJavaParameterDlg, SelectHdl_Impl, ListBox *, EMPTYARG ) // ----------------------------------------------------------------------- +IMPL_LINK( SvxJavaParameterDlg, DblClickHdl_Impl, ListBox *, EMPTYARG ) +{ + USHORT nPos = m_aAssignedList.GetSelectEntryPos(); + if ( nPos != LISTBOX_ENTRY_NOTFOUND ) + m_aParameterEdit.SetText( m_aAssignedList.GetEntry( nPos ) ); + return 0; +} + +// ----------------------------------------------------------------------- + IMPL_LINK( SvxJavaParameterDlg, RemoveHdl_Impl, PushButton *, EMPTYARG ) { USHORT nPos = m_aAssignedList.GetSelectEntryPos(); -- cgit