30 #ifndef PT_FORMS_LINEEDIT_H
31 #define PT_FORMS_LINEEDIT_H
33 #include <Pt/Forms/Control.h>
34 #include <Pt/Forms/LineEditor.h>
35 #include <Pt/Forms/Adjustment.h>
36 #include <Pt/SmartPtr.h>
37 #include <Pt/String.h>
43 class PT_FORMS_API LineEdit :
public Control
60 bool isEditable()
const;
62 void setEditable(
bool e);
76 EchoMode echoMode()
const;
78 void setEchoMode(EchoMode mode);
80 Adjustment textAdjustment()
const;
82 void setTextAdjustment(Adjustment a);
84 std::size_t cursorPosition()
const;
86 void setCursorPosition(std::size_t n);
88 bool isAccepted()
const;
90 void setAccepted(
bool a);
92 bool isHighlighted()
const;
101 const Gfx::Brush& background()
const;
103 void setBackground(
const Gfx::Brush& b);
105 const Gfx::Pen& contour()
const;
107 void setContour(
const Gfx::Pen& p);
109 const Gfx::Color& textColor()
const;
111 void setTextColor(
const Gfx::Color& color);
113 const Gfx::Font& font()
const;
115 void setFont(
const Gfx::Font& font);
117 void setFontSize(std::size_t size);
119 void setFontWeight(Gfx::Font::Weight weight);
121 void setFontSlant(Gfx::Font::Slant slant);
123 void setRenderer(LineEditRenderer* renderer);
126 virtual Gfx::SizeF onMeasure(
const SizePolicy& policy);
128 virtual void onInvalidate();
130 virtual void onPaint(PaintSurface& surface,
const Gfx::RectF& rect);
133 virtual bool onEnterEvent(
const EnterEvent& ev);
135 virtual bool onLeaveEvent(
const LeaveEvent& ev);
137 virtual bool onKeyEvent(
const KeyEvent& ev);
139 virtual bool onMouseEvent(
const MouseEvent& ev);
141 virtual bool onTouchEvent(
const TouchEvent& ev);
143 virtual void onResizeEvent(
const ResizeEvent& ev);
145 virtual void onFocusEvent(
const FocusEvent& ev);
148 Gfx::Font getFont()
const;
151 enum FontOverride :
unsigned
154 OverrideWeight = 0x02,
155 OverrideSlant = 0x04,
173 FacetPtr<LineEditRenderer> _renderer;
176 AutoPtr<Gfx::Brush> _background;
177 AutoPtr<Gfx::Pen> _contour;
178 AutoPtr<Gfx::Color> _textColor;
179 Gfx::Font _customFont;
180 unsigned _fontOverride;
Multicast Signal to call multiple slots.
Definition: Signal.h:109
Unicode capable basic_string.
Definition: String.h:42