X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/93a740f1d6fe181fe280af1787f858b97c1b97e6..556921dc4e22f1a70f5bb179702c5dcb67a391b0:/samples/richedit/wxlwindow.h diff --git a/samples/richedit/wxlwindow.h b/samples/richedit/wxlwindow.h index 3bbaf90d43..c0dbd638bb 100644 --- a/samples/richedit/wxlwindow.h +++ b/samples/richedit/wxlwindow.h @@ -23,7 +23,7 @@ #endif -#define wxUSE_PRIVATE_CLIPBOARD_FORMAT 1 +#define wxUSE_PRIVATE_CLIPBOARD_FORMAT 0 enum { @@ -37,7 +37,9 @@ enum WXLOWIN_MENU_SANSSERIF, WXLOWIN_MENU_RCLICK, WXLOWIN_MENU_DBLCLICK, + WXLOWIN_MENU_MDOWN, WXLOWIN_MENU_LDOWN, + WXLOWIN_MENU_LCLICK = WXLOWIN_MENU_LDOWN, WXLOWIN_MENU_LUP, WXLOWIN_MENU_MOUSEMOVE, WXLOWIN_MENU_LAST = WXLOWIN_MENU_MOUSEMOVE @@ -67,6 +69,11 @@ public: int underline=0, wxColour *fg=NULL, wxColour *bg=NULL); + + /// override base class virtual to also refresh the scrollbar position + virtual void Refresh(bool eraseBackground = TRUE, + const wxRect *rect = (const wxRect *)NULL); + /** Sets a background image, only used on screen, not on printouts. @param bitmap a pointer to a wxBitmap or NULL to remove it */ @@ -76,7 +83,8 @@ public: m_BGbitmap = bitmap; } /// Enable or disable editing, i.e. processing of keystrokes. - void SetEditable(bool toggle) { m_Editable = toggle; } + void SetEditable(bool toggle) + { m_Editable = toggle; SetCursorVisibility(toggle); } /// Query whether list can be edited by user. bool IsEditable(void) const { return m_Editable; } /** Sets cursor visibility, visible=1, invisible=0, @@ -89,7 +97,7 @@ public: m_CursorVisibility = visibility; return v;} /// Pastes text from clipboard. - void Paste(void); + void Paste(bool usePrimarySelection = FALSE); /** Copies selection to clipboard. @param invalidate used internally, see wxllist.h for details */ @@ -127,6 +135,7 @@ public: /**@name Callbacks */ //@{ + void OnSize(wxSizeEvent &event); void OnPaint(wxPaintEvent &event); void OnChar(wxKeyEvent& event); void OnKeyUp(wxKeyEvent& event); @@ -137,6 +146,7 @@ public: void OnLeftMouseDown(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_LDOWN, event); } void OnLeftMouseUp(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_LUP, event); } void OnRightMouseClick(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_RCLICK, event); } + void OnMiddleMouseDown(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_MDOWN, event); } void OnMouseDblClick(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_DBLCLICK, event); } void OnMouseMove(wxMouseEvent &event) { OnMouse(WXLOWIN_MENU_MOUSEMOVE, event) ; } void OnSetFocus(wxFocusEvent &ev); @@ -202,10 +212,22 @@ protected: int m_maxx; int m_maxy; int m_lineHeight; + + /// do we have the corresponding scrollbar? + bool m_hasHScrollbar, + m_hasVScrollbar; + /** Visibility parameter for cursor. 0/1 as expected, -1: visible on demand. */ int m_CursorVisibility; + + bool SetAutoDeleteSelection(bool enable = TRUE) + { + bool old = m_AutoDeleteSelection; + m_AutoDeleteSelection = enable; + return old; + } private: /// The layout list to be displayed. wxLayoutList *m_llist; @@ -230,6 +252,11 @@ private: int m_StatusFieldCursor; /// a pointer to a bitmap for the background wxBitmap *m_BGbitmap; + /**@name Some configuration options */ + //@{ + /// Do we want to auto-replace the selection with new text? + bool m_AutoDeleteSelection; + //@} DECLARE_EVENT_TABLE() };