X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fcommands.cpp;h=9c1b7682246febb16f70c082faba1da1b418dbd2;hb=09c7358f15264e0436c4f1b762d942e2570af831;hp=c92bd23b4f5efc87b521b1f2007668cf0f376912;hpb=f0350b355f68497312c517c1bfd1fc216c722992;p=xonotic%2Fnetradiant.git diff --git a/radiant/commands.cpp b/radiant/commands.cpp index c92bd23b..9c1b7682 100644 --- a/radiant/commands.cpp +++ b/radiant/commands.cpp @@ -71,7 +71,7 @@ typedef std::map Commands; Commands g_commands; -void GlobalCommands_insert( const char* name, const Callback& callback, const Accelerator& accelerator ){ +void GlobalCommands_insert( const char* name, const Callback& callback, const Accelerator& accelerator ){ bool added = g_commands.insert( Commands::value_type( name, Command( callback, GlobalShortcuts_insert( name, accelerator ) ) ) ).second; ASSERT_MESSAGE( added, "command already registered: " << makeQuoted( name ) ); } @@ -87,7 +87,7 @@ typedef std::map Toggles; Toggles g_toggles; -void GlobalToggles_insert( const char* name, const Callback& callback, const BoolExportCallback& exportCallback, const Accelerator& accelerator ){ +void GlobalToggles_insert( const char* name, const Callback& callback, const Callback &)>& exportCallback, const Accelerator& accelerator ){ bool added = g_toggles.insert( Toggles::value_type( name, Toggle( callback, GlobalShortcuts_insert( name, accelerator ), exportCallback ) ) ).second; ASSERT_MESSAGE( added, "toggle already registered: " << makeQuoted( name ) ); } @@ -102,7 +102,7 @@ typedef std::map KeyEvents; KeyEvents g_keyEvents; -void GlobalKeyEvents_insert( const char* name, const Accelerator& accelerator, const Callback& keyDown, const Callback& keyUp ){ +void GlobalKeyEvents_insert( const char* name, const Accelerator& accelerator, const Callback& keyDown, const Callback& keyUp ){ bool added = g_keyEvents.insert( KeyEvents::value_type( name, KeyEvent( GlobalShortcuts_insert( name, accelerator ), keyDown, keyUp ) ) ).second; ASSERT_MESSAGE( added, "command already registered: " << makeQuoted( name ) ); } @@ -161,17 +161,17 @@ void connect_accelerator( const char *name ){ struct command_list_dialog_t : public ModalDialog { command_list_dialog_t() - : m_close_button( *this, eIDCANCEL ), m_list( NULL ), m_command_iter(), m_model( NULL ), m_waiting_for_key( false ){ + : m_close_button( *this, eIDCANCEL ), m_list( ui::null ), m_command_iter(), m_model( ui::null ), m_waiting_for_key( false ){ } ModalDialogButton m_close_button; ui::TreeView m_list; GtkTreeIter m_command_iter; - GtkTreeModel *m_model; + ui::TreeModel m_model; bool m_waiting_for_key; }; -void accelerator_clear_button_clicked( GtkButton *btn, gpointer dialogptr ){ +void accelerator_clear_button_clicked( ui::Button btn, gpointer dialogptr ){ command_list_dialog_t &dialog = *(command_list_dialog_t *) dialogptr; if ( dialog.m_waiting_for_key ) { @@ -179,11 +179,11 @@ void accelerator_clear_button_clicked( GtkButton *btn, gpointer dialogptr ){ dialog.m_waiting_for_key = false; gtk_list_store_set( ui::ListStore::from( dialog.m_model ), &dialog.m_command_iter, 2, false, -1 ); gtk_widget_set_sensitive( dialog.m_list , true ); - dialog.m_model = NULL; + dialog.m_model = ui::TreeModel(ui::null); return; } - GtkTreeSelection *sel = gtk_tree_view_get_selection( dialog.m_list ); + auto sel = gtk_tree_view_get_selection( dialog.m_list ); GtkTreeModel *model; GtkTreeIter iter; if ( !gtk_tree_selection_get_selected( sel, &model, &iter ) ) { @@ -192,7 +192,7 @@ void accelerator_clear_button_clicked( GtkButton *btn, gpointer dialogptr ){ GValue val; memset( &val, 0, sizeof( val ) ); - gtk_tree_model_get_value( GTK_TREE_MODEL( model ), &iter, 0, &val ); + gtk_tree_model_get_value(model, &iter, 0, &val ); const char *commandName = g_value_get_string( &val );; // clear the ACTUAL accelerator too! @@ -209,18 +209,18 @@ void accelerator_clear_button_clicked( GtkButton *btn, gpointer dialogptr ){ g_value_unset( &val ); } -void accelerator_edit_button_clicked( GtkButton *btn, gpointer dialogptr ){ +void accelerator_edit_button_clicked( ui::Button btn, gpointer dialogptr ){ command_list_dialog_t &dialog = *(command_list_dialog_t *) dialogptr; // 1. find selected row - GtkTreeSelection *sel = gtk_tree_view_get_selection( dialog.m_list ); + auto sel = gtk_tree_view_get_selection( dialog.m_list ); GtkTreeModel *model; GtkTreeIter iter; if ( !gtk_tree_selection_get_selected( sel, &model, &iter ) ) { return; } dialog.m_command_iter = iter; - dialog.m_model = model; + dialog.m_model = ui::TreeModel::from(model); // 2. disallow changing the row //gtk_widget_set_sensitive(dialog.m_list, false); @@ -269,7 +269,7 @@ bool accelerator_window_key_press( ui::Window widget, GdkEventKey *event, gpoint // 7. find the name of the accelerator GValue val; memset( &val, 0, sizeof( val ) ); - gtk_tree_model_get_value( GTK_TREE_MODEL( dialog.m_model ), &dialog.m_command_iter, 0, &val ); + gtk_tree_model_get_value(dialog.m_model, &dialog.m_command_iter, 0, &val ); const char *commandName = g_value_get_string( &val );; Shortcuts::iterator thisShortcutIterator = g_shortcuts.find( commandName ); if ( thisShortcutIterator == g_shortcuts.end() ) { @@ -287,10 +287,10 @@ bool accelerator_window_key_press( ui::Window widget, GdkEventKey *event, gpoint const char *commandName; const Accelerator &newAccel; ui::Widget widget; - GtkTreeModel *model; + ui::TreeModel model; public: bool allow; - VerifyAcceleratorNotTaken( const char *name, const Accelerator &accelerator, ui::Widget w, GtkTreeModel *m ) : commandName( name ), newAccel( accelerator ), widget( w ), model( m ), allow( true ){ + VerifyAcceleratorNotTaken( const char *name, const Accelerator &accelerator, ui::Widget w, ui::TreeModel m ) : commandName( name ), newAccel( accelerator ), widget( w ), model( m ), allow( true ){ } void visit( const char* name, Accelerator& accelerator ){ if ( !strcmp( name, commandName ) ) { @@ -306,7 +306,7 @@ public: StringOutputStream msg; msg << "The command " << name << " is already assigned to the key " << accelerator << ".\n\n" << "Do you want to unassign " << name << " first?"; - auto r = widget.window().alert( msg.c_str(), "Key already used", ui::alert_type::YESNOCANCEL ); + auto r = ui::alert( widget.window(), msg.c_str(), "Key already used", ui::alert_type::YESNOCANCEL ); if ( r == ui::alert_response::YES ) { // clear the ACTUAL accelerator too! disconnect_accelerator( name ); @@ -314,18 +314,18 @@ public: accelerator = accelerator_null(); // empty the cell of the key binds dialog GtkTreeIter i; - if ( gtk_tree_model_get_iter_first( GTK_TREE_MODEL( model ), &i ) ) { + if ( gtk_tree_model_get_iter_first(model, &i ) ) { for (;; ) { GValue val; memset( &val, 0, sizeof( val ) ); - gtk_tree_model_get_value( GTK_TREE_MODEL( model ), &i, 0, &val ); + gtk_tree_model_get_value(model, &i, 0, &val ); const char *thisName = g_value_get_string( &val );; if ( !strcmp( thisName, name ) ) { gtk_list_store_set( ui::ListStore::from( model ), &i, 1, "", -1 ); } g_value_unset( &val ); - if ( !gtk_tree_model_iter_next( GTK_TREE_MODEL( model ), &i ) ) { + if ( !gtk_tree_model_iter_next(model, &i ) ) { break; } } @@ -360,7 +360,7 @@ public: g_value_unset( &val ); - dialog.m_model = NULL; + dialog.m_model = ui::TreeModel(ui::null); return true; } @@ -369,9 +369,9 @@ public: GtkTreeIter row; GValue val; if(!model) {g_error("Unable to get model from cell renderer");} - gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(model), &row, path_string); + gtk_tree_model_get_iter_from_string(model, &row, path_string); - gtk_tree_model_get_value(GTK_TREE_MODEL(model), &row, 0, &val); + gtk_tree_model_get_value(model, &row, 0, &val); const char *name = g_value_get_string(&val); Shortcuts::iterator i = g_shortcuts.find(name); if(i != g_shortcuts.end()) @@ -403,23 +403,23 @@ void DoCommandListDlg(){ hbox.pack_start( scr, TRUE, TRUE, 0 ); { - ui::ListStore store = ui::ListStore(gtk_list_store_new( 4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INT )); + auto store = ui::ListStore::from(gtk_list_store_new( 4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INT )); - auto view = ui::TreeView(ui::TreeModel(GTK_TREE_MODEL(store))); + auto view = ui::TreeView(ui::TreeModel::from(store._handle)); dialog.m_list = view; - gtk_tree_view_set_enable_search( GTK_TREE_VIEW( view ), false ); // annoying + gtk_tree_view_set_enable_search(view, false ); // annoying { auto renderer = ui::CellRendererText(ui::New); - GtkTreeViewColumn* column = ui::TreeViewColumn( "Command", renderer, {{"text", 0}, {"weight-set", 2}, {"weight", 3}} ); - gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column ); + auto column = ui::TreeViewColumn( "Command", renderer, {{"text", 0}, {"weight-set", 2}, {"weight", 3}} ); + gtk_tree_view_append_column(view, column ); } { auto renderer = ui::CellRendererText(ui::New); - GtkTreeViewColumn* column = ui::TreeViewColumn( "Key", renderer, {{"text", 1}, {"weight-set", 2}, {"weight", 3}} ); - gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column ); + auto column = ui::TreeViewColumn( "Key", renderer, {{"text", 1}, {"weight-set", 2}, {"weight", 3}} ); + gtk_tree_view_append_column(view, column ); } view.show();