X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..4c7852186d48a5b8f406462c2c3fa020f0a052bb:/include/wx/gtk/textctrl.h?ds=sidebyside diff --git a/include/wx/gtk/textctrl.h b/include/wx/gtk/textctrl.h index 10b4dcce0e..34df4e6839 100644 --- a/include/wx/gtk/textctrl.h +++ b/include/wx/gtk/textctrl.h @@ -74,6 +74,8 @@ public: // clears the dirty flag virtual void DiscardEdits(); + virtual void SetMaxLength(unsigned long len); + // writing text inserts it at the current position, appending always // inserts it at the end virtual void WriteText(const wxString& text); @@ -143,26 +145,52 @@ public: void SetModified() { m_modified = TRUE; } + // GTK+ textctrl is so dumb that you need to freeze/thaw it manually to + // avoid horrible flicker/scrolling back and forth + virtual void Freeze(); + virtual void Thaw(); + + // textctrl specific scrolling + virtual bool ScrollLines(int lines); + virtual bool ScrollPages(int pages); + + // implementation only from now on + // wxGTK-specific: called recursively by Enable, // to give widgets an oppprtunity to correct their colours after they // have been changed by Enable virtual void OnParentEnable( bool enable ) ; + // tell the control to ignore next text changed signal + void IgnoreNextTextUpdate(); + + // should we ignore the changed signal? always resets the flag + bool IgnoreTextUpdate(); + protected: virtual wxSize DoGetBestSize() const; // common part of all ctors void Init(); + // get the vertical adjustment, if any, NULL otherwise + GtkAdjustment *GetVAdj() const; + + // scroll the control by the given number of pixels, return true if the + // scroll position changed + bool DoScroll(GtkAdjustment *adj, int diff); + private: // change the font for everything in this control void ChangeFontGlobally(); - bool m_modified; GtkWidget *m_text; GtkWidget *m_vScrollbar; - bool m_vScrollbarVisible; - bool m_updateFont; + + bool m_modified:1; + bool m_vScrollbarVisible:1; + bool m_updateFont:1; + bool m_ignoreNextUpdate:1; DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxTextCtrl);