X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a4294b7832a5aed3c1cccc06aecd227d43da8830..74bcba0e3300839a9184ccaacc25dd5c05c1fad3:/src/motif/statbmp.cpp?ds=sidebyside diff --git a/src/motif/statbmp.cpp b/src/motif/statbmp.cpp index 5dc08a3296..49fe6c600a 100644 --- a/src/motif/statbmp.cpp +++ b/src/motif/statbmp.cpp @@ -6,25 +6,31 @@ // Created: 17/09/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ #pragma implementation "statbmp.h" #endif +#include "wx/defs.h" + #include "wx/statbmp.h" +#ifdef __VMS__ +#pragma message disable nosimpint +#endif #include #include #include #include +#ifdef __VMS__ +#pragma message enable nosimpint +#endif -#include +#include "wx/motif/private.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl) -#endif /* * wxStaticBitmap @@ -39,12 +45,14 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, { m_messageBitmap = bitmap; SetName(name); + m_backgroundColour = parent->GetBackgroundColour(); + m_foregroundColour = parent->GetForegroundColour(); if (parent) parent->AddChild(this); if ( id == -1 ) - m_windowId = (int)NewControlId(); + m_windowId = (int)NewControlId(); else - m_windowId = id; + m_windowId = id; m_windowStyle = style; @@ -64,12 +72,19 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, XmNlabelType, XmPIXMAP, NULL); + m_font = parent->GetFont(); + ChangeFont(FALSE); + SetCanAddEventHandler(TRUE); - AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, size.x, size.y); - SetFont(* parent->GetFont()); + wxSize actualSize(size); + if (actualSize.x == -1) + actualSize.x = bitmap.GetWidth(); + if (actualSize.y == -1) + actualSize.y = bitmap.GetHeight(); + AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, actualSize.x, actualSize.y); - ChangeColour (m_mainWidget); + ChangeBackgroundColour (); return TRUE; } @@ -79,11 +94,6 @@ wxStaticBitmap::~wxStaticBitmap() SetBitmap(wxNullBitmap); } -void wxStaticBitmap::SetSize(int x, int y, int width, int height, int sizeFlags) -{ - wxControl::SetSize(x, y, width, height, sizeFlags); -} - void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) { m_messageBitmap = bitmap; @@ -100,7 +110,7 @@ void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) XtVaSetValues (widget, XmNlabelPixmap, ((wxBitmap&)bitmap).GetLabelPixmap (widget), XmNlabelType, XmPIXMAP, - NULL); + NULL); GetSize(&w1, &h1); if (! (w1 == w2) && (h1 == h2)) @@ -112,8 +122,23 @@ void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) // since it is no longer valid. XtVaSetValues (widget, XmNlabelType, XmSTRING, - XmNlabelPixmap, NULL, // TODO: Does this work? + XmNlabelPixmap, XmUNSPECIFIED_PIXMAP, NULL); } } +void wxStaticBitmap::ChangeFont(bool keepOriginalSize) +{ + wxWindow::ChangeFont(keepOriginalSize); +} + +void wxStaticBitmap::ChangeBackgroundColour() +{ + wxWindow::ChangeBackgroundColour(); +} + +void wxStaticBitmap::ChangeForegroundColour() +{ + wxWindow::ChangeForegroundColour(); +} +