#ifndef _WX_UNIV_TEXTCTRL_H_
#define _WX_UNIV_TEXTCTRL_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "univtextctrl.h"
#endif
virtual void Replace(wxTextPos from, wxTextPos to, const wxString& value);
virtual void Remove(wxTextPos from, wxTextPos to);
- // clears the dirty flag
+ // sets/clears the dirty flag
+ virtual void MarkDirty();
virtual void DiscardEdits();
// writing text inserts it at the current position, appending always
virtual void CalcUnscrolledPosition(int x, int y, int *xx, int *yy) const;
virtual void CalcScrolledPosition(int x, int y, int *xx, int *yy) const;
- // set the right colours and border
- virtual bool IsContainerWindow() const { return TRUE; }
+ // ensure we have correct default border
virtual wxBorder GetDefaultBorder() const { return wxBORDER_SUNKEN; }
// perform an action
virtual bool Enable(bool enable = TRUE);
// more readable flag testing methods
- bool IsSingleLine() const { return !(GetWindowStyle() & wxTE_MULTILINE); }
bool IsPassword() const { return (GetWindowStyle() & wxTE_PASSWORD) != 0; }
bool WrapLines() const
{ return !IsSingleLine() && !(GetWindowStyle() & wxHSCROLL); }
// event handlers
// --------------
- void OnIdle(wxIdleEvent& event);
void OnChar(wxKeyEvent& event);
void OnSize(wxSizeEvent& event);
bool DoCut();
bool DoPaste();
+ // idle processing
+ virtual void OnInternalIdle();
private:
// all these methods are for multiline text controls only
public:
wxStdTextCtrlInputHandler(wxInputHandler *inphand);
- virtual bool HandleKey(wxControl *control,
+ virtual bool HandleKey(wxInputConsumer *consumer,
const wxKeyEvent& event,
bool pressed);
- virtual bool HandleMouse(wxControl *control,
+ virtual bool HandleMouse(wxInputConsumer *consumer,
const wxMouseEvent& event);
- virtual bool HandleMouseMove(wxControl *control,
+ virtual bool HandleMouseMove(wxInputConsumer *consumer,
const wxMouseEvent& event);
- virtual bool HandleFocus(wxControl *control, const wxFocusEvent& event);
+ virtual bool HandleFocus(wxInputConsumer *consumer, const wxFocusEvent& event);
protected:
// get the position of the mouse click