/**
         Returns @true if bitmap data is present.
     */
-    bool IsOk() const;
+    virtual bool IsOk() const;
 
     /**
         Loads a bitmap from a file or resource.
 
         constructor has been used (for example, the brush is a member of a class, or
         @NULL has been assigned to it).
     */
-    bool IsOk() const;
+    virtual bool IsOk() const;
 
     //@{
     /**
 
         Returns @true if the colour object is valid (the colour has been initialised
         with RGB values).
     */
-    bool IsOk() const;
+    virtual bool IsOk() const;
 
     /**
         Returns the red intensity.
 
         Returns @true if the combobox is editable and there is a text selection
         to copy to the clipboard. Only available on Windows.
     */
-    bool CanCopy() const;
+    virtual bool CanCopy() const;
 
     /**
         Returns @true if the combobox is editable and there is a text selection
         to copy to the clipboard. Only available on Windows.
     */
-    bool CanCut() const;
+    virtual bool CanCut() const;
 
     /**
         Returns @true if the combobox is editable and there is text on the
         clipboard that can be pasted into the text field. Only available on
         Windows.
     */
-    bool CanPaste() const;
+    virtual bool CanPaste() const;
 
     /**
         Returns @true if the combobox is editable and the last undo can be
         redone. Only available on Windows.
     */
-    bool CanRedo() const;
+    virtual bool CanRedo() const;
 
     /**
         Returns @true if the combobox is editable and the last edit can be
         undone. Only available on Windows.
     */
-    bool CanUndo() const;
+    virtual bool CanUndo() const;
 
     /**
         Copies the selected text to the clipboard.
     */
-    void Copy();
+    virtual void Copy();
 
     /**
         Copies the selected text to the clipboard and removes the selection.
     */
-    void Cut();
+    virtual void Cut();
 
     /**
         This function does the same things as wxChoice::GetCurrentSelection()
         @note Under wxMSW, this function always returns 0 if the combobox
               doesn't have the focus.
     */
-    long GetInsertionPoint() const;
+    virtual long GetInsertionPoint() const;
 
     /**
         Returns the last position in the combobox text field.
     /**
         Returns the current value in the combobox text field.
     */
-    wxString GetValue() const;
+    virtual wxString GetValue() const;
 
     /**
         Pastes text from the clipboard to the text field.
     */
-    void Paste();
+    virtual void Paste();
 
     /**
         Redoes the last undo in the text field. Windows only.
     */
-    void Redo();
+    virtual void Redo();
 
     /**
         Removes the text between the two positions in the combobox text field.
         @param to
             The last position.
     */
-    void Remove(long from, long to);
+    virtual void Remove(long from, long to);
 
     /**
         Replaces the text between two positions with the given text, in the
         @param text
             The text to insert.
     */
-    void Replace(long from, long to, const wxString& text);
+    virtual void Replace(long from, long to, const wxString& text);
 
     /**
         Sets the insertion point in the combobox text field.
         @param pos
             The new insertion point.
     */
-    void SetInsertionPoint(long pos);
+    virtual void SetInsertionPoint(long pos);
 
     /**
         Sets the insertion point at the end of the combobox text field.
     */
-    void SetInsertionPointEnd();
+    virtual void SetInsertionPointEnd();
 
     /**
         Selects the text between the two positions, in the combobox text field.
         @param text
             The text to set.
     */
-    void SetValue(const wxString& text);
+    virtual void SetValue(const wxString& text);
 
     /**
         Undoes the last edit in the text field. Windows only.
     */
-    void Undo();
+    virtual void Undo();
 };
 
 
     /**
         Returns @true if cursor data is present.
     */
-    bool IsOk() const;
+    virtual bool IsOk() const;
 
     /**
         Assignment operator, using @ref overview_refcount "reference counting".
 
         Convert device X coordinate to logical coordinate, using the current
         mapping mode.
     */
-    wxCoord DeviceToLogicalX(wxCoord x);
+    wxCoord DeviceToLogicalX(wxCoord x) const;
 
     /**
         Convert device X coordinate to relative logical coordinate, using the
         current mapping mode but ignoring the x axis orientation. Use this
         function for converting a width, for example.
     */
-    wxCoord DeviceToLogicalXRel(wxCoord x);
+    wxCoord DeviceToLogicalXRel(wxCoord x) const;
 
     /**
         Converts device Y coordinate to logical coordinate, using the current
         mapping mode.
     */
-    wxCoord DeviceToLogicalY(wxCoord y);
+    wxCoord DeviceToLogicalY(wxCoord y) const;
 
     /**
         Convert device Y coordinate to relative logical coordinate, using the
         current mapping mode but ignoring the y axis orientation. Use this
         function for converting a height, for example.
     */
-    wxCoord DeviceToLogicalYRel(wxCoord y);
+    wxCoord DeviceToLogicalYRel(wxCoord y) const;
 
     /**
         Draws an arc of a circle, centred on (@a xc, @a yc), with starting
     /**
         Gets the character height of the currently set font.
     */
-    wxCoord GetCharHeight();
+    wxCoord GetCharHeight() const;
 
     /**
         Gets the average character width of the currently set font.
     */
-    wxCoord GetCharWidth();
+    wxCoord GetCharWidth() const;
 
     /**
         Not implemented.
 
         @see SetLogicalFunction()
     */
-    int GetLogicalFunction();
+    int GetLogicalFunction() const;
 
     /**
         Gets the mapping mode for the device context.
 
         @see SetMapMode()
     */
-    int GetMapMode();
+    int GetMapMode() const;
 
     //@{
     /**
     /**
         Not implemented.
     */
-    bool GetPixel(wxCoord x, wxCoord y, wxColour* colour);
+    bool GetPixel(wxCoord x, wxCoord y, wxColour* colour) const;
 
     /**
         For a Windows printer device context, this gets the horizontal and
         Converts logical X coordinate to device coordinate, using the current
         mapping mode.
     */
-    wxCoord LogicalToDeviceX(wxCoord x);
+    wxCoord LogicalToDeviceX(wxCoord x) const;
 
     /**
         Converts logical X coordinate to relative device coordinate, using the
         current mapping mode but ignoring the x axis orientation. Use this for
         converting a width, for example.
     */
-    wxCoord LogicalToDeviceXRel(wxCoord x);
+    wxCoord LogicalToDeviceXRel(wxCoord x) const;
 
     /**
         Converts logical Y coordinate to device coordinate, using the current
         mapping mode.
     */
-    wxCoord LogicalToDeviceY(wxCoord y);
+    wxCoord LogicalToDeviceY(wxCoord y) const;
 
     /**
         Converts logical Y coordinate to relative device coordinate, using the
         current mapping mode but ignoring the y axis orientation. Use this for
         converting a height, for example.
     */
-    wxCoord LogicalToDeviceYRel(wxCoord y);
+    wxCoord LogicalToDeviceYRel(wxCoord y) const;
 
     /**
         Gets the maximum horizontal extent used in drawing commands so far.
     */
-    wxCoord MaxX();
+    wxCoord MaxX() const;
 
     /**
         Gets the maximum vertical extent used in drawing commands so far.
     */
-    wxCoord MaxY();
+    wxCoord MaxY() const;
 
     /**
         Gets the minimum horizontal extent used in drawing commands so far.
     */
-    wxCoord MinX();
+    wxCoord MinX() const;
 
     /**
         Gets the minimum vertical extent used in drawing commands so far.
     */
-    wxCoord MinY();
+    wxCoord MinY() const;
 
     /**
         Returns @true if the DC is ok to use. @false values arise from being
 
         @remarks Always returns @false under Windows since dialogs cannot be
                  iconized.
     */
-    bool IsIconized() const;
+    virtual bool IsIconized() const;
 
     /**
         A static function returning @true if layout adaptation is enabled for
 
 
         @note the anchor is NOT part of the left location.
     */
-    wxString GetAnchor(const wxString& location) const;
+    static wxString GetAnchor(const wxString& location);
 
     /**
         Returns the left location string extracted from @e location.
         GetLeftLocation("file:myzipfile.zip#zip:index.htm") == "file:myzipfile.zip"
         @endcode
     */
-    wxString GetLeftLocation(const wxString& location) const;
+    static wxString GetLeftLocation(const wxString& location);
 
     /**
         Returns the MIME type based on @b extension of @a location.
         GetProtocol("file:myzipfile.zip#zip:index.htm") == "zip"
         @endcode
     */
-    wxString GetProtocol(const wxString& location) const;
+    static wxString GetProtocol(const wxString& location);
 
     /**
         Returns the right location string extracted from @a location.
         GetRightLocation("file:myzipfile.zip#zip:index.htm") == "index.htm"
         @endcode
     */
-    wxString GetRightLocation(const wxString& location) const;
+    static wxString GetRightLocation(const wxString& location);
 
     /**
         Opens the file and returns wxFSFile pointer or @NULL if failed.
 
     /**
         Returns @true if this object is a valid font, @false otherwise.
     */
-    bool IsOk() const;
+    virtual bool IsOk() const;
 
     //@{
     /**
 
     /**
         The dtor is private because only DecRef() can delete us.
     */
-    ~wxGridCellEditor();
+    virtual ~wxGridCellEditor();
 
     /**
         Fetch the value from the table and prepare the edit control
     /**
         Returns @true if the Alt key was down at the time of the event.
     */
-    bool AltDown();
+    bool AltDown() const;
 
     /**
         Returns @true if the Control key was down at the time of the event.
     */
-    bool ControlDown();
+    bool ControlDown() const;
 
     /**
         Top left corner of the rectangular area that was (de)selected.
     /**
         Returns @true if the Meta key was down at the time of the event.
     */
-    bool MetaDown();
+    bool MetaDown() const;
 
     /**
         Returns @true if the area was selected, @false otherwise.
     /**
         Returns @true if the Shift key was down at the time of the event.
     */
-    bool ShiftDown();
+    bool ShiftDown() const;
 };
 
 
     /**
         Returns @true if the Alt key was down at the time of the event.
     */
-    bool AltDown();
+    bool AltDown() const;
 
     /**
         Returns @true if the Control key was down at the time of the event.
     */
-    bool ControlDown();
+    bool ControlDown() const;
 
     /**
         Position in pixels at which the event occurred.
     /**
         Returns @true if the Meta key was down at the time of the event.
     */
-    bool MetaDown();
+    bool MetaDown() const;
 
     /**
         Returns @true if the Shift key was down at the time of the event.
     */
-    bool ShiftDown();
+    bool ShiftDown() const;
 };
 
 
     /**
         Returns @true if the Alt key was down at the time of the event.
     */
-    bool AltDown();
+    bool AltDown() const;
 
     /**
         Returns @true if the Control key was down at the time of the event.
     */
-    bool ControlDown();
+    bool ControlDown() const;
 
     /**
         Column at which the event occurred.
     /**
         Returns @true if the Meta key was down at the time of the event.
     */
-    bool MetaDown();
+    bool MetaDown() const;
 
     /**
         Returns @true if the user is selecting grid cells, @false -- if
     /**
         Returns @true if the Shift key was down at the time of the event.
     */
-    bool ShiftDown();
+    bool ShiftDown() const;
 };
 
 
 
         First it finds a handler capable of handling this tag and then it calls
         handler's HandleTag method.
     */
-    void AddTag(const wxHtmlTag& tag);
+    virtual void AddTag(const wxHtmlTag& tag);
 
     /**
         Adds handler to the internal list ( hash table) of handlers. This
 
 
         @see GetSelectedTextColour()
     */
-    wxColour GetSelectedTextBgColour(const wxColour& colBg) const;
+    virtual wxColour GetSelectedTextBgColour(const wxColour& colBg) const;
 
     /**
         This virtual function may be overridden to customize the appearance of the
         @see GetSelectedTextBgColour(),
              wxVListBox::SetSelectionBackground, wxSystemSettings::GetColour
     */
-    wxColour GetSelectedTextColour(const wxColour& colFg) const;
+    virtual wxColour GetSelectedTextColour(const wxColour& colFg) const;
 
     /**
         This method must be implemented in the derived class and should return
         This function may be overridden to decorate HTML returned by
         OnGetItem().
     */
-    wxString OnGetItemMarkup(size_t n) const;
+    virtual wxString OnGetItemMarkup(size_t n) const;
 
     /**
         Called when the user clicks on hypertext link. Does nothing by default.
 
     /**
         Returns @true if icon data is present.
     */
-    bool IsOk() const;
+    virtual bool IsOk() const;
 
     /**
         Loads an icon from a file or resource.
 
            Place labels below the page area.
     @endStyleTable
 
-    @beginEventTable{wxListbookEvent}
+    @beginEventTable{wxBookCtrlEvent}
     @event{EVT_LISTBOOK_PAGE_CHANGED(id, func)}
         The page selection was changed.
         Processes a @c wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED event.
 
         width and height.
         @endWxPythonOnly
     */
-    virtual void GetClientSize(int* width, int* height) const;
+    void GetClientSize(int* width, int* height) const;
 
     /**
         Returns a pointer to the client window.
 
         It's declared @c protected so that wxObjectRefData instances
         will never be destroyed directly but only as result of a DecRef() call.
     */
-    ~wxObjectRefData();
+    virtual ~wxObjectRefData();
 
 public:
     /**
 
         The default implementation returns text height, as if this control was
         a normal combobox.
     */
-    wxCoord OnMeasureItem(size_t item) const;
+    virtual wxCoord OnMeasureItem(size_t item) const;
 
     /**
         The derived class may implement this method to return the width of the
 
         The default implementation returns -1.
     */
-    wxCoord OnMeasureItemWidth(size_t item) const;
+    virtual wxCoord OnMeasureItemWidth(size_t item) const;
 };
 
 
     /**
         Returns @true if palette data is present.
     */
-    bool IsOk() const;
+    virtual bool IsOk() const;
 
     /**
         Assignment operator, using @ref overview_refcount.
 
     /**
         Returns @true if the pen is initialised.
     */
-    bool IsOk() const;
+    virtual bool IsOk() const;
 
     /**
         Sets the pen cap style, which may be one of @c wxCAP_ROUND, @c wxCAP_PROJECTING
 
 
         @note On PocketPC, no buttons are created.
     */
-    void CreateButtons(int flags = wxOK|wxCANCEL);
+    virtual void CreateButtons(int flags = wxOK|wxCANCEL);
 
     /**
         Returns the book control that will contain your settings pages.
 
         Specify an optional palette pointer to receive the resulting palette.
         This palette may be passed to ConvertImageToBitmap, for example.
     */
-    bool Quantize(const wxImage& src, wxImage& dest,
-                  wxPalette** pPalette, int desiredNoColours = 236,
-                  unsigned char** eightBitData = 0,
-                  int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS
-                             |wxQUANTIZE_FILL_DESTINATION_IMAGE
-                             |wxQUANTIZE_RETURN_8BIT_DATA);
+    static bool Quantize(const wxImage& src, wxImage& dest,
+                         wxPalette** pPalette, int desiredNoColours = 236,
+                         unsigned char** eightBitData = 0,
+                         int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|
+                                     wxQUANTIZE_FILL_DESTINATION_IMAGE|
+                                     wxQUANTIZE_RETURN_8BIT_DATA);
 
     /**
         This version sets a palette in the destination image so you don't
         have to manage it yourself.
     */
-    bool Quantize(const wxImage& src, wxImage& dest,
-                  int desiredNoColours = 236,
-                  unsigned char** eightBitData = 0,
-                  int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS
-                             |wxQUANTIZE_FILL_DESTINATION_IMAGE
-                             |wxQUANTIZE_RETURN_8BIT_DATA);
+    static bool Quantize(const wxImage& src, wxImage& dest,
+                         int desiredNoColours = 236,
+                         unsigned char** eightBitData = 0,
+                         int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|
+                                     wxQUANTIZE_FILL_DESTINATION_IMAGE|
+                                     wxQUANTIZE_RETURN_8BIT_DATA);
 };
 
 
     /**
         Clears the buffer.
     */
-    void Clear();
+    virtual void Clear();
 
     //@{
     /**
     /**
         Finds a handler by name.
     */
-    wxRichTextFileHandler* FindHandler(const wxString& name);
+    static wxRichTextFileHandler* FindHandler(const wxString& name);
 
     /**
         Finds a handler by filename or, if supplied, type.
         style attributes. To get the character or paragraph style alone,
         use GetUncombinedStyle().
     */
-    bool GetStyle(long position, wxTextAttr& style);
+    virtual bool GetStyle(long position, wxTextAttr& style);
 
     /**
         This function gets a style representing the common, combined attributes in the
         will fetch the paragraph attributes.
         Otherwise, it will return the character attributes.
     */
-    bool GetUncombinedStyle(long position, wxTextAttr& style);
+    virtual bool GetUncombinedStyle(long position, wxTextAttr& style);
 
     /**
         Finds the text position for the given position, putting the position in
 
         @return One of the ::wxRichTextHitTestFlags values.
     */
-    int HitTest(wxDC& dc, const wxPoint& pt, long& textPosition);
+    virtual int HitTest(wxDC& dc, const wxPoint& pt, long& textPosition);
 
     /**
         Initialisation.
         only affects the style currently being applied (for example, setting the default
         style to bold will cause subsequently inserted text to be bold).
     */
-    void SetBasicStyle(const wxTextAttr& style);
+    virtual void SetBasicStyle(const wxTextAttr& style);
 
     /**
         Sets the default style, affecting the style currently being applied
         - wxRICHTEXT_SETSTYLE_REMOVE: removes the specified style.
           Only the style flags are used in this operation.
     */
-    bool SetStyle(const wxRichTextRange& range,
-                  const wxTextAttr& style,
-                  int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO);
+    virtual bool SetStyle(const wxRichTextRange& range, const wxTextAttr& style,
+                          int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO);
 
     /**
         Sets the current style sheet, if any.
 
     /**
         Currently this simply returns @c wxSize(10, 10).
     */
-    wxSize DoGetBestSize() const;
+    virtual wxSize DoGetBestSize() const;
 
     /**
         Ends alignment.
     /**
         Replaces existing content with the given text.
     */
-    void SetValue(const wxString& value);
+    virtual void SetValue(const wxString& value);
 
     /**
         A helper function setting up scrollbars, for example after a resize.
     /**
         Writes an image block at the current insertion point.
     */
-    bool WriteImage(const wxRichTextImageBlock& imageBlock);
+    virtual bool WriteImage(const wxRichTextImageBlock& imageBlock);
 
     //@{
     /**
 
         Apply attributes to the given range, only changing attributes that
         need to be changed.
     */
-    bool ApplyStyle(wxRichTextCtrl* ctrl,
-                    const wxRichTextRange& range,
-                    int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO|wxRICHTEXT_SETSTYLE_OPTIMIZE);
+    virtual bool ApplyStyle(wxRichTextCtrl* ctrl, const wxRichTextRange& range,
+                            int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO|wxRICHTEXT_SETSTYLE_OPTIMIZE);
 
     /**
         Creation: see wxRichTextFormattingDialog() "the constructor" for
 
     /**
         Saves the buffer content to the HTML stream.
     */
-    bool DoSaveFile(wxRichTextBuffer* buffer, wxOutputStream& stream);
+    virtual bool DoSaveFile(wxRichTextBuffer* buffer, wxOutputStream& stream);
 
     /**
         Returns the mapping for converting point sizes to HTML font sizes.
 
     /**
         Returns the HTML for this item.
     */
-    wxString OnGetItem(size_t n) const;
+    virtual wxString OnGetItem(size_t n) const;
 
     /**
         Implements left click behaviour, applying the clicked style to the
 
     */
     wxRichTextXMLHandler(const wxString& name = wxT("XML"),
                          const wxString& ext = wxT("xml"),
-                         int type = wxRICHTEXT_TYPE_XML) const;
+                         int type = wxRICHTEXT_TYPE_XML);
 
     /**
         Returns @true.
     /**
         Loads buffer context from the given stream.
     */
-    bool DoLoadFile(wxRichTextBuffer* buffer, wxInputStream& stream);
+    virtual bool DoLoadFile(wxRichTextBuffer* buffer, wxInputStream& stream);
 
     /**
         Saves buffer context to the given stream.
     */
-    bool DoSaveFile(wxRichTextBuffer* buffer, wxOutputStream& stream);
+    virtual bool DoSaveFile(wxRichTextBuffer* buffer, wxOutputStream& stream);
 
     /**
         Recursively exports an object to the stream.
 
         @note this is currently only implemented for Windows and generic versions
               of the control.
     */
-    void SetSelection(long from, long to);
+    virtual void SetSelection(long from, long to);
 
     /**
         Sets the value of the spin control. Use the variant using int instead.
 
     size_t OnSysRead(void* buffer, size_t bufsize);
 
     /**
-        Internal function.
-        It is called when the stream needs to change the current position.
+        See OnSysRead().
     */
-    wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
+    size_t OnSysWrite(const void* buffer, size_t bufsize);
+
+
+protected:
 
     /**
         Internal function.
-        It is called when the stream needs to know the real position.
+        It is called when the stream needs to change the current position.
     */
-    wxFileOffset OnSysTell() const;
+    virtual wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
 
     /**
-        See OnSysRead().
+        Internal function.
+        It is called when the stream needs to know the real position.
     */
-    size_t OnSysWrite(const void* buffer, size_t bufsize);
+    virtual wxFileOffset OnSysTell() const;
 };
 
 
 
         @see WriteText()
     */
-    void AppendText(const wxString& text);
+    virtual void AppendText(const wxString& text);
 
     /**
         Call this function to enable auto-completion of the text typed in a
 
         @see AutoCompleteFileNames()
     */
-    bool AutoComplete(const wxArrayString& choices);
+    virtual bool AutoComplete(const wxArrayString& choices);
 
     /**
         Call this function to enable auto-completion of the text typed in a
 
         @see AutoComplete()
     */
-    bool AutoCompleteFileNames();
+    virtual bool AutoCompleteFileNames();
 
     /**
         Returns @true if the selection can be copied to the clipboard.
     */
-    virtual bool CanCopy();
+    virtual bool CanCopy() const;
 
     /**
         Returns @true if the selection can be cut to the clipboard.
     */
-    virtual bool CanCut();
+    virtual bool CanCut() const;
 
     /**
         Returns @true if the contents of the clipboard can be pasted into the
         On some platforms (Motif, GTK) this is an approximation and returns
         @true if the control is editable, @false otherwise.
     */
-    virtual bool CanPaste();
+    virtual bool CanPaste() const;
 
     /**
         Returns @true if there is a redo facility available and the last
         operation can be redone.
     */
-    virtual bool CanRedo();
+    virtual bool CanRedo() const;
 
     /**
         Returns @true if there is an undo facility available and the last
         operation can be undone.
     */
-    virtual bool CanUndo();
+    virtual bool CanUndo() const;
 
     /**
         Sets the new text control value.
 
         If there is no selection, the returned string is empty.
     */
-    virtual wxString GetStringSelection();
+    virtual wxString GetStringSelection() const;
 
     /**
         Returns the style at this position in the text control.
 
     /**
         Delete all lines from the file, set current line number to 0.
     */
-    void Clear() const;
+    void Clear();
 
     /**
         Closes the file and frees memory, @b "losing all changes".
         Use Write() if you want to save them.
     */
-    bool Close() const;
+    bool Close();
 
     //@{
     /**
         Changes the value returned by GetCurrentLine() and used by GetFirstLine()
         and GetNextLine().
     */
-    void GoToLine(size_t n) const;
+    void GoToLine(size_t n);
 
     /**
         Guess the type of file (which is supposed to be opened).
     /**
         Delete line number @a n from the file.
     */
-    void RemoveLine(size_t n) const;
+    void RemoveLine(size_t n);
 
     /**
         Change the file on disk.
 
         (including GTK+) where the window manager may not support this operation
         and there is no way to find out.
     */
-    bool EnableCloseButton(bool enable = true);
+    virtual bool EnableCloseButton(bool enable = true);
 
     /**
         Returns a pointer to the button which is the default for this window, or
 
         @see SetTitle()
     */
-    wxString GetTitle() const;
+    virtual wxString GetTitle() const;
 
     /**
         Unique to the wxWinCE port. Responds to showing/hiding SIP (soft input
 
         @see ShowFullScreen()
     */
-    bool IsFullScreen();
+    virtual bool IsFullScreen() const;
 
     /**
         Returns @true if the window is iconized.
     */
-    bool IsIconized() const;
+    virtual bool IsIconized() const;
 
     /**
         Returns @true if the window is maximized.
     */
-    bool IsMaximized() const;
+    virtual bool IsMaximized() const;
 
     /**
         This method is specific to wxUniversal port.
 
         @see IsFullScreen()
     */
-    bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
+    virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
 
     /**
         This method is specific to wxUniversal port.
 
 
         @todo Change this function signature to non-const.
     */
-    void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
+    virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
 
     /**
         The derived class must implement this function to actually draw the
 
         @param y
             Stores the screen x coordinate and receives the client x coordinate.
     */
-    virtual void ScreenToClient(int* x, int* y) const;
+    void ScreenToClient(int* x, int* y) const;
 
     /**
         Converts from screen to client window coordinates.
         @param pt
             The screen position.
     */
-    virtual wxPoint ScreenToClient(const wxPoint& pt) const;
+    wxPoint ScreenToClient(const wxPoint& pt) const;
 
     /**
         Scrolls the window by the given number of lines down (if @a lines is