Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Common/vtkOutputWindow.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkOutputWindow.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00044 #ifndef __vtkOutputWindow_h
00045 #define __vtkOutputWindow_h
00046 
00047 #include "vtkObject.h"
00048 
00049 //BTX
00050 
00051 class VTK_COMMON_EXPORT vtkOutputWindow;
00052 
00053 class VTK_COMMON_EXPORT vtkOutputWindowCleanup
00054 {
00055 public:
00056   vtkOutputWindowCleanup();
00057   ~vtkOutputWindowCleanup();
00058 };
00059 //ETX
00060 
00061 class VTK_COMMON_EXPORT vtkOutputWindow : public vtkObject
00062 {
00063 public:
00064 // Methods from vtkObject
00065   vtkTypeRevisionMacro(vtkOutputWindow,vtkObject);
00067   virtual void PrintSelf(ostream& os, vtkIndent indent);
00068 
00070 
00074   static vtkOutputWindow* New();
00075   // Description:
00076   // Return the singleton instance with no reference counting.
00077   static vtkOutputWindow* GetInstance();
00078   // Description:
00079   // Supply a user defined output window. Call ->Delete() on the supplied
00080   // instance after setting it.
00081   static void SetInstance(vtkOutputWindow *instance);
00082   // Description:
00083   // Display the text. Four virtual methods exist, depending on the type of
00084   // message to display. This allows redirection or reformatting of the
00085   // messages. The default implementation uses DisplayText for all.
00086   virtual void DisplayText(const char*);
00087   virtual void DisplayErrorText(const char*);
00088   virtual void DisplayWarningText(const char*);
00089   virtual void DisplayGenericWarningText(const char*);
00091 
00092   virtual void DisplayDebugText(const char*);
00094 
00096   vtkBooleanMacro(PromptUser,int);
00097   vtkSetMacro(PromptUser, int);
00099 //BTX
00100   // use this as a way of memory management when the
00101   // program exits the SmartPointer will be deleted which
00102   // will delete the Instance singleton
00103   static vtkOutputWindowCleanup Cleanup;
00104 //ETX
00105 protected:
00106   vtkOutputWindow();
00107   virtual ~vtkOutputWindow();
00108   int PromptUser;
00109 private:
00110   static vtkOutputWindow* Instance;
00111 private:
00112   vtkOutputWindow(const vtkOutputWindow&);  // Not implemented.
00113   void operator=(const vtkOutputWindow&);  // Not implemented.
00114 };
00115 
00116 #endif