1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski package com.sun.star.wiki; 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski import com.sun.star.awt.XControl; 27*b1cdbd2cSJim Jagielski import com.sun.star.awt.XControlModel; 28*b1cdbd2cSJim Jagielski import com.sun.star.awt.XDialog; 29*b1cdbd2cSJim Jagielski import com.sun.star.awt.XWindowPeer; 30*b1cdbd2cSJim Jagielski import com.sun.star.beans.UnknownPropertyException; 31*b1cdbd2cSJim Jagielski import com.sun.star.beans.XPropertySet; 32*b1cdbd2cSJim Jagielski import com.sun.star.container.XNameContainer; 33*b1cdbd2cSJim Jagielski import com.sun.star.lang.WrappedTargetException; 34*b1cdbd2cSJim Jagielski import com.sun.star.lang.XMultiComponentFactory; 35*b1cdbd2cSJim Jagielski import com.sun.star.lang.XMultiServiceFactory; 36*b1cdbd2cSJim Jagielski import com.sun.star.lang.EventObject; 37*b1cdbd2cSJim Jagielski import com.sun.star.uno.UnoRuntime; 38*b1cdbd2cSJim Jagielski import com.sun.star.uno.XComponentContext; 39*b1cdbd2cSJim Jagielski import java.util.Hashtable; 40*b1cdbd2cSJim Jagielski 41*b1cdbd2cSJim Jagielski public class WikiPropDialog extends WikiDialog{ 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski WikiEditorImpl m_aWikiEditor; 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski private final String sSendMethod = "Send"; 46*b1cdbd2cSJim Jagielski private final String sWikiListMethod = "WikiListChange"; 47*b1cdbd2cSJim Jagielski private final String sArticleTextMethod = "ArticleTextChange"; 48*b1cdbd2cSJim Jagielski private final String sAddWikiMethod = "AddWiki"; 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski String[] m_pMethods = {sSendMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; 51*b1cdbd2cSJim Jagielski 52*b1cdbd2cSJim Jagielski private String m_sWikiTitle = ""; 53*b1cdbd2cSJim Jagielski protected String m_sWikiEngineURL = ""; 54*b1cdbd2cSJim Jagielski protected String m_sWikiComment = ""; 55*b1cdbd2cSJim Jagielski protected boolean m_bWikiMinorEdit = false; 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielski /** Creates a new instance of WikiPropDialog */ WikiPropDialog(XComponentContext xContext, String DialogURL, WikiEditorImpl aWikiEditorForThrobber )58*b1cdbd2cSJim Jagielski public WikiPropDialog(XComponentContext xContext, String DialogURL, WikiEditorImpl aWikiEditorForThrobber ) 59*b1cdbd2cSJim Jagielski { 60*b1cdbd2cSJim Jagielski super(xContext, DialogURL); 61*b1cdbd2cSJim Jagielski super.setMethods(m_pMethods); 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski if ( aWikiEditorForThrobber != null ) 64*b1cdbd2cSJim Jagielski { 65*b1cdbd2cSJim Jagielski InsertThrobber( 244, 122, 10, 10 ); 66*b1cdbd2cSJim Jagielski m_aWikiEditor = aWikiEditorForThrobber; 67*b1cdbd2cSJim Jagielski } 68*b1cdbd2cSJim Jagielski 69*b1cdbd2cSJim Jagielski InitStrings( xContext ); 70*b1cdbd2cSJim Jagielski InitShowBrowser( xContext ); 71*b1cdbd2cSJim Jagielski InitControls( xContext ); 72*b1cdbd2cSJim Jagielski } 73*b1cdbd2cSJim Jagielski InitControls( XComponentContext xContext )74*b1cdbd2cSJim Jagielski private void InitControls( XComponentContext xContext ) 75*b1cdbd2cSJim Jagielski { 76*b1cdbd2cSJim Jagielski try 77*b1cdbd2cSJim Jagielski { 78*b1cdbd2cSJim Jagielski GetPropSet( "CommentText" ).setPropertyValue( "AutoVScroll", Boolean.TRUE ); 79*b1cdbd2cSJim Jagielski } 80*b1cdbd2cSJim Jagielski catch( Exception e ) 81*b1cdbd2cSJim Jagielski { 82*b1cdbd2cSJim Jagielski e.printStackTrace(); 83*b1cdbd2cSJim Jagielski } 84*b1cdbd2cSJim Jagielski } 85*b1cdbd2cSJim Jagielski InitStrings( XComponentContext xContext )86*b1cdbd2cSJim Jagielski private void InitStrings( XComponentContext xContext ) 87*b1cdbd2cSJim Jagielski { 88*b1cdbd2cSJim Jagielski try 89*b1cdbd2cSJim Jagielski { 90*b1cdbd2cSJim Jagielski SetTitle( Helper.GetLocalizedString( xContext, Helper.DLG_SENDTITLE ) ); 91*b1cdbd2cSJim Jagielski GetPropSet( "Label1" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL1 ) ); 92*b1cdbd2cSJim Jagielski GetPropSet( "FixedLine2" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_WIKIARTICLE ) ); 93*b1cdbd2cSJim Jagielski GetPropSet( "Label2" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL2 ) ); 94*b1cdbd2cSJim Jagielski GetPropSet( "Label3" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL3 ) ); 95*b1cdbd2cSJim Jagielski GetPropSet( "MinorCheck" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_MINORCHECK ) ); 96*b1cdbd2cSJim Jagielski GetPropSet( "BrowserCheck" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_BROWSERCHECK ) ); 97*b1cdbd2cSJim Jagielski GetPropSet( "AddButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_ADDBUTTON ) ); 98*b1cdbd2cSJim Jagielski GetPropSet( "SendButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDBUTTON ) ); 99*b1cdbd2cSJim Jagielski } 100*b1cdbd2cSJim Jagielski catch( Exception e ) 101*b1cdbd2cSJim Jagielski { 102*b1cdbd2cSJim Jagielski e.printStackTrace(); 103*b1cdbd2cSJim Jagielski } 104*b1cdbd2cSJim Jagielski } 105*b1cdbd2cSJim Jagielski InitShowBrowser( XComponentContext xContext )106*b1cdbd2cSJim Jagielski private void InitShowBrowser( XComponentContext xContext ) 107*b1cdbd2cSJim Jagielski { 108*b1cdbd2cSJim Jagielski try 109*b1cdbd2cSJim Jagielski { 110*b1cdbd2cSJim Jagielski GetPropSet( "BrowserCheck" ).setPropertyValue( "State", new Short( Helper.GetShowInBrowserByDefault( m_xContext ) ? (short)1 : (short)0 ) ); 111*b1cdbd2cSJim Jagielski } 112*b1cdbd2cSJim Jagielski catch( Exception e ) 113*b1cdbd2cSJim Jagielski { 114*b1cdbd2cSJim Jagielski e.printStackTrace(); 115*b1cdbd2cSJim Jagielski } 116*b1cdbd2cSJim Jagielski } 117*b1cdbd2cSJim Jagielski show()118*b1cdbd2cSJim Jagielski public boolean show() 119*b1cdbd2cSJim Jagielski { 120*b1cdbd2cSJim Jagielski EnableControls( true ); 121*b1cdbd2cSJim Jagielski boolean bResult = super.show(); 122*b1cdbd2cSJim Jagielski 123*b1cdbd2cSJim Jagielski if ( bResult && Helper.GetShowInBrowserByDefault( m_xContext ) ) 124*b1cdbd2cSJim Jagielski Helper.ShowURLInBrowser( m_xContext, m_sWikiEngineURL + "index.php?title=" + m_sWikiTitle ); 125*b1cdbd2cSJim Jagielski 126*b1cdbd2cSJim Jagielski return bResult; 127*b1cdbd2cSJim Jagielski } 128*b1cdbd2cSJim Jagielski ThreadStop( boolean bSelf )129*b1cdbd2cSJim Jagielski public synchronized void ThreadStop( boolean bSelf ) 130*b1cdbd2cSJim Jagielski { 131*b1cdbd2cSJim Jagielski boolean bShowError = ( !bSelf && m_aThread != null && !m_bThreadFinished ); 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski super.ThreadStop( bSelf ); 134*b1cdbd2cSJim Jagielski 135*b1cdbd2cSJim Jagielski if ( bShowError ) 136*b1cdbd2cSJim Jagielski Helper.ShowError( m_xContext, 137*b1cdbd2cSJim Jagielski m_xDialog, 138*b1cdbd2cSJim Jagielski Helper.DLG_SENDTITLE, 139*b1cdbd2cSJim Jagielski Helper.CANCELSENDING_ERROR, 140*b1cdbd2cSJim Jagielski null, 141*b1cdbd2cSJim Jagielski false ); 142*b1cdbd2cSJim Jagielski } 143*b1cdbd2cSJim Jagielski fillWikiList()144*b1cdbd2cSJim Jagielski public void fillWikiList() 145*b1cdbd2cSJim Jagielski { 146*b1cdbd2cSJim Jagielski String [] WikiList = m_aSettings.getWikiURLs(); 147*b1cdbd2cSJim Jagielski 148*b1cdbd2cSJim Jagielski try 149*b1cdbd2cSJim Jagielski { 150*b1cdbd2cSJim Jagielski XPropertySet xPS = GetPropSet("WikiList"); 151*b1cdbd2cSJim Jagielski xPS.setPropertyValue("StringItemList", WikiList); 152*b1cdbd2cSJim Jagielski // short [] nSel = new short[1]; 153*b1cdbd2cSJim Jagielski // nSel[0] = (short) m_aSettings.getLastUsedWikiServer(); 154*b1cdbd2cSJim Jagielski // xPS.setPropertyValue("SelectedItems", sel); 155*b1cdbd2cSJim Jagielski } 156*b1cdbd2cSJim Jagielski catch (Exception ex) 157*b1cdbd2cSJim Jagielski { 158*b1cdbd2cSJim Jagielski ex.printStackTrace(); 159*b1cdbd2cSJim Jagielski } 160*b1cdbd2cSJim Jagielski } 161*b1cdbd2cSJim Jagielski fillDocList()162*b1cdbd2cSJim Jagielski public void fillDocList() 163*b1cdbd2cSJim Jagielski { 164*b1cdbd2cSJim Jagielski XPropertySet xPS = GetPropSet("ArticleText"); 165*b1cdbd2cSJim Jagielski try 166*b1cdbd2cSJim Jagielski { 167*b1cdbd2cSJim Jagielski short [] sel = (short[]) GetPropSet("WikiList").getPropertyValue("SelectedItems"); 168*b1cdbd2cSJim Jagielski xPS.setPropertyValue("StringItemList", m_aSettings.getWikiDocList(sel[0], 5)); 169*b1cdbd2cSJim Jagielski } 170*b1cdbd2cSJim Jagielski catch (Exception ex) 171*b1cdbd2cSJim Jagielski { 172*b1cdbd2cSJim Jagielski ex.printStackTrace(); 173*b1cdbd2cSJim Jagielski } 174*b1cdbd2cSJim Jagielski } 175*b1cdbd2cSJim Jagielski 176*b1cdbd2cSJim Jagielski GetWikiTitle()177*b1cdbd2cSJim Jagielski public String GetWikiTitle() 178*b1cdbd2cSJim Jagielski { 179*b1cdbd2cSJim Jagielski return m_sWikiTitle; 180*b1cdbd2cSJim Jagielski } 181*b1cdbd2cSJim Jagielski SetWikiTitle(String sArticle)182*b1cdbd2cSJim Jagielski public void SetWikiTitle(String sArticle) 183*b1cdbd2cSJim Jagielski { 184*b1cdbd2cSJim Jagielski m_sWikiTitle = sArticle; 185*b1cdbd2cSJim Jagielski try 186*b1cdbd2cSJim Jagielski { 187*b1cdbd2cSJim Jagielski XPropertySet xPS = GetPropSet("ArticleText"); 188*b1cdbd2cSJim Jagielski xPS.setPropertyValue("Text", sArticle); 189*b1cdbd2cSJim Jagielski } 190*b1cdbd2cSJim Jagielski catch (Exception ex) 191*b1cdbd2cSJim Jagielski { 192*b1cdbd2cSJim Jagielski ex.printStackTrace(); 193*b1cdbd2cSJim Jagielski } 194*b1cdbd2cSJim Jagielski } 195*b1cdbd2cSJim Jagielski 196*b1cdbd2cSJim Jagielski switchSendButtonIfNecessary()197*b1cdbd2cSJim Jagielski public void switchSendButtonIfNecessary() 198*b1cdbd2cSJim Jagielski { 199*b1cdbd2cSJim Jagielski XPropertySet xSendButton = GetPropSet( "SendButton" ); 200*b1cdbd2cSJim Jagielski if ( xSendButton != null ) 201*b1cdbd2cSJim Jagielski { 202*b1cdbd2cSJim Jagielski XPropertySet xWikiListProps = GetPropSet( "WikiList" ); 203*b1cdbd2cSJim Jagielski XPropertySet xArticleProps = GetPropSet( "ArticleText" ); 204*b1cdbd2cSJim Jagielski if ( xWikiListProps != null && xArticleProps != null ) 205*b1cdbd2cSJim Jagielski { 206*b1cdbd2cSJim Jagielski try 207*b1cdbd2cSJim Jagielski { 208*b1cdbd2cSJim Jagielski short [] pSel = (short[]) GetPropSet("WikiList").getPropertyValue("SelectedItems"); 209*b1cdbd2cSJim Jagielski String sArticle = (String)xArticleProps.getPropertyValue( "Text" ); 210*b1cdbd2cSJim Jagielski if ( pSel != null && pSel.length > 0 && sArticle != null && sArticle.length() != 0 ) 211*b1cdbd2cSJim Jagielski xSendButton.setPropertyValue( "Enabled", Boolean.TRUE ); 212*b1cdbd2cSJim Jagielski else 213*b1cdbd2cSJim Jagielski xSendButton.setPropertyValue( "Enabled", Boolean.FALSE ); 214*b1cdbd2cSJim Jagielski } 215*b1cdbd2cSJim Jagielski catch (Exception ex) 216*b1cdbd2cSJim Jagielski { 217*b1cdbd2cSJim Jagielski ex.printStackTrace(); 218*b1cdbd2cSJim Jagielski } 219*b1cdbd2cSJim Jagielski } 220*b1cdbd2cSJim Jagielski } 221*b1cdbd2cSJim Jagielski } 222*b1cdbd2cSJim Jagielski EnableControls( boolean bEnable )223*b1cdbd2cSJim Jagielski public void EnableControls( boolean bEnable ) 224*b1cdbd2cSJim Jagielski { 225*b1cdbd2cSJim Jagielski try 226*b1cdbd2cSJim Jagielski { 227*b1cdbd2cSJim Jagielski String[] pControls = { "WikiList", 228*b1cdbd2cSJim Jagielski "ArticleText", 229*b1cdbd2cSJim Jagielski "CommentText", 230*b1cdbd2cSJim Jagielski "MinorCheck", 231*b1cdbd2cSJim Jagielski "BrowserCheck", 232*b1cdbd2cSJim Jagielski "HelpButton", 233*b1cdbd2cSJim Jagielski "AddButton" }; 234*b1cdbd2cSJim Jagielski 235*b1cdbd2cSJim Jagielski for ( int nInd = 0; nInd < pControls.length; nInd++ ) 236*b1cdbd2cSJim Jagielski GetPropSet( pControls[nInd] ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); 237*b1cdbd2cSJim Jagielski 238*b1cdbd2cSJim Jagielski if ( bEnable ) 239*b1cdbd2cSJim Jagielski { 240*b1cdbd2cSJim Jagielski SetFocusTo( "WikiList" ); 241*b1cdbd2cSJim Jagielski switchSendButtonIfNecessary(); 242*b1cdbd2cSJim Jagielski } 243*b1cdbd2cSJim Jagielski else 244*b1cdbd2cSJim Jagielski { 245*b1cdbd2cSJim Jagielski GetPropSet( "SendButton" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); 246*b1cdbd2cSJim Jagielski SetFocusTo( "CancelButton" ); 247*b1cdbd2cSJim Jagielski } 248*b1cdbd2cSJim Jagielski } 249*b1cdbd2cSJim Jagielski catch (Exception ex) 250*b1cdbd2cSJim Jagielski { 251*b1cdbd2cSJim Jagielski ex.printStackTrace(); 252*b1cdbd2cSJim Jagielski } 253*b1cdbd2cSJim Jagielski } 254*b1cdbd2cSJim Jagielski callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName )255*b1cdbd2cSJim Jagielski public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) 256*b1cdbd2cSJim Jagielski { 257*b1cdbd2cSJim Jagielski if ( MethodName.equals( sSendMethod ) ) 258*b1cdbd2cSJim Jagielski { 259*b1cdbd2cSJim Jagielski try 260*b1cdbd2cSJim Jagielski { 261*b1cdbd2cSJim Jagielski XPropertySet aWikiListProps = GetPropSet( "WikiList" ); 262*b1cdbd2cSJim Jagielski XPropertySet aArticleTextProps = GetPropSet( "ArticleText" ); 263*b1cdbd2cSJim Jagielski XPropertySet aCommentTextProps = GetPropSet( "CommentText" ); 264*b1cdbd2cSJim Jagielski XPropertySet aMinorCheckProps = GetPropSet( "MinorCheck" ); 265*b1cdbd2cSJim Jagielski XPropertySet aBrowserCheckProps = GetPropSet( "BrowserCheck" ); 266*b1cdbd2cSJim Jagielski 267*b1cdbd2cSJim Jagielski short [] sel = (short[]) aWikiListProps.getPropertyValue("SelectedItems"); 268*b1cdbd2cSJim Jagielski String [] items = (String []) aWikiListProps.getPropertyValue("StringItemList"); 269*b1cdbd2cSJim Jagielski m_sWikiEngineURL = items[sel[0]]; 270*b1cdbd2cSJim Jagielski m_aSettings.setLastUsedWikiServer(sel[0]); 271*b1cdbd2cSJim Jagielski m_sWikiTitle = (String) aArticleTextProps.getPropertyValue("Text"); 272*b1cdbd2cSJim Jagielski m_sWikiComment = (String) aCommentTextProps.getPropertyValue("Text"); 273*b1cdbd2cSJim Jagielski 274*b1cdbd2cSJim Jagielski short minorState = ((Short) aMinorCheckProps.getPropertyValue("State")).shortValue(); 275*b1cdbd2cSJim Jagielski if (minorState != 0) 276*b1cdbd2cSJim Jagielski m_bWikiMinorEdit = true; 277*b1cdbd2cSJim Jagielski else 278*b1cdbd2cSJim Jagielski m_bWikiMinorEdit = false; 279*b1cdbd2cSJim Jagielski 280*b1cdbd2cSJim Jagielski short nBrowserState = ((Short) aBrowserCheckProps.getPropertyValue("State")).shortValue(); 281*b1cdbd2cSJim Jagielski Helper.SetShowInBrowserByDefault( m_xContext, nBrowserState != 0 ); 282*b1cdbd2cSJim Jagielski 283*b1cdbd2cSJim Jagielski // allow to disable other buttons 284*b1cdbd2cSJim Jagielski EnableControls( false ); 285*b1cdbd2cSJim Jagielski } 286*b1cdbd2cSJim Jagielski catch (Exception ex) 287*b1cdbd2cSJim Jagielski { 288*b1cdbd2cSJim Jagielski ex.printStackTrace(); 289*b1cdbd2cSJim Jagielski } 290*b1cdbd2cSJim Jagielski 291*b1cdbd2cSJim Jagielski final WikiPropDialog aThisDialog = this; 292*b1cdbd2cSJim Jagielski final XDialog xDialogToClose = xDialog; 293*b1cdbd2cSJim Jagielski final XComponentContext xContext = m_xContext; 294*b1cdbd2cSJim Jagielski 295*b1cdbd2cSJim Jagielski // start spinning 296*b1cdbd2cSJim Jagielski SetThrobberVisible( true ); 297*b1cdbd2cSJim Jagielski SetThrobberActive( true ); 298*b1cdbd2cSJim Jagielski 299*b1cdbd2cSJim Jagielski // the following method might show a dialog, should be used in main thread 300*b1cdbd2cSJim Jagielski final Hashtable aWikiSettings = m_aSettings.getSettingByUrl( m_sWikiEngineURL ); 301*b1cdbd2cSJim Jagielski if ( Helper.AllowThreadUsage( m_xContext ) ) 302*b1cdbd2cSJim Jagielski { 303*b1cdbd2cSJim Jagielski m_aThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) 304*b1cdbd2cSJim Jagielski { 305*b1cdbd2cSJim Jagielski public void run() 306*b1cdbd2cSJim Jagielski { 307*b1cdbd2cSJim Jagielski try 308*b1cdbd2cSJim Jagielski { 309*b1cdbd2cSJim Jagielski if ( m_aWikiEditor != null ) 310*b1cdbd2cSJim Jagielski { 311*b1cdbd2cSJim Jagielski Thread.yield(); 312*b1cdbd2cSJim Jagielski m_bAction = m_aWikiEditor.SendArticleImpl( aThisDialog, aWikiSettings ); 313*b1cdbd2cSJim Jagielski } 314*b1cdbd2cSJim Jagielski } 315*b1cdbd2cSJim Jagielski finally 316*b1cdbd2cSJim Jagielski { 317*b1cdbd2cSJim Jagielski EnableControls( true ); 318*b1cdbd2cSJim Jagielski SetThrobberActive( false ); 319*b1cdbd2cSJim Jagielski SetThrobberVisible( false ); 320*b1cdbd2cSJim Jagielski 321*b1cdbd2cSJim Jagielski ThreadStop( true ); 322*b1cdbd2cSJim Jagielski if ( m_bAction ) 323*b1cdbd2cSJim Jagielski MainThreadDialogExecutor.Close( xContext, xDialogToClose ); 324*b1cdbd2cSJim Jagielski } 325*b1cdbd2cSJim Jagielski } 326*b1cdbd2cSJim Jagielski }; 327*b1cdbd2cSJim Jagielski 328*b1cdbd2cSJim Jagielski m_aThread.start(); 329*b1cdbd2cSJim Jagielski } 330*b1cdbd2cSJim Jagielski else 331*b1cdbd2cSJim Jagielski { 332*b1cdbd2cSJim Jagielski try 333*b1cdbd2cSJim Jagielski { 334*b1cdbd2cSJim Jagielski if ( m_aWikiEditor != null ) 335*b1cdbd2cSJim Jagielski { 336*b1cdbd2cSJim Jagielski m_bAction = m_aWikiEditor.SendArticleImpl( aThisDialog, aWikiSettings ); 337*b1cdbd2cSJim Jagielski } 338*b1cdbd2cSJim Jagielski } catch( java.lang.Exception e ) 339*b1cdbd2cSJim Jagielski {} 340*b1cdbd2cSJim Jagielski finally 341*b1cdbd2cSJim Jagielski { 342*b1cdbd2cSJim Jagielski EnableControls( true ); 343*b1cdbd2cSJim Jagielski SetThrobberActive( false ); 344*b1cdbd2cSJim Jagielski SetThrobberVisible( false ); 345*b1cdbd2cSJim Jagielski 346*b1cdbd2cSJim Jagielski if ( m_bAction ) 347*b1cdbd2cSJim Jagielski xDialogToClose.endExecute(); 348*b1cdbd2cSJim Jagielski } 349*b1cdbd2cSJim Jagielski } 350*b1cdbd2cSJim Jagielski 351*b1cdbd2cSJim Jagielski return true; 352*b1cdbd2cSJim Jagielski } 353*b1cdbd2cSJim Jagielski else if ( MethodName.equals( sWikiListMethod ) ) 354*b1cdbd2cSJim Jagielski { 355*b1cdbd2cSJim Jagielski fillDocList(); 356*b1cdbd2cSJim Jagielski switchSendButtonIfNecessary(); 357*b1cdbd2cSJim Jagielski return true; 358*b1cdbd2cSJim Jagielski } 359*b1cdbd2cSJim Jagielski else if ( MethodName.equals( sArticleTextMethod ) ) 360*b1cdbd2cSJim Jagielski { 361*b1cdbd2cSJim Jagielski switchSendButtonIfNecessary(); 362*b1cdbd2cSJim Jagielski return true; 363*b1cdbd2cSJim Jagielski } 364*b1cdbd2cSJim Jagielski else if ( MethodName.equals( sAddWikiMethod ) ) 365*b1cdbd2cSJim Jagielski { 366*b1cdbd2cSJim Jagielski WikiEditSettingDialog xAddDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application"); 367*b1cdbd2cSJim Jagielski if ( xAddDialog.show() ) 368*b1cdbd2cSJim Jagielski fillWikiList(); 369*b1cdbd2cSJim Jagielski 370*b1cdbd2cSJim Jagielski xAddDialog.DisposeDialog(); 371*b1cdbd2cSJim Jagielski 372*b1cdbd2cSJim Jagielski return true; 373*b1cdbd2cSJim Jagielski } 374*b1cdbd2cSJim Jagielski 375*b1cdbd2cSJim Jagielski return false; 376*b1cdbd2cSJim Jagielski } 377*b1cdbd2cSJim Jagielski windowClosed( EventObject e )378*b1cdbd2cSJim Jagielski public void windowClosed( EventObject e ) 379*b1cdbd2cSJim Jagielski { 380*b1cdbd2cSJim Jagielski ThreadStop( false ); 381*b1cdbd2cSJim Jagielski } 382*b1cdbd2cSJim Jagielski } 383*b1cdbd2cSJim Jagielski 384