• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Widgets/vtkWidgetCallbackMapper.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkWidgetCallbackMapper.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 =========================================================================*/
00028 #ifndef __vtkWidgetCallbackMapper_h
00029 #define __vtkWidgetCallbackMapper_h
00030 
00031 #include "vtkObject.h"
00032 
00033 class vtkWidgetEvent;
00034 class vtkAbstractWidget;
00035 class vtkWidgetEventTranslator;
00036 class vtkCallbackMap; // PIMPL encapsulation of STL map
00037 
00038 
00039 class VTK_WIDGETS_EXPORT vtkWidgetCallbackMapper : public vtkObject
00040 {
00041 public:
00043   static vtkWidgetCallbackMapper *New();
00044 
00046 
00047   vtkTypeRevisionMacro(vtkWidgetCallbackMapper,vtkObject);
00048   void PrintSelf(ostream& os, vtkIndent indent);
00050 
00052 
00053   void SetEventTranslator(vtkWidgetEventTranslator *t);
00054   vtkGetObjectMacro(EventTranslator,vtkWidgetEventTranslator);
00056 
00057 //BTX
00059   typedef void (*CallbackType)(vtkAbstractWidget*);
00060 //ETX
00061 
00063 
00071   void SetCallbackMethod(unsigned long VTKEvent, unsigned long widgetEvent, 
00072                          vtkAbstractWidget *w, CallbackType f);
00073   void SetCallbackMethod(unsigned long VTKEvent, int modifiers, char keyCode, 
00074                          int repeatCount, const char* keySym,
00075                          unsigned long widgetEvent, 
00076                          vtkAbstractWidget *w, CallbackType f);
00077   //void SetCallbackMethod(vtkWidgetEvent *vtkEvent, unsigned long widgetEvent,
00078   //                       vtkAbstractWidget *w, CallbackType f);
00080 
00083   void InvokeCallback(unsigned long widgetEvent);
00084   
00085 protected:
00086   vtkWidgetCallbackMapper();
00087   ~vtkWidgetCallbackMapper();
00088 
00089   // Translates VTK events into widget events
00090   vtkWidgetEventTranslator *EventTranslator;
00091 
00092   // Invoke the method associated with a particular widget event
00093   vtkCallbackMap *CallbackMap;
00094   
00096 
00100   void SetCallbackMethod(unsigned long widgetEvent, 
00101                          vtkAbstractWidget *w, CallbackType f);
00103   
00104 
00105 private:
00106   vtkWidgetCallbackMapper(const vtkWidgetCallbackMapper&);  //Not implemented
00107   void operator=(const vtkWidgetCallbackMapper&);  //Not implemented
00108 
00109 };
00110 
00111 
00112 #endif /* __vtkWidgetCallbackMapper_h */
00113  

Generated by  doxygen 1.7.1