00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00021 #ifndef __vtkKWTextPropertyEditor_h
00022 #define __vtkKWTextPropertyEditor_h
00023
00024 #include "vtkKWCompositeWidget.h"
00025
00026 class vtkActor2D;
00027 class vtkKWApplication;
00028 class vtkKWChangeColorButton;
00029 class vtkKWLabel;
00030 class vtkKWCheckButtonSetWithLabel;
00031 class vtkKWMenuButtonWithLabel;
00032 class vtkKWPushButtonSetWithLabel;
00033 class vtkKWPushButton;
00034 class vtkKWScaleWithEntry;
00035 class vtkTextProperty;
00036
00037 class KWWIDGETS_EXPORT vtkKWTextPropertyEditor : public vtkKWCompositeWidget
00038 {
00039 public:
00040 static vtkKWTextPropertyEditor* New();
00041 vtkTypeRevisionMacro(vtkKWTextPropertyEditor,vtkKWCompositeWidget);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00045 virtual void Create(vtkKWApplication *app);
00046
00049 virtual void Update();
00050
00052
00053 virtual void SetTextProperty(vtkTextProperty*);
00054 vtkGetObjectMacro(TextProperty, vtkTextProperty);
00056
00058
00062 virtual void SetActor2D(vtkActor2D*);
00063 vtkGetObjectMacro(Actor2D, vtkActor2D);
00065
00067
00070 virtual void SetLongFormat(int);
00071 vtkBooleanMacro(LongFormat, int);
00072 vtkGetMacro(LongFormat, int);
00074
00076
00078 virtual void SetLabelOnTop(int);
00079 vtkBooleanMacro(LabelOnTop, int);
00080 vtkGetMacro(LabelOnTop, int);
00082
00084
00085 virtual void SetLabelVisibility(int);
00086 vtkBooleanMacro(LabelVisibility, int);
00087 vtkGetMacro(LabelVisibility, int);
00088 vtkGetObjectMacro(Label, vtkKWLabel);
00090
00092
00093 virtual void SetColorVisibility(int);
00094 vtkBooleanMacro(ColorVisibility, int);
00095 vtkGetMacro(ColorVisibility, int);
00097
00099
00100 virtual void SetFontFamilyVisibility(int);
00101 vtkBooleanMacro(FontFamilyVisibility, int);
00102 vtkGetMacro(FontFamilyVisibility, int);
00104
00106
00107 virtual void SetStylesVisibility(int);
00108 vtkBooleanMacro(StylesVisibility, int);
00109 vtkGetMacro(StylesVisibility, int);
00111
00113
00114 virtual void SetOpacityVisibility(int);
00115 vtkBooleanMacro(OpacityVisibility, int);
00116 vtkGetMacro(OpacityVisibility, int);
00118
00120
00122 virtual void SetChangedCommand(
00123 vtkObject *object, const char *method);
00125
00127
00129 virtual void SetColorChangedCommand(
00130 vtkObject *object, const char *method);
00132
00134
00136 virtual void SetCopyVisibility(int);
00137 vtkBooleanMacro(CopyVisibility, int);
00138 vtkGetMacro(CopyVisibility, int);
00139 virtual vtkKWPushButton* GetCopyButton();
00141
00143 virtual void CopyValuesFrom(vtkKWTextPropertyEditor*);
00144
00145
00146 virtual void ChangeColorButtonCallback(double, double, double);
00147 virtual void SetColor(double, double, double);
00148 virtual void SetColor(double *v) { this->SetColor(v[0], v[1], v[2]); };
00149 virtual double* GetColor();
00150 virtual void FontFamilyCallback();
00151 virtual void SetFontFamily(int);
00152 virtual void BoldCallback();
00153 virtual void SetBold(int);
00154 virtual void ItalicCallback();
00155 virtual void SetItalic(int);
00156 virtual void ShadowCallback();
00157 virtual void SetShadow(int);
00158 virtual void OpacityCallback();
00159 virtual void OpacityEndCallback();
00160 virtual void SetOpacity(float);
00161 virtual float GetOpacity();
00162
00164
00165 virtual void SaveInTclScript(ofstream *file, const char *tcl_name = 0,
00166 int tabify = 1);
00168
00175 virtual void UpdateEnableState();
00176
00177 protected:
00178 vtkKWTextPropertyEditor();
00179 ~vtkKWTextPropertyEditor();
00180
00181 virtual void Pack();
00182
00183 void UpdateInterface();
00184 void UpdateLabel();
00185 void UpdateColorButton();
00186 void UpdateFontFamilyOptionMenu();
00187 void UpdateStylesCheckButtonSet();
00188 void UpdateBoldCheckButton();
00189 void UpdateItalicCheckButton();
00190 void UpdateShadowCheckButton();
00191 void UpdateOpacityScale();
00192 void UpdatePushButtonSet();
00193
00194 vtkTextProperty *TextProperty;
00195 vtkActor2D *Actor2D;
00196
00197 int LongFormat;
00198
00199 int LabelVisibility;
00200 int LabelOnTop;
00201 vtkKWLabel *Label;
00202
00203 int ColorVisibility;
00204 vtkKWChangeColorButton *ChangeColorButton;
00205
00206 int FontFamilyVisibility;
00207 vtkKWMenuButtonWithLabel *FontFamilyOptionMenu;
00208
00209 int StylesVisibility;
00210 vtkKWCheckButtonSetWithLabel *StylesCheckButtonSet;
00211
00212 int OpacityVisibility;
00213 vtkKWScaleWithEntry *OpacityScale;
00214
00215 char *ChangedCommand;
00216 char *ColorChangedCommand;
00217
00218 int CopyVisibility;
00219 vtkKWPushButtonSetWithLabel *PushButtonSet;
00220
00221 private:
00222 vtkKWTextPropertyEditor(const vtkKWTextPropertyEditor&);
00223 void operator=(const vtkKWTextPropertyEditor&);
00224 };
00225
00226 #endif
00227