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

dox/GUISupport/Qt/vtkEventQtSlotConnect.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Copyright 2004 Sandia Corporation.
00004   Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
00005   license for use of this work by or on behalf of the
00006   U.S. Government. Redistribution and use in source and binary forms, with
00007   or without modification, are permitted provided that this Notice and any
00008   statement of authorship are reproduced on all copies.
00009 
00010 =========================================================================*/
00011 
00012 /*========================================================================
00013  For general information about using VTK and Qt, see:
00014  http://www.trolltech.com/products/3rdparty/vtksupport.html
00015 =========================================================================*/
00016 
00017 /*========================================================================
00018  !!! WARNING for those who want to contribute code to this file.
00019  !!! If you use a commercial edition of Qt, you can modify this code.
00020  !!! If you use an open source version of Qt, you are free to modify
00021  !!! and use this code within the guidelines of the GPL license.
00022  !!! Unfortunately, you cannot contribute the changes back into this
00023  !!! file.  Doing so creates a conflict between the GPL and BSD-like VTK
00024  !!! license.
00025 =========================================================================*/
00026 
00041 #ifndef VTK_EVENT_QT_SLOT_CONNECT
00042 #define VTK_EVENT_QT_SLOT_CONNECT
00043 
00044 #include "vtkObject.h"
00045 #include "vtkCommand.h"  // for event defines
00046 #include "QVTKWin32Header.h"  // for export define
00047 #include "qobject.h"          // for version info
00048 
00049 class QObject;
00050 class vtkQtConnections;
00051 class vtkQtConnection;
00052 
00053 // manage connections between VTK object events and Qt slots
00054 class QVTK_EXPORT vtkEventQtSlotConnect : public vtkObject
00055 {
00056   public:
00057     static vtkEventQtSlotConnect* New();
00058     vtkTypeMacro(vtkEventQtSlotConnect, vtkObject)
00059     
00060     
00061     void PrintSelf(ostream& os, vtkIndent indent);
00062     
00064 
00067     virtual void Connect(vtkObject* vtk_obj, unsigned long event, 
00068                          const QObject* qt_obj, const char* slot, 
00069                          void* client_data=NULL, float priority=0.0
00070 #if QT_VERSION >= 0x040000
00071                          ,Qt::ConnectionType type = Qt::AutoConnection);
00073 #else
00074                          );
00075 #endif
00076     
00078 
00083     virtual void Disconnect(
00084       vtkObject* vtk_obj=NULL, unsigned long event=vtkCommand::NoEvent, 
00085       const QObject* qt_obj=NULL, const char* slot = 0, void* client_data=NULL);
00087 
00088   protected:
00089     vtkQtConnections* Connections;
00090     friend class vtkQtConnection;
00091     void RemoveConnection(vtkQtConnection*);
00092   
00093     vtkEventQtSlotConnect();
00094     ~vtkEventQtSlotConnect();
00095 
00096   private:
00097     // unimplemented
00098     vtkEventQtSlotConnect(const vtkEventQtSlotConnect&);
00099     void operator=(const vtkEventQtSlotConnect&);
00100 };
00101 
00102 #endif
00103 

Generated by  doxygen 1.7.1