Fixed signal connection, added adding, editing and removing triggers

This commit is contained in:
Jesse van den Kieboom 2005-11-06 15:59:18 +00:00
parent 9f745544ee
commit 0f1973d86a
1 changed files with 24 additions and 23 deletions

View File

@ -13,6 +13,7 @@
#include <gtk/gtk.h>
#include "gm-world-properties-dialog.h"
#include "gm-triggers-dialog.h"
#include "../gm-triggers.h"
#include "../gm-support.h"
#include "../gm-app.h"
@ -207,7 +208,7 @@ gm_world_properties_dialog_add_trigger(GmWorldPropertiesDialog *properties,
gtk_widget_set_sensitive(gm_world_properties_dialog_widget(properties,
"button_edit_trigger"), TRUE);
gtk_widget_set_sensitive(gm_world_properties_dialog_widget(properties,
"button_deleteTrigger"), TRUE);
"button_delete_trigger"), TRUE);
}
void
@ -599,12 +600,11 @@ on_gm_world_properties_dialog_response(GtkDialog *dialog, gint response,
void
on_button_add_trigger_clicked(GtkButton *button,
GmWorldPropertiesDialog *properties) {
// TODO
/* Trigger *t = create_dlgTriggers(loadedWld, NULL);
if (t != NULL) {
add_trigger(t);
}*/
GmTrigger *trigger = gm_triggers_dialog_run_new(properties->world, NULL);
if (trigger != NULL) {
gm_world_properties_dialog_add_trigger(properties, trigger);
}
}
GmTrigger *
@ -625,34 +625,35 @@ gm_world_properties_dialog_selected_trigger(GmWorldPropertiesDialog *properties,
void
on_button_edit_trigger_clicked(GtkButton *button,
GmWorldPropertiesDialog *properties) {
// TODO
/*GtkTreeIter iter;
GmTrigger *t, *newt;
GtkTreeIter iter;
GmTrigger *trigger, *newt;
t = gm_world_properties_dialog_selected_trigger(properties, &iter);
trigger = gm_world_properties_dialog_selected_trigger(properties, &iter);
if (t) {
newt = create_dlgTriggers(loadedWld, t);
if (trigger) {
newt = gm_triggers_dialog_run(properties->world, trigger);
if (newt) {
update_trigger(&iter, t);
}
} else {
gnoemoe_error_dialog(_("Select a trigger to edit first"), GTK_WINDOW(if_world_properties_get_widget("dlgWorldProperties")));
}*/
if (newt) {
gm_world_properties_dialog_update_trigger(properties, &iter,
trigger);
}
} else {
gm_error_dialog(_("Select a trigger to edit first"),
GTK_WINDOW(properties->dialog));
}
}
void
on_button_delete_trigger_clicked(GtkButton *button,
GmWorldPropertiesDialog *properties) {
GtkTreeIter iter;
GmTrigger *t;
GmTrigger *trigger;
t = gm_world_properties_dialog_selected_trigger(properties, &iter);
trigger = gm_world_properties_dialog_selected_trigger(properties, &iter);
if (t) {
if (trigger) {
gm_world_properties_dialog_remove_trigger(properties, &iter);
gm_trigger_free(t);
gm_trigger_free(trigger);
} else {
gm_error_dialog(_("First select a trigger to remove"),
GTK_WINDOW(properties->dialog));