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