Files
wxWidgets/include/wx/msw/checkbox.h
Vadim Zeitlin be00806392 Fix harmless C4275 MSVC warning in wxMSW DLL builds.
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
2014-05-07 13:10:17 +00:00

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_