From fbf1f77de7bb74cb01ee12a773246a946356e035 Mon Sep 17 00:00:00 2001 From: Andrew Kesterson Date: Thu, 22 May 2014 22:39:00 -0700 Subject: [PATCH] Midstream on #8 : Confirmation dialog when changing dimensions because it will force tile names to reset --- lib/tailor/GUI/GridDisplay.rb | 3 +++ lib/tailor/GUI/TilesetEditor.rb | 12 +++++++++++- lib/tailor/GUI/TilesetProperties.rb | 1 - 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/tailor/GUI/GridDisplay.rb b/lib/tailor/GUI/GridDisplay.rb index 4e9e745..af0f47b 100644 --- a/lib/tailor/GUI/GridDisplay.rb +++ b/lib/tailor/GUI/GridDisplay.rb @@ -38,6 +38,9 @@ module Tailor end def set_grid(padX, padY, pitchX, pitchY, gridX, gridY) + @rectlist = [] + @selected = nil + @imageGrid = Wx::Bitmap.new(@pristineImage.get_width(), @pristineImage.get_height(), @pristineImage.get_depth() diff --git a/lib/tailor/GUI/TilesetEditor.rb b/lib/tailor/GUI/TilesetEditor.rb index c75be6b..55b9069 100644 --- a/lib/tailor/GUI/TilesetEditor.rb +++ b/lib/tailor/GUI/TilesetEditor.rb @@ -100,6 +100,7 @@ module Tailor (0..(@tilesetSlicer.get_size)).each do |i| @tilesetNames << "Tile #{i}" end + @tileNameCtrl.disable end end @@ -115,6 +116,16 @@ module Tailor end def on_tilepropsChanged(event) + ret = Wx::MessageDialog.new(self, + "Changing tile properties will reset all tile names. Continue?", + "WARNING").show_modal + return if [Wx::ID_CANCEL, Wx::ID_NO].include?(ret) + + if @tileNameCtrl.is_enabled + @tileNameCtrl.disable + @tileNameCtrl.set_value("") + end + puts "Tileset properties changed : #{event.inspect} #{event.client_data}" @tilesetSlicer.set_grid(event.client_data['padX'], event.client_data['padY'], @@ -139,7 +150,6 @@ module Tailor y = ( @tilesetImage.get_height > 400 ? 400 : @tilesetImage.get_height + 20) @tilesetSlicer.set_min_size(Wx::Size.new(x, y)) @sizer.set_size_hints(self) - @tileNameCtrl.disable end rescue Exception => e puts e diff --git a/lib/tailor/GUI/TilesetProperties.rb b/lib/tailor/GUI/TilesetProperties.rb index 578e5f6..ddd8a19 100644 --- a/lib/tailor/GUI/TilesetProperties.rb +++ b/lib/tailor/GUI/TilesetProperties.rb @@ -67,7 +67,6 @@ module Tailor 'padY' => self.PadY } evt = TilesetPropertiesChangedEvent.new(self, grid) event_handler.process_event(evt) - puts "Emitted TilesetPropertiesChangedEvent #{evt.inspect} (#{evt.client_data}) from (#{grid})" end end