]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/richedit/wxlwindow.h
Added test for wxUSE_STATLINE in statline.cpp
[wxWidgets.git] / samples / richedit / wxlwindow.h
index e0ddabd6276a1ea5d491f5a219b2cdb5b4456350..c0dbd638bb31e37b6bb8ad8aba56ed1c14081375 100644 (file)
@@ -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
    */
@@ -138,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);
@@ -212,6 +221,13 @@ protected:
        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;
@@ -236,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()
 };