// wxWin macros
// ----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxToolBarBase)
+
+#if !wxUSE_TOOLBAR_NATIVE || defined(__WXUNIVERSAL__)
+ #include "wx/toolbar.h"
+
+ IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarSimple)
+#endif
BEGIN_EVENT_TABLE(wxToolBarSimple, wxToolBarBase)
EVT_SIZE(wxToolBarSimple::OnSize)
m_defaultWidth = 16;
m_defaultHeight = 15;
+
+ m_xScrollPixelsPerLine = 1;
+ m_yScrollPixelsPerLine = 1;
+ m_xScrollingEnabled = FALSE;
+ m_yScrollingEnabled = FALSE;
+ m_xScrollPosition = 0;
+ m_yScrollPosition = 0;
+ m_xScrollLines = 0;
+ m_yScrollLines = 0;
+ m_xScrollLinesPerPage = 0;
+ m_yScrollLinesPerPage = 0;
}
wxToolBarToolBase *wxToolBarSimple::AddTool(int id,
m_lastX = m_xMargin;
m_lastY += maxToolHeight + m_toolPacking;
}
- tool->m_x = (m_lastX + (maxToolWidth - tool->GetWidth())/2.0);
- tool->m_y = (m_lastY + (maxToolHeight - tool->GetHeight())/2.0);
+ tool->m_x = (wxCoord)(m_lastX + (maxToolWidth - tool->GetWidth())/2.0);
+ tool->m_y = (wxCoord)(m_lastY + (maxToolHeight - tool->GetHeight())/2.0);
m_lastX += maxToolWidth + m_toolPacking;
}
m_lastX += (maxToolWidth + m_toolPacking);
m_lastY = m_yMargin;
}
- tool->m_x = (m_lastX + (maxToolWidth - tool->GetWidth())/2.0);
- tool->m_y = (m_lastY + (maxToolHeight - tool->GetHeight())/2.0);
+ tool->m_x = (wxCoord)(m_lastX + (maxToolWidth - tool->GetWidth())/2.0);
+ tool->m_y = (wxCoord)(m_lastY + (maxToolHeight - tool->GetHeight())/2.0);
m_lastY += maxToolHeight + m_toolPacking;
}
if ( tool && tool->CanBeToggled() )
{
- tool->Toggle();
+ if (tool->IsToggled())
+ tool->Toggle();
DrawTool(tool);
}
int orient = event.GetOrientation();
int nScrollInc = 0;
- switch (event.GetEventType())
+ if (event.GetEventType() == wxEVT_SCROLL_TOP)
{
- case wxEVT_SCROLL_TOP:
- {
- if (orient == wxHORIZONTAL)
- nScrollInc = - m_xScrollPosition;
- else
- nScrollInc = - m_yScrollPosition;
- break;
- }
- case wxEVT_SCROLL_BOTTOM:
- {
- if (orient == wxHORIZONTAL)
- nScrollInc = m_xScrollLines - m_xScrollPosition;
- else
- nScrollInc = m_yScrollLines - m_yScrollPosition;
- break;
- }
- case wxEVT_SCROLL_LINEUP:
- {
- nScrollInc = -1;
- break;
- }
- case wxEVT_SCROLL_LINEDOWN:
- {
- nScrollInc = 1;
- break;
- }
- case wxEVT_SCROLL_PAGEUP:
- {
- if (orient == wxHORIZONTAL)
- nScrollInc = -GetScrollPageSize(wxHORIZONTAL);
- else
- nScrollInc = -GetScrollPageSize(wxVERTICAL);
- break;
- }
- case wxEVT_SCROLL_PAGEDOWN:
- {
- if (orient == wxHORIZONTAL)
- nScrollInc = GetScrollPageSize(wxHORIZONTAL);
- else
- nScrollInc = GetScrollPageSize(wxVERTICAL);
- break;
- }
- case wxEVT_SCROLL_THUMBTRACK:
- {
- if (orient == wxHORIZONTAL)
- nScrollInc = pos - m_xScrollPosition;
- else
- nScrollInc = pos - m_yScrollPosition;
- break;
- }
- default:
- {
- break;
- }
+ if (orient == wxHORIZONTAL)
+ nScrollInc = - m_xScrollPosition;
+ else
+ nScrollInc = - m_yScrollPosition;
+ } else
+ if (event.GetEventType() == wxEVT_SCROLL_BOTTOM)
+ {
+ if (orient == wxHORIZONTAL)
+ nScrollInc = m_xScrollLines - m_xScrollPosition;
+ else
+ nScrollInc = m_yScrollLines - m_yScrollPosition;
+ } else
+ if (event.GetEventType() == wxEVT_SCROLL_LINEUP)
+ {
+ nScrollInc = -1;
+ } else
+ if (event.GetEventType() == wxEVT_SCROLL_LINEDOWN)
+ {
+ nScrollInc = 1;
+ } else
+ if (event.GetEventType() == wxEVT_SCROLL_PAGEUP)
+ {
+ if (orient == wxHORIZONTAL)
+ nScrollInc = -GetScrollPageSize(wxHORIZONTAL);
+ else
+ nScrollInc = -GetScrollPageSize(wxVERTICAL);
+ } else
+ if (event.GetEventType() == wxEVT_SCROLL_PAGEDOWN)
+ {
+ if (orient == wxHORIZONTAL)
+ nScrollInc = GetScrollPageSize(wxHORIZONTAL);
+ else
+ nScrollInc = GetScrollPageSize(wxVERTICAL);
+ } else
+ if ((event.GetEventType() == wxEVT_SCROLL_THUMBTRACK) ||
+ (event.GetEventType() == wxEVT_SCROLL_THUMBRELEASE))
+ {
+ if (orient == wxHORIZONTAL)
+ nScrollInc = pos - m_xScrollPosition;
+ else
+ nScrollInc = pos - m_yScrollPosition;
}
+
if (orient == wxHORIZONTAL)
{
int w, h;