1///////////////////////////////////////////////////////////////////////////// 2// Name: src/xrc/xh_bmpbt.cpp 3// Purpose: XRC resource for bitmap buttons 4// Author: Brian Gavin 5// Created: 2000/09/09 6// RCS-ID: $Id: xh_bmpbt.cpp 44510 2007-02-16 08:16:37Z JS $ 7// Copyright: (c) 2000 Brian Gavin 8// Licence: wxWindows licence 9///////////////////////////////////////////////////////////////////////////// 10 11// For compilers that support precompilation, includes "wx.h". 12#include "wx/wxprec.h" 13 14#ifdef __BORLANDC__ 15 #pragma hdrstop 16#endif 17 18#if wxUSE_XRC && wxUSE_BMPBUTTON 19 20#include "wx/xrc/xh_bmpbt.h" 21 22#ifndef WX_PRECOMP 23 #include "wx/bmpbuttn.h" 24#endif 25 26IMPLEMENT_DYNAMIC_CLASS(wxBitmapButtonXmlHandler, wxXmlResourceHandler) 27 28wxBitmapButtonXmlHandler::wxBitmapButtonXmlHandler() 29: wxXmlResourceHandler() 30{ 31 XRC_ADD_STYLE(wxBU_AUTODRAW); 32 XRC_ADD_STYLE(wxBU_LEFT); 33 XRC_ADD_STYLE(wxBU_RIGHT); 34 XRC_ADD_STYLE(wxBU_TOP); 35 XRC_ADD_STYLE(wxBU_BOTTOM); 36 XRC_ADD_STYLE(wxBU_EXACTFIT); 37 AddWindowStyles(); 38} 39 40wxObject *wxBitmapButtonXmlHandler::DoCreateResource() 41{ 42 XRC_MAKE_INSTANCE(button, wxBitmapButton) 43 44 button->Create(m_parentAsWindow, 45 GetID(), 46 GetBitmap(wxT("bitmap"), wxART_BUTTON), 47 GetPosition(), GetSize(), 48 GetStyle(wxT("style"), wxBU_AUTODRAW), 49 wxDefaultValidator, 50 GetName()); 51 if (GetBool(wxT("default"), 0)) 52 button->SetDefault(); 53 SetupWindow(button); 54 55 if (GetParamNode(wxT("selected"))) 56 button->SetBitmapSelected(GetBitmap(wxT("selected"))); 57 if (GetParamNode(wxT("focus"))) 58 button->SetBitmapFocus(GetBitmap(wxT("focus"))); 59 if (GetParamNode(wxT("disabled"))) 60 button->SetBitmapDisabled(GetBitmap(wxT("disabled"))); 61 if (GetParamNode(wxT("hover"))) 62 button->SetBitmapHover(GetBitmap(wxT("hover"))); 63 64 return button; 65} 66 67bool wxBitmapButtonXmlHandler::CanHandle(wxXmlNode *node) 68{ 69 return IsOfClass(node, wxT("wxBitmapButton")); 70} 71 72#endif // wxUSE_XRC && wxUSE_BMPBUTTON 73