Since the addition of wxMSWOwnerDrawnButton, DLL builds started generated a lot of warnings about using this non DLL-exported class as base class for the DLL-exported wxCheckBox and wxRadioButton. Simply suppress these warnings as they are harmless in this case because the base class has no static data, which is the real problem this warning hints at. Closes #16237. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
92 lines
2.9 KiB
C++
92 lines
2.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/msw/checkbox.h
|
|
// Purpose: wxCheckBox class
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created: 01/02/97
|
|
// Copyright: (c) Julian Smart
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_CHECKBOX_H_
|
|
#define _WX_CHECKBOX_H_
|
|
|
|
#include "wx/msw/ownerdrawnbutton.h"
|
|
|
|
#ifdef __VISUALC__
|
|
// Disable the warning about non DLL-exported wxMSWOwnerDrawnButton class
|
|
// used as base for DLL-exported class: it's harmless in this case.
|
|
#pragma warning(push)
|
|
#pragma warning(disable:4275)
|
|
#endif
|
|
|
|
// Checkbox item (single checkbox)
|
|
class WXDLLIMPEXP_CORE wxCheckBox : public wxMSWOwnerDrawnButton<wxCheckBoxBase>
|
|
{
|
|
public:
|
|
wxCheckBox() { }
|
|
wxCheckBox(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxString& label,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxCheckBoxNameStr)
|
|
{
|
|
Create(parent, id, label, pos, size, style, validator, name);
|
|
}
|
|
|
|
bool Create(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxString& label,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxCheckBoxNameStr);
|
|
|
|
virtual void SetValue(bool value);
|
|
virtual bool GetValue() const;
|
|
|
|
// override some base class virtuals
|
|
virtual void SetLabel(const wxString& label);
|
|
|
|
virtual bool MSWCommand(WXUINT param, WXWORD id);
|
|
virtual void Command(wxCommandEvent& event);
|
|
|
|
// returns true if the platform should explicitly apply a theme border
|
|
virtual bool CanApplyThemeBorder() const { return false; }
|
|
|
|
// implementation only from now on
|
|
virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const;
|
|
|
|
protected:
|
|
virtual wxSize DoGetBestClientSize() const;
|
|
|
|
virtual void DoSet3StateValue(wxCheckBoxState value);
|
|
virtual wxCheckBoxState DoGet3StateValue() const;
|
|
|
|
// Implement wxMSWOwnerDrawnButtonBase methods.
|
|
virtual int MSWGetButtonStyle() const wxOVERRIDE;
|
|
virtual void MSWOnButtonResetOwnerDrawn() wxOVERRIDE;
|
|
virtual int MSWGetButtonCheckedFlag() const wxOVERRIDE;
|
|
virtual void
|
|
MSWDrawButtonBitmap(wxDC& dc, const wxRect& rect, int flags) wxOVERRIDE;
|
|
|
|
private:
|
|
// common part of all ctors
|
|
void Init();
|
|
|
|
// current state of the checkbox
|
|
wxCheckBoxState m_state;
|
|
|
|
DECLARE_DYNAMIC_CLASS_NO_COPY(wxCheckBox)
|
|
};
|
|
|
|
#ifdef __VISUALC__
|
|
#pragma warning(pop)
|
|
#endif
|
|
|
|
#endif // _WX_CHECKBOX_H_
|