vtkMimxErrorCallback.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkMimxErrorCallback.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 // .NAME vtkMimxErrorCallback - supports legacy function callbacks for VTK
00016 // .SECTION Description
00017 // vtkMimxErrorCallback is a callback that supports the legacy callback
00018 // methods found in VTK. For example, the legacy method
00019 // vtkProcessObject::SetStartMethod() is actually invoked using the
00020 // command/observer design pattern of VTK, and the vtkMimxErrorCallback
00021 // is used to provide the legacy functionality. The callback function should
00022 // have the form void func(void *clientdata), where clientdata is special data
00023 // that should is associated with this instance of vtkCallbackCommand.
00024 //
00025 // .SECTION Caveats
00026 // This is legacy glue. Please do not use; it will be eventually eliminated.
00027 
00028 // .SECTION See Also
00029 // vtkCommand vtkCallbackCommand
00030 
00031 #ifndef __vtkMimxErrorCallback_h
00032 #define __vtkMimxErrorCallback_h
00033 
00034 #include "vtkCommand.h"
00035 #include "vtkKWApplication.h"
00036 #include "vtkMimxCommonWin32Header.h"
00037 
00038 class vtkKWMessageDialog;
00039 
00040 // the old style void fund(void *) callbacks
00041 class VTK_MIMXCOMMON_EXPORT vtkMimxErrorCallback : public vtkCommand
00042 {
00043 public:
00044   static vtkMimxErrorCallback *New() 
00045     {return new vtkMimxErrorCallback;};
00046 
00047   // Description:
00048   // Satisfy the superclass API for callbacks.
00049   void Execute(vtkObject *invoker, unsigned long eid, void *calldata);
00050 
00051   // Description:
00052   // Methods to set and get client and callback information.
00053   void SetClientData(void *cd) 
00054     {this->ClientData = cd;};
00055   void SetCallback(void (*f)(void *clientdata)) 
00056     {this->Callback = f;};
00057   void SetClientDataDeleteCallback(void (*f)(void *))
00058     {this->ClientDataDeleteCallback = f;};
00059   
00060   void *ClientData;
00061   void (*Callback)(void *);
00062   void (*ClientDataDeleteCallback)(void *);
00063 
00064   void SetKWApplication(vtkKWApplication *App)
00065   {
00066           this->KWApplication = App;
00067   }
00068 
00069   vtkKWApplication* GetKWApplication()
00070   {
00071           return this->KWApplication;
00072   } 
00073 
00074   vtkIdType GetState()
00075   {
00076           return this->State;
00077   }
00078   void SetState(vtkIdType currentState)
00079   {
00080           this->State = currentState;
00081   }
00082   void ErrorMessage(const char*);
00083 protected:
00084   vtkMimxErrorCallback();
00085   ~vtkMimxErrorCallback();
00086   vtkKWApplication *KWApplication;
00087   vtkKWMessageDialog *KWMessageDialog;
00088   vtkIdType State;
00089 };
00090 
00091 
00092 #endif /* __vtkMimxErrorCallback_h */
00093  

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1