]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/filters.cpp
Introduce Property<T> to simplify preferences system
[xonotic/netradiant.git] / radiant / filters.cpp
index 3ff4ddd0703c2290f65624d66ac96a9397ab7029..3957af62e41b74fd9df16a629fb07b006d0ce800 100644 (file)
@@ -127,10 +127,10 @@ ToggleFilterFlag( unsigned int mask ) : m_mask( mask ), m_item( ActiveCaller( *t
 }
 ToggleFilterFlag( const ToggleFilterFlag& other ) : m_mask( other.m_mask ), m_item( ActiveCaller( *this ) ){
 }
-void active( const BoolImportCallback& importCallback ){
+void active( const Callback<void(bool)> &importCallback ){
        importCallback( ( g_filters_globals.exclude & m_mask ) != 0 );
 }
-typedef MemberCaller1<ToggleFilterFlag, const BoolImportCallback&, &ToggleFilterFlag::active> ActiveCaller;
+typedef MemberCaller<ToggleFilterFlag, void(const Callback<void(bool)>&), &ToggleFilterFlag::active> ActiveCaller;
 void toggle(){
        g_filters_globals.exclude ^= m_mask;
        m_item.update();
@@ -141,7 +141,7 @@ void reset(){
        m_item.update();
        PerformFiltering();
 }
-typedef MemberCaller<ToggleFilterFlag, &ToggleFilterFlag::toggle> ToggleCaller;
+typedef MemberCaller<ToggleFilterFlag, void(), &ToggleFilterFlag::toggle> ToggleCaller;
 };
 
 
@@ -171,7 +171,7 @@ void ResetFilters(){
        }
 }
 
-void Filters_constructMenu( GtkMenu* menu_in_menu ){
+void Filters_constructMenu( ui::Menu menu_in_menu ){
        create_check_menu_item_with_mnemonic( menu_in_menu, "World", "FilterWorldBrushes" );
        create_check_menu_item_with_mnemonic( menu_in_menu, "Entities", "FilterEntities" );
        if ( g_pGameDescription->mGameType == "doom3" ) {
@@ -216,10 +216,10 @@ void Filters_constructMenu( GtkMenu* menu_in_menu ){
 #include "stringio.h"
 
 void ConstructFilters(){
-       GlobalPreferenceSystem().registerPreference( "SI_Exclude", SizeImportStringCaller( g_filters_globals.exclude ), SizeExportStringCaller( g_filters_globals.exclude ) );
+       GlobalPreferenceSystem().registerPreference( "SI_Exclude", make_property_string( g_filters_globals.exclude ) );
 
-       GlobalCommands_insert( "InvertFilters", FreeCaller<InvertFilters>() );
-       GlobalCommands_insert( "ResetFilters", FreeCaller<ResetFilters>() );
+       GlobalCommands_insert( "InvertFilters", makeCallbackF(InvertFilters) );
+       GlobalCommands_insert( "ResetFilters", makeCallbackF(ResetFilters) );
 
        add_filter_command( EXCLUDE_WORLD, "FilterWorldBrushes", Accelerator( '1', (GdkModifierType)GDK_MOD1_MASK ) );
        add_filter_command( EXCLUDE_ENT, "FilterEntities", Accelerator( '2', (GdkModifierType)GDK_MOD1_MASK ) );