summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2004-08-11 12:08:40 +0000
committerOliver Bolte <obo@openoffice.org>2004-08-11 12:08:40 +0000
commit576db995b72e1ab72100212cace1fb4739782b27 (patch)
tree225803ed12aee223d581c4805ea45b73016d3f7e /svx
parentfdcfd0b249fbe4346bc26d7b5369c23c4459850d (diff)
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
Diffstat (limited to 'svx')
-rw-r--r--svx/source/dialog/optjava.cxx76
1 files changed, 72 insertions, 4 deletions
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();