Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 lines
3.2 KiB

/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: vtkOutputWindow.h,v $
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkOutputWindow - base class for writing debug output to a console
// .SECTION Description
// This class is used to encapsulate all text output, so that it will work
// with operating systems that have a stdout and stderr, and ones that
// do not. (i.e windows does not). Sub-classes can be provided which can
// redirect the output to a window.
#ifndef __vtkOutputWindow_h
#define __vtkOutputWindow_h
#include "vtkObject.h"
//BTX
class VTK_COMMON_EXPORT vtkOutputWindow;
class VTK_COMMON_EXPORT vtkOutputWindowCleanup
{
public:
vtkOutputWindowCleanup();
~vtkOutputWindowCleanup();
};
//ETX
class VTK_COMMON_EXPORT vtkOutputWindow : public vtkObject
{
public:
// Methods from vtkObject
vtkTypeRevisionMacro(vtkOutputWindow,vtkObject);
// Description:
// Print ObjectFactor to stream.
virtual void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// This is a singleton pattern New. There will only be ONE
// reference to a vtkOutputWindow object per process. Clients that
// call this must call Delete on the object so that the reference
// counting will work. The single instance will be unreferenced when
// the program exits.
static vtkOutputWindow* New();
// Description:
// Return the singleton instance with no reference counting.
static vtkOutputWindow* GetInstance();
// Description:
// Supply a user defined output window. Call ->Delete() on the supplied
// instance after setting it.
static void SetInstance(vtkOutputWindow *instance);
// Description:
// Display the text. Four virtual methods exist, depending on the type of
// message to display. This allows redirection or reformatting of the
// messages. The default implementation uses DisplayText for all.
virtual void DisplayText(const char*);
virtual void DisplayErrorText(const char*);
virtual void DisplayWarningText(const char*);
virtual void DisplayGenericWarningText(const char*);
virtual void DisplayDebugText(const char*);
// Description:
// If PromptUser is set to true then each time a line of text
// is displayed, the user is asked if they want to keep getting
// messages.
vtkBooleanMacro(PromptUser,int);
vtkSetMacro(PromptUser, int);
//BTX
// use this as a way of memory management when the
// program exits the SmartPointer will be deleted which
// will delete the Instance singleton
static vtkOutputWindowCleanup Cleanup;
//ETX
protected:
vtkOutputWindow();
virtual ~vtkOutputWindow();
int PromptUser;
private:
static vtkOutputWindow* Instance;
private:
vtkOutputWindow(const vtkOutputWindow&); // Not implemented.
void operator=(const vtkOutputWindow&); // Not implemented.
};
#endif