96f3832d52
This is slightly simpler, as it doesn't require checking whether the control state really changes or not (it always does if DoEnable() is called) and allows disabling the controls before creating them, e.g. code like wxButton* const b = new wxButton(); b->Disable(); b->Create(this, wxID_OK); works as expected now instead of spewing GTK+ errors.
66 lines
2.0 KiB
C++
66 lines
2.0 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/gtk/spinbutt.h
|
|
// Purpose: wxSpinButton class
|
|
// Author: Robert Roebling
|
|
// Modified by:
|
|
// Copyright: (c) Robert Roebling
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_GTK_SPINBUTT_H_
|
|
#define _WX_GTK_SPINBUTT_H_
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// wxSpinButton
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxSpinButton : public wxSpinButtonBase
|
|
{
|
|
public:
|
|
wxSpinButton();
|
|
wxSpinButton(wxWindow *parent,
|
|
wxWindowID id = -1,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = wxSP_VERTICAL,
|
|
const wxString& name = wxSPIN_BUTTON_NAME)
|
|
{
|
|
Create(parent, id, pos, size, style, name);
|
|
}
|
|
|
|
bool Create(wxWindow *parent,
|
|
wxWindowID id = -1,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = wxSP_VERTICAL,
|
|
const wxString& name = wxSPIN_BUTTON_NAME);
|
|
|
|
virtual int GetValue() const wxOVERRIDE;
|
|
virtual void SetValue( int value ) wxOVERRIDE;
|
|
virtual void SetRange( int minVal, int maxVal ) wxOVERRIDE;
|
|
virtual int GetMin() const wxOVERRIDE;
|
|
virtual int GetMax() const wxOVERRIDE;
|
|
|
|
static wxVisualAttributes
|
|
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
|
|
|
|
// implementation
|
|
int m_pos;
|
|
|
|
protected:
|
|
void GtkDisableEvents() const;
|
|
void GtkEnableEvents() const;
|
|
|
|
virtual wxSize DoGetBestSize() const wxOVERRIDE;
|
|
virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const wxOVERRIDE;
|
|
|
|
virtual void DoEnable(bool enable) wxOVERRIDE;
|
|
|
|
private:
|
|
typedef wxSpinButtonBase base_type;
|
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxSpinButton);
|
|
};
|
|
|
|
#endif // _WX_GTK_SPINBUTT_H_
|