debian/tmp/usr/include/KWWidgets/vtkKWTkcon.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWTkcon.h,v $
00004 
00005   Copyright (c) Kitware, Inc.
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00014 // .NAME vtkKWTkcon - a wrapper around a tkcon console.
00015 // .SECTION Description
00016 // A widget to interactively execute Tcl commands using a tkcon console.
00017 // .SECTION Thanks
00018 // This work is part of the National Alliance for Medical Image
00019 // Computing (NAMIC), funded by the National Institutes of Health
00020 // through the NIH Roadmap for Medical Research, Grant U54 EB005149.
00021 // Information on the National Centers for Biomedical Computing
00022 // can be obtained from http://nihroadmap.nih.gov/bioinformatics.
00023 
00024 #ifndef __vtkKWTkcon_h
00025 #define __vtkKWTkcon_h
00026 
00027 #include "vtkKWTclInteractor.h"
00028 
00029 class vtkKWTkconInternals;
00030 
00031 class KWWidgets_EXPORT vtkKWTkcon : public vtkKWTclInteractor
00032 {
00033 public:
00034   static vtkKWTkcon* New();
00035   vtkTypeRevisionMacro(vtkKWTkcon, vtkKWTclInteractor);
00036   void PrintSelf(ostream& os, vtkIndent indent);
00037   
00038   // Description:
00039   // Append text to the display window.
00040   virtual void AppendText(const char* text);
00041 
00042   // Description:
00043   // Set focus to this widget. 
00044   // Override the superclass to focus on the console.
00045   virtual void Focus();
00046 
00047   // Description:
00048   // Specifies the font to use when drawing text inside the widget. 
00049   // You can use predefined font names (e.g. 'system'), or you can specify
00050   // a set of font attributes with a platform-independent name, for example,
00051   // 'times 12 bold'. In this example, the font is specified with a three
00052   // element list: the first element is the font family, the second is the
00053   // size, the third is a list of style parameters (normal, bold, roman, 
00054   // italic, underline, overstrike). Example: 'times 12 {bold italic}'.
00055   // The Times, Courier and Helvetica font families are guaranteed to exist
00056   // and will be matched to the corresponding (closest) font on your system.
00057   // If you are familiar with the X font names specification, you can also
00058   // describe the font that way (say, '*times-medium-r-*-*-12*').
00059   virtual void SetFont(const char *font);
00060   virtual const char* GetFont();
00061 
00062   // Description:
00063   // Update the "enable" state of the object and its internal parts.
00064   // Depending on different Ivars (this->Enabled, the application's 
00065   // Limited Edition Mode, etc.), the "enable" state of the object is updated
00066   // and propagated to its internal parts/subwidgets. This will, for example,
00067   // enable/disable parts of the widget UI, enable/disable the visibility
00068   // of 3D widgets, etc.
00069   virtual void UpdateEnableState();
00070 
00071 protected:
00072   vtkKWTkcon();
00073   ~vtkKWTkcon();
00074 
00075   // Description:
00076   // Create the widget.
00077   virtual void CreateWidget();
00078   
00079   // PIMPL Encapsulation for STL containers
00080   //BTX
00081   vtkKWTkconInternals *Internals;
00082   //ETX
00083 
00084 private:
00085   vtkKWTkcon(const vtkKWTkcon&); // Not implemented
00086   void operator=(const vtkKWTkcon&); // Not implemented
00087 };
00088 
00089 #endif
00090