KWWidgets
|
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