X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/067e9be6852644c258627eb745643f8efd711e60..8f4d9fcd9a1133442aa733e978231b01956e641b:/src/msw/button.cpp?ds=sidebyside diff --git a/src/msw/button.cpp b/src/msw/button.cpp index 8ee6217a77..46d520bcf7 100644 --- a/src/msw/button.cpp +++ b/src/msw/button.cpp @@ -48,72 +48,59 @@ #if wxUSE_EXTENDED_RTTI -enum wxButtonStyleBits -{ - wxButtonExactFitBit = 0 , - wxButtonLeftBit = 6 , - wxButtonTopBit = 7 , - wxButtonRightBit = 8 , - wxButtonBottomBit = 9 , - -// wxNoFullRepaintOnResizeBit = 16 , -// wxPopUpWindowBit = 17 , - wxWantCharsBit = 18 , -// wxTabTraversalBit = 19 , - - wxTransparentWindowBit = 20 , - wxBorderNoneBit = 21 , -// wxClipChildrenBit = 22 , -// wxAlwaysShowScrollBarsBit = 23 , - - wxBorderStaticBit = 24 , - wxBorderSimpleBit = 25 , - wxBorderRaisedBit = 26 , - wxBorderSunkenBit = 27 , - - wxBorderDoubleBit = 28 , -// wxCaptionBit = 29 , -// wxClipSiblingsBit = 29 , // caption not used for non toplevel -// wxHScrolBit = 30 , -// wxVScrollBit = 31 , -} ; - -typedef wxFlags wxButtonStyleFlags ; - -WX_BEGIN_ENUM( wxButtonStyleBits) - WX_ENUM_MEMBER( wxButtonExactFitBit) - WX_ENUM_MEMBER( wxButtonLeftBit) - WX_ENUM_MEMBER( wxButtonTopBit) - WX_ENUM_MEMBER( wxButtonRightBit) - WX_ENUM_MEMBER( wxButtonBottomBit) - WX_ENUM_MEMBER( wxWantCharsBit) - WX_ENUM_MEMBER( wxTransparentWindowBit) - WX_ENUM_MEMBER( wxBorderNoneBit) - WX_ENUM_MEMBER( wxBorderStaticBit) - WX_ENUM_MEMBER( wxBorderSimpleBit) - WX_ENUM_MEMBER( wxBorderRaisedBit) - WX_ENUM_MEMBER( wxBorderSunkenBit) - WX_ENUM_MEMBER( wxBorderDoubleBit) -WX_END_ENUM( wxButtonStyleBits) - -WX_IMPLEMENT_SET_STREAMING( wxButtonStyleFlags , wxButtonStyleBits) +WX_DEFINE_FLAGS( wxButtonStyle ) + +wxBEGIN_FLAGS( wxButtonStyle ) + // new style border flags, we put them first to + // use them for streaming out + wxFLAGS_MEMBER(wxBORDER_SIMPLE) + wxFLAGS_MEMBER(wxBORDER_SUNKEN) + wxFLAGS_MEMBER(wxBORDER_DOUBLE) + wxFLAGS_MEMBER(wxBORDER_RAISED) + wxFLAGS_MEMBER(wxBORDER_STATIC) + wxFLAGS_MEMBER(wxBORDER_NONE) + + // old style border flags + wxFLAGS_MEMBER(wxSIMPLE_BORDER) + wxFLAGS_MEMBER(wxSUNKEN_BORDER) + wxFLAGS_MEMBER(wxDOUBLE_BORDER) + wxFLAGS_MEMBER(wxRAISED_BORDER) + wxFLAGS_MEMBER(wxSTATIC_BORDER) + wxFLAGS_MEMBER(wxBORDER) + + // standard window styles + wxFLAGS_MEMBER(wxTAB_TRAVERSAL) + wxFLAGS_MEMBER(wxCLIP_CHILDREN) + wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW) + wxFLAGS_MEMBER(wxWANTS_CHARS) + wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE) + wxFLAGS_MEMBER(wxALWAYS_SHOW_SB ) + wxFLAGS_MEMBER(wxVSCROLL) + wxFLAGS_MEMBER(wxHSCROLL) + + wxFLAGS_MEMBER(wxBU_LEFT) + wxFLAGS_MEMBER(wxBU_RIGHT) + wxFLAGS_MEMBER(wxBU_TOP) + wxFLAGS_MEMBER(wxBU_BOTTOM) + wxFLAGS_MEMBER(wxBU_EXACTFIT) +wxEND_FLAGS( wxButtonStyle ) IMPLEMENT_DYNAMIC_CLASS_XTI(wxButton, wxControl,"wx/button.h") -WX_BEGIN_PROPERTIES_TABLE(wxButton) - WX_DELEGATE( OnClick , wxEVT_COMMAND_BUTTON_CLICKED , wxCommandEvent , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) +wxBEGIN_PROPERTIES_TABLE(wxButton) + wxEVENT_PROPERTY( Click , wxEVT_COMMAND_BUTTON_CLICKED , wxCommandEvent) - WX_PROPERTY( Font , wxFont , SetFont , GetFont , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) - WX_PROPERTY( Label, wxString , SetLabel, GetLabel, wxEmptyString, 0 /*flags*/ , wxT("Helpstring") , wxT("group") ) + wxPROPERTY( Font , wxFont , SetFont , GetFont , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) + wxPROPERTY( Label, wxString , SetLabel, GetLabel, wxString(), 0 /*flags*/ , wxT("Helpstring") , wxT("group") ) - WX_PROPERTY_FLAGS( WindowStyle , wxButtonStyleFlags , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style + wxPROPERTY_FLAGS( WindowStyle , wxButtonStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style -WX_END_PROPERTIES_TABLE() +wxEND_PROPERTIES_TABLE() -WX_BEGIN_HANDLERS_TABLE(wxButton) -WX_END_HANDLERS_TABLE() +wxBEGIN_HANDLERS_TABLE(wxButton) +wxEND_HANDLERS_TABLE() -WX_CONSTRUCTOR_6( wxButton , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle ) +wxCONSTRUCTOR_6( wxButton , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle ) #else @@ -196,6 +183,11 @@ WXDWORD wxButton::MSWGetStyle(long style, WXDWORD *exstyle) const msStyle |= BS_TOP; if ( style & wxBU_BOTTOM ) msStyle |= BS_BOTTOM; +#ifndef __WXWINCE__ + // flat 2d buttons + if ( style & wxNO_BORDER ) + msStyle |= BS_FLAT; +#endif // __WXWINCE__ #endif // __WIN32__ return msStyle; @@ -443,7 +435,7 @@ bool wxButton::MSWCommand(WXUINT param, WXWORD WXUNUSED(id)) return processed; } -long wxButton::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) +WXLRESULT wxButton::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) { // when we receive focus, we want to temporary become the default button in // our parent panel so that pressing "Enter" would activate us -- and when