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 vtkKWChangeColorButton;
00028 class vtkKWLabel;
00029 class vtkKWCheckButtonSetWithLabel;
00030 class vtkKWMenuButtonWithLabel;
00031 class vtkKWPushButtonSetWithLabel;
00032 class vtkKWPushButton;
00033 class vtkKWScaleWithEntry;
00034 class vtkTextProperty;
00035
00036 class KWWidgets_EXPORT vtkKWTextPropertyEditor : public vtkKWCompositeWidget
00037 {
00038
00039 public:
00040 static vtkKWTextPropertyEditor* New();
00041 vtkTypeRevisionMacro(vtkKWTextPropertyEditor,vtkKWCompositeWidget);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00046 virtual void Update();
00047
00049
00050 virtual void SetTextProperty(vtkTextProperty*);
00051 vtkGetObjectMacro(TextProperty, vtkTextProperty);
00053
00055
00059 virtual void SetActor2D(vtkActor2D*);
00060 vtkGetObjectMacro(Actor2D, vtkActor2D);
00062
00064
00067 virtual void SetLongFormat(int);
00068 vtkBooleanMacro(LongFormat, int);
00069 vtkGetMacro(LongFormat, int);
00071
00073
00075 virtual void SetLabelOnTop(int);
00076 vtkBooleanMacro(LabelOnTop, int);
00077 vtkGetMacro(LabelOnTop, int);
00079
00081
00082 virtual void SetLabelVisibility(int);
00083 vtkBooleanMacro(LabelVisibility, int);
00084 vtkGetMacro(LabelVisibility, int);
00085 vtkGetObjectMacro(Label, vtkKWLabel);
00087
00089
00090 virtual void SetColorVisibility(int);
00091 vtkBooleanMacro(ColorVisibility, int);
00092 vtkGetMacro(ColorVisibility, int);
00094
00096
00097 virtual void SetFontFamilyVisibility(int);
00098 vtkBooleanMacro(FontFamilyVisibility, int);
00099 vtkGetMacro(FontFamilyVisibility, int);
00101
00103
00104 virtual void SetStylesVisibility(int);
00105 vtkBooleanMacro(StylesVisibility, int);
00106 vtkGetMacro(StylesVisibility, int);
00108
00110
00111 virtual void SetOpacityVisibility(int);
00112 vtkBooleanMacro(OpacityVisibility, int);
00113 vtkGetMacro(OpacityVisibility, int);
00115
00122 virtual void SetChangedCommand(vtkObject *object, const char *method);
00123
00132 virtual void SetColorChangedCommand(vtkObject *object, const char *method);
00133
00135
00137 virtual void SetCopyVisibility(int);
00138 vtkBooleanMacro(CopyVisibility, int);
00139 vtkGetMacro(CopyVisibility, int);
00140 virtual vtkKWPushButton* GetCopyButton();
00142
00144 virtual void CopyValuesFrom(vtkKWTextPropertyEditor*);
00145
00147
00148 virtual void SaveInTclScript(ofstream *file, const char *tcl_name = 0,
00149 int tabify = 1);
00151
00158 virtual void UpdateEnableState();
00159
00161
00162 virtual void SetColor(double, double, double);
00163 virtual void SetColor(double *v) { this->SetColor(v[0], v[1], v[2]); };
00164 virtual double* GetColor();
00165 virtual void SetFontFamily(int);
00166 virtual void SetBold(int);
00167 virtual void SetItalic(int);
00168 virtual void SetShadow(int);
00169 virtual void SetOpacity(float);
00170 virtual float GetOpacity();
00172
00174
00175 virtual void ChangeColorButtonCallback(double, double, double);
00176 virtual void FontFamilyCallback();
00177 virtual void BoldCallback(int state);
00178 virtual void ItalicCallback(int state);
00179 virtual void ShadowCallback(int state);
00180 virtual void OpacityCallback(double value);
00181 virtual void OpacityEndCallback(double value);
00183
00184
00185
00186 protected:
00187 vtkKWTextPropertyEditor();
00188 ~vtkKWTextPropertyEditor();
00189
00191 virtual void CreateWidget();
00192
00193 virtual void Pack();
00194
00195 void UpdateInterface();
00196 void UpdateLabel();
00197 void UpdateColorButton();
00198 void UpdateFontFamilyOptionMenu();
00199 void UpdateStylesCheckButtonSet();
00200 void UpdateBoldCheckButton();
00201 void UpdateItalicCheckButton();
00202 void UpdateShadowCheckButton();
00203 void UpdateOpacityScale();
00204 void UpdatePushButtonSet();
00205
00206 vtkTextProperty *TextProperty;
00207 vtkActor2D *Actor2D;
00208
00209 int LongFormat;
00210
00211 int LabelVisibility;
00212 int LabelOnTop;
00213 vtkKWLabel *Label;
00214
00215 int ColorVisibility;
00216 vtkKWChangeColorButton *ChangeColorButton;
00217
00218 int FontFamilyVisibility;
00219 vtkKWMenuButtonWithLabel *FontFamilyOptionMenu;
00220
00221 int StylesVisibility;
00222 vtkKWCheckButtonSetWithLabel *StylesCheckButtonSet;
00223
00224 int OpacityVisibility;
00225 vtkKWScaleWithEntry *OpacityScale;
00226
00227 char *ChangedCommand;
00228 char *ColorChangedCommand;
00229
00230 virtual void InvokeChangedCommand();
00231 virtual void InvokeColorChangedCommand(double r, double g, double b);
00232
00233 int CopyVisibility;
00234 vtkKWPushButtonSetWithLabel *PushButtonSet;
00235
00236
00237
00238 private:
00239 vtkKWTextPropertyEditor(const vtkKWTextPropertyEditor&);
00240 void operator=(const vtkKWTextPropertyEditor&);
00241 };
00242
00243 #endif
00244
00245