//
// Auto-generated using JActiveX.EXE 5.00.2918
//   ("D:\Program Files\Microsoft Visual Studio\VJ98\jactivex.exe" /wfc  /w /xi /X:rkc /l "C:\WINNT\Profiles\ADMINI~1\LOCALS~1\Temp\jvc1F.tmp" /nologo /d "C:\msj\new\jrotview" "C:\WINNT\System32\danim.dll")
//
// WARNING: Do not remove the comments that include "@com" directives.
// This source file must be compiled by a @com-aware compiler.
// If you are using the Microsoft Visual J++ compiler, you must use
// version 1.02.3920 or later. Previous versions will not issue an error
// but will not generate COM-enabled class files.
//

package danim.DAViewerControl;

import com.ms.com.*;
import com.ms.com.IUnknown;
import com.ms.com.Variant;

public class DAViewerControl extends com.ms.wfc.ui.AxHost
{
  private danim.IDA3ViewerControl _jcommem_ocx;
  private danim.DAViewerControl.DAViewerControlEventMulticaster _jcommem_eventmulticaster1;
  private com.ms.com.ConnectionPointCookie _jcommem_cookie1;

  com.ms.wfc.core.EventHandler onStart;
  danim.DAViewerControl.MouseUpHandler onMouseUp;
  danim.DAViewerControl.MouseDownHandler onMouseDown;
  danim.DAViewerControl.MouseMoveHandler onMouseMove;
  com.ms.wfc.core.EventHandler onClick;
  danim.DAViewerControl.KeyPressHandler onKeyPress;
  danim.DAViewerControl.KeyUpHandler onKeyUp;
  danim.DAViewerControl.KeyDownHandler onKeyDown;
  danim.DAViewerControl.ErrorHandler onError;
  com.ms.wfc.core.EventHandler onStop;
  com.ms.wfc.core.EventHandler onPause;
  com.ms.wfc.core.EventHandler onResume;

  //------------------------------------------------------------------------
  // Constructors
  //------------------------------------------------------------------------

  public DAViewerControl()
  {
     super( "{B6FFC24C-7E13-11D0-9B47-00C04FC2F51D}" );
  }

  //------------------------------------------------------------------------
  // These methods override com.ms.wfc.ui.AxHost methods.
  //------------------------------------------------------------------------

  protected synchronized void createSink()
  {
     try
     {
        _jcommem_cookie1 = new com.ms.com.ConnectionPointCookie(_jcommem_ocx, _jcommem_eventmulticaster1, danim._IDAViewerControlEvents.class);
     }
     catch( Throwable _jcom_t )
     {
     }
  }

  protected synchronized void detachSink()
  {
     try
     {
        _jcommem_cookie1.disconnect();
        _jcommem_cookie1 = null;
     }
     catch( Throwable _jcom_t )
     {
     }
  }

  protected synchronized void attachInterfaces()
  {
     try
     {
        _jcommem_ocx = (danim.IDA3ViewerControl)(getOcx());
        _jcommem_eventmulticaster1 = new danim.DAViewerControl.DAViewerControlEventMulticaster( this );
     }
     catch( Exception _jcom_e )
     {
     }
  }

  //------------------------------------------------------------------------
  // These methods invoke methods directly on the ActiveX Control.
  //------------------------------------------------------------------------

  public synchronized double getUpdateInterval()  {
     return _jcommem_ocx.getUpdateInterval();
  }


  public synchronized void setUpdateInterval(double pVal)  {
     _jcommem_ocx.setUpdateInterval(pVal);
  }


  public synchronized danim.IDAView getView()  {
     return _jcommem_ocx.getView();
  }


  public synchronized void setView(danim.IDAView ppView)  {
     _jcommem_ocx.setView(ppView);
  }


  public synchronized danim.IDAImage getImage()  {
     return _jcommem_ocx.getImage();
  }


  public synchronized void setImage(danim.IDAImage ppImage)  {
     _jcommem_ocx.setImage(ppImage);
  }


  public synchronized danim.IDAImage getBackgroundImage()  {
     return _jcommem_ocx.getBackgroundImage();
  }


  public synchronized void setBackgroundImage(danim.IDAImage ppImage)  {
     _jcommem_ocx.setBackgroundImage(ppImage);
  }


  public synchronized danim.IDASound getSound()  {
     return _jcommem_ocx.getSound();
  }


  public synchronized void setSound(danim.IDASound ppSound)  {
     _jcommem_ocx.setSound(ppSound);
  }


  public synchronized danim.IDAStatics getPixelLibrary()  {
     return _jcommem_ocx.getPixelLibrary();
  }


  public synchronized danim.IDAStatics getMeterLibrary()  {
     return _jcommem_ocx.getMeterLibrary();
  }


  public synchronized void AddBehaviorToRun(danim.IDABehavior pBehavior)  {
     _jcommem_ocx.AddBehaviorToRun(pBehavior);
  }


  public synchronized void Start()  {
     _jcommem_ocx.Start();
  }


  /** @hidden */
  public synchronized danim.IDAImage getInputImage()  {
     return _jcommem_ocx.getInputImage();
  }


  public synchronized boolean getOpaqueForHitDetect()  {
     return _jcommem_ocx.getOpaqueForHitDetect();
  }


  public synchronized void setOpaqueForHitDetect(boolean b)  {
     _jcommem_ocx.setOpaqueForHitDetect(b);
  }


  public synchronized int getTimerSource()  {
     return _jcommem_ocx.getTimerSource();
  }


  public synchronized void setTimerSource(int ts)  {
     _jcommem_ocx.setTimerSource(ts);
  }


  public synchronized void RegisterErrorHandler(String scriptlet)  {
     _jcommem_ocx.RegisterErrorHandler(scriptlet);
  }


  public synchronized void SetPreference(String pref, Variant val)  {
     _jcommem_ocx.SetPreference(pref, val);
  }


  public synchronized Variant GetPreference(String pref)  {
     return _jcommem_ocx.GetPreference(pref);
  }


  public synchronized void Stop()  {
     _jcommem_ocx.Stop();
  }


  public synchronized void Pause()  {
     _jcommem_ocx.Pause();
  }


  public synchronized void Resume()  {
     _jcommem_ocx.Resume();
  }


  public synchronized void Tick()  {
     _jcommem_ocx.Tick();
  }



  //------------------------------------------------------------------------
  // These methods add and remove event handlers.
  //------------------------------------------------------------------------

  public synchronized void addOnStart( com.ms.wfc.core.EventHandler handler ) {
     onStart = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.combine( onStart, handler );
  }

  public synchronized void removeOnStart( com.ms.wfc.core.EventHandler handler ) {
     onStart = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.remove( onStart, handler );
  }

  public synchronized void addOnMouseUp( danim.DAViewerControl.MouseUpHandler handler ) {
     onMouseUp = (danim.DAViewerControl.MouseUpHandler)com.ms.lang.Delegate.combine( onMouseUp, handler );
  }

  public synchronized void removeOnMouseUp( danim.DAViewerControl.MouseUpHandler handler ) {
     onMouseUp = (danim.DAViewerControl.MouseUpHandler)com.ms.lang.Delegate.remove( onMouseUp, handler );
  }

  public synchronized void addOnMouseDown( danim.DAViewerControl.MouseDownHandler handler ) {
     onMouseDown = (danim.DAViewerControl.MouseDownHandler)com.ms.lang.Delegate.combine( onMouseDown, handler );
  }

  public synchronized void removeOnMouseDown( danim.DAViewerControl.MouseDownHandler handler ) {
     onMouseDown = (danim.DAViewerControl.MouseDownHandler)com.ms.lang.Delegate.remove( onMouseDown, handler );
  }

  public synchronized void addOnMouseMove( danim.DAViewerControl.MouseMoveHandler handler ) {
     onMouseMove = (danim.DAViewerControl.MouseMoveHandler)com.ms.lang.Delegate.combine( onMouseMove, handler );
  }

  public synchronized void removeOnMouseMove( danim.DAViewerControl.MouseMoveHandler handler ) {
     onMouseMove = (danim.DAViewerControl.MouseMoveHandler)com.ms.lang.Delegate.remove( onMouseMove, handler );
  }

  public synchronized void addOnCtlClick( com.ms.wfc.core.EventHandler handler ) {
     onClick = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.combine( onClick, handler );
  }

  public synchronized void removeOnCtlClick( com.ms.wfc.core.EventHandler handler ) {
     onClick = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.remove( onClick, handler );
  }

  public synchronized void addOnKeyPress( danim.DAViewerControl.KeyPressHandler handler ) {
     onKeyPress = (danim.DAViewerControl.KeyPressHandler)com.ms.lang.Delegate.combine( onKeyPress, handler );
  }

  public synchronized void removeOnKeyPress( danim.DAViewerControl.KeyPressHandler handler ) {
     onKeyPress = (danim.DAViewerControl.KeyPressHandler)com.ms.lang.Delegate.remove( onKeyPress, handler );
  }

  public synchronized void addOnKeyUp( danim.DAViewerControl.KeyUpHandler handler ) {
     onKeyUp = (danim.DAViewerControl.KeyUpHandler)com.ms.lang.Delegate.combine( onKeyUp, handler );
  }

  public synchronized void removeOnKeyUp( danim.DAViewerControl.KeyUpHandler handler ) {
     onKeyUp = (danim.DAViewerControl.KeyUpHandler)com.ms.lang.Delegate.remove( onKeyUp, handler );
  }

  public synchronized void addOnKeyDown( danim.DAViewerControl.KeyDownHandler handler ) {
     onKeyDown = (danim.DAViewerControl.KeyDownHandler)com.ms.lang.Delegate.combine( onKeyDown, handler );
  }

  public synchronized void removeOnKeyDown( danim.DAViewerControl.KeyDownHandler handler ) {
     onKeyDown = (danim.DAViewerControl.KeyDownHandler)com.ms.lang.Delegate.remove( onKeyDown, handler );
  }

  public synchronized void addOnError( danim.DAViewerControl.ErrorHandler handler ) {
     onError = (danim.DAViewerControl.ErrorHandler)com.ms.lang.Delegate.combine( onError, handler );
  }

  public synchronized void removeOnError( danim.DAViewerControl.ErrorHandler handler ) {
     onError = (danim.DAViewerControl.ErrorHandler)com.ms.lang.Delegate.remove( onError, handler );
  }

  public synchronized void addOnStop( com.ms.wfc.core.EventHandler handler ) {
     onStop = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.combine( onStop, handler );
  }

  public synchronized void removeOnStop( com.ms.wfc.core.EventHandler handler ) {
     onStop = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.remove( onStop, handler );
  }

  public synchronized void addOnPause( com.ms.wfc.core.EventHandler handler ) {
     onPause = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.combine( onPause, handler );
  }

  public synchronized void removeOnPause( com.ms.wfc.core.EventHandler handler ) {
     onPause = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.remove( onPause, handler );
  }

  public synchronized void addOnResume( com.ms.wfc.core.EventHandler handler ) {
     onResume = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.combine( onResume, handler );
  }

  public synchronized void removeOnResume( com.ms.wfc.core.EventHandler handler ) {
     onResume = (com.ms.wfc.core.EventHandler)com.ms.lang.Delegate.remove( onResume, handler );
  }

  //---------------------------------------------------------------------------
  // This class provides information about the control's events and properties.
  //---------------------------------------------------------------------------

  public static class ClassInfo extends com.ms.wfc.ui.AxHost.ClassInfo
  {
     public static final com.ms.wfc.ui.AxHost.AxPropertyInfo UpdateIntervalPropertyInfo = new com.ms.wfc.ui.AxHost.AxPropertyInfo(
        danim.DAViewerControl.DAViewerControl.class, "updateInterval", double.class,
        new com.ms.wfc.core.MemberAttribute[] { 
           new com.ms.wfc.core.DescriptionAttribute( "property updateInterval" ),
           com.ms.wfc.core.PersistableAttribute.NO,
           new com.ms.wfc.ui.AxHost.DispidAttribute( 0x60020000 ) } );

     public static final com.ms.wfc.ui.AxHost.AxPropertyInfo OpaqueForHitDetectPropertyInfo = new com.ms.wfc.ui.AxHost.AxPropertyInfo(
        danim.DAViewerControl.DAViewerControl.class, "opaqueForHitDetect", boolean.class,
        new com.ms.wfc.core.MemberAttribute[] { 
           com.ms.wfc.core.PersistableAttribute.NO,
           new com.ms.wfc.ui.AxHost.DispidAttribute( 0x6002000F ) } );

     public static final com.ms.wfc.ui.AxHost.AxPropertyInfo TimerSourcePropertyInfo = new com.ms.wfc.ui.AxHost.AxPropertyInfo(
        danim.DAViewerControl.DAViewerControl.class, "timerSource", danim.__MIDL___MIDL_itf_danim_0192_0001.class,
        new com.ms.wfc.core.MemberAttribute[] { 
           com.ms.wfc.core.PersistableAttribute.NO,
           new com.ms.wfc.ui.AxHost.DispidAttribute( 0x60020011 ) } );

     public static final com.ms.wfc.core.EventInfo StartEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "start", com.ms.wfc.core.EventHandler.class );

     public static final com.ms.wfc.core.EventInfo MouseUpEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "mouseUp", danim.DAViewerControl.MouseUpHandler.class );

     public static final com.ms.wfc.core.EventInfo MouseDownEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "mouseDown", danim.DAViewerControl.MouseDownHandler.class );

     public static final com.ms.wfc.core.EventInfo MouseMoveEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "mouseMove", danim.DAViewerControl.MouseMoveHandler.class );

     public static final com.ms.wfc.core.EventInfo ctlClickEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "ctlClick", com.ms.wfc.core.EventHandler.class );

     public static final com.ms.wfc.core.EventInfo KeyPressEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "keyPress", danim.DAViewerControl.KeyPressHandler.class );

     public static final com.ms.wfc.core.EventInfo KeyUpEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "keyUp", danim.DAViewerControl.KeyUpHandler.class );

     public static final com.ms.wfc.core.EventInfo KeyDownEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "keyDown", danim.DAViewerControl.KeyDownHandler.class );

     public static final com.ms.wfc.core.EventInfo ErrorEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "error", danim.DAViewerControl.ErrorHandler.class );

     public static final com.ms.wfc.core.EventInfo StopEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "stop", com.ms.wfc.core.EventHandler.class );

     public static final com.ms.wfc.core.EventInfo PauseEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "pause", com.ms.wfc.core.EventHandler.class );

     public static final com.ms.wfc.core.EventInfo ResumeEventInfo = new com.ms.wfc.core.EventInfo(
        danim.DAViewerControl.DAViewerControl.class, "resume", com.ms.wfc.core.EventHandler.class );

     public void getAttributes( com.ms.wfc.core.IAttributes attrs )
     {
        com.ms.wfc.ui.AxHost.getClientAttributes( this, danim.DAViewerControl.DAViewerControl.class, attrs );
     }

     public void getProperties( com.ms.wfc.core.IProperties props )
     {
        super.getProperties( props );
        props.add( UpdateIntervalPropertyInfo );
        props.add( OpaqueForHitDetectPropertyInfo );
        props.add( TimerSourcePropertyInfo );
     }

     public void getEvents( com.ms.wfc.core.IEvents events )
     {
        super.getEvents( events );
        events.add( StartEventInfo );
        events.add( MouseUpEventInfo );
        events.add( MouseDownEventInfo );
        events.add( MouseMoveEventInfo );
        events.add( ctlClickEventInfo );
        events.add( KeyPressEventInfo );
        events.add( KeyUpEventInfo );
        events.add( KeyDownEventInfo );
        events.add( ErrorEventInfo );
        events.add( StopEventInfo );
        events.add( PauseEventInfo );
        events.add( ResumeEventInfo );
     }
  }
}
