ifmapper 2.2.0 → 2.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/IFMapper.gemspec CHANGED
@@ -1,7 +1,8 @@
1
+ # coding: utf-8
1
2
  require "rubygems"
2
3
 
3
- VERSION = '2.2.0'
4
- AUTHOR = "Gonzalo Garramuno"
4
+ VERSION = '2.2.5'
5
+ AUTHOR = "Gonzalo Garramuño"
5
6
  HOMEPAGE = 'http://ggarra13.github.io/ifmapper/en/start.html'
6
7
  EMAIL = 'ggarra13@gmail.com'
7
8
 
@@ -28,10 +29,9 @@ gem = Gem::Specification.new do |s|
28
29
  EOF
29
30
  s.add_runtime_dependency("rake-compiler", "~> 0.7.1", ">= 0.7.1" )
30
31
  s.add_runtime_dependency("fxruby", "~> 1.6.0", ">= 1.6.0")
31
- s.add_runtime_dependency("pdf-writer", "~> 1.1.1", ">= 1.1.1")
32
+ s.add_runtime_dependency("prawn", "~> 1.0.0", ">= 1.0.0")
32
33
  s.extra_rdoc_files = ["HISTORY.txt", "TODO.txt"] +
33
34
  Dir.glob("docs/*/*")
34
- s.has_rdoc = true
35
- s.rubyforge_project = 'ifmapper'
35
+ # s.rubyforge_project = 'ifmapper'
36
36
  s.required_ruby_version = '>= 2.0.0'
37
37
  end
data/IFMapper.rbw CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env ruby
1
+ #!/usr/bin/env ruby
2
2
 
3
3
 
4
4
  # cd to install path, so modules are found locally
@@ -35,4 +35,3 @@ if __FILE__ == $0
35
35
  raise e
36
36
  end
37
37
  end
38
-
data/bin/IFMapper CHANGED
@@ -2,8 +2,10 @@
2
2
 
3
3
  # cd to install path, so modules are found locally
4
4
  install_loc = __FILE__.sub(/\/?[^\/]*$/, '')
5
- install_loc = __FILE__.sub(/\/bin\/.*$/, '')
6
- install_loc = '..' if install_loc == '.' or install_loc == ''
5
+ install_loc = install_loc.sub(/bin\/*$/, '')
6
+ install_loc = install_loc.sub(/IFMapper$/, '')
7
+ install_loc = '..' if install_loc == '.'
8
+ install_loc = '.' if install_loc == ''
7
9
 
8
10
  Dir.chdir(install_loc)
9
11
  $LOAD_PATH << "./lib"
@@ -33,4 +35,3 @@ rescue => e
33
35
  $stderr.flush
34
36
  raise e
35
37
  end
36
-
data/docs/en/start.html CHANGED
@@ -259,6 +259,90 @@
259
259
  <br>
260
260
  <code>sudo gem install ifmapper</code><br>
261
261
  <br>
262
+ <br> Here's a step by step from another user (untested): <br><br>
263
+
264
+ <code>
265
+ Install Homebrew
266
+ <br>
267
+ ----------------
268
+ <br>
269
+
270
+
271
+ /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install 1)”
272
+ <br>
273
+ <br>
274
+
275
+ Update Search Paths
276
+ <br>
277
+ -------------------
278
+
279
+ <br>
280
+ pico .profile
281
+
282
+ <br>
283
+ if which ruby >/dev/null && which gem >/dev/null; then
284
+
285
+ <br>
286
+ PATH="$(ruby -r rubygems -e ‘puts Gem.user_dir’)/bin:$PATH"
287
+
288
+ <br>
289
+ fi
290
+
291
+ <br>
292
+ ctrl-x
293
+
294
+ <br>
295
+ y
296
+
297
+ <br>
298
+ close Terminal window
299
+ <br>
300
+
301
+ reopen Terminal window
302
+ <br>
303
+ <br>
304
+
305
+ Install support libraries
306
+ <br>
307
+ -------------------------
308
+
309
+ <br>
310
+ brew cask install xquartz
311
+ <br>
312
+
313
+ brew install fox
314
+ <br>
315
+ <br>
316
+
317
+ Install ruby gems
318
+ <br>
319
+ -----------------
320
+ <br>
321
+
322
+ gem install fxruby --user-install
323
+ <br>
324
+
325
+ gem install pdf-writer --user-install
326
+ <br>
327
+
328
+ gem install ifmapper --user-install
329
+ <br>
330
+
331
+ <br>
332
+ Launch ifmapper
333
+ <br>
334
+ ---------------
335
+ <br>
336
+ /Applications/Utilities/XQuartz.app
337
+
338
+ <br>
339
+ Launch Terminal
340
+
341
+ <br>
342
+ ifmapper
343
+ <br>
344
+ <br>
345
+ </code>
262
346
  </p>
263
347
  <p id="LinuxOrUNIX" class="heading2">
264
348
  Linux or UNIX
@@ -271,9 +355,11 @@
271
355
  <code>sudo apt-get install ruby</code><br>
272
356
  <br>
273
357
  <br>
274
- Nótese que es probable que además tengas que instalar el toolkit de Fox, desde tu repositorio de paquetes, asi como el set de development, de la misma forma que instalaste ruby.
358
+ Note that is likely you will also have to install the FOX toolkit
359
+ from your distribution's package repository as well as the essential
360
+ build development toolset, in the same way that you installed Ruby.
275
361
  <br>
276
- <code>sudo apt-get install build-essential libfox-1.6-dev</code><br>
362
+ <code>sudo apt-get install build-essential libfox-1.6-dev ruby-dev libxrandr-dev</code><br>
277
363
  <br>
278
364
  After you have Ruby up and running, install IFMapper and its dependencies with RubyGems:<br>
279
365
  <br>
data/docs/es/start.html CHANGED
@@ -284,6 +284,87 @@ cardinales para navegar por el juego, es relativamente f&aacute;cil perderse.&nb
284
284
  <br>
285
285
  <code>sudo gem install ifmapper</code><br>
286
286
  <br>
287
+ <br> Here's a step by step from another user (untested): <br><br>
288
+ <code>
289
+ Instalar Homebrew
290
+ <br>
291
+ -----------------
292
+ <br>
293
+ /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install 1)”
294
+ <br>
295
+ <br>
296
+
297
+ Update Caminos de B&uacute;squeda
298
+ <br>
299
+ --------------------------
300
+
301
+ <br>
302
+ pico .profile
303
+
304
+ <br>
305
+ if which ruby >/dev/null && which gem >/dev/null; then
306
+
307
+ <br>
308
+ PATH="$(ruby -r rubygems -e ‘puts Gem.user_dir’)/bin:$PATH"
309
+
310
+ <br>
311
+ fi
312
+
313
+ <br>
314
+ ctrl-x
315
+
316
+ <br>
317
+ y
318
+
319
+ <br>
320
+ close Terminal window
321
+ <br>
322
+
323
+ reopen Terminal window
324
+ <br>
325
+ <br>
326
+
327
+ Instalar las biblitecas de soporte
328
+ <br>
329
+ ----------------------------------
330
+
331
+ <br>
332
+ brew cask install xquartz
333
+ <br>
334
+
335
+ brew install fox
336
+ <br>
337
+ <br>
338
+
339
+ Instalar ruby gems
340
+ <br>
341
+ ------------------
342
+ <br>
343
+
344
+ gem install fxruby --user-install
345
+ <br>
346
+
347
+ gem install pdf-writer --user-install
348
+ <br>
349
+
350
+ gem install ifmapper --user-install
351
+ <br>
352
+
353
+ <br>
354
+ Lanzar ifmapper
355
+ <br>
356
+ ---------------
357
+ <br>
358
+ /Applications/Utilities/XQuartz.app
359
+
360
+ <br>
361
+ Launch Terminal
362
+
363
+ <br>
364
+ ifmapper
365
+ <br>
366
+ <br>
367
+ </code>
287
368
  </p>
288
369
 
289
370
  <p id="LinuxOrUNIX" class="heading2">
@@ -299,7 +380,7 @@ cardinales para navegar por el juego, es relativamente f&aacute;cil perderse.&nb
299
380
  Nótese que es probable que además tengas que instalar el toolkit de Fox, así como las herramientas de compilación, desde tu repositorio de paquetes, de la misma forma que instalaste ruby.
300
381
  <br>
301
382
  <br>
302
- <code>sudo apt-get install build-essential libfox-1.6-dev</code><br>
383
+ <code>sudo apt-get install build-essential ruby-dev libfox-1.6-dev libxrandr-dev</code><br>
303
384
  <br>
304
385
  Después que tengas a ruby corriendo, instala IFMapper y sus dependencias con RubyGems:<br>
305
386
  <br>
@@ -315,7 +396,7 @@ cardinales para navegar por el juego, es relativamente f&aacute;cil perderse.&nb
315
396
  Actualizando
316
397
  </p>
317
398
  <p>
318
- Incluído con Ruby, <a href="https://rubygems.org">RubyGems</a> maneja ls bibliotecas de Ruby - puede instalar y actualizar cualquier dependencia que IFMapper necesite.<br>
399
+ Incluído con Ruby, <a href="https://rubygems.org">RubyGems</a> maneja las bibliotecas de Ruby - puede instalar y actualizar cualquier dependencia que IFMapper necesite.<br>
319
400
  <br>
320
401
  Una vez que IFMapper está instalado por RubyGems, usted puede actualizarlo a la ultima version corriendo este comando:<br>
321
402
  <br>
@@ -354,7 +435,7 @@ cardinales para navegar por el juego, es relativamente f&aacute;cil perderse.&nb
354
435
 
355
436
  <p>
356
437
  <img src="../images/IFMapper_main.gif" border="0" height="600" width="800" alt="IFMapper main user interface"></p>
357
- <p>La interfaz de IFMapper consiste de un menu que permite acceder a operaciones comunes (cargar/grabarmapas, cambiar seteos, etc), una barra de herramientas con funcionalidad similar, y una o m&aacute;s ventanas mostrando una p&aacute;gina de un mapa.</p>
438
+ <p>La interfaz de IFMapper consiste de un menu que permite acceder a operaciones comunes (cargar/grabar mapas, cambiar seteos, etc), una barra de herramientas con funcionalidad similar, y una o m&aacute;s ventanas mostrando una p&aacute;gina de un mapa.</p>
358
439
 
359
440
  <p>IFMapper te permite editar multiples
360
441
  mapas simult&aacute;neamente.<br>
@@ -8,6 +8,8 @@ begin
8
8
  rescue LoadError
9
9
  end
10
10
 
11
+ load "IFMapper.gemspec"
12
+
11
13
  def no_fox
12
14
  require "IFMapper/locales/en/Messages.rb"
13
15
  $stderr.puts ERR_NO_FOX
@@ -20,7 +22,7 @@ end
20
22
  def get_fox
21
23
  ##### ARRRGH!!!! Why does Lyle keep changing the fxruby name on each
22
24
  ##### release!
23
- foxes = [ 'fox16', 'fox14', 'fox12', 'fox' ]
25
+ foxes = [ 'fox18', 'fox17', 'fox16', 'fox14', 'fox12', 'fox' ]
24
26
  foxes.each { |fox|
25
27
  begin
26
28
  require "#{fox}"
@@ -30,7 +32,7 @@ def get_fox
30
32
  no_fox if fox == foxes[-1]
31
33
  end
32
34
  }
33
-
35
+
34
36
  # verify fxruby version
35
37
  ver, rev, = Fox::fxrubyversion().split('.')
36
38
  no_fox if ver.to_i < 1 or rev.to_i < 2
@@ -40,7 +42,6 @@ end
40
42
  get_fox
41
43
  include Fox
42
44
 
43
- load "IFMapper.gemspec"
44
45
  require 'IFMapper/FXMap'
45
46
  require 'IFMapper/FXMapperSettings'
46
47
  require 'IFMapper/FXWarningBox'
@@ -185,8 +186,8 @@ class FXMapperWindow < FXMainWindow
185
186
  # First, make sure we don't have it loaded already...
186
187
  @maps.each { |m|
187
188
  if m.filename == file
188
- @mdiclient.setActiveChild(m.window)
189
- return
189
+ @mdiclient.setActiveChild(m.window)
190
+ return
190
191
  end
191
192
  }
192
193
 
@@ -196,10 +197,10 @@ class FXMapperWindow < FXMainWindow
196
197
  make_new_map = false
197
198
  if @maps.size == 1
198
199
  @maps[0].sections.each { |p|
199
- if p.rooms.size != 0
200
- make_new_map = true
201
- break
202
- end
200
+ if p.rooms.size != 0
201
+ make_new_map = true
202
+ break
203
+ end
203
204
  }
204
205
  else
205
206
  make_new_map = true
@@ -229,20 +230,20 @@ class FXMapperWindow < FXMainWindow
229
230
 
230
231
  if not tmp.kind_of?(Map) and not tmp.kind_of?(FXMap)
231
232
  $stderr.puts tmp
232
- w = FXWarningBox.new( self,
233
- "#{tmp}")
233
+ w = FXWarningBox.new( self,
234
+ "#{tmp}")
234
235
  w.execute
235
- status "#{ERR_COULD_NOT_LOAD} '#{file}'."
236
+ status "#{ERR_COULD_NOT_LOAD} '#{file}'."
236
237
  if make_new_map
237
- if map.close_cb
238
- @maps.delete(map)
239
- GC.start
240
- end
238
+ if map.close_cb
239
+ @maps.delete(map)
240
+ GC.start
241
+ end
241
242
  end
242
243
  sleep 2
243
244
  return
244
245
  end
245
-
246
+
246
247
  copy_map(map, tmp, file)
247
248
  end
248
249
 
@@ -308,7 +309,7 @@ class FXMapperWindow < FXMainWindow
308
309
  #
309
310
  def language_cb(sender, msg, opts)
310
311
  @@default_options['Language'] = LANGUAGES[sender.text]
311
-
312
+
312
313
  require "IFMapper/locales/#{language}/Messages.rb"
313
314
  recreate
314
315
  end
@@ -319,19 +320,19 @@ class FXMapperWindow < FXMainWindow
319
320
  def new_map
320
321
  mapname = "#{MSG_EMPTY_MAP} \##{@maps.size+1}"
321
322
  @maps.push( FXMap.new(mapname, @mdiclient, @@default_options.dup,
322
- @mdiicon, @mdimenu, MDI_NORMAL, 0, 0, 790, 500) )
323
+ @mdiicon, @mdimenu, MDI_NORMAL, 0, 0, 790, 500) )
323
324
  map = @maps[-1]
324
325
  map.window.connect(SEL_PAINT) {
325
326
  map.draw
326
327
  }
327
328
  map.window.connect(SEL_CLOSE) {
328
329
  if map.close_cb
329
- @maps.delete(map)
330
+ @maps.delete(map)
330
331
  end
331
332
  if @maps[-1]
332
- @maps[-1].update_roomlist
333
+ @maps[-1].update_roomlist
333
334
  else
334
- FXMap::no_maps
335
+ FXMap::no_maps
335
336
  end
336
337
  }
337
338
 
@@ -381,7 +382,7 @@ class FXMapperWindow < FXMainWindow
381
382
  def printer_dialog(title = MSG_PRINT_MAP)
382
383
  map = current_map
383
384
  dlg = FXPrintDialog.new(self, title + " for #{map.name}")
384
- dlg.printer.flags |= PRINT_DEST_PAPER
385
+ dlg.printer.flags |= PRINT_DEST_PAPER
385
386
  return dlg.printer if dlg.execute != 0
386
387
  return false
387
388
  end
@@ -409,10 +410,10 @@ class FXMapperWindow < FXMainWindow
409
410
  return unless map
410
411
 
411
412
  require 'IFMapper/FXMapFileDialog'
412
- d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_IFM,
413
- [
414
- FMT_IFM
415
- ])
413
+ d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_IFM,
414
+ [
415
+ FMT_IFM
416
+ ])
416
417
  map.export_ifm(d.filename) if d.filename != ''
417
418
  end
418
419
 
@@ -424,10 +425,10 @@ class FXMapperWindow < FXMainWindow
424
425
  return unless map
425
426
 
426
427
  require 'IFMapper/FXMapFileDialog'
427
- d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_TRIZBORT,
428
- [
429
- FMT_TRIZBORT
430
- ])
428
+ d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_TRIZBORT,
429
+ [
430
+ FMT_TRIZBORT
431
+ ])
431
432
  map.export_trizbort(d.filename) if d.filename != ''
432
433
  end
433
434
 
@@ -439,10 +440,10 @@ class FXMapperWindow < FXMainWindow
439
440
  return unless map
440
441
 
441
442
  require 'IFMapper/FXMapFileDialog'
442
- d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_INFORM6,
443
- [
444
- FMT_INFORM6,
445
- ])
443
+ d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_INFORM6,
444
+ [
445
+ FMT_INFORM6,
446
+ ])
446
447
  map.export_inform( d.filename ) if d.filename != ''
447
448
  end
448
449
 
@@ -454,10 +455,10 @@ class FXMapperWindow < FXMainWindow
454
455
  return unless map
455
456
 
456
457
  require 'IFMapper/FXMapFileDialog'
457
- d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_INFORM7,
458
- [
459
- FMT_INFORM7,
460
- ])
458
+ d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_INFORM7,
459
+ [
460
+ FMT_INFORM7,
461
+ ])
461
462
  map.export_inform7( d.filename ) if d.filename != ''
462
463
  end
463
464
 
@@ -471,10 +472,10 @@ class FXMapperWindow < FXMainWindow
471
472
 
472
473
  require 'IFMapper/TADSWriter'
473
474
  require 'IFMapper/FXMapFileDialog'
474
- d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_TADS,
475
- [
476
- FMT_TADS
477
- ])
475
+ d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_TADS,
476
+ [
477
+ FMT_TADS
478
+ ])
478
479
  map.export_tads( d.filename ) if d.filename != ''
479
480
  end
480
481
 
@@ -492,15 +493,15 @@ class FXMapperWindow < FXMainWindow
492
493
  w.execute
493
494
  return
494
495
  end
495
-
496
+
496
497
  require 'IFMapper/FXSVGMapExporterOptionsDialogBox'
497
- cmd = FXSVGMapExporterOptionsDialogBox.new(self, MSG_SAVE_MAP_AS_SVG,
498
+ cmd = FXSVGMapExporterOptionsDialogBox.new(self, MSG_SAVE_MAP_AS_SVG,
498
499
  map).execute
499
500
 
500
501
  return if cmd == 0
501
502
 
502
503
  require 'IFMapper/FXMapFileDialog'
503
- d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_SVG,
504
+ d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_SVG,
504
505
  [
505
506
  FMT_SVG
506
507
  ])
@@ -524,22 +525,22 @@ class FXMapperWindow < FXMainWindow
524
525
  w.execute
525
526
  return
526
527
  end
527
-
528
+
528
529
  # PRE: Let's ask for a page size and orientation for the PDF
529
530
  # and whether the user wants to include location numbers
530
531
  map.pdfpapersize = 0
531
532
  map.pdflocationnos = 1
532
533
  require 'IFMapper/FXPDFMapExporterOptionsDialogBox'
533
- cmd = FXPDFMapExporterOptionsDialogBox.new(self, MSG_SAVE_MAP_AS_PDF,
534
+ cmd = FXPDFMapExporterOptionsDialogBox.new(self, MSG_SAVE_MAP_AS_PDF,
534
535
  map).execute
535
536
 
536
537
  return if cmd == 0
537
538
 
538
539
  require 'IFMapper/FXMapFileDialog'
539
- d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_PDF,
540
- [
541
- FMT_PDF
542
- ])
540
+ d = FXMapFileDialog.new(self, MSG_SAVE_MAP_AS_PDF,
541
+ [
542
+ FMT_PDF
543
+ ])
543
544
  if d.filename != ''
544
545
  map.pdf_export(d.filename)
545
546
  end
@@ -576,7 +577,7 @@ class FXMapperWindow < FXMainWindow
576
577
  @maps = []
577
578
 
578
579
  @mdiclient = FXMDIClient.new(self, LAYOUT_FILL_X|LAYOUT_FILL_Y)
579
- @mdiclient.connect(SEL_CHANGED) {
580
+ @mdiclient.connect(SEL_CHANGED) {
580
581
  update_map
581
582
  }
582
583
 
@@ -601,7 +602,7 @@ class FXMapperWindow < FXMainWindow
601
602
  end
602
603
 
603
604
  #
604
- # Return the copied elements
605
+ # Return the copied elements
605
606
  #
606
607
  def self.copy_buffer
607
608
  return @@copy_buffer
@@ -624,9 +625,9 @@ class FXMapperWindow < FXMainWindow
624
625
  # those rooms we selected
625
626
  delete = []
626
627
  links.each { |c|
627
- if not rooms.include?(c.roomA) or
628
- (c.roomB and not rooms.include?(c.roomB))
629
- delete << c
628
+ if not rooms.include?(c.roomA) or
629
+ (c.roomB and not rooms.include?(c.roomB))
630
+ delete << c
630
631
  end
631
632
  }
632
633
  links -= delete
@@ -665,52 +666,52 @@ class FXMapperWindow < FXMainWindow
665
666
  r_to_nr = {} # orig room to new room hash
666
667
  rooms = sel[0]
667
668
  rooms.each { |r|
668
- nr = map.new_room(r.x + pos[0], r.y + pos[1])
669
- nr.selected = true
670
- nr.copy(r) # copy the room data
671
- r_to_nr[r] = nr
669
+ nr = map.new_room(r.x + pos[0], r.y + pos[1])
670
+ nr.selected = true
671
+ nr.copy(r) # copy the room data
672
+ r_to_nr[r] = nr
672
673
  }
673
674
 
674
675
  if rooms.empty?
675
- # Add connections only (no rooms copied)
676
- sel[1].each { |c|
677
- exitA, exitB = c.dirs
678
- roomA = c.roomA
679
- roomB = c.roomB
680
- sect = map.sections[map.section]
681
- if not sect.rooms.include?(roomA) or
682
- (roomB and not sect.rooms.include?(roomB))
683
- next
684
- end
685
- begin
686
- nc = map.new_connection(roomA, exitA, roomB, exitB)
687
- nc.selected = true
688
- nc.dir = c.dir
689
- nc.type = c.type
690
- rescue
691
- end
692
- }
676
+ # Add connections only (no rooms copied)
677
+ sel[1].each { |c|
678
+ exitA, exitB = c.dirs
679
+ roomA = c.roomA
680
+ roomB = c.roomB
681
+ sect = map.sections[map.section]
682
+ if not sect.rooms.include?(roomA) or
683
+ (roomB and not sect.rooms.include?(roomB))
684
+ next
685
+ end
686
+ begin
687
+ nc = map.new_connection(roomA, exitA, roomB, exitB)
688
+ nc.selected = true
689
+ nc.dir = c.dir
690
+ nc.type = c.type
691
+ rescue
692
+ end
693
+ }
693
694
  else
694
- # Add connections
695
- sel[1].each { |c|
696
- exitA, exitB = c.dirs
697
- roomA = r_to_nr[c.roomA]
698
- if c.roomB
699
- roomB = r_to_nr[c.roomB]
700
- else
701
- roomB = nil
702
- end
703
- next if not roomA
704
- begin
705
- nc = map.new_connection(roomA, exitA, roomB, exitB)
706
- nc.selected = true
707
- nc.dir = c.dir
708
- nc.type = c.type
709
- rescue Section::ConnectionError => e
710
- puts c
711
- puts e
712
- end
713
- }
695
+ # Add connections
696
+ sel[1].each { |c|
697
+ exitA, exitB = c.dirs
698
+ roomA = r_to_nr[c.roomA]
699
+ if c.roomB
700
+ roomB = r_to_nr[c.roomB]
701
+ else
702
+ roomB = nil
703
+ end
704
+ next if not roomA
705
+ begin
706
+ nc = map.new_connection(roomA, exitA, roomB, exitB)
707
+ nc.selected = true
708
+ nc.dir = c.dir
709
+ nc.type = c.type
710
+ rescue Section::ConnectionError => e
711
+ puts c
712
+ puts e
713
+ end
714
+ }
714
715
  end
715
716
 
716
717
  map.create_pathmap
@@ -756,7 +757,7 @@ class FXMapperWindow < FXMainWindow
756
757
  s.rooms.each { |r| r.selected = false }
757
758
  }
758
759
 
759
- matches.each { |p, r|
760
+ matches.each { |p, r|
760
761
  next if p != map.section
761
762
  r.selected = true
762
763
  }
@@ -781,8 +782,8 @@ class FXMapperWindow < FXMainWindow
781
782
  matches = []
782
783
  (0...map.sections.size).each { |p|
783
784
  map.sections[p].rooms.each { |r|
784
- next unless r.name =~ re
785
- matches.push( [p, r] )
785
+ next unless r.name =~ re
786
+ matches.push( [p, r] )
786
787
  }
787
788
  }
788
789
  idx = @search.index
@@ -850,8 +851,8 @@ class FXMapperWindow < FXMainWindow
850
851
  matches = []
851
852
  (0...map.sections.size).each { |p|
852
853
  map.sections[p].rooms.each { |r|
853
- next unless r.objects =~ re
854
- matches.push( [p, r] )
854
+ next unless r.objects =~ re
855
+ matches.push( [p, r] )
855
856
  }
856
857
  }
857
858
  idx = @search.index
@@ -870,8 +871,8 @@ class FXMapperWindow < FXMainWindow
870
871
  matches = []
871
872
  (0...map.sections.size).each { |p|
872
873
  map.sections[p].rooms.each { |r|
873
- next unless r.tasks =~ re
874
- matches.push( [p, r] )
874
+ next unless r.tasks =~ re
875
+ matches.push( [p, r] )
875
876
  }
876
877
  }
877
878
  idx = @search.index
@@ -926,8 +927,8 @@ class FXMapperWindow < FXMainWindow
926
927
  matches = []
927
928
  (0...map.sections.size).each { |p|
928
929
  map.sections[p].rooms.each { |r|
929
- next unless r.desc =~ re
930
- matches.push( [p, r] )
930
+ next unless r.desc =~ re
931
+ matches.push( [p, r] )
931
932
  }
932
933
  }
933
934
  idx = @search.index
@@ -1003,8 +1004,8 @@ class FXMapperWindow < FXMainWindow
1003
1004
 
1004
1005
  def about_cb(sender, id, event )
1005
1006
  require 'IFMapper/FXAboutDialogBox'
1006
- FXAboutDialogBox.new(self, MSG_ABOUT_SOFTWARE,
1007
- eval("\"#{MSG_ABOUT}\"")).execute
1007
+ FXAboutDialogBox.new(self, MSG_ABOUT_SOFTWARE,
1008
+ eval("\"#{MSG_ABOUT}\"")).execute
1008
1009
  end
1009
1010
 
1010
1011
 
@@ -1026,7 +1027,7 @@ class FXMapperWindow < FXMainWindow
1026
1027
  cmd = FXMenuCommand.new(filemenu, MENU_SAVE, savedoc)
1027
1028
  cmd.connect(SEL_COMMAND, method(:save_cb))
1028
1029
  cmd = FXMenuCommand.new(filemenu, MENU_SAVE_AS,
1029
- saveasdoc)
1030
+ saveasdoc)
1030
1031
  cmd.connect(SEL_COMMAND, method(:save_as_cb))
1031
1032
 
1032
1033
  # Export submenu
@@ -1034,7 +1035,7 @@ class FXMapperWindow < FXMainWindow
1034
1035
 
1035
1036
  cmd = FXMenuCommand.new(submenu, MENU_EXPORT_PDF, nil)
1036
1037
  cmd.connect(SEL_COMMAND, method(:pdf_export_cb))
1037
-
1038
+
1038
1039
  cmd = FXMenuCommand.new(submenu, MENU_EXPORT_SVG, nil)
1039
1040
  cmd.connect(SEL_COMMAND, method(:svg_export_cb))
1040
1041
 
@@ -1074,9 +1075,9 @@ class FXMapperWindow < FXMainWindow
1074
1075
  cmd.connect(SEL_COMMAND, method(:copy_selected_cb))
1075
1076
  cmd = FXMenuCommand.new(editmenu, MENU_CUT, nil)
1076
1077
  cmd.connect(SEL_COMMAND, method(:cut_selected_cb))
1077
- cmd = FXMenuCommand.new(editmenu, MENU_PASTE, nil)
1078
+ cmd = FXMenuCommand.new(editmenu, MENU_PASTE, nil)
1078
1079
  cmd.connect(SEL_COMMAND, method(:paste_selected_cb))
1079
- #cmd = FXMenuCommand.new(editmenu, MENU_UNDO, nil)
1080
+ #cmd = FXMenuCommand.new(editmenu, MENU_UNDO, nil)
1080
1081
  #cmd.connect(SEL_COMMAND, method(:undo_cb))
1081
1082
 
1082
1083
  # Select submenu
@@ -1139,55 +1140,55 @@ class FXMapperWindow < FXMainWindow
1139
1140
  # Sections submenu
1140
1141
  submenu = FXMenuPane.new(self)
1141
1142
  cmd = FXMenuCommand.new(submenu, MENU_NEXT_SECTION)
1142
- cmd.connect(SEL_COMMAND) {
1143
+ cmd.connect(SEL_COMMAND) {
1143
1144
  next_section
1144
1145
  }
1145
1146
  cmd = FXMenuCommand.new(submenu, MENU_PREVIOUS_SECTION)
1146
- cmd.connect(SEL_COMMAND) {
1147
+ cmd.connect(SEL_COMMAND) {
1147
1148
  previous_section
1148
1149
  }
1149
1150
  FXMenuSeparator.new(submenu)
1150
1151
  cmd = FXMenuCommand.new(submenu, MENU_ADD_SECTION)
1151
- cmd.connect(SEL_COMMAND) {
1152
+ cmd.connect(SEL_COMMAND) {
1152
1153
  map = current_map
1153
1154
  if map
1154
- map.new_section
1155
- map.modified = true
1156
- update_section
1155
+ map.new_section
1156
+ map.modified = true
1157
+ update_section
1157
1158
  end
1158
1159
  }
1159
1160
  cmd = FXMenuCommand.new(submenu, MENU_SECTION_INFO)
1160
- cmd.connect(SEL_COMMAND) {
1161
+ cmd.connect(SEL_COMMAND) {
1161
1162
  map = current_map
1162
1163
  if map
1163
- map.rename_section
1164
- map.modified = true
1164
+ map.rename_section
1165
+ map.modified = true
1165
1166
  end
1166
1167
  }
1167
1168
  FXMenuSeparator.new(submenu)
1168
1169
  cmd = FXMenuCommand.new(submenu, MENU_DELETE_SECTION)
1169
- cmd.connect(SEL_COMMAND) {
1170
+ cmd.connect(SEL_COMMAND) {
1170
1171
  map = current_map
1171
1172
  if map
1172
- map.delete_section
1173
- map.modified = true
1174
- update_section
1173
+ map.delete_section
1174
+ map.modified = true
1175
+ update_section
1175
1176
  end
1176
1177
  }
1177
1178
  FXMenuCascade.new(mapmenu, MENU_SECTIONS, nil, submenu)
1178
-
1179
+
1179
1180
  #
1180
1181
  # Zoom submenu
1181
1182
  #
1182
1183
  submenu = FXMenuPane.new(self)
1183
- [25, 50, 75, 100, 125].each { |v|
1184
+ [25, 50, 75, 100, 125].each { |v|
1184
1185
  cmd = FXMenuCommand.new(submenu, eval("\"#{MENU_ZOOM_PERCENT}\""))
1185
- cmd.connect(SEL_COMMAND) {
1186
- map = current_map
1187
- if map
1188
- map.zoom = v / 100.0
1189
- map.draw
1190
- end
1186
+ cmd.connect(SEL_COMMAND) {
1187
+ map = current_map
1188
+ if map
1189
+ map.zoom = v / 100.0
1190
+ map.draw
1191
+ end
1191
1192
  }
1192
1193
  }
1193
1194
  FXMenuCascade.new(mapmenu, MENU_ZOOM, nil, submenu)
@@ -1199,7 +1200,7 @@ class FXMapperWindow < FXMainWindow
1199
1200
  cmd.connect(SEL_COMMAND) { |s, m, e|
1200
1201
  map = current_map
1201
1202
  if map
1202
- map.options['Edit on Creation'] = (s.check == true)
1203
+ map.options['Edit on Creation'] = (s.check == true)
1203
1204
  end
1204
1205
  }
1205
1206
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1212,7 +1213,7 @@ class FXMapperWindow < FXMainWindow
1212
1213
  cmd.connect(SEL_COMMAND) { |s, m, e|
1213
1214
  map = current_map
1214
1215
  if map
1215
- map.options['Automatic Connection'] = (s.check == true)
1216
+ map.options['Automatic Connection'] = (s.check == true)
1216
1217
  end
1217
1218
  }
1218
1219
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1242,8 +1243,8 @@ class FXMapperWindow < FXMainWindow
1242
1243
  cmd.connect(SEL_COMMAND) { |s, m, e|
1243
1244
  map = current_map
1244
1245
  if map
1245
- map.options['Use Room Cursor'] = (s.check == true)
1246
- map.draw
1246
+ map.options['Use Room Cursor'] = (s.check == true)
1247
+ map.draw
1247
1248
  end
1248
1249
  }
1249
1250
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1256,8 +1257,8 @@ class FXMapperWindow < FXMainWindow
1256
1257
  cmd.connect(SEL_COMMAND) { |s, m, e|
1257
1258
  map = current_map
1258
1259
  if map
1259
- map.options['Paths as Curves'] = (s.check == true)
1260
- map.draw
1260
+ map.options['Paths as Curves'] = (s.check == true)
1261
+ map.draw
1261
1262
  end
1262
1263
  }
1263
1264
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1269,8 +1270,8 @@ class FXMapperWindow < FXMainWindow
1269
1270
  cmd.connect(SEL_COMMAND) { |s, m, e|
1270
1271
  map = current_map
1271
1272
  if map
1272
- map.options['Location Numbers'] = (s.check == true)
1273
- map.draw
1273
+ map.options['Location Numbers'] = (s.check == true)
1274
+ map.draw
1274
1275
  end
1275
1276
  }
1276
1277
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1283,8 +1284,8 @@ class FXMapperWindow < FXMainWindow
1283
1284
  cmd.connect(SEL_COMMAND) { |s, m, e|
1284
1285
  map = current_map
1285
1286
  if map
1286
- map.options['Location Tasks'] = (s.check == true)
1287
- map.draw
1287
+ map.options['Location Tasks'] = (s.check == true)
1288
+ map.draw
1288
1289
  end
1289
1290
  }
1290
1291
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1297,8 +1298,8 @@ class FXMapperWindow < FXMainWindow
1297
1298
  cmd.connect(SEL_COMMAND) { |s, m, e|
1298
1299
  map = current_map
1299
1300
  if map
1300
- map.options['Location Description'] = (s.check == true)
1301
- map.draw
1301
+ map.options['Location Description'] = (s.check == true)
1302
+ map.draw
1302
1303
  end
1303
1304
  }
1304
1305
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1311,8 +1312,8 @@ class FXMapperWindow < FXMainWindow
1311
1312
  cmd.connect(SEL_COMMAND) { |s, m, e|
1312
1313
  map = current_map
1313
1314
  if map
1314
- map.options['Grid Boxes'] = (s.check == true)
1315
- map.draw
1315
+ map.options['Grid Boxes'] = (s.check == true)
1316
+ map.draw
1316
1317
  end
1317
1318
  }
1318
1319
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1325,8 +1326,8 @@ class FXMapperWindow < FXMainWindow
1325
1326
  cmd.connect(SEL_COMMAND) { |s, m, e|
1326
1327
  map = current_map
1327
1328
  if map
1328
- map.options['Grid Straight Connections'] = (s.check == true)
1329
- map.draw
1329
+ map.options['Grid Straight Connections'] = (s.check == true)
1330
+ map.draw
1330
1331
  end
1331
1332
  }
1332
1333
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1339,8 +1340,8 @@ class FXMapperWindow < FXMainWindow
1339
1340
  cmd.connect(SEL_COMMAND) { |s, m, e|
1340
1341
  map = current_map
1341
1342
  if map
1342
- map.options['Grid Diagonal Connections'] = s.check
1343
- map.draw
1343
+ map.options['Grid Diagonal Connections'] = s.check
1344
+ map.draw
1344
1345
  end
1345
1346
  }
1346
1347
  cmd.connect(SEL_UPDATE) { |s, m, e|
@@ -1363,11 +1364,11 @@ class FXMapperWindow < FXMainWindow
1363
1364
  # }
1364
1365
 
1365
1366
  # FXMenuCascade.new(mapmenu, MENU_LANGUAGE, nil, langmenu)
1366
-
1367
+
1367
1368
 
1368
1369
  FXMenuSeparator.new(submenu)
1369
1370
  cmd = FXMenuCommand.new(submenu, MENU_SAVE_PREFS)
1370
- cmd.connect(SEL_COMMAND) {
1371
+ cmd.connect(SEL_COMMAND) {
1371
1372
  map = current_map
1372
1373
  map.options.write if map
1373
1374
  }
@@ -1392,8 +1393,8 @@ class FXMapperWindow < FXMainWindow
1392
1393
  FXMenuCommand.new(windowmenu, nil, nil, @mdiclient, FXMDIClient::ID_MDI_2)
1393
1394
  FXMenuCommand.new(windowmenu, nil, nil, @mdiclient, FXMDIClient::ID_MDI_3)
1394
1395
  FXMenuCommand.new(windowmenu, nil, nil, @mdiclient, FXMDIClient::ID_MDI_4)
1395
- FXMenuCommand.new(windowmenu, MENU_OTHERS, nil, @mdiclient,
1396
- FXMDIClient::ID_MDI_OVER_5)
1396
+ FXMenuCommand.new(windowmenu, MENU_OTHERS, nil, @mdiclient,
1397
+ FXMDIClient::ID_MDI_OVER_5)
1397
1398
  FXMenuTitle.new(@menubar, MENU_WINDOW, nil, windowmenu)
1398
1399
 
1399
1400
  # Help menu
@@ -1409,14 +1410,14 @@ class FXMapperWindow < FXMainWindow
1409
1410
  cmd = FXMenuCommand.new(helpmenu, MENU_RESOURCE, nil)
1410
1411
  cmd.connect(SEL_COMMAND) {
1411
1412
  require 'IFMapper/FXMapFileDialog'
1412
- file = FXMapFileDialog.new(self, "Resource a Ruby File",
1413
- ['Ruby File (*.rb)']).filename
1413
+ file = FXMapFileDialog.new(self, "Resource a Ruby File",
1414
+ ['Ruby File (*.rb)']).filename
1414
1415
  if file != ''
1415
- begin
1416
- Kernel.load file
1417
- rescue => e
1418
- p e
1419
- end
1416
+ begin
1417
+ Kernel.load file
1418
+ rescue => e
1419
+ p e
1420
+ end
1420
1421
  end
1421
1422
  }
1422
1423
  FXMenuTitle.new(@menubar, MENU_HELP, nil, helpmenu)
@@ -1456,7 +1457,7 @@ class FXMapperWindow < FXMainWindow
1456
1457
 
1457
1458
  # File manipulation
1458
1459
  cmd = FXButton.new(toolbar, ICON_NEW, newdoc, nil, 0,
1459
- FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1460
+ FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1460
1461
  cmd.connect(SEL_COMMAND, method(:new_map_cb))
1461
1462
 
1462
1463
  cmd = FXButton.new(toolbar, ICON_OPEN, opendoc, nil, 0,
@@ -1484,15 +1485,15 @@ class FXMapperWindow < FXMainWindow
1484
1485
  FXFrame.new(toolbar,
1485
1486
  LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 4, 20)
1486
1487
  cmd = FXButton.new(toolbar, ICON_PRINT,
1487
- load_icon("printicon"), @mdiclient, FXGLViewer::ID_PRINT_IMAGE,
1488
- BUTTON_AUTOGRAY|FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1488
+ load_icon("printicon"), @mdiclient, FXGLViewer::ID_PRINT_IMAGE,
1489
+ BUTTON_AUTOGRAY|FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1489
1490
  cmd.connect(SEL_COMMAND, method(:print_cb))
1490
1491
  cmd.connect(SEL_UPDATE) { |sender, sel, ptr|
1491
1492
  map = current_map
1492
1493
  message = map ? FXWindow::ID_ENABLE : FXWindow::ID_DISABLE
1493
1494
  sender.handle(self, MKUINT(message, SEL_COMMAND), nil)
1494
1495
  }
1495
-
1496
+
1496
1497
  # Editing
1497
1498
  FXFrame.new(toolbar,
1498
1499
  LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 4, 20)
@@ -1528,43 +1529,43 @@ class FXMapperWindow < FXMainWindow
1528
1529
  FXFrame.new(toolbar,
1529
1530
  LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 4, 20)
1530
1531
  cmd = FXButton.new(toolbar, ICON_ZOOM_IN, load_icon("zoom"), @mdiclient,
1531
- 0, FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1532
+ 0, FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1532
1533
  cmd.connect(SEL_COMMAND) { zoom_in }
1533
1534
 
1534
- cmd = FXButton.new(toolbar, ICON_ZOOM_OUT, load_icon("zoom"), @mdiclient,
1535
- 0, FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1535
+ cmd = FXButton.new(toolbar, ICON_ZOOM_OUT, load_icon("zoom"), @mdiclient,
1536
+ 0, FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1536
1537
  cmd.connect(SEL_COMMAND) { zoom_out }
1537
1538
 
1538
1539
 
1539
1540
  # Section travel
1540
1541
  frame = FXHorizontalFrame.new(toolbar,
1541
- LAYOUT_RIGHT|FRAME_THICK|FRAME_RAISED)
1542
- cmd = FXButton.new(frame, ICON_PREV_SECTION, load_icon("prevpage"),
1543
- @mdiclient,
1544
- 0, FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1542
+ LAYOUT_RIGHT|FRAME_THICK|FRAME_RAISED)
1543
+ cmd = FXButton.new(frame, ICON_PREV_SECTION, load_icon("prevpage"),
1544
+ @mdiclient,
1545
+ 0, FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1545
1546
  cmd.connect(SEL_COMMAND) { previous_section }
1546
1547
 
1547
- @section = FXTextField.new(frame, 5, nil, 0,
1548
- TEXTFIELD_INTEGER|LAYOUT_FILL_ROW)
1548
+ @section = FXTextField.new(frame, 5, nil, 0,
1549
+ TEXTFIELD_INTEGER|LAYOUT_FILL_ROW)
1549
1550
  @section.text = '1'
1550
- @section.connect(SEL_COMMAND) { |s,m,e|
1551
+ @section.connect(SEL_COMMAND) { |s,m,e|
1551
1552
  v = s.text.to_i
1552
1553
  map = current_map
1553
1554
  if map
1554
- map.section = v - 1
1555
- map.draw
1556
- update_section
1555
+ map.section = v - 1
1556
+ map.draw
1557
+ update_section
1557
1558
  end
1558
1559
  }
1559
- @section.connect(SEL_UPDATE) { |s,m,e|
1560
+ @section.connect(SEL_UPDATE) { |s,m,e|
1560
1561
  map = current_map
1561
1562
  update_section if map
1562
1563
  }
1563
1564
 
1564
- cmd = FXButton.new(frame, ICON_NEXT_SECTION, load_icon("nextpage"),
1565
- @mdiclient,
1566
- 0, FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1567
- cmd.connect(SEL_COMMAND) { next_section }
1565
+ cmd = FXButton.new(frame, ICON_NEXT_SECTION, load_icon("nextpage"),
1566
+ @mdiclient,
1567
+ 0, FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT)
1568
+ cmd.connect(SEL_COMMAND) { next_section }
1568
1569
  end
1569
1570
 
1570
1571
  #
@@ -1588,7 +1589,7 @@ class FXMapperWindow < FXMainWindow
1588
1589
  #
1589
1590
  # Go to previous section in current map
1590
1591
  #
1591
- def previous_section
1592
+ def previous_section
1592
1593
  map = current_map
1593
1594
  map.previous_section if map
1594
1595
  update_section
@@ -1640,20 +1641,20 @@ class FXMapperWindow < FXMainWindow
1640
1641
  @menubar = FXMenuBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
1641
1642
 
1642
1643
  FXHorizontalSeparator.new(self,
1643
- LAYOUT_SIDE_TOP|SEPARATOR_GROOVE|LAYOUT_FILL_X)
1644
+ LAYOUT_SIDE_TOP|SEPARATOR_GROOVE|LAYOUT_FILL_X)
1644
1645
  toolbar = FXToolBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X,
1645
1646
  0, 0, 0, 0, 4, 4, 0, 0, 0, 0)
1646
-
1647
+
1647
1648
  # Status bar
1648
1649
  @statusbar = FXStatusBar.new(self,
1649
- LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|
1650
- STATUSBAR_WITH_DRAGCORNER)
1650
+ LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|
1651
+ STATUSBAR_WITH_DRAGCORNER)
1651
1652
 
1652
1653
 
1653
1654
  create_mdiclient
1654
1655
  create_menus
1655
1656
  create_toolbar(toolbar)
1656
-
1657
+
1657
1658
 
1658
1659
  self.connect(SEL_CLOSE, method(:close_cb))
1659
1660
  show
@@ -1663,13 +1664,13 @@ class FXMapperWindow < FXMainWindow
1663
1664
 
1664
1665
  def initialize(app)
1665
1666
  super(app, eval("\"#{TITLE}\""), nil, nil, DECOR_ALL, 0, 0, 800, 600)
1666
-
1667
+
1667
1668
  @colors = nil
1668
1669
  @mdimenu = nil
1669
1670
  @search = nil
1670
1671
 
1671
1672
  create_widgets
1672
-
1673
+
1673
1674
 
1674
1675
  # Trap CTRL-C signals and exit nicely
1675
1676
  trap('SIGINT') {
@@ -1680,13 +1681,13 @@ class FXMapperWindow < FXMainWindow
1680
1681
 
1681
1682
  def close_cb(*args)
1682
1683
  exit = true
1683
- @maps.each { |m|
1684
- if not m.close_cb
1685
- exit = false
1686
- break
1687
- else
1688
- @maps.delete(m)
1689
- end
1684
+ @maps.each { |m|
1685
+ if not m.close_cb
1686
+ exit = false
1687
+ break
1688
+ else
1689
+ @maps.delete(m)
1690
+ end
1690
1691
  }
1691
1692
  self.close if exit
1692
1693
  end