X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c08a4f0068a616f3726fd0403b3b75caac3fa702..7948c0c24401c496c04da3c28f1f1f2f282ba327:/src/generic/tbarsmpl.cpp diff --git a/src/generic/tbarsmpl.cpp b/src/generic/tbarsmpl.cpp index 31608af0bd..522736e77f 100644 --- a/src/generic/tbarsmpl.cpp +++ b/src/generic/tbarsmpl.cpp @@ -48,14 +48,15 @@ class WXDLLEXPORT wxToolBarToolSimple : public wxToolBarToolBase public: wxToolBarToolSimple(wxToolBarSimple *tbar, int id, - const wxBitmap& bitmap1, - const wxBitmap& bitmap2, - bool toggle, + const wxString& label, + const wxBitmap& bmpNormal, + const wxBitmap& bmpDisabled, + wxItemKind kind, wxObject *clientData, - const wxString& shortHelpString, - const wxString& longHelpString) - : wxToolBarToolBase(tbar, id, bitmap1, bitmap2, toggle, - clientData, shortHelpString, longHelpString) + const wxString& shortHelp, + const wxString& longHelp) + : wxToolBarToolBase(tbar, id, label, bmpNormal, bmpDisabled, kind, + clientData, shortHelp, longHelp) { } @@ -73,10 +74,10 @@ public: wxCoord GetWidth() const { return m_width; } wxCoord GetHeight() const { return m_height; } - wxCoord m_x; - wxCoord m_y; - wxCoord m_width; - wxCoord m_height; + wxCoord m_x; + wxCoord m_y; + wxCoord m_width; + wxCoord m_height; }; // ---------------------------------------------------------------------------- @@ -108,15 +109,16 @@ END_EVENT_TABLE() // ---------------------------------------------------------------------------- wxToolBarToolBase *wxToolBarSimple::CreateTool(int id, - const wxBitmap& bitmap1, - const wxBitmap& bitmap2, - bool toggle, + const wxString& label, + const wxBitmap& bmpNormal, + const wxBitmap& bmpDisabled, + wxItemKind kind, wxObject *clientData, - const wxString& shortHelpString, - const wxString& longHelpString) + const wxString& shortHelp, + const wxString& longHelp) { - return new wxToolBarToolSimple(this, id, bitmap1, bitmap2, toggle, - clientData, shortHelpString, longHelpString); + return new wxToolBarToolSimple(this, id, label, bmpNormal, bmpDisabled, + kind, clientData, shortHelp, longHelp); } wxToolBarToolBase *wxToolBarSimple::CreateTool(wxControl *control) @@ -162,23 +164,24 @@ void wxToolBarSimple::Init() m_yScrollLinesPerPage = 0; } -wxToolBarToolBase *wxToolBarSimple::AddTool(int id, - const wxBitmap& bitmap, - const wxBitmap& pushedBitmap, - bool toggle, - wxCoord xPos, - wxCoord yPos, - wxObject *clientData, - const wxString& helpString1, - const wxString& helpString2) +wxToolBarToolBase *wxToolBarSimple::DoAddTool(int id, + const wxString& label, + const wxBitmap& bitmap, + const wxBitmap& bmpDisabled, + wxItemKind kind, + const wxString& shortHelp, + const wxString& longHelp, + wxObject *clientData, + wxCoord xPos, + wxCoord yPos) { // rememeber the position for DoInsertTool() m_xPos = xPos; m_yPos = yPos; - return wxToolBarBase::AddTool(id, bitmap, pushedBitmap, toggle, - xPos, yPos, clientData, - helpString1, helpString2); + return wxToolBarBase::DoAddTool(id, label, bitmap, bmpDisabled, kind, + shortHelp, longHelp, + clientData, xPos, yPos); } bool wxToolBarSimple::DoInsertTool(size_t WXUNUSED(pos), @@ -202,10 +205,10 @@ bool wxToolBarSimple::DoInsertTool(size_t WXUNUSED(pos), if ( tool->IsButton() ) { // Calculate reasonable max size in case Layout() not called - if ((tool->m_x + tool->GetBitmap1().GetWidth() + m_xMargin) > m_maxWidth) + if ((tool->m_x + tool->GetNormalBitmap().GetWidth() + m_xMargin) > m_maxWidth) m_maxWidth = (wxCoord)((tool->m_x + tool->GetWidth() + m_xMargin)); - if ((tool->m_y + tool->GetBitmap1().GetHeight() + m_yMargin) > m_maxHeight) + if ((tool->m_y + tool->GetNormalBitmap().GetHeight() + m_yMargin) > m_maxHeight) m_maxHeight = (wxCoord)((tool->m_y + tool->GetHeight() + m_yMargin)); } @@ -511,9 +514,11 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxToolBarToolBase *toolBase) wxPen white_pen(wxT("WHITE"), 1, wxSOLID); wxPen black_pen(wxT("BLACK"), 1, wxSOLID); - wxBitmap bitmap = tool->GetBitmap(); + wxBitmap bitmap = tool->GetNormalBitmap(); + if (!bitmap.Ok()) + return; - if ( bitmap.Ok() ) + if ( !tool->IsToggled() ) { #if wxUSE_PALETTE #ifndef __WXGTK__ @@ -573,14 +578,14 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxToolBarToolBase *toolBase) if (!drawBorder) { - memDC.SelectObject(tool->GetBitmap1()); + memDC.SelectObject(tool->GetNormalBitmap()); dc.Blit(tool->m_x, tool->m_y, tool->GetWidth(), tool->GetHeight(), &memDC, 0, 0, wxSRC_INVERT); memDC.SelectObject(wxNullBitmap); } else { - bitmap = tool->GetBitmap1(); + bitmap = tool->GetNormalBitmap(); if (m_windowStyle & wxTB_3DBUTTONS) {