virtual void DoGiveHelp(const wxString& text, bool show);
#endif
+ virtual bool IsClientAreaChild(const wxWindow *child) const
+ {
+ return !IsOneOfBars(child) && wxTopLevelWindow::IsClientAreaChild(child);
+ }
+
protected:
// the frame main menu/status/tool bars
// ------------------------------------
// test whether this window makes part of the frame
virtual bool IsOneOfBars(const wxWindow *win) const;
- virtual bool IsClientAreaChild(const wxWindow *child) const
- {
- return !IsOneOfBars(child) && wxTopLevelWindow::IsClientAreaChild(child);
- }
#if wxUSE_MENUS
// override to update menu bar position when the frame size changes
virtual bool IsCanvasWindow() const { return true; }
#endif
- // choose the default border for this window
- virtual wxBorder GetDefaultBorder() const { return wxWindowBase::GetDefaultBorder(); }
-
WX_DECLARE_CONTROL_CONTAINER();
protected:
// common part of all ctors
void Init();
-private:
+ // choose the default border for this window
+ virtual wxBorder GetDefaultBorder() const { return wxWindowBase::GetDefaultBorder(); }
+
DECLARE_DYNAMIC_CLASS_NO_COPY(wxPanel)
DECLARE_EVENT_TABLE()
};
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __GTKCHOICEH__
-#define __GTKCHOICEH__
+#ifndef _WX_GTK_CHOICE_H_
+#define _WX_GTK_CHOICE_H_
class WXDLLIMPEXP_FWD_BASE wxSortedArrayString;
class WXDLLIMPEXP_FWD_BASE wxArrayString;
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr );
- // implement base class pure virtuals
- void DoDeleteOneItem(unsigned int n);
- void DoClear();
-
int GetSelection() const;
void SetSelection(int n);
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
protected:
+ void DoDeleteOneItem(unsigned int n);
+ void DoClear();
+
wxArrayPtrVoid m_clientData; // contains the client data for the items
virtual wxSize DoGetBestSize() const;
};
-#endif // __GTKCHOICEH__
+#endif // _WX_GTK_CHOICE_H_
static wxVisualAttributes
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+ virtual bool IsSorted() const { return HasFlag(wxCB_SORT); }
+
protected:
// From wxWindowGTK:
virtual void DoApplyWidgetStyle(GtkRcStyle *style);
void **clientData, wxClientDataType type);
virtual void DoSetItemClientData(unsigned int n, void* clientData);
virtual void* DoGetItemClientData(unsigned int n) const;
- virtual bool IsSorted() const { return HasFlag(wxCB_SORT); }
virtual void DoClear();
virtual void DoDeleteOneItem(unsigned int n);
// From wxControl:
virtual wxSize DoGetBestSize() const;
+ // Widgets that use the style->base colour for the BG colour should
+ // override this and return true.
+ virtual bool UseGTKStyleBase() const { return true; }
+
+private:
// From wxTextEntry:
virtual const wxWindow *GetEditableWindow() const { return this; }
virtual GtkEditable *GetEditable() const;
DisableEvents();
}
- // Widgets that use the style->base colour for the BG colour should
- // override this and return true.
- virtual bool UseGTKStyleBase() const { return true; }
-
-private:
// this array is only used for controls with wxCB_SORT style, so only
// allocate it if it's needed (hence using pointer)
wxSortedArrayString *m_strings;
virtual void DoGetSize( int *width, int *height ) const;
virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const;
-public:
// overridden from wxMemoryImplDCBase
virtual void DoSelect(const wxBitmap& bitmap);
virtual const wxBitmap& DoGetSelectedBitmap() const;
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxListBoxNameStr);
- // implement base class pure virtuals
- virtual void DoClear();
- virtual void DoDeleteOneItem(unsigned int n);
-
virtual unsigned int GetCount() const;
virtual wxString GetString(unsigned int n) const;
virtual void SetString(unsigned int n, const wxString& s);
void GtkSetSelection(int n, const bool select, const bool blockEvent);
protected:
+ virtual void DoClear();
+ virtual void DoDeleteOneItem(unsigned int n);
virtual wxSize DoGetBestSize() const;
virtual void DoApplyWidgetStyle(GtkRcStyle *style);
virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
// 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 OnEnabled( bool enable ) ;
-
// tell the control to ignore next text changed signal
void IgnoreNextTextUpdate(int n = 1) { m_countUpdatesToIgnore = n; }
bool IsFrozen() const { return m_freezeCount > 0; }
protected:
+ // wxGTK-specific: called recursively by Enable,
+ // to give widgets an oppprtunity to correct their colours after they
+ // have been changed by Enable
+ virtual void OnEnabled(bool enable);
+
// overridden wxWindow virtual methods
virtual wxSize DoGetBestSize() const;
virtual void DoApplyWidgetStyle(GtkRcStyle *style);
virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
- // overridden wxTextEntry virtual methods
- virtual const wxWindow *GetEditableWindow() const { return this; }
- virtual GtkEditable *GetEditable() const;
- virtual void EnableTextChangedEvents(bool enable);
-
// common part of all ctors
void Init();
void GTKSetJustification();
private:
+ // overridden wxTextEntry virtual methods
+ virtual const wxWindow *GetEditableWindow() const { return this; }
+ virtual GtkEditable *GetEditable() const;
+ virtual void EnableTextChangedEvents(bool enable);
+
// change the font for everything in this control
void ChangeFontGlobally();
#if wxUSE_STREAMS
virtual bool LoadFile(wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1);
virtual bool SaveFile(wxImage *image, wxOutputStream& stream, bool verbose=true);
+protected:
virtual bool DoCanRead(wxInputStream& stream);
#endif
-private:
DECLARE_DYNAMIC_CLASS(wxIFFHandler)
};
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr);
- virtual void DoDeleteOneItem(unsigned int n);
- virtual void DoClear();
-
virtual unsigned int GetCount() const;
virtual int GetSelection() const;
virtual int GetCurrentSelection() const;
// common part of all ctors
void Init() { m_lastAcceptedSelection = wxID_NONE; }
+ virtual void DoDeleteOneItem(unsigned int n);
+ virtual void DoClear();
+
virtual int DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData, wxClientDataType type);
void OnUpdateDelete(wxUpdateUIEvent& event);
void OnUpdateSelectAll(wxUpdateUIEvent& event);
-protected:
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
+protected:
#if wxUSE_TOOLTIPS
virtual void DoSetToolTip(wxToolTip *tip);
#endif
- // this is the overridden wxTextEntry method which should only be called
- // when we do have an edit control so it asserts if this is not the case
- virtual WXHWND GetEditHWND() const;
-
// this is the implementation of GetEditHWND() which can also be used when
// we don't have the edit control, it simply returns NULL then
//
WXHWND GetEditHWNDIfAvailable() const;
private:
+ // this is the overridden wxTextEntry method which should only be called
+ // when we do have an edit control so it asserts if this is not the case
+ virtual WXHWND GetEditHWND() const;
+
DECLARE_DYNAMIC_CLASS_NO_COPY(wxComboBox)
DECLARE_EVENT_TABLE()
};
// default style for the control include WS_TABSTOP if it AcceptsFocus()
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
+protected:
// choose the default border for this window
virtual wxBorder GetDefaultBorder() const;
-protected:
// return default best size (doesn't really make any sense, override this)
virtual wxSize DoGetBestSize() const;
virtual ~wxListBox();
- // implement base class pure virtuals
- virtual void DoClear();
- virtual void DoDeleteOneItem(unsigned int n);
-
virtual unsigned int GetCount() const;
virtual wxString GetString(unsigned int n) const;
virtual void SetString(unsigned int n, const wxString& s);
virtual bool CanApplyThemeBorder() const { return false; }
protected:
+ virtual void DoClear();
+ virtual void DoDeleteOneItem(unsigned int n);
+
virtual void DoSetSelection(int n, bool select);
virtual int DoInsertItems(const wxArrayStringsAdapter& items,
// implement base class pure virtuals
// ----------------------------------
- virtual bool DoLoadFile(const wxString& file, int fileType);
-
virtual bool IsModified() const;
virtual void MarkDirty();
virtual void DiscardEdits();
// common part of all ctors
void Init();
+ virtual bool DoLoadFile(const wxString& file, int fileType);
+
// creates the control of appropriate class (plain or rich edit) with the
// styles corresponding to m_windowStyle
//
virtual void DoSetValue(const wxString &value, int flags = 0);
- // implement wxTextEntry pure virtual: it implements all the operations for
- // the simple EDIT controls
- virtual WXHWND GetEditHWND() const { return m_hWnd; }
-
// return true if this control has a user-set limit on amount of text (i.e.
// the limit is due to a previous call to SetMaxLength() and not built in)
bool HasSpaceLimit(unsigned int *len) const;
// text ourselves: we want this to be exactly 1
int m_updatesCount;
+private:
virtual void EnableTextChangedEvents(bool enable)
{
m_updatesCount = enable ? -1 : -2;
}
-private:
+ // implement wxTextEntry pure virtual: it implements all the operations for
+ // the simple EDIT controls
+ virtual WXHWND GetEditHWND() const { return m_hWnd; }
+
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS_NO_COPY(wxTextCtrl)
virtual void Lower();
virtual bool Show( bool show = true );
- virtual void DoEnable( bool enable );
virtual void SetFocus();
virtual void SetFocusFromKbd();
// check if a native double-buffering applies for this window
virtual bool IsDoubleBuffered() const;
- // this allows you to implement standard control borders without
- // repeating the code in different classes that are not derived from
- // wxControl
- virtual wxBorder GetDefaultBorderForControl() const;
-
- // choose the default border for this window
- virtual wxBorder GetDefaultBorder() const;
-
// synthesize a wxEVT_LEAVE_WINDOW event and set m_mouseInWindow to false
void GenerateMouseLeave();
virtual void OnInternalIdle();
protected:
+ // this allows you to implement standard control borders without
+ // repeating the code in different classes that are not derived from
+ // wxControl
+ virtual wxBorder GetDefaultBorderForControl() const;
+
+ // choose the default border for this window
+ virtual wxBorder GetDefaultBorder() const;
#if wxUSE_MENUS_NATIVE
virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
virtual void DoCaptureMouse();
virtual void DoReleaseMouse();
+ virtual void DoEnable(bool enable);
+
// this simply moves/resizes the given HWND which is supposed to be our
// sibling (this is useful for controls which are composite at MSW level
// and for which DoMoveWindow() is not enough)
// don't want status bars to accept the focus at all
virtual bool AcceptsFocus() const { return false; }
- virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
virtual bool CanBeOutsideClientArea() const { return true; }
protected:
+ virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+
// set the widths array to NULL
void InitWidths();
static wxVisualAttributes
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+protected:
virtual wxBorder GetDefaultBorder() const { return GetDefaultBorderForControl(); }
-protected:
// the derived class must implement this function to actually draw the item
// with the given index on the provided DC
virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const = 0;