Author: esr
Date: Fri Oct 17 21:05:15 2008
New Revision: 30231

URL: http://svn.gna.org/viewcvs/wesnoth?rev=30231&view=rev
Log:
trackplacer: raise error on attempts to draw when there are no tracks.

Modified:
    trunk/data/tools/trackplacer

Modified: trunk/data/tools/trackplacer
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/tools/trackplacer?rev=30231&r1=30230&r2=30231&view=diff
==============================================================================
--- trunk/data/tools/trackplacer (original)
+++ trunk/data/tools/trackplacer Fri Oct 17 21:05:15 2008
@@ -254,11 +254,15 @@
         if name not in self.track_order:
             self.tracks[name] = []
             self.track_order.append(name)
+            if self.selected_id is None:
+                self.selected_id = name
             self.modified += 1
     def remove_track(self, name):
         if name in self.track_order:
             del self.tracks[name]
             self.track_order.remove(name)
+            if not self.track_order:
+                self.add_track("JOURNEY")
             self.modified += 1
     def rename_track(self, oldname, newname):
         if oldname in self.tracklist and newname not in self.tracklist:
@@ -374,6 +378,10 @@
         self.deleter.show()
         editor.controller[track_id] = self
     def track_delete_handler(self, w, track_id):
+        if track_id in self.editor.visible_set:
+            self.editor.visible_set.remove(track_id)
+        # FIXME: This redaw fails when we delete the last track.
+        self.editor.redraw(self.editor.drawing_area, delay=0.25)
         self.editor.journey.remove_track(track_id)
         self.hbox.hide()
         del self.editor.controller[track_id]
@@ -710,6 +718,11 @@
         return False
 
     def button_press_event(self, widget, event):
+        if self.journey.selected_track() is None:
+            w = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, 
buttons=gtk.BUTTONS_OK)
+            w.set_markup("No track to edit!")
+            w.run()
+            return
         if event.button == 1 and self.pixmap != None:
             a = self.action
             x = int(event.x)


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to