wxMotif toolbar compilation fixes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-03-26 11:26:04 +00:00
parent d237d78480
commit fcb35b5f05
2 changed files with 42 additions and 33 deletions

View File

@@ -66,12 +66,13 @@ protected:
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle); virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
virtual wxToolBarToolBase *CreateTool(int id, virtual wxToolBarToolBase *CreateTool(int id,
const wxBitmap& bitmap1, const wxString& label,
const wxBitmap& bitmap2, const wxBitmap& bmpNormal,
bool toggle, const wxBitmap& bmpDisabled,
wxItemKind kind,
wxObject *clientData, wxObject *clientData,
const wxString& shortHelpString, const wxString& shortHelp,
const wxString& longHelpString); const wxString& longHelp);
virtual wxToolBarToolBase *CreateTool(wxControl *control); virtual wxToolBarToolBase *CreateTool(wxControl *control);
private: private:

View File

@@ -82,14 +82,15 @@ class wxToolBarTool : public wxToolBarToolBase
public: public:
wxToolBarTool(wxToolBar *tbar, wxToolBarTool(wxToolBar *tbar,
int id, int id,
const wxBitmap& bitmap1, const wxString& label,
const wxBitmap& bitmap2, const wxBitmap& bmpNormal,
bool toggle, const wxBitmap& bmpToggled,
wxItemKind kind,
wxObject *clientData, wxObject *clientData,
const wxString& shortHelpString, const wxString& shortHelp,
const wxString& longHelpString) const wxString& longHelp)
: wxToolBarToolBase(tbar, id, bitmap1, bitmap2, toggle, : wxToolBarToolBase(tbar, id, label, bmpNormal, bmpToggled, kind,
clientData, shortHelpString, longHelpString) clientData, shortHelp, longHelp)
{ {
Init(); Init();
} }
@@ -135,17 +136,19 @@ wxString wxToolBarTimer::helpString;
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
wxToolBarToolBase *wxToolBar::CreateTool(int id, wxToolBarToolBase *wxToolBar::CreateTool(int id,
const wxBitmap& bitmap1, const wxString& label,
const wxBitmap& bitmap2, const wxBitmap& bmpNormal,
bool toggle, const wxBitmap& bmpToggled,
wxItemKind kind,
wxObject *clientData, wxObject *clientData,
const wxString& shortHelpString, const wxString& shortHelp,
const wxString& longHelpString) const wxString& longHelp)
{ {
return new wxToolBarTool(this, id, bitmap1, bitmap2, toggle, return new wxToolBarTool(this, id, label, bmpNormal, bmpToggled, kind,
clientData, shortHelpString, longHelpString); clientData, shortHelp, longHelp);
} }
wxToolBarToolBase *wxToolBar::CreateTool(wxControl *control) wxToolBarToolBase *wxToolBar::CreateTool(wxControl *control)
{ {
return new wxToolBarTool(this, control); return new wxToolBarTool(this, control);
@@ -337,7 +340,7 @@ bool wxToolBar::Realize()
// a new wxBitmap that has the correct background colour // a new wxBitmap that has the correct background colour
// for the button. Otherwise the background will just be // for the button. Otherwise the background will just be
// e.g. black if a transparent XPM has been loaded. // e.g. black if a transparent XPM has been loaded.
bmp = tool->GetBitmap1(); bmp = tool->GetNormalBitmap();
if ( bmp.GetMask() ) if ( bmp.GetMask() )
{ {
int backgroundPixel; int backgroundPixel;
@@ -349,7 +352,7 @@ bool wxToolBar::Realize()
bmp = wxCreateMaskedBitmap(bmp, col); bmp = wxCreateMaskedBitmap(bmp, col);
tool->SetBitmap1(bmp); tool->SetNormalBitmap(bmp);
} }
// Create a selected/toggled bitmap. If there isn't a 2nd // Create a selected/toggled bitmap. If there isn't a 2nd
@@ -366,11 +369,14 @@ bool wxToolBar::Realize()
wxColour col; wxColour col;
col.SetPixel(backgroundPixel); col.SetPixel(backgroundPixel);
if (tool->GetBitmap2().Ok() && tool->GetBitmap2().GetMask()) // FIXME: we use disabled bitmap as the bitmap for the toggled
// state, we probably need a GetToggledBitmap() instead
wxBitmap bmpToggled = tool->GetDisabledBitmap();
if ( bmpToggled.Ok() && bmpToggled.GetMask())
{ {
// Use what's there // Use what's there
wxBitmap newBitmap = wxCreateMaskedBitmap(tool->GetBitmap2(), col); wxBitmap newBitmap = wxCreateMaskedBitmap(bmpToggled, col);
tool->SetBitmap2(newBitmap); tool->SetDisabledBitmap(newBitmap);
} }
else else
{ {
@@ -378,12 +384,13 @@ bool wxToolBar::Realize()
if ( bmp.GetMask() ) if ( bmp.GetMask() )
{ {
wxBitmap newBitmap = wxCreateMaskedBitmap(bmp, col); wxBitmap newBitmap = wxCreateMaskedBitmap(bmp, col);
tool->SetBitmap2(newBitmap); tool->SetDisabledBitmap(newBitmap);
} }
else else
tool->SetBitmap2(bmp); tool->SetDisabledBitmap(bmp);
} }
// FIXME: and here we should use GetDisabledBitmap()...
pixmap = (Pixmap) bmp.GetPixmap(); pixmap = (Pixmap) bmp.GetPixmap();
insensPixmap = (Pixmap) bmp.GetInsensPixmap(); insensPixmap = (Pixmap) bmp.GetInsensPixmap();
@@ -395,11 +402,12 @@ bool wxToolBar::Realize()
// If there's a bitmap for the toggled state, use it, // If there's a bitmap for the toggled state, use it,
// otherwise generate one. // otherwise generate one.
if (tool->GetBitmap2().Ok()) //
// FIXME: see above
if ( bmpToggled.Ok() )
{ {
wxBitmap bmp2 = tool->GetBitmap2(); pixmap2 = (Pixmap) bmpToggled.GetPixmap();
pixmap2 = (Pixmap) bmp2.GetPixmap(); insensPixmap2 = (Pixmap) bmpToggled.GetInsensPixmap();
insensPixmap2 = (Pixmap) bmp2.GetInsensPixmap();
} }
else else
{ {
@@ -424,9 +432,9 @@ bool wxToolBar::Realize()
// If there's a bitmap for the armed state, use it, // If there's a bitmap for the armed state, use it,
// otherwise generate one. // otherwise generate one.
if (tool->GetBitmap2().Ok()) if ( bmpToggled.Ok() )
{ {
pixmap2 = (Pixmap) tool->GetBitmap2().GetPixmap(); pixmap2 = (Pixmap) bmpToggled.GetPixmap();
} }
else else
{ {