X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/716b736420b6f9722f44c53931ceeeb23e8e54e4..bd0df01f3f59940fdbca7a3472c256be2d034ab9:/src/gtk/tbargtk.cpp diff --git a/src/gtk/tbargtk.cpp b/src/gtk/tbargtk.cpp index ebf329df11..12dd7b66a7 100644 --- a/src/gtk/tbargtk.cpp +++ b/src/gtk/tbargtk.cpp @@ -106,8 +106,9 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id, bool wxToolBar::OnLeftClick( int toolIndex, bool toggleDown ) { - wxCommandEvent event(wxEVT_COMMAND_TOOL_CLICKED, toolIndex); + wxCommandEvent event( wxEVT_COMMAND_TOOL_CLICKED, toolIndex ); event.SetEventObject(this); + event.SetInt( toolIndex ); event.SetExtraLong((long) toggleDown); GetEventHandler()->ProcessEvent(event); @@ -117,16 +118,18 @@ bool wxToolBar::OnLeftClick( int toolIndex, bool toggleDown ) void wxToolBar::OnRightClick( int toolIndex, float WXUNUSED(x), float WXUNUSED(y) ) { - wxCommandEvent event(wxEVT_COMMAND_TOOL_RCLICKED, toolIndex); - event.SetEventObject(this); + wxCommandEvent event( wxEVT_COMMAND_TOOL_RCLICKED, toolIndex ); + event.SetEventObject( this ); + event.SetInt( toolIndex ); GetEventHandler()->ProcessEvent(event); }; void wxToolBar::OnMouseEnter( int toolIndex ) { - wxCommandEvent event(wxEVT_COMMAND_TOOL_ENTER, toolIndex); + wxCommandEvent event( wxEVT_COMMAND_TOOL_ENTER, toolIndex ); event.SetEventObject(this); + event.SetInt( toolIndex ); GetEventHandler()->ProcessEvent(event); }; @@ -167,41 +170,98 @@ void wxToolBar::AddSeparator(void) void wxToolBar::ClearTools(void) { + wxFAIL_MSG("wxToolBar::ClearTools not implemented"); }; -void wxToolBar::EnableTool(int toolIndex, bool enable) +void wxToolBar::Realize(void) { + m_x = 0; + m_y = 0; + m_width = 100; + m_height = 0; + + wxNode *node = m_tools.First(); + while (node) + { + wxToolBarTool *tool = (wxToolBarTool*)node->Data(); + if (tool->m_bitmap1.Ok()) + { + int tool_height = tool->m_bitmap1.GetHeight(); + if (tool_height > m_height) m_height = tool_height; + }; + + node = node->Next(); + }; + + m_height += 10; }; -void wxToolBar::ToggleTool(int toolIndex, bool toggle) +void wxToolBar::EnableTool(int toolIndex, bool enable) { + wxNode *node = m_tools.First(); + while (node) + { + wxToolBarTool *tool = (wxToolBarTool*)node->Data(); + if (tool->m_index == toolIndex) + { + tool->m_enabled = enable; + return; + } + node = node->Next(); + }; }; -void wxToolBar::SetToggle(int toolIndex, bool toggle) +void wxToolBar::ToggleTool(int WXUNUSED(toolIndex), bool WXUNUSED(toggle) ) { + wxFAIL_MSG("wxToolBar::ToggleTool not implemented"); }; wxObject *wxToolBar::GetToolClientData(int index) const { + wxNode *node = m_tools.First(); + while (node) + { + wxToolBarTool *tool = (wxToolBarTool*)node->Data(); + if (tool->m_index == index) return tool->m_clientData;; + node = node->Next(); + }; + return (wxObject*)NULL; }; bool wxToolBar::GetToolState(int toolIndex) const { + wxNode *node = m_tools.First(); + while (node) + { + wxToolBarTool *tool = (wxToolBarTool*)node->Data(); + if (tool->m_index == toolIndex) return tool->m_toggleState; + node = node->Next(); + }; + return FALSE; }; bool wxToolBar::GetToolEnabled(int toolIndex) const { + wxNode *node = m_tools.First(); + while (node) + { + wxToolBarTool *tool = (wxToolBarTool*)node->Data(); + if (tool->m_index == toolIndex) return tool->m_enabled; + node = node->Next(); + }; + return FALSE; }; -void wxToolBar::SetMargins(int x, int y) +void wxToolBar::SetMargins( int WXUNUSED(x), int WXUNUSED(y) ) { }; -void wxToolBar::SetToolPacking(int packing) +void wxToolBar::SetToolPacking( int WXUNUSED(packing) ) { }; -void wxToolBar::SetToolSeparation(int separation) +void wxToolBar::SetToolSeparation( int separation ) { + gtk_toolbar_set_space_size( m_toolbar, separation ); };