From: Thomas Debesse Date: Tue, 12 Feb 2019 01:56:08 +0000 (+0100) Subject: Merge commit '6f51c7f28dc9f56ae64e7da7d42dcbaa068da65a' into garux-merge X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=c3765eb6e7f6879e5a34c48f71e5ee7bc8b8851f;p=xonotic%2Fnetradiant.git Merge commit '6f51c7f28dc9f56ae64e7da7d42dcbaa068da65a' into garux-merge --- c3765eb6e7f6879e5a34c48f71e5ee7bc8b8851f diff --cc libs/gtkutil/dialog.cpp index fddf060e,fb513e97..aa8aad47 --- a/libs/gtkutil/dialog.cpp +++ b/libs/gtkutil/dialog.cpp @@@ -200,21 -209,21 +200,21 @@@ PathEntry PathEntry_new() gtk_frame_set_shadow_type( frame, GTK_SHADOW_IN ); // path entry - GtkHBox* hbox = GTK_HBOX( gtk_hbox_new( FALSE, 0 ) ); - gtk_widget_show( GTK_WIDGET( hbox ) ); + auto hbox = ui::HBox( FALSE, 0 ); + hbox.show(); - GtkEntry* entry = GTK_ENTRY( gtk_entry_new() ); + auto entry = ui::Entry(ui::New); gtk_entry_set_has_frame( entry, FALSE ); - gtk_widget_show( GTK_WIDGET( entry ) ); - gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( entry ), TRUE, TRUE, 0 ); + entry.show(); + hbox.pack_start( entry, TRUE, TRUE, 0 ); // browse button - GtkButton* button = GTK_BUTTON( gtk_button_new() ); + auto button = ui::Button(ui::New); - button_set_icon( button, "ellipsis.bmp" ); + button_set_icon( button, "ellipsis.png" ); - gtk_widget_show( GTK_WIDGET( button ) ); - gtk_box_pack_end( GTK_BOX( hbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 ); + button.show(); + hbox.pack_end(button, FALSE, FALSE, 0); - gtk_container_add( GTK_CONTAINER( frame ), GTK_WIDGET( hbox ) ); + frame.add(hbox); return PathEntry( frame, entry, button ); } diff --cc libs/gtkutil/image.cpp index 210b055c,2791fd47..a79b5b14 --- a/libs/gtkutil/image.cpp +++ b/libs/gtkutil/image.cpp @@@ -44,8 -45,9 +44,9 @@@ GdkPixbuf* pixbuf_new_from_file_with_ma } else { + //GdkPixbuf* rgba = gdk_pixbuf_add_alpha( rgb, TRUE, 255, 0, 255 ); //pink to alpha - GdkPixbuf* rgba = gdk_pixbuf_add_alpha( rgb, FALSE, 255, 0, 255 ); //alpha - gdk_pixbuf_unref( rgb ); + GdkPixbuf* rgba = gdk_pixbuf_add_alpha( rgb, FALSE, 255, 0, 255 ); + g_object_unref( rgb ); return rgba; } } diff --cc radiant/CMakeLists.txt index 05d79830,00000000..1edced73 mode 100644,000000..100644 --- a/radiant/CMakeLists.txt +++ b/radiant/CMakeLists.txt @@@ -1,133 -1,0 +1,134 @@@ +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") + +find_package(OpenGL REQUIRED) + +string(SUBSTRING ${CMAKE_SHARED_MODULE_SUFFIX} 1 -1 _clibext) +add_definitions(-DCMAKE_SHARED_MODULE_SUFFIX="${_clibext}") +unset(_clibext) + +set(RADIANTLIST + autosave.cpp autosave.h + brush.cpp brush.h + brush_primit.cpp brush_primit.h + brushmanip.cpp brushmanip.h + brushmodule.cpp brushmodule.h + brushnode.cpp brushnode.h + brushtokens.cpp brushtokens.h + brushxml.cpp brushxml.h + build.cpp build.h + camwindow.cpp camwindow.h + clippertool.cpp clippertool.h + commands.cpp commands.h + console.cpp console.h + csg.cpp csg.h + dialog.cpp dialog.h + eclass.cpp eclass.h + eclass_def.cpp eclass_def.h + eclass_doom3.cpp eclass_doom3.h + eclass_fgd.cpp eclass_fgd.h + eclass_xml.cpp eclass_xml.h + entity.cpp entity.h + entityinspector.cpp entityinspector.h + entitylist.cpp entitylist.h + environment.cpp environment.h + error.cpp error.h + feedback.cpp feedback.h + filetypes.cpp filetypes.h ++ filterbar.cpp filterbar.h + filters.cpp filters.h + findtexturedialog.cpp findtexturedialog.h + glwidget.cpp glwidget.h + grid.cpp grid.h + groupdialog.cpp groupdialog.h + gtkdlgs.cpp gtkdlgs.h + gtkmisc.cpp gtkmisc.h + help.cpp help.h + image.cpp image.h + main.cpp main.h + mainframe.cpp mainframe.h + map.cpp map.h + mru.cpp mru.h + nullmodel.cpp nullmodel.h + parse.cpp parse.h + patch.cpp patch.h + patchdialog.cpp patchdialog.h + patchmanip.cpp patchmanip.h + patchmodule.cpp patchmodule.h + plugin.cpp plugin.h + pluginapi.cpp pluginapi.h + pluginmanager.cpp pluginmanager.h + pluginmenu.cpp pluginmenu.h + plugintoolbar.cpp plugintoolbar.h + points.cpp points.h + preferencedictionary.cpp preferencedictionary.h + preferences.cpp preferences.h + qe3.cpp qe3.h + qgl.cpp qgl.h + referencecache.cpp referencecache.h + renderer.cpp renderer.h + renderstate.cpp renderstate.h + resource.h + scenegraph.cpp scenegraph.h + select.cpp select.h + selection.cpp selection.h + server.cpp server.h + shaders.cpp shaders.h + sockets.cpp sockets.h + stacktrace.cpp stacktrace.h + surfacedialog.cpp surfacedialog.h + texmanip.cpp texmanip.h + textureentry.cpp textureentry.h + textures.cpp textures.h + texwindow.cpp texwindow.h + timer.cpp timer.h + treemodel.cpp treemodel.h + undo.cpp undo.h + url.cpp url.h + view.cpp view.h + watchbsp.cpp watchbsp.h + winding.cpp winding.h + windowobservers.cpp windowobservers.h + xmlstuff.cpp xmlstuff.h + xywindow.cpp xywindow.h +) +if (WIN32) + list(APPEND RADIANTLIST multimon.cpp multimon.h) +endif() + +radiant_tool(radiant WIN32 radiant.rc ${RADIANTLIST}) +add_dependencies(radiant modules) +target_link_libraries(radiant + ${CMAKE_DL_LIBS} + ${LIBXML2_LIBRARIES} + ${OPENGL_gl_LIBRARY} + ${GTK${GTK_TARGET}_LIBRARIES} + ${GTKGL_LIBRARIES} + includes + cmdlib + container + ddslib + debugging + etclib + filematch + generic + l_net + math + mathlib + memory + modulesystem + os + picomodel + profile + script + signal + splines + stream + string + uilib + xmllib +) +if (X11_LIBRARIES) + target_link_libraries(radiant ${X11_LIBRARIES}) +endif () + +copy_dlls(radiant) diff --cc radiant/environment.h index f36ce11b,18398e8c..98c33ab9 --- a/radiant/environment.h +++ b/radiant/environment.h @@@ -27,10 -27,10 +27,10 @@@ const char* environment_get_home_path() const char* environment_get_app_path(); extern int g_argc; -extern char** g_argv; +extern char const** g_argv; #if defined( WIN32 ) - extern char openCmdMap[260]; + extern char* openCmdMap; #endif diff --cc radiant/filterbar.cpp index 00000000,8251a4bf..6f9958cc mode 000000,100644..100644 --- a/radiant/filterbar.cpp +++ b/radiant/filterbar.cpp @@@ -1,0 -1,221 +1,250 @@@ + #include "filterbar.h" -#include ++ ++#include "gtk/gtk.h" ++ + #include "gtkmisc.h" + #include "gtkutil/widget.h" + #include "stream/stringstream.h" + #include "select.h" + #include "iundo.h" + #include "preferences.h" + + #include "commands.h" + #include "gtkutil/accelerator.h" + #include "generic/callback.h" + + - - + int ToggleActions = 0; + int ButtonNum = 0; + -gboolean ToggleActions0( GtkWidget *widget, GdkEvent *event, gpointer user_data ){ ++ ++gboolean ToggleActions0( ui::Widget widget, GdkEvent *event, gpointer user_data ){ + ToggleActions = 0; + return FALSE; + //globalOutputStream() << "ToggleActions\n"; + } + ++ + void SetCommonShader( const char* key, const char* shader ){ + const char* gotShader = g_pGameDescription->getKeyValue( key ); + UndoableCommand undo( "textureNameSetSelected" ); + if ( gotShader && *gotShader ){ + Select_SetShader( gotShader ); + } + else{ + Select_SetShader( shader ); + } + } + + -gboolean Areaportals_button_press( GtkWidget *widget, GdkEventButton *event, gpointer data ){ ++gboolean Areaportals_button_press( ui::Widget widget, GdkEventButton *event, gpointer data ){ + if ( event->button == 3 && event->type == GDK_BUTTON_PRESS ) { + if ( ButtonNum == 1 ){ + ToggleActions %= 2; + } + else{ + ToggleActions = 0; + ButtonNum = 1; + } + if( ToggleActions == 0 ){ + SetCommonShader( "shader_nodraw", "textures/common/nodraw" ); + } + else if( ToggleActions == 1 ){ + SetCommonShader( "shader_nodrawnonsolid", "textures/common/nodrawnonsolid" ); + } + //SetCommonShader( "shader_caulk", "textures/common/caulk" ); + //globalOutputStream() << "Found '" << "fullname" << "'\n"; + ToggleActions++; + return TRUE; + } + return FALSE; + } + + -gboolean Caulk_button_press( GtkWidget *widget, GdkEventButton *event, gpointer data ){ ++gboolean Caulk_button_press( ui::Widget widget, GdkEventButton *event, gpointer data ){ + if ( event->button == 3 && event->type == GDK_BUTTON_PRESS ) { + SetCommonShader( "shader_caulk", "textures/common/caulk" ); + ToggleActions = 0; + return TRUE; + } + return FALSE; + } + -gboolean Clip_button_press( GtkWidget *widget, GdkEventButton *event, gpointer data ){ ++ ++gboolean Clip_button_press( ui::Widget widget, GdkEventButton *event, gpointer data ){ + if ( event->button == 3 && event->type == GDK_BUTTON_PRESS ) { + if ( ButtonNum == 3 ){ + ToggleActions %= 2; + } + else{ + ToggleActions = 0; + ButtonNum = 3; + } + if( ToggleActions == 0 ){ + SetCommonShader( "shader_clip", "textures/common/clip" ); + } + else if( ToggleActions == 1 ){ + SetCommonShader( "shader_weapclip", "textures/common/weapclip" ); + } + ToggleActions++; + return TRUE; + } + return FALSE; + } + -gboolean Liquids_button_press( GtkWidget *widget, GdkEventButton *event, gpointer data ){ ++ ++gboolean Liquids_button_press( ui::Widget widget, GdkEventButton *event, gpointer data ){ + if ( event->button == 3 && event->type == GDK_BUTTON_PRESS ) { + if ( ButtonNum == 4 ){ + ToggleActions %= 3; + } + else{ + ToggleActions = 0; + ButtonNum = 4; + } + if( ToggleActions == 0 ){ + SetCommonShader( "shader_watercaulk", "textures/common/watercaulk" ); + } + else if( ToggleActions == 1 ){ + SetCommonShader( "shader_lavacaulk", "textures/common/lavacaulk" ); + } + else if( ToggleActions == 2 ){ + SetCommonShader( "shader_slimecaulk", "textures/common/slimecaulk" ); + } + ToggleActions++; + return TRUE; + } + return FALSE; + } + + -gboolean Hint_button_press( GtkWidget *widget, GdkEventButton *event, gpointer data ){ ++gboolean Hint_button_press( ui::Widget widget, GdkEventButton *event, gpointer data ){ + if ( event->button == 3 && event->type == GDK_BUTTON_PRESS ) { + if ( ButtonNum == 5 ){ + ToggleActions %= 3; + } + else{ + ToggleActions = 0; + ButtonNum = 5; + } + if( ToggleActions == 0 ){ + SetCommonShader( "shader_hint", "textures/common/hint" ); + } + else if( ToggleActions == 1 ){ + SetCommonShader( "shader_hintlocal", "textures/common/hintlocal" ); + } + else if( ToggleActions == 2 ){ + SetCommonShader( "shader_hintskip", "textures/common/hintskip" ); + } + ToggleActions++; + return TRUE; + } + return FALSE; + } + -gboolean Trigger_button_press( GtkWidget *widget, GdkEventButton *event, gpointer data ){ ++ ++gboolean Trigger_button_press( ui::Widget widget, GdkEventButton *event, gpointer data ){ + if ( event->button == 3 && event->type == GDK_BUTTON_PRESS ) { + SetCommonShader( "shader_trigger", "textures/common/trigger" ); + ToggleActions = 0; + return TRUE; + } + return FALSE; + } + -gboolean Detail_button_press( GtkWidget *widget, GdkEventButton *event, gpointer data ){ ++ ++gboolean Detail_button_press( ui::Widget widget, GdkEventButton *event, gpointer data ){ + if ( event->button == 3 && event->type == GDK_BUTTON_PRESS ) { + GlobalCommands_find( "MakeDetail" ).m_callback(); + ToggleActions = 0; + return TRUE; + } + return FALSE; + } + -gboolean Structural_button_press( GtkWidget *widget, GdkEventButton *event, gpointer data ){ ++ ++gboolean Structural_button_press( ui::Widget widget, GdkEventButton *event, gpointer data ){ + if ( event->button == 3 && event->type == GDK_BUTTON_PRESS ) { + GlobalCommands_find( "MakeStructural" ).m_callback(); + ToggleActions = 0; + return TRUE; + } + return FALSE; + } + + -GtkToolbar* create_filter_toolbar(){ - GtkToolbar* filter_toolbar = GTK_TOOLBAR( gtk_toolbar_new() ); - gtk_widget_show( GTK_WIDGET( filter_toolbar ) ); - g_signal_connect( G_OBJECT( filter_toolbar ), "enter_notify_event", G_CALLBACK( ToggleActions0 ), 0 ); ++ui::Toolbar create_filter_toolbar(){ ++ auto filter_toolbar = ui::Toolbar::from( gtk_toolbar_new() ); ++ gtk_orientable_set_orientation( GTK_ORIENTABLE(filter_toolbar), GTK_ORIENTATION_HORIZONTAL ); ++ gtk_toolbar_set_style( filter_toolbar, GTK_TOOLBAR_ICONS ); ++ filter_toolbar.show(); + - GtkToggleButton* button; + - toolbar_append_toggle_button( filter_toolbar, "World (ALT + 1)", "f-world.png", "FilterWorldBrushes" ); ++ auto space = [&]() { ++ auto btn = ui::ToolItem::from(gtk_separator_tool_item_new()); ++ btn.show(); ++ filter_toolbar.add(btn); ++ }; + - button = toolbar_append_toggle_button( filter_toolbar, "Details (CTRL + D)\nRightClick: MakeDetail", "f-details.png", "FilterDetails" ); - g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Detail_button_press ), 0 ); ++ g_signal_connect( G_OBJECT( filter_toolbar ), "enter_notify_event", G_CALLBACK( ToggleActions0 ), 0 ); ++ ++ toolbar_append_toggle_button( filter_toolbar, "World (ALT + 1)", "f-world.png", "FilterWorldBrushes" ); + - button = toolbar_append_toggle_button( filter_toolbar, "Structural (CTRL + SHIFT + D)\nRightClick: MakeStructural", "f-structural.png", "FilterStructural" ); - g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Structural_button_press ), 0 ); ++ { ++ auto button = toolbar_append_toggle_button( filter_toolbar, "Details (CTRL + D)\nRightClick: MakeDetail", "f-details.png", "FilterDetails" ); ++ g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Detail_button_press ), 0 ); ++ } + ++ { ++ auto button = toolbar_append_toggle_button( filter_toolbar, "Structural (CTRL + SHIFT + D)\nRightClick: MakeStructural", "f-structural.png", "FilterStructural" ); ++ g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Structural_button_press ), 0 ); ++ } + + toolbar_append_toggle_button( filter_toolbar, "Patches (CTRL + P)", "patch_wireframe.png", "FilterPatches" ); - gtk_toolbar_append_space( GTK_TOOLBAR( filter_toolbar ) ); - - button = toolbar_append_toggle_button( filter_toolbar, "Areaportals (ALT + 3)\nRightClick: toggle tex\n\tnoDraw\n\tnoDrawNonSolid", "f-areaportal.png", "FilterAreaportals" ); - g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Areaportals_button_press ), 0 ); ++ space(); + ++ { ++ auto button = toolbar_append_toggle_button( filter_toolbar, "Areaportals (ALT + 3)\nRightClick: toggle tex\n\tnoDraw\n\tnoDrawNonSolid", "f-areaportal.png", "FilterAreaportals" ); ++ g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Areaportals_button_press ), 0 ); ++ } + + + toolbar_append_toggle_button( filter_toolbar, "Translucent (ALT + 4)", "f-translucent.png", "FilterTranslucent" ); + - button = toolbar_append_toggle_button( filter_toolbar, "Liquids (ALT + 5)\nRightClick: toggle tex\n\twaterCaulk\n\tlavaCaulk\n\tslimeCaulk", "f-liquids.png", "FilterLiquids" ); - g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Liquids_button_press ), 0 ); ++ { ++ auto button = toolbar_append_toggle_button( filter_toolbar, "Liquids (ALT + 5)\nRightClick: toggle tex\n\twaterCaulk\n\tlavaCaulk\n\tslimeCaulk", "f-liquids.png", "FilterLiquids" ); ++ g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Liquids_button_press ), 0 ); ++ } + - button = toolbar_append_toggle_button( filter_toolbar, "Caulk (ALT + 6)\nRightClick: tex Caulk", "f-caulk.png", "FilterCaulk" ); - g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Caulk_button_press ), 0 ); ++ { ++ auto button = toolbar_append_toggle_button( filter_toolbar, "Caulk (ALT + 6)\nRightClick: tex Caulk", "f-caulk.png", "FilterCaulk" ); ++ g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Caulk_button_press ), 0 ); ++ } + - button = toolbar_append_toggle_button( filter_toolbar, "Clips (ALT + 7)\nRightClick: toggle tex\n\tplayerClip\n\tweapClip", "f-clip.png", "FilterClips" ); - g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Clip_button_press ), 0 ); ++ { ++ auto button = toolbar_append_toggle_button( filter_toolbar, "Clips (ALT + 7)\nRightClick: toggle tex\n\tplayerClip\n\tweapClip", "f-clip.png", "FilterClips" ); ++ g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Clip_button_press ), 0 ); ++ } + - button = toolbar_append_toggle_button( filter_toolbar, "HintsSkips (CTRL + H)\nRightClick: toggle tex\n\thint\n\thintLocal\n\thintSkip", "f-hint.png", "FilterHintsSkips" ); - g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Hint_button_press ), 0 ); ++ { ++ auto button = toolbar_append_toggle_button( filter_toolbar, "HintsSkips (CTRL + H)\nRightClick: toggle tex\n\thint\n\thintLocal\n\thintSkip", "f-hint.png", "FilterHintsSkips" ); ++ g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Hint_button_press ), 0 ); ++ } + + //toolbar_append_toggle_button( filter_toolbar, "Paths (ALT + 8)", "texture_lock.png", "FilterPaths" ); - gtk_toolbar_append_space( GTK_TOOLBAR( filter_toolbar ) ); ++ space(); + toolbar_append_toggle_button( filter_toolbar, "Entities (ALT + 2)", "f-entities.png", "FilterEntities" ); + toolbar_append_toggle_button( filter_toolbar, "Lights (ALT + 0)", "lightinspector.png", "FilterLights" ); + toolbar_append_toggle_button( filter_toolbar, "Models (SHIFT + M)", "f-models.png", "FilterModels" ); + - button = toolbar_append_toggle_button( filter_toolbar, "Triggers (CTRL + SHIFT + T)\nRightClick: tex Trigger", "f-triggers.png", "FilterTriggers" ); - g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Trigger_button_press ), 0 ); ++ { ++ auto button = toolbar_append_toggle_button( filter_toolbar, "Triggers (CTRL + SHIFT + T)\nRightClick: tex Trigger", "f-triggers.png", "FilterTriggers" ); ++ g_signal_connect( G_OBJECT( button ), "button_press_event", G_CALLBACK( Trigger_button_press ), 0 ); ++ } + + //toolbar_append_toggle_button( filter_toolbar, "Decals (SHIFT + D)", "f-decals.png", "FilterDecals" ); - gtk_toolbar_append_space( GTK_TOOLBAR( filter_toolbar ) ); ++ space(); + toolbar_append_button( filter_toolbar, "InvertFilters", "f-invert.png", "InvertFilters" ); + toolbar_append_button( filter_toolbar, "ResetFilters", "f-reset.png", "ResetFilters" ); + return filter_toolbar; + } diff --cc radiant/filterbar.h index 00000000,7b2888bb..ee705366 mode 000000,100644..100644 --- a/radiant/filterbar.h +++ b/radiant/filterbar.h @@@ -1,0 -1,16 +1,8 @@@ + #if !defined( INCLUDED_FILTERBAR_H ) + #define INCLUDED_FILTERBAR_H + -#include - - - - - - - -GtkToolbar* create_filter_toolbar(); - ++#include + ++ui::Toolbar create_filter_toolbar(); + + #endif diff --cc radiant/mainframe.cpp index 93edac9a,a4eaf8df..196a60df --- a/radiant/mainframe.cpp +++ b/radiant/mainframe.cpp @@@ -99,7 -116,8 +99,8 @@@ #include "renderstate.h" #include "feedback.h" #include "referencecache.h" - +#include "texwindow.h" + #include "filterbar.h" struct layout_globals_t @@@ -2942,38 -2799,8 +2943,8 @@@ void MainFrame::Create() } } if ( g_Layout_enableFilterToolbar.m_value ){ - auto filter_toolbar = create_filter_toolbar(); - filter_toolbar.show(); - - auto space = [&]() { - auto btn = gtk_separator_tool_item_new(); - gtk_widget_show(GTK_WIDGET(btn)); - gtk_container_add(GTK_CONTAINER(filter_toolbar), GTK_WIDGET(btn)); - }; - - toolbar_append_toggle_button( filter_toolbar, "World (ALT + 1)", "f-world.bmp", "FilterWorldBrushes" ); - toolbar_append_toggle_button( filter_toolbar, "Details (CTRL + D)", "f-details.bmp", "FilterDetails" ); - toolbar_append_toggle_button( filter_toolbar, "Structural (CTRL + SHIFT + D)", "f-structural.bmp", "FilterStructural" ); - toolbar_append_toggle_button( filter_toolbar, "Patches (CTRL + P)", "patch_wireframe.png", "FilterPatches" ); - space(); - toolbar_append_toggle_button( filter_toolbar, "Areaportals (ALT + 3)", "f-areaportal.bmp", "FilterAreaportals" ); - toolbar_append_toggle_button( filter_toolbar, "Translucent (ALT + 4)", "f-translucent.bmp", "FilterTranslucent" ); - toolbar_append_toggle_button( filter_toolbar, "Liquids (ALT + 5)", "f-liquids.bmp", "FilterLiquids" ); - toolbar_append_toggle_button( filter_toolbar, "Caulk (ALT + 6)", "f-caulk.bmp", "FilterCaulk" ); - toolbar_append_toggle_button( filter_toolbar, "Clips (ALT + 7)", "f-clip.bmp", "FilterClips" ); - toolbar_append_toggle_button( filter_toolbar, "HintsSkips (CTRL + H)", "f-hint.bmp", "FilterHintsSkips" ); - //toolbar_append_toggle_button( filter_toolbar, "Paths (ALT + 8)", "texture_lock.bmp", "FilterPaths" ); - space(); - toolbar_append_toggle_button( filter_toolbar, "Entities (ALT + 2)", "f-entities.bmp", "FilterEntities" ); - toolbar_append_toggle_button( filter_toolbar, "Lights (ALT + 0)", "lightinspector.png", "FilterLights" ); - toolbar_append_toggle_button( filter_toolbar, "Models (SHIFT + M)", "f-models.bmp", "FilterModels" ); - toolbar_append_toggle_button( filter_toolbar, "Triggers (CTRL + SHIFT + T)", "f-triggers.bmp", "FilterTriggers" ); - //toolbar_append_toggle_button( filter_toolbar, "Decals (SHIFT + D)", "f-decals.bmp", "FilterDecals" ); - space(); - toolbar_append_button( filter_toolbar, "InvertFilters", "f-invert.bmp", "InvertFilters" ); - toolbar_append_button( filter_toolbar, "ResetFilters", "f-reset.bmp", "ResetFilters" ); - - PFbox.pack_start( filter_toolbar, FALSE, FALSE, 0 ); - GtkToolbar* filter_toolbar = create_filter_toolbar(); - gtk_box_pack_start( GTK_BOX( PFbox ), GTK_WIDGET( filter_toolbar ), TRUE, TRUE, 0 ); ++ ui::Toolbar filter_toolbar = create_filter_toolbar(); ++ PFbox.pack_start( filter_toolbar, TRUE, TRUE, 0 ); } } diff --cc radiant/plugintoolbar.h index 97c637f2,7621cfd2..97bbffb2 --- a/radiant/plugintoolbar.h +++ b/radiant/plugintoolbar.h @@@ -24,9 -22,8 +24,8 @@@ #if !defined( INCLUDED_PLUGINTOOLBAR_H ) #define INCLUDED_PLUGINTOOLBAR_H -typedef struct _GtkToolbar GtkToolbar; -GtkToolbar* create_plugin_toolbar(); +ui::Toolbar create_plugin_toolbar(); - ui::Toolbar create_filter_toolbar(); + void PluginToolbar_populate(); void PluginToolbar_clear();