X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f05e0979c213a114fd5619dd5de837d05f62e3e0..5875d39c9ba19f518e691792524f2fd03261c825:/src/gtk1/tbargtk.cpp diff --git a/src/gtk1/tbargtk.cpp b/src/gtk1/tbargtk.cpp index f7f791c65e..555803cd80 100644 --- a/src/gtk1/tbargtk.cpp +++ b/src/gtk1/tbargtk.cpp @@ -16,10 +16,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "tbargtk.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -32,8 +28,6 @@ #include #include "wx/gtk/private.h" -extern GdkFont *GtkGetDefaultGuiFont(); - // ---------------------------------------------------------------------------- // globals // ---------------------------------------------------------------------------- @@ -164,6 +158,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxControl) // "clicked" (internal from gtk_toolbar) //----------------------------------------------------------------------------- +extern "C" { static void gtk_toolbar_callback( GtkWidget *WXUNUSED(widget), wxToolBarTool *tool ) { @@ -198,11 +193,13 @@ static void gtk_toolbar_callback( GtkWidget *WXUNUSED(widget), tool->SetPixmap(tool->GetBitmap()); } } +} //----------------------------------------------------------------------------- // "enter_notify_event" / "leave_notify_event" //----------------------------------------------------------------------------- +extern "C" { static gint gtk_toolbar_tool_callback( GtkWidget *WXUNUSED(widget), GdkEventCrossing *gdk_event, wxToolBarTool *tool ) @@ -221,6 +218,7 @@ static gint gtk_toolbar_tool_callback( GtkWidget *WXUNUSED(widget), return FALSE; } +} //----------------------------------------------------------------------------- // InsertChild callback for wxToolBar @@ -267,7 +265,7 @@ wxToolBarToolBase *wxToolBar::CreateTool(wxControl *control) void wxToolBar::Init() { m_toolbar = (GtkToolbar *)NULL; - m_blockEvent = FALSE; + m_blockEvent = false; m_defaultWidth = 32; m_defaultHeight = 32; } @@ -283,7 +281,7 @@ bool wxToolBar::Create( wxWindow *parent, long style, const wxString& name ) { - m_needParent = TRUE; + m_needParent = true; m_insertCallback = (wxInsertChildFunction)wxInsertChildInToolBar; if ( !PreCreation( parent, pos, size ) || @@ -291,7 +289,7 @@ bool wxToolBar::Create( wxWindow *parent, { wxFAIL_MSG( wxT("wxToolBar creation failed") ); - return FALSE; + return false; } #ifdef __WXGTK20__ @@ -340,7 +338,7 @@ bool wxToolBar::Create( wxWindow *parent, PostCreation(size); - return TRUE; + return true; } void wxToolBar::GtkSetStyle() @@ -379,13 +377,13 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) { wxBitmap bitmap = tool->GetNormalBitmap(); - wxCHECK_MSG( bitmap.Ok(), FALSE, + wxCHECK_MSG( bitmap.Ok(), false, wxT("invalid bitmap for wxToolBar icon") ); - wxCHECK_MSG( bitmap.GetBitmap() == NULL, FALSE, + wxCHECK_MSG( bitmap.GetBitmap() == NULL, false, wxT("wxToolBar doesn't support GdkBitmap") ); - wxCHECK_MSG( bitmap.GetPixmap() != NULL, FALSE, + wxCHECK_MSG( bitmap.GetPixmap() != NULL, false, wxT("wxToolBar::Add needs a wxBitmap") ); GtkWidget *tool_pixmap = (GtkWidget *)NULL; @@ -406,7 +404,7 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) GdkBitmap *mask = (GdkBitmap *)NULL; if ( bitmap.GetMask() ) mask = bitmap.GetMask()->GetBitmap(); - + tool_pixmap = gtk_pixmap_new( pixmap, mask ); gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE ); } @@ -430,15 +428,16 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) { wxToolBarToolsList::compatibility_iterator node = wxToolBarToolsList::compatibility_iterator(); - if ( pos ) node = m_tools.Item(pos - 1); + if ( pos ) + node = m_tools.Item(pos - 1); while ( node ) { - wxToolBarTool *tool = (wxToolBarTool *)node->GetData(); - if ( !tool->IsRadio() ) + wxToolBarTool *toolNext = (wxToolBarTool *)node->GetData(); + if ( !toolNext->IsRadio() ) break; - widget = tool->m_item; + widget = toolNext->m_item; node = node->GetPrevious(); } @@ -448,7 +447,7 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) // this is the first button in the radio button group, // it will be toggled automatically by GTK so bring the // internal flag in sync - tool->Toggle(TRUE); + tool->Toggle(true); } } @@ -474,7 +473,7 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) { wxFAIL_MSG( _T("gtk_toolbar_insert_element() failed") ); - return FALSE; + return false; } gtk_signal_connect( GTK_OBJECT(tool->m_item), @@ -492,7 +491,7 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) gtk_toolbar_insert_space( m_toolbar, posGtk ); // skip the rest - return TRUE; + return true; case wxTOOL_STYLE_CONTROL: gtk_toolbar_insert_widget( @@ -512,10 +511,10 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) m_height = req.height + 2*m_yMargin; InvalidateBestSize(); - return TRUE; + return true; } -bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos), wxToolBarToolBase *toolBase) +bool wxToolBar::DoDeleteTool(size_t pos, wxToolBarToolBase *toolBase) { wxToolBarTool *tool = (wxToolBarTool *)toolBase; @@ -529,11 +528,15 @@ bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos), wxToolBarToolBase *toolBase) gtk_widget_destroy( tool->m_item ); break; - //case wxTOOL_STYLE_SEPARATOR: -- nothing to do +#ifdef __WXGTK20__ + case wxTOOL_STYLE_SEPARATOR: + gtk_toolbar_remove_space( m_toolbar, pos ); + break; +#endif } InvalidateBestSize(); - return TRUE; + return true; } // ---------------------------------------------------------------------------- @@ -559,11 +562,11 @@ void wxToolBar::DoToggleTool( wxToolBarToolBase *toolBase, bool toggle ) { tool->SetPixmap(tool->GetBitmap()); - m_blockEvent = TRUE; + m_blockEvent = true; gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(item), toggle ); - m_blockEvent = FALSE; + m_blockEvent = false; } }