ifmapper 0.9.9 → 1.0.0

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.
@@ -1,112 +1,24 @@
1
1
 
2
2
  class TranscriptDialogBox < FXDialogBox
3
3
 
4
- EXPLANATION_TEXT = [
5
- "Classic Mode expects a short name description for all
6
- locations, where all words of 5 or more characters to are
7
- capitalized and where there is no period.
8
- Commands always begin with a > prompt.",
9
- "Capitalized Mode expects a short name description for all
10
- locations, where only the first word needs to be capitalized
11
- and there is no period.
12
- Commands always begin with a > prompt.",
13
- "Moonmist mode describes locations in parenthesis, with 'You
14
- are...' prefixed and a period at the end, inside the parenthesis.
15
- Commands always begin with a > prompt.",
16
- "Witness mode expects locations described as normal prose, using
17
- 'You are...' as an introductory paragraph. When in brief mode,
18
- locations are expected to be in parenthesis.
19
- Commands always begin with a > prompt.",
20
- "ADRIFT mode expects locations to be like in Classic Mode (short
21
- names where all words of 5 or more characters are capitalized).
22
- However, commands do not begin with any type of prompt but start
23
- with a lowercase word without any margin.",
24
- ]
25
-
26
- LOCATION_TEXT = [
27
- "
28
- > look
29
- West of House
30
- You are standing in an open field west of a white house, with a boarded
31
- front door.
32
- ",
33
- "
34
- > look
35
- Women's change room
36
- Your heels click loudly on the tiles, echoing down the banks of lockers
37
- that line the sides of the room.
38
- ",
39
- "
40
- > look
41
- (You are now in the driveway.)
42
- (You're sitting in the sports car.)
43
- You are by the front gate of the Tresyllian Castle. You can hear the ocean
44
- beating urgently against the rocks far below.
45
- ",
46
- "
47
- > look
48
- You are now in the driveway entrance.
49
- You are standing at the foot of the driveway, the entrance to the
50
- Linder property. The entire lot is screened from the street and the
51
- neighbors by a wooden fence, except on the east side, which fronts on
52
- dense bamboo woods.
53
- ",
54
- "
55
- look
56
- Front of Mall
57
- Although four-wheeled vehicles do pass through, this autonomous
58
- spot of pavement is too narrow a place for them to stall. It is just
59
- right for bicycles and motorbikes such as yours.
60
- ",
61
- ]
62
-
63
- LOCATION2_TEXT = [
64
- "
65
- West of House
66
- ",
67
- "
68
- Women's change room
69
- ",
70
- "
71
- (You are in the driveway.)
72
- ",
73
- "
74
- (driveway entrance)
75
- ",
76
- "
77
- Front of Mall
78
- ",
79
- ]
80
-
81
- IDENTIFY_TYPE = [
82
- 'By Descriptions',
83
- 'By Short Name',
84
- ]
85
-
86
- SHORTNAME_TYPE = [
87
- 'Classic',
88
- 'Capitalized',
89
- 'Moonmist',
90
- 'Witness',
91
- 'ADRIFT',
92
- ]
4
+
93
5
 
94
6
  def copy_from(transcript)
95
7
  @transcript = transcript
96
8
  @type.currentNo = transcript.identify
97
9
  @short.currentNo = transcript.shortName
98
- @exp.text = EXPLANATION_TEXT[@short.currentNo]
99
- @show.text = LOCATION_TEXT[@short.currentNo]
100
- @show2.text = LOCATION2_TEXT[@short.currentNo]
10
+ @exp.text = TRANSCRIPT_EXPLANATION_TEXT[@short.currentNo]
11
+ @show.text = TRANSCRIPT_LOCATION_TEXT[@short.currentNo]
12
+ @show2.text = TRANSCRIPT_LOCATION2_TEXT[@short.currentNo]
101
13
  parent = transcript.map.window
102
14
  end
103
15
 
104
16
  def copy_to()
105
17
  @transcript.identify = @type.currentNo
106
18
  @transcript.shortName = @short.currentNo
107
- @exp.text = EXPLANATION_TEXT[@short.currentNo]
108
- @show.text = LOCATION_TEXT[@short.currentNo]
109
- @show2.text = LOCATION2_TEXT[@short.currentNo]
19
+ @exp.text = TRANSCRIPT_EXPLANATION_TEXT[@short.currentNo]
20
+ @show.text = TRANSCRIPT_LOCATION_TEXT[@short.currentNo]
21
+ @show2.text = TRANSCRIPT_LOCATION2_TEXT[@short.currentNo]
110
22
  end
111
23
 
112
24
  def initialize(transcript)
@@ -118,16 +30,16 @@ Front of Mall
118
30
  pos[1] = maxH if pos[1] > maxH
119
31
 
120
32
  decor = DECOR_TITLE|DECOR_BORDER|DECOR_CLOSE
121
- super( map.window, 'Transcript Options', decor, pos[0], pos[1], 0, 0 )
33
+ super( map.window, BOX_TRANSCRIPT, decor, pos[0], pos[1], 0, 0 )
122
34
 
123
35
  mainFrame = FXVerticalFrame.new(self,
124
36
  FRAME_SUNKEN|FRAME_THICK|
125
37
  LAYOUT_FILL_X|LAYOUT_FILL_Y)
126
38
 
127
39
  frame = FXHorizontalFrame.new(mainFrame, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
128
- FXLabel.new(frame, "Transcript Style: ", nil, 0, LAYOUT_FILL_X)
40
+ FXLabel.new(frame, BOX_TRANSCRIPT_STYLE, nil, 0, LAYOUT_FILL_X)
129
41
  pane = FXPopup.new(self)
130
- SHORTNAME_TYPE.each { |t|
42
+ TRANSCRIPT_SHORTNAME_TYPE.each { |t|
131
43
  FXOption.new(pane, t, nil, nil, 0, JUSTIFY_HZ_APART|ICON_AFTER_TEXT)
132
44
  }
133
45
  @short = FXOptionMenu.new(frame, pane, FRAME_RAISED|FRAME_THICK|
@@ -136,9 +48,9 @@ Front of Mall
136
48
 
137
49
 
138
50
  frame = FXHorizontalFrame.new(mainFrame, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
139
- FXLabel.new(frame, "Identify Locations: ", nil, 0, LAYOUT_FILL_X)
51
+ FXLabel.new(frame, BOX_TRANSCRIPT_IDENTIFY, nil, 0, LAYOUT_FILL_X)
140
52
  pane = FXPopup.new(self)
141
- IDENTIFY_TYPE.each { |t|
53
+ TRANSCRIPT_IDENTIFY_TYPE.each { |t|
142
54
  FXOption.new(pane, t, nil, nil, 0, JUSTIFY_HZ_APART|ICON_AFTER_TEXT)
143
55
  }
144
56
  @type = FXOptionMenu.new(frame, pane, FRAME_RAISED|FRAME_THICK|
@@ -148,7 +60,7 @@ Front of Mall
148
60
 
149
61
 
150
62
  frame = FXVerticalFrame.new(mainFrame, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
151
- FXLabel.new(frame, "Explanation: ", nil, 0, LAYOUT_FILL_X)
63
+ FXLabel.new(frame, BOX_TRANSCRIPT_EXPLANATION, nil, 0, LAYOUT_FILL_X)
152
64
  @exp = FXText.new(frame, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
153
65
  @exp.visibleRows = 4
154
66
  @exp.visibleColumns = 60
@@ -156,12 +68,12 @@ Front of Mall
156
68
  @exp.disable
157
69
 
158
70
  frame = FXVerticalFrame.new(mainFrame, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
159
- FXLabel.new(frame, "Sample Verbose Mode: ", nil, 0, LAYOUT_FILL_X)
71
+ FXLabel.new(frame, BOX_TRANSCRIPT_VERBOSE, nil, 0, LAYOUT_FILL_X)
160
72
  @show = FXText.new(frame, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
161
73
  @show.visibleRows = 9
162
74
  @show.visibleColumns = 60
163
75
  @show.disable
164
- FXLabel.new(frame, "Sample Brief Mode: ", nil, 0, LAYOUT_FILL_X)
76
+ FXLabel.new(frame, BOX_TRANSCRIPT_BRIEF, nil, 0, LAYOUT_FILL_X)
165
77
  @show2 = FXText.new(frame, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
166
78
  @show2.visibleRows = 3
167
79
  @show2.visibleColumns = 60
@@ -0,0 +1,435 @@
1
+ ################
2
+ TITLE = '#{PROGRAM_NAME} v#{VERSION} - Written by #{AUTHOR}'
3
+
4
+ ################ Errors
5
+ ERR_NO_YAML =<<'EOF'
6
+ EOF
7
+ ERR_COULD_NOT_SAVE = 'Could not save'
8
+ ERR_COULD_NOT_LOAD = 'Could not load'
9
+ ERR_NO_ICON = 'Could not load icon: '
10
+ ERR_NO_PRINTING = <<'EOF'
11
+ Sorry, but printing is not yet implemented
12
+ in this version.
13
+ EOF
14
+ ERR_NO_FREE_ROOM = 'Sorry. No free room in map to paste the nodes.'
15
+ ERR_NO_MATCHES = 'No matches for regex'
16
+ ERR_CANNOT_AUTOMAP = 'Cannot automap.'
17
+ ERR_READ_ONLY_MAP = "Map is in Read Only Mode. Go to Map Information to change this."
18
+ ERR_CANNOT_MOVE_SELECTION = 'Cannot move selection'
19
+ ERR_CANNOT_OPEN_TRANSCRIPT = 'Cannot open transcript'
20
+ ERR_PARSE_TRANSCRIPT = "Internal error parsing transcript\nPlease report as a bug"
21
+ ERR_COULD_NOT_OPEN_WEB_BROWSER = 'Could not open any web browser'
22
+ ERR_PATH_FOR_CONNECTION = 'Path for connection'
23
+ ERR_IS_BLOCKED = 'is blocked'
24
+
25
+ ################ Messages
26
+ MSG_LOAD_MAP = 'Load New Map'
27
+ MSG_SAVING = 'Saving'
28
+ MSG_SAVED = 'Saved'
29
+ MSG_LOADING = 'Loading'
30
+ MSG_LOADED = 'Loaded'
31
+ MSG_EMPTY_MAP = 'Empty Map'
32
+ MSG_PRINT_MAP = 'Print Map'
33
+ MSG_PRINT_LOC = 'Print Locations'
34
+ MSG_MATCHES = 'matches'
35
+ MSG_MATCHES_IN_MAP = 'matches in map'
36
+ MSG_MATCHES_IN_SECTION = 'in section'
37
+ MSG_FIND_LOCATION_IN_MAP = 'Find Location in Map'
38
+ MSG_FIND_LOCATION_IN_SECTION = 'Find Location in this Section'
39
+ MSG_FIND_OBJECT_IN_MAP = 'Find Object in Map'
40
+ MSG_FIND_TASK_IN_MAP = 'Find Task in Map'
41
+ MSG_FIND_DESCRIPTION_IN_MAP = 'Find in Description in Map'
42
+ MSG_ABOUT_SOFTWARE = 'About This Software...'
43
+ MSG_ABOUT = <<'EOF'
44
+ #{PROGRAM_NAME} - #{VERSION}
45
+ Written by #{AUTHOR}.
46
+
47
+ FXRuby Version: #{Fox::fxrubyversion}
48
+
49
+ A WYSIWYG mapping tool for interactive fiction.
50
+
51
+ ggarra@advancedsl.com.ar
52
+ EOF
53
+
54
+ MSG_SAVE_MAP = 'Save Map'
55
+
56
+ MSG_SAVE_MAP_AS_IFM = 'Save Map as IFM File'
57
+ FMT_IFM = 'IFM Map (*.ifm)'
58
+
59
+ MSG_SAVE_MAP_AS_INFORM = 'Save Map as Inform Files'
60
+ FMT_INFORM = 'Inform Source Code (*.inf,*.inform)'
61
+
62
+ MSG_SAVE_MAP_AS_TADS = 'Save Map as TADS Files'
63
+ FMT_TADS = 'TADS Source Code (*.t)'
64
+
65
+ MSG_SAVE_MAP_AS_PDF = 'Save Map as Acrobat PDF'
66
+ FMT_PDF = 'Acrobat PDF (*.pdf)'
67
+
68
+ MSG_HOTKEYS = <<'EOF'
69
+
70
+ LMB - Left Mouse Button
71
+ MMB - Middle Mouse Button
72
+ RMB - Right Mouse Button
73
+
74
+ Mouse controls
75
+ --------------
76
+
77
+ Use LMB to add new locations or connections among rooms.
78
+
79
+ Click with LMB on any room or connection to select it.
80
+
81
+ Double click on rooms or connections to access their properties.
82
+
83
+ Click several times on an existing connecion to establish a one-way
84
+ connection.
85
+
86
+ Drag with MMB or ALT + LMB to scroll around the page.
87
+
88
+ Use mousewheel to zoom in and out.
89
+
90
+ Use RMB after selecting a connection to bring a menu to allow you
91
+ to flip its direction or to attach it to some other exit in one
92
+ of the rooms.
93
+
94
+ Keyboard controls
95
+ -----------------
96
+
97
+ Use 'x' to start a new complex connection (ie. a connection across
98
+ rooms that are not neighbors), then click on each exit of each room.
99
+
100
+ Use 'Delete' or 'Backspace' to remove any selected connection or room.
101
+
102
+ Use arrow keys or numeric keypad to move selected rooms around
103
+ the page, one unit at a time.
104
+
105
+ Use CTRL + LMB when adding a connection to create a dead-end
106
+ connection (one that loops onto itself)
107
+
108
+ EOF
109
+
110
+ MSG_LOAD_TRANSCRIPT = 'Load Transcript'
111
+ MSG_NEW_LOCATION = 'New Location'
112
+ MSG_OPENING_WEB_PAGE = 'Opening web page'
113
+
114
+ TRANSCRIPT_EXPLANATION_TEXT = [
115
+ "Classic Mode expects a short name description for all
116
+ locations, where all words of 5 or more characters to are
117
+ capitalized and where there is no period.
118
+ Commands always begin with a > prompt.",
119
+ "Capitalized Mode expects a short name description for all
120
+ locations, where only the first word needs to be capitalized
121
+ and there is no period.
122
+ Commands always begin with a > prompt.",
123
+ "Moonmist mode describes locations in parenthesis, with 'You
124
+ are...' prefixed and a period at the end, inside the parenthesis.
125
+ Commands always begin with a > prompt.",
126
+ "Witness mode expects locations described as normal prose, using
127
+ 'You are...' as an introductory paragraph. When in brief mode,
128
+ locations are expected to be in parenthesis.
129
+ Commands always begin with a > prompt.",
130
+ "ADRIFT mode expects locations to be like in Classic Mode (short
131
+ names where all words of 5 or more characters are capitalized).
132
+ However, commands do not begin with any type of prompt but start
133
+ with a lowercase word without any margin.",
134
+ ]
135
+
136
+
137
+ TRANSCRIPT_LOCATION_TEXT = [
138
+ "
139
+ > look
140
+ West of House
141
+ You are standing in an open field west of a white house, with a boarded
142
+ front door.
143
+ ",
144
+ "
145
+ > look
146
+ Women's change room
147
+ Your heels click loudly on the tiles, echoing down the banks of lockers
148
+ that line the sides of the room.
149
+ ",
150
+ "
151
+ > look
152
+ (You are now in the driveway.)
153
+ (You're sitting in the sports car.)
154
+ You are by the front gate of the Tresyllian Castle. You can hear the ocean
155
+ beating urgently against the rocks far below.
156
+ ",
157
+ "
158
+ > look
159
+ You are now in the driveway entrance.
160
+ You are standing at the foot of the driveway, the entrance to the
161
+ Linder property. The entire lot is screened from the street and the
162
+ neighbors by a wooden fence, except on the east side, which fronts on
163
+ dense bamboo woods.
164
+ ",
165
+ "
166
+ look
167
+ Front of Mall
168
+ Although four-wheeled vehicles do pass through, this autonomous
169
+ spot of pavement is too narrow a place for them to stall. It is just
170
+ right for bicycles and motorbikes such as yours.
171
+ ",
172
+ ]
173
+
174
+ TRANSCRIPT_LOCATION2_TEXT = [
175
+ "
176
+ West of House
177
+ ",
178
+ "
179
+ Women's change room
180
+ ",
181
+ "
182
+ (You are in the driveway.)
183
+ ",
184
+ "
185
+ (driveway entrance)
186
+ ",
187
+ "
188
+ Front of Mall
189
+ ",
190
+ ]
191
+
192
+
193
+ TRANSCRIPT_IDENTIFY_TYPE = [
194
+ 'By Descriptions',
195
+ 'By Short Name',
196
+ ]
197
+
198
+ TRANSCRIPT_SHORTNAME_TYPE = [
199
+ 'Classic',
200
+ 'Capitalized',
201
+ 'Moonmist',
202
+ 'Witness',
203
+ 'ADRIFT',
204
+ ]
205
+
206
+ ############ Window Titles
207
+ TITLE_READ_ONLY = '[Read Only]'
208
+ TITLE_AUTOMAP = '[Automap]'
209
+ TITLE_ZOOM = 'Zoom:'
210
+ TITLE_SECTION = 'Section'
211
+ TITLE_OF = 'of'
212
+
213
+
214
+ ############ Extensions
215
+ EXT_TRANSCRIPT = 'Transcript File (*.log,*.scr,*.txt)'
216
+ EXT_ALL_FILES = 'All Files (*)'
217
+ EXT_MAP_FILES = 'Archivos de Mapas'
218
+
219
+
220
+
221
+ ############ Status messages
222
+ MSG_COMPLEX_CONNECTION = 'Click on first room exit in complex connection.'
223
+ MSG_COMPLEX_CONNECTION_OTHER_EXIT = 'Click on other room exit in complex connection.'
224
+ MSG_COMPLEX_CONNECTION_STOPPED = 'Complex connection interrupted.'
225
+ MSG_COMPLEX_CONNECTION_DONE = 'Complex connection done.'
226
+
227
+ MSG_CLICK_TO_SELECT_AND_MOVE = 'Click to select and move. Double click to edit.'
228
+ MSG_CLICK_CHANGE_DIR = 'Click to change direction of connection.'
229
+ MSG_CLICK_CREATE_ROOM = 'Click to create new room.'
230
+ MSG_CLICK_CREATE_LINK = 'Click to create new connection.'
231
+
232
+ ############ Warnings
233
+ WARN_DELETE_SECTION = 'Are you sure you want to delete this section?'
234
+ WARN_OVERWRITE_MAP = 'already exists. Are you sure you want to overwrite it?'
235
+ WARN_MAP_SMALL = "When changing map size,\nsome rooms will be left outside of map.\nThese rooms will be deleted.\nAre you sure you want to do this?"
236
+
237
+ ############ Menus
238
+ MENU_FILE = "&File"
239
+ MENU_NEW = "&New...\tCtl-N\tCreate new document."
240
+ MENU_OPEN = "&Open...\tCtl-O\tOpen document file."
241
+ MENU_SAVE = "&Save\tCtl-S\tSave document."
242
+ MENU_SAVE_AS = "Save &As...\t\tSave document to another file."
243
+
244
+ MENU_EXPORT = 'Export'
245
+ MENU_EXPORT_PDF = "&Export as PDF...\t\tExport map as Acrobat PDF document."
246
+ MENU_EXPORT_IFM = "&Export as IFM...\t\tExport map as an IFM map."
247
+ MENU_EXPORT_INFORM = "&Export as Inform Source...\t\tExport map as an Inform source code file."
248
+ MENU_EXPORT_TADS = "&Export as TADS3 Source...\t\tExport map as a TADS3 source code file."
249
+
250
+ MENU_PRINT = 'Print'
251
+ MENU_PRINT_MAP = "&Map...\t\tPrint map (as graph)."
252
+ MENU_PRINT_LOCATIONS = "&Locations...\t\tPrint map locations as text list."
253
+
254
+ MENU_QUIT = "&Quit\tCtl-Q\tQuit the application."
255
+
256
+
257
+ MENU_EDIT = '&Edit'
258
+ MENU_COPY = "&Copy\tCtl-C\tCopy Location Data"
259
+ MENU_CUT = "Cu&t\tCtl-X\tCut Location"
260
+ MENU_PASTE = "&Paste\tCtl-V\tPaste Location Data"
261
+
262
+ MENU_MAP = '&Map'
263
+ MENU_SELECT = 'Select'
264
+ MENU_SELECT_ALL = "&All Locations\tAlt-A\tSelect all locations in section"
265
+ MENU_SELECT_NONE = "&None\tAlt-N\tClear selection in section."
266
+
267
+ MENU_SEARCH = 'Search'
268
+ MENU_SEARCH_MAP = "&Location in Map\tCtl-F\tFind a Location Name in Map"
269
+ MENU_SEARCH_SECTION = "Location in &Section\tAlt-F\tFind a Location Name in Current Section"
270
+ MENU_SEARCH_OBJECT = "&Object in Map\tAlt-O\tFind Location with an Object in the Map"
271
+ MENU_SEARCH_TASK = "&Task in Map\tAlt-T\tFind Location with a Task in the Map"
272
+ MENU_SEARCH_DESCRIPTION = "&Keyword in Descriptions\tAlt-D\tFind Location with Description Keyword in the Map"
273
+
274
+ MENU_COMPLEX_CONNECTION = "Comple&x Connection\tx\tCreate a complex connection."
275
+ MENU_DELETE = "Delete\tDel\tDelete selected locations or connections."
276
+
277
+ MENU_MAP_INFO = "Map Information\t\tChange map information."
278
+ MENU_ROOM_LIST = "Room List\t\tList all rooms in map."
279
+
280
+
281
+ MENU_AUTOMAP = 'Automap'
282
+ MENU_AUTOMAP_START = "&Start...\tCtl-T\tStart creating map from transcript file."
283
+ MENU_AUTOMAP_STOP = "S&top...\tCtl-P\tStop autocreating map."
284
+ MENU_AUTOMAP_PROPERTIES = "&Properties...\tCtl-H\tTranscript properties."
285
+
286
+
287
+ MENU_SECTIONS = 'Sections'
288
+ MENU_NEXT_SECTION = "Next Section\t\tGo to Next Map Section."
289
+ MENU_PREVIOUS_SECTION = "Previous Section\t\tGo to Previous Map Section."
290
+ MENU_ADD_SECTION = "Add Section\t\tAdd a New Section to Map."
291
+ MENU_RENAME_SECTION = "Rename Section\t\tRename Current Section."
292
+ MENU_DELETE_SECTION = "Delete Section\t\tDelete Current Section from Map."
293
+
294
+
295
+ MENU_ZOOM_PERCENT = '#{v}%\t\tZoom page to #{v}%.'
296
+ MENU_ZOOM = 'Zoom'
297
+
298
+
299
+ MENU_OPTIONS = 'Options'
300
+ MENU_EDIT_ON_CREATION = "Edit on Creation\t\tEdit locations on creation."
301
+ MENU_AUTOMATIC_CONNECTION = "Automatic Connection\t\tConnect new location to adjacent one."
302
+ MENU_CREATE_ON_CONNECTION = "Create on Connectionn\t\tCreate missing locations when creating a connection."
303
+
304
+
305
+ MENU_DISPLAY = 'Display'
306
+ MENU_USE_ROOM_CURSOR = "Use Room Cursor\t\tMake your mouse cursor a room showing the direction of exit."
307
+ MENU_PATHS_AS_CURVES = "Paths as Curves\t\tDraw complex paths as curves."
308
+ MENU_LOCATION_NUMBERS = "Location Numbers\t\tShow Location Numbers."
309
+ MENU_LOCATION_TASKS = "Location Tasks\t\tShow Tasks in Location Edit Box."
310
+ MENU_LOCATION_DESC = "Location Description\t\tShow Description in Location Edit Box."
311
+ MENU_BOXES = "Boxes\t\tDraw dashed box guidelines."
312
+ MENU_STRAIGHT_CONN = "Straight Connections\t\tDraw dashed N/S/E/W guidelines"
313
+ MENU_DIAGONAL_CONN = "Diagonal Connections\t\tDraw dashed NW/NE/SW/SE guidelines"
314
+
315
+ MENU_PREFS = 'Preferences'
316
+ MENU_LANGUAGE = "Language\t\tChange the default lenguage of the application."
317
+ MENU_COLORS = "Colors\t\tChange map colors."
318
+ MENU_SAVE_PREFS = "Save Preferences\t\tSave Preferences for Startup"
319
+
320
+ MENU_WINDOW = '&Window'
321
+ MENU_TILE_HORIZONTALLY = "Tile &Horizontally"
322
+ MENU_TILE_VERTICALLY = "Tile &Vertically"
323
+ MENU_CASCADE = 'C&ascade'
324
+ MENU_CLOSE = '&Close'
325
+ MENU_OTHERS = '&Others...'
326
+
327
+ MENU_HELP = '&Help'
328
+ MENU_HOTKEYS = '&Hotkeys'
329
+ MENU_INSTRUCTIONS = '&Instructions'
330
+ MENU_ABOUT = '&About'
331
+ MENU_RESOURCE = "&Resource Code"
332
+
333
+ ############ Edit Boxes
334
+
335
+ BOX_INSTRUCTIONS = 'Instructions'
336
+ BOX_HOTKEYS = 'Hotkeys'
337
+
338
+ BOX_ROOM_INFORMATION = 'Room Information'
339
+ BOX_LOCATION = 'Location: '
340
+ BOX_OBJECTS = 'Objects: '
341
+ BOX_DARKNESS = 'Darkness'
342
+ BOX_TASKS = 'Tasks: '
343
+ BOX_DESCRIPTION = 'Description: '
344
+
345
+ BOX_CONNECTION_TYPE = 'Connection Type: '
346
+ BOX_CONNECTION_TYPE_TEXT = [
347
+ 'Free',
348
+ 'Door',
349
+ 'Locked',
350
+ 'Special',
351
+ ]
352
+ BOX_DIRECTION = 'Direction: '
353
+ BOX_DIR_TEXT = [
354
+ 'Both',
355
+ 'One Way',
356
+ ]
357
+ BOX_EXIT_A_TEXT = 'Exit A Text:'
358
+ BOX_EXIT_B_TEXT = 'Exit B Text:'
359
+ BOX_EXIT_TEXT = [
360
+ 'None',
361
+ 'Up',
362
+ 'Down',
363
+ 'In',
364
+ 'Out',
365
+ ]
366
+
367
+ BOX_LOCATIONS = 'Locations'
368
+ BOX_SECTION = 'Section'
369
+ BOX_NAME = 'Name'
370
+
371
+ BOX_MAP_INFORMATION = 'Map Information'
372
+ BOX_MAP_READ_ONLY = 'Read Only Map'
373
+ BOX_MAP_CREATOR = 'Creator:'
374
+ BOX_MAP_WIDTH = 'Map Width'
375
+ BOX_MAP_HEIGHT = 'Map Height'
376
+
377
+ BOX_TRANSCRIPT = 'Transcript Options'
378
+ BOX_TRANSCRIPT_STYLE = 'Transcript Style: '
379
+ BOX_TRANSCRIPT_IDENTIFY = 'Identify Locations: '
380
+ BOX_TRANSCRIPT_EXPLANATION = 'Explanation: '
381
+ BOX_TRANSCRIPT_VERBOSE = 'Sample Verbose Mode: '
382
+ BOX_TRANSCRIPT_BRIEF = 'Sample Brief Mode: '
383
+
384
+ BOX_COLOR = 'Color Preferences'
385
+ BOX_BG_COLOR = '&Background Color'
386
+ BOX_ARROWS_COLOR = '&Arrows Color'
387
+ BOX_BOX_BG_COLOR = '&Box Background Color'
388
+ BOX_BOX_DARK_COLOR = '&Box Darkness Color'
389
+ BOX_BOX_BORDER_COLOR = '&Box Border Color'
390
+ BOX_BOX_NUMBER_COLOR = '&Box Number Color'
391
+
392
+ ########### Buttons
393
+ BUTTON_YES = '&Yes'
394
+ BUTTON_NO = '&No'
395
+ BUTTON_CANCEL = '&Cancel'
396
+ BUTTON_ACCEPT = '&Accept'
397
+
398
+ ########### Icons
399
+ ICON_NEW = "\tNew\tCreate new document."
400
+ ICON_OPEN = "\tOpen\tOpen document file."
401
+ ICON_SAVE = "\tSave\tSave document."
402
+ ICON_SAVE_AS = "\tSaveAs\tSave document to another file."
403
+ ICON_PRINT = "\tPrint Map\tPrint map (as graph)."
404
+ ICON_CUT = "\tCut"
405
+ ICON_COPY = "\tCopy"
406
+ ICON_PASTE = "\tPaste"
407
+ ICON_ZOOM_IN = "+\tZoom In"
408
+ ICON_ZOOM_OUT = "-\tZoom Out"
409
+ ICON_PREV_SECTION = "\tPrevious Section"
410
+ ICON_NEXT_SECTION = "\tNext Section"
411
+
412
+
413
+ ########### Drawings
414
+
415
+ # Text near connection (to indicate other dir)
416
+ DRAW_EXIT_TEXT = [
417
+ '',
418
+ 'U',
419
+ 'D',
420
+ 'I',
421
+ 'O'
422
+ ]
423
+
424
+ class Room
425
+ DIRECTIONS = [
426
+ 'n',
427
+ 'ne',
428
+ 'e',
429
+ 'se',
430
+ 's',
431
+ 'sw',
432
+ 'w',
433
+ 'nw',
434
+ ]
435
+ end