/////////////////////////////////////////////////////////////////////////////
-// Name: bmpbuttn.cpp
+// Name: src/motif/bmpbuttn.cpp
// Purpose: wxBitmapButton
// Author: Julian Smart
// Modified by:
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-#pragma implementation "bmpbuttn.h"
-#endif
-
-#ifdef __VMS
-#define XtScreen XTSCREEN
-#endif
-
-#include "wx/defs.h"
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
#include "wx/bmpbuttn.h"
{
if( !CreateControl( parent, id, pos, size, style, validator, name ) )
return false;
+ PreCreation();
m_bmpNormal = m_bmpNormalOriginal = bitmap;
m_bmpSelected = m_bmpSelectedOriginal = bitmap;
- /*
- int x = pos.x;
- int y = pos.y;
- int width = size.x;
- int height = size.y;
- */
-
Widget parentWidget = (Widget) parent->GetClientWidget();
/*
xmPushButtonWidgetClass, parentWidget,
#endif
// See comment for wxButton::SetDefault
- // XmNdefaultButtonShadowThickness, 1,
+ // XmNdefaultButtonShadowThickness, 1,
XmNrecomputeSize, False,
NULL);
m_mainWidget = (WXWidget) buttonWidget;
- ChangeFont(FALSE);
-
- ChangeBackgroundColour ();
-
- DoSetBitmap();
-
XtAddCallback (buttonWidget,
XmNactivateCallback, (XtCallbackProc) wxButtonCallback,
(XtPointer) this);
- SetCanAddEventHandler(TRUE);
-
wxSize best = m_bmpNormal.Ok() ? GetBestSize() : wxSize(30, 30);
if( size.x != -1 ) best.x = size.x;
if( size.y != -1 ) best.y = size.y;
+ PostCreation();
+ DoSetBitmap();
+
AttachWidget (parent, m_mainWidget, (WXWidget) NULL,
pos.x, pos.y, best.x, best.y);
- return TRUE;
+ return true;
}
wxBitmapButton::~wxBitmapButton()
m_bmpSelectedOriginal = sel;
DoSetBitmap();
-};
+}
void wxBitmapButton::SetBitmapFocus(const wxBitmap& focus)
{
m_bmpFocus = focus;
// Not used in Motif
-};
+}
void wxBitmapButton::SetBitmapDisabled(const wxBitmap& disabled)
{
m_bmpDisabledOriginal = disabled;
DoSetBitmap();
-};
+}
void wxBitmapButton::DoSetBitmap()
{
// in the current widget background colour.
if (m_bmpNormalOriginal.GetMask())
{
- int backgroundPixel;
+ WXPixel backgroundPixel;
XtVaGetValues((Widget) m_mainWidget,
XmNbackground, &backgroundPixel,
NULL);
{
if (m_bmpDisabledOriginal.GetMask())
{
- int backgroundPixel;
+ WXPixel backgroundPixel;
XtVaGetValues((Widget) m_mainWidget,
XmNbackground, &backgroundPixel,
NULL);
{
if (m_bmpSelectedOriginal.GetMask())
{
- int backgroundPixel;
+ WXPixel backgroundPixel;
XtVaGetValues((Widget) m_mainWidget,
XmNarmColor, &backgroundPixel,
NULL);
else
armPixmap = (Pixmap) m_bitmapCache.GetArmPixmap(m_mainWidget);
-#if 0
- // <- the Get...Pixmap()-functions return the same pixmap!
- if (insensPixmap == pixmap)
- {
- insensPixmap =
- XCreateInsensitivePixmap(DisplayOfScreen(XtScreen((Widget) m_mainWidget)), pixmap);
- m_insensPixmap = (WXPixmap) insensPixmap;
- }
-#endif
-
XtVaSetValues ((Widget) m_mainWidget,
XmNlabelPixmap, pixmap,
XmNlabelInsensitivePixmap, insensPixmap,
void wxBitmapButton::ChangeBackgroundColour()
{
- DoChangeBackgroundColour(m_mainWidget, m_backgroundColour, TRUE);
+ wxDoChangeBackgroundColour(m_mainWidget, m_backgroundColour, true);
// Must reset the bitmaps since the colours have changed.
DoSetBitmap();
return ret;
}
-