/* Edit->Redo */ void action_redo(GtkAction *action, I7Document *document) { GtkSourceBuffer *buffer = i7_document_get_buffer(document); if(gtk_source_buffer_can_redo(buffer)) gtk_source_buffer_redo(buffer); /* Update the "sensitive" state of the undo and redo actions */ gtk_action_set_sensitive(action, gtk_source_buffer_can_redo(buffer)); gtk_action_set_sensitive(document->undo, gtk_source_buffer_can_undo(buffer)); }
/* Returns the number of undo's. */ static gint test_undo_redo (GtkSourceBuffer *buffer, gint max_actions) { gint nb_actions; gint i; for (nb_actions = 0; nb_actions < max_actions; nb_actions++) { if (gtk_source_buffer_can_undo (buffer)) { gtk_source_buffer_undo (buffer); } else { break; } } for (i = 0; i < nb_actions; i++) { g_assert (gtk_source_buffer_can_redo (buffer)); gtk_source_buffer_redo (buffer); } return nb_actions; }
void do_redo(){ if(gtk_source_buffer_can_redo(GTK_SOURCE_BUFFER(mBuff))) gtk_source_buffer_redo(GTK_SOURCE_BUFFER(mBuff)); }
//やり直せるかどうかの状態が変わったときの動作 void change_redo(void) { set_action("Redo", gtk_source_buffer_can_redo(buffer)); }