00001 #ifndef __vtkKWWidgetsTourExample_h 00002 #define __vtkKWWidgetsTourExample_h 00003 00004 #include "vtkKWObject.h" 00005 00006 class vtkKWWidget; 00007 class vtkKWWindow; 00008 00009 //---------------------------------------------------------------------------- 00010 //BTX 00011 class KWWidgetsTourItem 00012 { 00013 public: 00014 00015 // Get the type 00016 00017 enum WidgetType 00018 { 00019 TypeCore, 00020 TypeComposite, 00021 TypeVTK 00022 }; 00023 virtual int GetType() = 0; 00024 virtual void Create(vtkKWWidget *parent, vtkKWWindow *win) = 0; 00025 00026 KWWidgetsTourItem() {}; 00027 virtual ~KWWidgetsTourItem() {}; 00028 }; 00029 00030 typedef KWWidgetsTourItem* (*KWWidgetsTourItemEntryPoint)(); 00031 //ETX 00032 00033 //---------------------------------------------------------------------------- 00034 //BTX 00035 typedef struct 00036 { 00037 const char *Name; 00038 KWWidgetsTourItemEntryPoint EntryPoint; 00039 } KWWidgetsTourNode; 00040 //ETX 00041 00042 //---------------------------------------------------------------------------- 00043 class vtkKWTreeWithScrollbars; 00044 class vtkKWWindow; 00045 class vtkKWTextWithScrollbarsWithLabel; 00046 class vtkKWWidgetsTourExampleInternals; 00047 00048 class vtkKWWidgetsTourExample : public vtkKWObject 00049 { 00050 public: 00051 static vtkKWWidgetsTourExample* New(); 00052 vtkTypeRevisionMacro(vtkKWWidgetsTourExample,vtkKWObject); 00053 00054 // Description: 00055 // Run the example. 00056 int Run(int argc, char *argv[]); 00057 00058 // Description: 00059 // Select specific example 00060 virtual void SelectExample(const char *name); 00061 00062 // Description: 00063 // Callbacks 00064 virtual void SelectionChangedCallback(); 00065 00066 // Description: 00067 // Get path to example data 00068 static const char *GetPathToExampleData( 00069 vtkKWApplication *app, const char *name); 00070 00071 protected: 00072 vtkKWWidgetsTourExample(); 00073 ~vtkKWWidgetsTourExample(); 00074 00075 vtkKWTreeWithScrollbars *WidgetsTree; 00076 vtkKWWindow *Window; 00077 vtkKWTextWithScrollbarsWithLabel *CxxSourceText; 00078 vtkKWTextWithScrollbarsWithLabel *PythonSourceText; 00079 vtkKWTextWithScrollbarsWithLabel *TclSourceText; 00080 00081 // PIMPL Encapsulation for STL containers 00082 //BTX 00083 vtkKWWidgetsTourExampleInternals *Internals; 00084 //ETX 00085 00086 private: 00087 vtkKWWidgetsTourExample(const vtkKWWidgetsTourExample&); // Not implemented. 00088 void operator=(const vtkKWWidgetsTourExample&); // Not implemented. 00089 }; 00090 00091 #endif