// Created: 01/02/97
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __GTKTEXTCTRLH__
virtual void ShowPosition(long pos);
+#ifdef __WXGTK20__
+ virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt, long *pos) const;
+ virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt,
+ wxTextCoord *col,
+ wxTextCoord *row) const
+ {
+ return wxTextCtrlBase::HitTest(pt, col, row);
+ }
+#endif // __WXGTK20__
+
// Clipboard operations
virtual void Copy();
virtual void Cut();
GtkWidget* GetConnectWidget();
bool IsOwnGtkWindow( GdkWindow *window );
- void ApplyWidgetStyle();
+ void DoApplyWidgetStyle(GtkRcStyle *style);
void CalculateScrollbar();
void OnInternalIdle();
+
+#ifdef __WXGTK20__
+ void SetUpdateFont(bool WXUNUSED(update)) { }
+#else // !__WXGTK20__
+ void SetUpdateFont(bool update) { m_updateFont = update; }
void UpdateFontIfNeeded();
+#endif // __WXGTK20__/!__WXGTK20__
void SetModified() { m_modified = TRUE; }
// 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);
// override this and return true.
virtual bool UseGTKStyleBase() const { return true; }
+#ifdef __WXGTK20__
+ // has the control been frozen by Freeze()?
+ bool IsFrozen() const { return m_frozenness > 0; }
+#endif
+
private:
// change the font for everything in this control
void ChangeFontGlobally();
bool m_modified:1;
bool m_vScrollbarVisible:1;
+#ifndef __WXGTK20__
bool m_updateFont:1;
+#endif // !__WXGTK20__
bool m_ignoreNextUpdate:1;
+#ifdef __WXGTK20__
+ // Our text buffer. Convenient, and holds the buffer while using
+ // a dummy one when m_frozenness > 0
+ GtkTextBuffer *m_buffer;
+
+ // number of calls to Freeze() minus number of calls to Thaw()
+ unsigned int m_frozenness;
+#endif
+
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxTextCtrl);
};