1# -*- coding: utf-8 -*-
2#
3# floorDisplay widget demo (called by 'widget')
4#
5
6# floorDisplay --
7# Recreate the floorplan display in the canvas given by "w".  The
8# floor given by "active" is displayed on top with its office structure
9# visible.
10#
11# Arguments:
12# w -           Name of the canvas window.
13# active -      Number of active floor (1, 2, or 3).
14
15def floorDisplay(w,active)
16  return if $activeFloor == active
17
18  w.delete('all')
19  $activeFloor = active
20
21  # First go through the three floors, displaying the backgrounds for
22  # each floor.
23
24  floor_bg1(w,$floor_colors['bg1'],$floor_colors['outline1'])
25  floor_bg2(w,$floor_colors['bg2'],$floor_colors['outline2'])
26  floor_bg3(w,$floor_colors['bg3'],$floor_colors['outline3'])
27
28  # Raise the background for the active floor so that it's on top.
29
30  w.raise("floor#{active}")
31
32  # Create a dummy item just to mark this point in the display list,
33  # so we can insert highlights here.
34
35  TkcRectangle.new(w,0,100,1,101, 'fill'=>'', 'outline'=>'', 'tags'=>'marker')
36
37  # Add the walls and labels for the active floor, along with
38  # transparent polygons that define the rooms on the floor.
39  # Make sure that the room polygons are on top.
40
41  $floorLabels.clear
42  $floorItems.clear
43  send("floor_fg#{active}", w, $floor_colors['offices'])
44  w.raise('room')
45
46  # Offset the floors diagonally from each other.
47
48  w.move('floor1', '2c', '2c')
49  w.move('floor2', '1c', '1c')
50
51  # Create items for the room entry and its label.
52  TkcWindow.new(w, 600, 100, 'anchor'=>'w', 'window'=>$floor_entry)
53  TkcText.new(w, 600, 100, 'anchor'=>'e', 'text'=>"部屋番号: ")
54  w['scrollregion'] = w.bbox('all')
55end
56
57# newRoom --
58# This method is invoked whenever the mouse enters a room
59# in the floorplan.  It changes tags so that the current room is
60# highlighted.
61#
62# Arguments:
63# w  -          The name of the canvas window.
64
65def newRoom(w)
66  id = w.find_withtag('current')[0]
67  $currentRoom.value = $floorLabels[id.id] if id != ""
68  Tk.update(true)
69end
70
71# roomChanged --
72# This method is invoked whenever the currentRoom variable changes.
73# It highlights the current room and unhighlights any previous room.
74#
75# Arguments:
76# w -           The canvas window displaying the floorplan.
77# args -        Not used.
78
79def roomChanged(w,*args)
80  w.delete('highlight')
81  item = $floorItems[$currentRoom.value]
82  return if item == nil
83  new = TkcPolygon.new(w, *(w.coords(item)))
84  new.configure('fill'=>$floor_colors['active'], 'tags'=>'highlight')
85  w.raise(new, 'marker')
86end
87
88# floor_bg1 --
89# This method represents part of the floorplan database.  When
90# invoked, it instantiates the background information for the first
91# floor.
92#
93# Arguments:
94# w -           The canvas window.
95# fill -        Fill color to use for the floor's background.
96# outline -     Color to use for the floor's outline.
97
98def floor_bg1(w,fill,outline)
99  TkcPolygon.new(w,347,80,349,82,351,84,353,85,363,92,375,99,386,104,
100                 386,129,398,129,398,162,484,162,484,129,559,129,559,133,725,
101                 133,725,129,802,129,802,389,644,389,644,391,559,391,559,327,
102                 508,327,508,311,484,311,484,278,395,278,395,288,400,288,404,
103                 288,409,290,413,292,418,297,421,302,422,309,421,318,417,325,
104                 411,330,405,332,397,333,344,333,340,334,336,336,335,338,332,
105                 342,331,347,332,351,334,354,336,357,341,359,340,360,335,363,
106                 331,365,326,366,304,366,304,355,258,355,258,387,60,387,60,391,
107                 0,391,0,337,3,337,3,114,8,114,8,25,30,25,30,5,93,5,98,5,104,7,
108                 110,10,116,16,119,20,122,28,123,32,123,68,220,68,220,34,221,
109                 22,223,17,227,13,231,8,236,4,242,2,246,0,260,0,283,1,300,5,
110                 321,14,335,22,348,25,365,29,363,39,358,48,352,56,337,70,
111                 344,76,347,80, 'tags'=>['floor1','bg'], 'fill'=>fill)
112  TkcLine.new(w,386,129,398,129, 'fill'=>outline, 'tags'=>['floor1','bg'])
113  TkcLine.new(w,258,355,258,387, 'fill'=>outline, 'tags'=>['floor1','bg'])
114  TkcLine.new(w,60,387,60,391, 'fill'=>outline, 'tags'=>['floor1','bg'])
115  TkcLine.new(w,0,337,0,391, 'fill'=>outline, 'tags'=>['floor1','bg'])
116  TkcLine.new(w,60,391,0,391, 'fill'=>outline, 'tags'=>['floor1','bg'])
117  TkcLine.new(w,3,114,3,337, 'fill'=>outline, 'tags'=>['floor1','bg'])
118  TkcLine.new(w,258,387,60,387, 'fill'=>outline, 'tags'=>['floor1','bg'])
119  TkcLine.new(w,484,162,398,162, 'fill'=>outline, 'tags'=>['floor1','bg'])
120  TkcLine.new(w,398,162,398,129, 'fill'=>outline, 'tags'=>['floor1','bg'])
121  TkcLine.new(w,484,278,484,311, 'fill'=>outline, 'tags'=>['floor1','bg'])
122  TkcLine.new(w,484,311,508,311, 'fill'=>outline, 'tags'=>['floor1','bg'])
123  TkcLine.new(w,508,327,508,311, 'fill'=>outline, 'tags'=>['floor1','bg'])
124  TkcLine.new(w,559,327,508,327, 'fill'=>outline, 'tags'=>['floor1','bg'])
125  TkcLine.new(w,644,391,559,391, 'fill'=>outline, 'tags'=>['floor1','bg'])
126  TkcLine.new(w,644,389,644,391, 'fill'=>outline, 'tags'=>['floor1','bg'])
127  TkcLine.new(w,559,129,484,129, 'fill'=>outline, 'tags'=>['floor1','bg'])
128  TkcLine.new(w,484,162,484,129, 'fill'=>outline, 'tags'=>['floor1','bg'])
129  TkcLine.new(w,725,133,559,133, 'fill'=>outline, 'tags'=>['floor1','bg'])
130  TkcLine.new(w,559,129,559,133, 'fill'=>outline, 'tags'=>['floor1','bg'])
131  TkcLine.new(w,725,129,802,129, 'fill'=>outline, 'tags'=>['floor1','bg'])
132  TkcLine.new(w,802,389,802,129, 'fill'=>outline, 'tags'=>['floor1','bg'])
133  TkcLine.new(w,3,337,0,337, 'fill'=>outline, 'tags'=>['floor1','bg'])
134  TkcLine.new(w,559,391,559,327, 'fill'=>outline, 'tags'=>['floor1','bg'])
135  TkcLine.new(w,802,389,644,389, 'fill'=>outline, 'tags'=>['floor1','bg'])
136  TkcLine.new(w,725,133,725,129, 'fill'=>outline, 'tags'=>['floor1','bg'])
137  TkcLine.new(w,8,25,8,114, 'fill'=>outline, 'tags'=>['floor1','bg'])
138  TkcLine.new(w,8,114,3,114, 'fill'=>outline, 'tags'=>['floor1','bg'])
139  TkcLine.new(w,30,25,8,25, 'fill'=>outline, 'tags'=>['floor1','bg'])
140  TkcLine.new(w,484,278,395,278, 'fill'=>outline, 'tags'=>['floor1','bg'])
141  TkcLine.new(w,30,25,30,5, 'fill'=>outline, 'tags'=>['floor1','bg'])
142  TkcLine.new(w,93,5,30,5, 'fill'=>outline, 'tags'=>['floor1','bg'])
143  TkcLine.new(w,98,5,93,5, 'fill'=>outline, 'tags'=>['floor1','bg'])
144  TkcLine.new(w,104,7,98,5, 'fill'=>outline, 'tags'=>['floor1','bg'])
145  TkcLine.new(w,110,10,104,7, 'fill'=>outline, 'tags'=>['floor1','bg'])
146  TkcLine.new(w,116,16,110,10, 'fill'=>outline, 'tags'=>['floor1','bg'])
147  TkcLine.new(w,119,20,116,16, 'fill'=>outline, 'tags'=>['floor1','bg'])
148  TkcLine.new(w,122,28,119,20, 'fill'=>outline, 'tags'=>['floor1','bg'])
149  TkcLine.new(w,123,32,122,28, 'fill'=>outline, 'tags'=>['floor1','bg'])
150  TkcLine.new(w,123,68,123,32, 'fill'=>outline, 'tags'=>['floor1','bg'])
151  TkcLine.new(w,220,68,123,68, 'fill'=>outline, 'tags'=>['floor1','bg'])
152  TkcLine.new(w,386,129,386,104, 'fill'=>outline, 'tags'=>['floor1','bg'])
153  TkcLine.new(w,386,104,375,99, 'fill'=>outline, 'tags'=>['floor1','bg'])
154  TkcLine.new(w,375,99,363,92, 'fill'=>outline, 'tags'=>['floor1','bg'])
155  TkcLine.new(w,353,85,363,92, 'fill'=>outline, 'tags'=>['floor1','bg'])
156  TkcLine.new(w,220,68,220,34, 'fill'=>outline, 'tags'=>['floor1','bg'])
157  TkcLine.new(w,337,70,352,56, 'fill'=>outline, 'tags'=>['floor1','bg'])
158  TkcLine.new(w,352,56,358,48, 'fill'=>outline, 'tags'=>['floor1','bg'])
159  TkcLine.new(w,358,48,363,39, 'fill'=>outline, 'tags'=>['floor1','bg'])
160  TkcLine.new(w,363,39,365,29, 'fill'=>outline, 'tags'=>['floor1','bg'])
161  TkcLine.new(w,365,29,348,25, 'fill'=>outline, 'tags'=>['floor1','bg'])
162  TkcLine.new(w,348,25,335,22, 'fill'=>outline, 'tags'=>['floor1','bg'])
163  TkcLine.new(w,335,22,321,14, 'fill'=>outline, 'tags'=>['floor1','bg'])
164  TkcLine.new(w,321,14,300,5, 'fill'=>outline, 'tags'=>['floor1','bg'])
165  TkcLine.new(w,300,5,283,1, 'fill'=>outline, 'tags'=>['floor1','bg'])
166  TkcLine.new(w,283,1,260,0, 'fill'=>outline, 'tags'=>['floor1','bg'])
167  TkcLine.new(w,260,0,246,0, 'fill'=>outline, 'tags'=>['floor1','bg'])
168  TkcLine.new(w,246,0,242,2, 'fill'=>outline, 'tags'=>['floor1','bg'])
169  TkcLine.new(w,242,2,236,4, 'fill'=>outline, 'tags'=>['floor1','bg'])
170  TkcLine.new(w,236,4,231,8, 'fill'=>outline, 'tags'=>['floor1','bg'])
171  TkcLine.new(w,231,8,227,13, 'fill'=>outline, 'tags'=>['floor1','bg'])
172  TkcLine.new(w,223,17,227,13, 'fill'=>outline, 'tags'=>['floor1','bg'])
173  TkcLine.new(w,221,22,223,17, 'fill'=>outline, 'tags'=>['floor1','bg'])
174  TkcLine.new(w,220,34,221,22, 'fill'=>outline, 'tags'=>['floor1','bg'])
175  TkcLine.new(w,340,360,335,363, 'fill'=>outline, 'tags'=>['floor1','bg'])
176  TkcLine.new(w,335,363,331,365, 'fill'=>outline, 'tags'=>['floor1','bg'])
177  TkcLine.new(w,331,365,326,366, 'fill'=>outline, 'tags'=>['floor1','bg'])
178  TkcLine.new(w,326,366,304,366, 'fill'=>outline, 'tags'=>['floor1','bg'])
179  TkcLine.new(w,304,355,304,366, 'fill'=>outline, 'tags'=>['floor1','bg'])
180  TkcLine.new(w,395,288,400,288, 'fill'=>outline, 'tags'=>['floor1','bg'])
181  TkcLine.new(w,404,288,400,288, 'fill'=>outline, 'tags'=>['floor1','bg'])
182  TkcLine.new(w,409,290,404,288, 'fill'=>outline, 'tags'=>['floor1','bg'])
183  TkcLine.new(w,413,292,409,290, 'fill'=>outline, 'tags'=>['floor1','bg'])
184  TkcLine.new(w,418,297,413,292, 'fill'=>outline, 'tags'=>['floor1','bg'])
185  TkcLine.new(w,421,302,418,297, 'fill'=>outline, 'tags'=>['floor1','bg'])
186  TkcLine.new(w,422,309,421,302, 'fill'=>outline, 'tags'=>['floor1','bg'])
187  TkcLine.new(w,421,318,422,309, 'fill'=>outline, 'tags'=>['floor1','bg'])
188  TkcLine.new(w,421,318,417,325, 'fill'=>outline, 'tags'=>['floor1','bg'])
189  TkcLine.new(w,417,325,411,330, 'fill'=>outline, 'tags'=>['floor1','bg'])
190  TkcLine.new(w,411,330,405,332, 'fill'=>outline, 'tags'=>['floor1','bg'])
191  TkcLine.new(w,405,332,397,333, 'fill'=>outline, 'tags'=>['floor1','bg'])
192  TkcLine.new(w,397,333,344,333, 'fill'=>outline, 'tags'=>['floor1','bg'])
193  TkcLine.new(w,344,333,340,334, 'fill'=>outline, 'tags'=>['floor1','bg'])
194  TkcLine.new(w,340,334,336,336, 'fill'=>outline, 'tags'=>['floor1','bg'])
195  TkcLine.new(w,336,336,335,338, 'fill'=>outline, 'tags'=>['floor1','bg'])
196  TkcLine.new(w,335,338,332,342, 'fill'=>outline, 'tags'=>['floor1','bg'])
197  TkcLine.new(w,331,347,332,342, 'fill'=>outline, 'tags'=>['floor1','bg'])
198  TkcLine.new(w,332,351,331,347, 'fill'=>outline, 'tags'=>['floor1','bg'])
199  TkcLine.new(w,334,354,332,351, 'fill'=>outline, 'tags'=>['floor1','bg'])
200  TkcLine.new(w,336,357,334,354, 'fill'=>outline, 'tags'=>['floor1','bg'])
201  TkcLine.new(w,341,359,336,357, 'fill'=>outline, 'tags'=>['floor1','bg'])
202  TkcLine.new(w,341,359,340,360, 'fill'=>outline, 'tags'=>['floor1','bg'])
203  TkcLine.new(w,395,288,395,278, 'fill'=>outline, 'tags'=>['floor1','bg'])
204  TkcLine.new(w,304,355,258,355, 'fill'=>outline, 'tags'=>['floor1','bg'])
205  TkcLine.new(w,347,80,344,76, 'fill'=>outline, 'tags'=>['floor1','bg'])
206  TkcLine.new(w,344,76,337,70, 'fill'=>outline, 'tags'=>['floor1','bg'])
207  TkcLine.new(w,349,82,347,80, 'fill'=>outline, 'tags'=>['floor1','bg'])
208  TkcLine.new(w,351,84,349,82, 'fill'=>outline, 'tags'=>['floor1','bg'])
209  TkcLine.new(w,353,85,351,84, 'fill'=>outline, 'tags'=>['floor1','bg'])
210end
211
212# floor_bg2 --
213# This method represents part of the floorplan database.  When
214# invoked, it instantiates the background information for the first
215# floor.
216#
217# Arguments:
218# w -           The canvas window.
219# fill -        Fill color to use for the floor's background.
220# outline -     Color to use for the floor's outline.
221
222def floor_bg2(w,fill,outline)
223  TkcPolygon.new(w,559,129,484,129,484,162,398,162,398,129,315,129,
224                 315,133,176,133,176,129,96,129,96,133,3,133,3,339,0,339,0,391,
225                 60,391,60,387,258,387,258,329,350,329,350,311,395,311,395,280,
226                 484,280,484,311,508,311,508,327,558,327,558,391,644,391,644,
227                 367,802,367,802,129,725,129,725,133,559,133,559,129,
228                 'tags'=>['floor2','bg'], 'fill'=>fill)
229  TkcLine.new(w,350,311,350,329, 'fill'=>outline, 'tags'=>['floor2','bg'])
230  TkcLine.new(w,398,129,398,162, 'fill'=>outline, 'tags'=>['floor2','bg'])
231  TkcLine.new(w,802,367,802,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
232  TkcLine.new(w,802,129,725,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
233  TkcLine.new(w,725,133,725,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
234  TkcLine.new(w,559,129,559,133, 'fill'=>outline, 'tags'=>['floor2','bg'])
235  TkcLine.new(w,559,133,725,133, 'fill'=>outline, 'tags'=>['floor2','bg'])
236  TkcLine.new(w,484,162,484,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
237  TkcLine.new(w,559,129,484,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
238  TkcLine.new(w,802,367,644,367, 'fill'=>outline, 'tags'=>['floor2','bg'])
239  TkcLine.new(w,644,367,644,391, 'fill'=>outline, 'tags'=>['floor2','bg'])
240  TkcLine.new(w,644,391,558,391, 'fill'=>outline, 'tags'=>['floor2','bg'])
241  TkcLine.new(w,558,327,558,391, 'fill'=>outline, 'tags'=>['floor2','bg'])
242  TkcLine.new(w,558,327,508,327, 'fill'=>outline, 'tags'=>['floor2','bg'])
243  TkcLine.new(w,508,327,508,311, 'fill'=>outline, 'tags'=>['floor2','bg'])
244  TkcLine.new(w,484,311,508,311, 'fill'=>outline, 'tags'=>['floor2','bg'])
245  TkcLine.new(w,484,280,484,311, 'fill'=>outline, 'tags'=>['floor2','bg'])
246  TkcLine.new(w,398,162,484,162, 'fill'=>outline, 'tags'=>['floor2','bg'])
247  TkcLine.new(w,484,280,395,280, 'fill'=>outline, 'tags'=>['floor2','bg'])
248  TkcLine.new(w,395,280,395,311, 'fill'=>outline, 'tags'=>['floor2','bg'])
249  TkcLine.new(w,258,387,60,387, 'fill'=>outline, 'tags'=>['floor2','bg'])
250  TkcLine.new(w,3,133,3,339, 'fill'=>outline, 'tags'=>['floor2','bg'])
251  TkcLine.new(w,3,339,0,339, 'fill'=>outline, 'tags'=>['floor2','bg'])
252  TkcLine.new(w,60,391,0,391, 'fill'=>outline, 'tags'=>['floor2','bg'])
253  TkcLine.new(w,0,339,0,391, 'fill'=>outline, 'tags'=>['floor2','bg'])
254  TkcLine.new(w,60,387,60,391, 'fill'=>outline, 'tags'=>['floor2','bg'])
255  TkcLine.new(w,258,329,258,387, 'fill'=>outline, 'tags'=>['floor2','bg'])
256  TkcLine.new(w,350,329,258,329, 'fill'=>outline, 'tags'=>['floor2','bg'])
257  TkcLine.new(w,395,311,350,311, 'fill'=>outline, 'tags'=>['floor2','bg'])
258  TkcLine.new(w,398,129,315,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
259  TkcLine.new(w,176,133,315,133, 'fill'=>outline, 'tags'=>['floor2','bg'])
260  TkcLine.new(w,176,129,96,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
261  TkcLine.new(w,3,133,96,133, 'fill'=>outline, 'tags'=>['floor2','bg'])
262  TkcLine.new(w,315,133,315,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
263  TkcLine.new(w,176,133,176,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
264  TkcLine.new(w,96,133,96,129, 'fill'=>outline, 'tags'=>['floor2','bg'])
265end
266
267# floor_bg3 --
268# This method represents part of the floorplan database.  When
269# invoked, it instantiates the background information for the first
270# floor.
271#
272# Arguments:
273# w -           The canvas window.
274# fill -        Fill color to use for the floor's background.
275# outline -     Color to use for the floor's outline.
276
277def floor_bg3(w,fill,outline)
278  TkcPolygon.new(w,159,300,107,300,107,248,159,248,159,129,96,129,96,
279                 133,21,133,21,331,0,331,0,391,60,391,60,370,159,370,159,300,
280                 'tags'=>['floor3','bg'], 'fill'=>fill)
281  TkcPolygon.new(w,258,370,258,329,350,329,350,311,399,311,399,129,
282                 315,129,315,133,176,133,176,129,159,129,159,370,258,370,
283                 'tags'=>['floor3','bg'], 'fill'=>fill)
284  TkcLine.new(w,96,133,96,129, 'fill'=>outline, 'tags'=>['floor3','bg'])
285  TkcLine.new(w,176,129,96,129, 'fill'=>outline, 'tags'=>['floor3','bg'])
286  TkcLine.new(w,176,129,176,133, 'fill'=>outline, 'tags'=>['floor3','bg'])
287  TkcLine.new(w,315,133,176,133, 'fill'=>outline, 'tags'=>['floor3','bg'])
288  TkcLine.new(w,315,133,315,129, 'fill'=>outline, 'tags'=>['floor3','bg'])
289  TkcLine.new(w,399,129,315,129, 'fill'=>outline, 'tags'=>['floor3','bg'])
290  TkcLine.new(w,399,311,399,129, 'fill'=>outline, 'tags'=>['floor3','bg'])
291  TkcLine.new(w,399,311,350,311, 'fill'=>outline, 'tags'=>['floor3','bg'])
292  TkcLine.new(w,350,329,350,311, 'fill'=>outline, 'tags'=>['floor3','bg'])
293  TkcLine.new(w,350,329,258,329, 'fill'=>outline, 'tags'=>['floor3','bg'])
294  TkcLine.new(w,258,370,258,329, 'fill'=>outline, 'tags'=>['floor3','bg'])
295  TkcLine.new(w,60,370,258,370, 'fill'=>outline, 'tags'=>['floor3','bg'])
296  TkcLine.new(w,60,370,60,391, 'fill'=>outline, 'tags'=>['floor3','bg'])
297  TkcLine.new(w,60,391,0,391, 'fill'=>outline, 'tags'=>['floor3','bg'])
298  TkcLine.new(w,0,391,0,331, 'fill'=>outline, 'tags'=>['floor3','bg'])
299  TkcLine.new(w,21,331,0,331, 'fill'=>outline, 'tags'=>['floor3','bg'])
300  TkcLine.new(w,21,331,21,133, 'fill'=>outline, 'tags'=>['floor3','bg'])
301  TkcLine.new(w,96,133,21,133, 'fill'=>outline, 'tags'=>['floor3','bg'])
302  TkcLine.new(w,107,300,159,300,159,248,107,248,107,300,
303              'fill'=>outline, 'tags'=>['floor3','bg'])
304end
305
306# floor_fg1 --
307# This method represents part of the floorplan database.  When
308# invoked, it instantiates the foreground information for the first
309# floor (office outlines and numbers).
310#
311# Arguments:
312# w -           The canvas window.
313# color -       Color to use for drawing foreground information.
314
315def floor_fg1(w,color)
316  i = TkcPolygon.new(w,375,246,375,172,341,172,341,246,
317                     'fill'=>'', 'tags'=>['floor1','room'])
318  $floorLabels[i.id] = '101'
319  $floorItems['101'] = i
320  TkcText.new(w,358,209, 'text'=>'101', 'fill'=>color,
321              'anchor'=>'c', 'tags'=>['floor1','label'])
322  i = TkcPolygon.new(w,307,240,339,240,339,206,307,206,
323                     'fill'=>'', 'tags'=>['floor1','room'])
324  $floorLabels[i.id] = 'Pub Lift1'
325  $floorItems['Pub Lift1'] = i
326  TkcText.new(w,323,223, 'text'=>'Pub Lift1', 'fill'=>color,
327              'anchor'=>'c', 'tags'=>['floor1','label'])
328  i = TkcPolygon.new(w,339,205,307,205,307,171,339,171,
329                     'fill'=>'', 'tags'=>['floor1','room'])
330  $floorLabels[i.id] = 'Priv Lift1'
331  $floorItems['Priv Lift1'] = i
332  TkcText.new(w,323,188, 'text'=>'Priv Lift1', 'fill'=>color,
333              'anchor'=>'c', 'tags'=>['floor1','label'])
334  i = TkcPolygon.new(w,42,389,42,337,1,337,1,389,
335                     'fill'=>'', 'tags'=>['floor1','room'])
336  $floorLabels[i.id] = '110'
337  $floorItems['110'] = i
338  TkcText.new(w,21.5,363, 'text'=>'110', 'fill'=>color,
339              'anchor'=>'c', 'tags'=>['floor1','label'])
340  i = TkcPolygon.new(w,59,389,59,385,90,385,90,337,44,337,44,389,
341                     'fill'=>'', 'tags'=>['floor1','room'])
342  $floorLabels[i.id] = '109'
343  $floorItems['109'] = i
344  TkcText.new(w,67,363, 'text'=>'109', 'fill'=>color,
345              'anchor'=>'c', 'tags'=>['floor1','label'])
346  i = TkcPolygon.new(w,51,300,51,253,6,253,6,300,
347                     'fill'=>'', 'tags'=>['floor1','room'])
348  $floorLabels[i.id] = '111'
349  $floorItems['111'] = i
350  TkcText.new(w,28.5,276.5, 'text'=>'111', 'fill'=>color,
351              'anchor'=>'c', 'tags'=>['floor1','label'])
352  i = TkcPolygon.new(w,98,248,98,309,79,309,79,248,
353                     'fill'=>'', 'tags'=>['floor1','room'])
354  $floorLabels[i.id] = '117B'
355  $floorItems['117B'] = i
356  TkcText.new(w,88.5,278.5, 'text'=>'117B', 'fill'=>color,
357              'anchor'=>'c', 'tags'=>['floor1','label'])
358  i = TkcPolygon.new(w,51,251,51,204,6,204,6,251,
359                     'fill'=>'', 'tags'=>['floor1','room'])
360  $floorLabels[i.id] = '112'
361  $floorItems['112'] = i
362  TkcText.new(w,28.5,227.5, 'text'=>'112', 'fill'=>color,
363              'anchor'=>'c', 'tags'=>['floor1','label'])
364  i = TkcPolygon.new(w,6,156,51,156,51,203,6,203,
365                     'fill'=>'', 'tags'=>['floor1','room'])
366  $floorLabels[i.id] = '113'
367  $floorItems['113'] = i
368  TkcText.new(w,28.5,179.5, 'text'=>'113', 'fill'=>color,
369              'anchor'=>'c', 'tags'=>['floor1','label'])
370  i = TkcPolygon.new(w,85,169,79,169,79,192,85,192,
371                     'fill'=>'', 'tags'=>['floor1','room'])
372  $floorLabels[i.id] = '117A'
373  $floorItems['117A'] = i
374  TkcText.new(w,82,180.5, 'text'=>'117A', 'fill'=>color,
375              'anchor'=>'c', 'tags'=>['floor1','label'])
376  i = TkcPolygon.new(w,77,302,77,168,53,168,53,302,
377                     'fill'=>'', 'tags'=>['floor1','room'])
378  $floorLabels[i.id] = '117'
379  $floorItems['117'] = i
380  TkcText.new(w,65,235, 'text'=>'117', 'fill'=>color,
381              'anchor'=>'c', 'tags'=>['floor1','label'])
382  i = TkcPolygon.new(w,51,155,51,115,6,115,6,155,
383                     'fill'=>'', 'tags'=>['floor1','room'])
384  $floorLabels[i.id] = '114'
385  $floorItems['114'] = i
386  TkcText.new(w,28.5,135, 'text'=>'114', 'fill'=>color,
387              'anchor'=>'c', 'tags'=>['floor1','label'])
388  i = TkcPolygon.new(w,95,115,53,115,53,168,95,168,
389                     'fill'=>'', 'tags'=>['floor1','room'])
390  $floorLabels[i.id] = '115'
391  $floorItems['115'] = i
392  TkcText.new(w,74,141.5, 'text'=>'115', 'fill'=>color,
393              'anchor'=>'c', 'tags'=>['floor1','label'])
394  i = TkcPolygon.new(w,87,113,87,27,10,27,10,113,
395                     'fill'=>'', 'tags'=>['floor1','room'])
396  $floorLabels[i.id] = '116'
397  $floorItems['116'] = i
398  TkcText.new(w,48.5,70, 'text'=>'116', 'fill'=>color,
399              'anchor'=>'c', 'tags'=>['floor1','label'])
400  i = TkcPolygon.new(w,89,91,128,91,128,113,89,131,
401                     'fill'=>'', 'tags'=>['floor1','room'])
402  $floorLabels[i.id] = '118'
403  $floorItems['118'] = i
404  TkcText.new(w,108.5,102, 'text'=>'118', 'fill'=>color,
405              'anchor'=>'c', 'tags'=>['floor1','label'])
406  i = TkcPolygon.new(w,178,128,178,132,216,132,216,91,
407                     163,91,163,112,149,112,149,128,
408                     'fill'=>'', 'tags'=>['floor1','room'])
409  $floorLabels[i.id] = '120'
410  $floorItems['120'] = i
411  TkcText.new(w,189.5,111.5, 'text'=>'120', 'fill'=>color,
412              'anchor'=>'c', 'tags'=>['floor1','label'])
413  i = TkcPolygon.new(w,79,193,87,193,87,169,136,169,136,192,
414                     156,192,156,169,175,169,175,246,79,246,
415                     'fill'=>'', 'tags'=>['floor1','room'])
416  $floorLabels[i.id] = '122'
417  $floorItems['122'] = i
418  TkcText.new(w,131,207.5, 'text'=>'122', 'fill'=>color,
419              'anchor'=>'c', 'tags'=>['floor1','label'])
420  i = TkcPolygon.new(w,138,169,154,169,154,191,138,191,
421                     'fill'=>'', 'tags'=>['floor1','room'])
422  $floorLabels[i.id] = '121'
423  $floorItems['121'] = i
424  TkcText.new(w,146,180, 'text'=>'121', 'fill'=>color,
425              'anchor'=>'c', 'tags'=>['floor1','label'])
426  i = TkcPolygon.new(w,99,300,126,300,126,309,99,309,
427                     'fill'=>'', 'tags'=>['floor1','room'])
428  $floorLabels[i.id] = '106A'
429  $floorItems['106A'] = i
430  TkcText.new(w,112.5,304.5, 'text'=>'106A', 'fill'=>color,
431              'anchor'=>'c', 'tags'=>['floor1','label'])
432  i = TkcPolygon.new(w,128,299,128,309,150,309,150,248,99,248,99,299,
433                     'fill'=>'', 'tags'=>['floor1','room'])
434  $floorLabels[i.id] = '105'
435  $floorItems['105'] = i
436  TkcText.new(w,124.5,278.5, 'text'=>'105', 'fill'=>color,
437              'anchor'=>'c', 'tags'=>['floor1','label'])
438  i = TkcPolygon.new(w,174,309,174,300,152,300,152,309,
439                     'fill'=>'', 'tags'=>['floor1','room'])
440  $floorLabels[i.id] = '106B'
441  $floorItems['106B'] = i
442  TkcText.new(w,163,304.5, 'text'=>'106B', 'fill'=>color,
443              'anchor'=>'c', 'tags'=>['floor1','label'])
444  i = TkcPolygon.new(w,176,299,176,309,216,309,216,248,152,248,152,299,
445                     'fill'=>'', 'tags'=>['floor1','room'])
446  $floorLabels[i.id] = '104'
447  $floorItems['104'] = i
448  TkcText.new(w,184,278.5, 'text'=>'104', 'fill'=>color,
449              'anchor'=>'c', 'tags'=>['floor1','label'])
450  i = TkcPolygon.new(w,138,385,138,337,91,337,91,385,
451                     'fill'=>'', 'tags'=>['floor1','room'])
452  $floorLabels[i.id] = '108'
453  $floorItems['108'] = i
454  TkcText.new(w,114.5,361, 'text'=>'108', 'fill'=>color,
455              'anchor'=>'c', 'tags'=>['floor1','label'])
456  i = TkcPolygon.new(w,256,337,140,337,140,385,256,385,
457                     'fill'=>'', 'tags'=>['floor1','room'])
458  $floorLabels[i.id] = '107'
459  $floorItems['107'] = i
460  TkcText.new(w,198,361, 'text'=>'107', 'fill'=>color,
461              'anchor'=>'c', 'tags'=>['floor1','label'])
462  i = TkcPolygon.new(w,300,353,300,329,260,329,260,353,
463                     'fill'=>'', 'tags'=>['floor1','room'])
464  $floorLabels[i.id] = 'Smoking'
465  $floorItems['Smoking'] = i
466  TkcText.new(w,280,341, 'text'=>'Smoking', 'fill'=>color,
467              'anchor'=>'c', 'tags'=>['floor1','label'])
468  i = TkcPolygon.new(w,314,135,314,170,306,170,306,246,177,246,177,135,
469                     'fill'=>'', 'tags'=>['floor1','room'])
470  $floorLabels[i.id] = '123'
471  $floorItems['123'] = i
472  TkcText.new(w,245.5,190.5, 'text'=>'123', 'fill'=>color,
473              'anchor'=>'c', 'tags'=>['floor1','label'])
474  i = TkcPolygon.new(w,217,248,301,248,301,326,257,326,257,310,217,310,
475                     'fill'=>'', 'tags'=>['floor1','room'])
476  $floorLabels[i.id] = '103'
477  $floorItems['103'] = i
478  TkcText.new(w,259,287, 'text'=>'103', 'fill'=>color,
479              'anchor'=>'c', 'tags'=>['floor1','label'])
480  i = TkcPolygon.new(w,396,188,377,188,377,169,316,169,316,131,396,131,
481                     'fill'=>'', 'tags'=>['floor1','room'])
482  $floorLabels[i.id] = '124'
483  $floorItems['124'] = i
484  TkcText.new(w,356,150, 'text'=>'124', 'fill'=>color,
485              'anchor'=>'c', 'tags'=>['floor1','label'])
486  i = TkcPolygon.new(w,397,226,407,226,407,189,377,189,377,246,397,246,
487                     'fill'=>'', 'tags'=>['floor1','room'])
488  $floorLabels[i.id] = '125'
489  $floorItems['125'] = i
490  TkcText.new(w,392,217.5, 'text'=>'125', 'fill'=>color,
491              'anchor'=>'c', 'tags'=>['floor1','label'])
492  i = TkcPolygon.new(w,399,187,409,187,409,207,474,207,474,164,399,164,
493                     'fill'=>'', 'tags'=>['floor1','room'])
494  $floorLabels[i.id] = '126'
495  $floorItems['126'] = i
496  TkcText.new(w,436.5,185.5, 'text'=>'126', 'fill'=>color,
497              'anchor'=>'c', 'tags'=>['floor1','label'])
498  i = TkcPolygon.new(w,409,209,409,229,399,229,399,253,
499                     486,253,486,239,474,239,474,209,
500                     'fill'=>'', 'tags'=>['floor1','room'])
501  $floorLabels[i.id] = '127'
502  $floorItems['127'] = i
503  TkcText.new(w,436.5,'231', 'text'=>'127', 'fill'=>color,
504              'anchor'=>'c', 'tags'=>['floor1','label'])
505  i = TkcPolygon.new(w,501,164,501,174,495,174,495,188,
506                     490,188,490,204,476,204,476,164,
507                     'fill'=>'', 'tags'=>['floor1','room'])
508  $floorLabels[i.id] = 'MShower'
509  $floorItems['MShower'] = i
510  TkcText.new(w,488.5,'184', 'text'=>'MShower', 'fill'=>color,
511              'anchor'=>'c', 'tags'=>['floor1','label'])
512  i = TkcPolygon.new(w,497,176,513,176,513,204,492,204,492,190,497,190,
513                     'fill'=>'', 'tags'=>['floor1','room'])
514  $floorLabels[i.id] = 'Closet'
515  $floorItems['Closet'] = i
516  TkcText.new(w,502.5,190, 'text'=>'Closet', 'fill'=>color,
517              'anchor'=>'c', 'tags'=>['floor1','label'])
518  i = TkcPolygon.new(w,476,237,476,206,513,206,513,254,488,254,488,237,
519                     'fill'=>'', 'tags'=>['floor1','room'])
520  $floorLabels[i.id] = 'WShower'
521  $floorItems['WShower'] = i
522  TkcText.new(w,494.5,230, 'text'=>'WShower', 'fill'=>color,
523              'anchor'=>'c', 'tags'=>['floor1','label'])
524  i = TkcPolygon.new(w,486,131,558,131,558,135,724,135,724,166,
525                     697,166,697,275,553,275,531,254,515,254,
526                     515,174,503,174,503,161,486,161,
527                     'fill'=>'', 'tags'=>['floor1','room'])
528  $floorLabels[i.id] = '130'
529  $floorItems['130'] = i
530  TkcText.new(w,638.5,205, 'text'=>'130', 'fill'=>color,
531              'anchor'=>'c', 'tags'=>['floor1','label'])
532  i = TkcPolygon.new(w,308,242,339,242,339,248,342,248,
533                     342,246,397,246,397,276,393,276,
534                     393,309,300,309,300,248,308,248,
535                     'fill'=>'', 'tags'=>['floor1','room'])
536  $floorLabels[i.id] = '102'
537  $floorItems['102'] = i
538  TkcText.new(w,367.5,278.5, 'text'=>'102', 'fill'=>color,
539              'anchor'=>'c', 'tags'=>['floor1','label'])
540  i = TkcPolygon.new(w,397,255,486,255,486,276,397,276,
541                     'fill'=>'', 'tags'=>['floor1','room'])
542  $floorLabels[i.id] = '128'
543  $floorItems['128'] = i
544  TkcText.new(w,441.5,265.5, 'text'=>'128', 'fill'=>color,
545              'anchor'=>'c', 'tags'=>['floor1','label'])
546  i = TkcPolygon.new(w,510,309,486,309,486,255,530,255,
547                     552,277,561,277,561,325,510,325,
548                     'fill'=>'', 'tags'=>['floor1','room'])
549  $floorLabels[i.id] = '129'
550  $floorItems['129'] = i
551  TkcText.new(w,535.5,293, 'text'=>'129', 'fill'=>color,
552              'anchor'=>'c', 'tags'=>['floor1','label'])
553  i = TkcPolygon.new(w,696,281,740,281,740,387,642,387,
554                     642,389,561,389,561,277,696,277,
555                     'fill'=>'', 'tags'=>['floor1','room'])
556  $floorLabels[i.id] = '133'
557  $floorItems['133'] = i
558  TkcText.new(w,628.5,335, 'text'=>'133', 'fill'=>color,
559              'anchor'=>'c', 'tags'=>['floor1','label'])
560  i = TkcPolygon.new(w,742,387,742,281,800,281,800,387,
561                     'fill'=>'', 'tags'=>['floor1','room'])
562  $floorLabels[i.id] = '132'
563  $floorItems['132'] = i
564  TkcText.new(w,771,334, 'text'=>'132', 'fill'=>color,
565              'anchor'=>'c', 'tags'=>['floor1','label'])
566  i = TkcPolygon.new(w,800,168,800,280,699,280,699,168,
567                     'fill'=>'', 'tags'=>['floor1','room'])
568  $floorLabels[i.id] = '134'
569  $floorItems['134'] = i
570  TkcText.new(w,749.5,224, 'text'=>'134', 'fill'=>color,
571              'anchor'=>'c', 'tags'=>['floor1','label'])
572  i = TkcPolygon.new(w,726,131,726,166,800,166,800,131,
573                     'fill'=>'', 'tags'=>['floor1','room'])
574  $floorLabels[i.id] = '135'
575  $floorItems['135'] = i
576  TkcText.new(w,763,148.5, 'text'=>'135', 'fill'=>color,
577              'anchor'=>'c', 'tags'=>['floor1','label'])
578  i = TkcPolygon.new(w,340,360,335,363,331,365,326,366,304,366,
579                     304,312,396,312,396,288,400,288,404,288,
580                     409,290,413,292,418,297,421,302,422,309,
581                     421,318,417,325,411,330,405,332,397,333,
582                     344,333,340,334,336,336,335,338,332,342,
583                     331,347,332,351,334,354,336,357,341,359,
584                     'fill'=>'', 'tags'=>['floor1','room'])
585  $floorLabels[i.id] = 'Ramona Stair'
586  $floorItems['Ramona Stair'] = i
587  TkcText.new(w,368,323, 'text'=>'Ramona Stair', 'fill'=>color,
588              'anchor'=>'c', 'tags'=>['floor1','label'])
589  i = TkcPolygon.new(w,30,23,30,5,93,5,98,5,104,7,110,10,116,16,119,20,
590                     122,28,123,32,123,68,220,68,220,87,90,87,90,23,
591                     'fill'=>'', 'tags'=>['floor1','room'])
592  $floorLabels[i.id] = 'University Stair'
593  $floorItems['University Stair'] = i
594  TkcText.new(w,155,77.5, 'text'=>'University Stair', 'fill'=>color,
595              'anchor'=>'c', 'tags'=>['floor1','label'])
596  i = TkcPolygon.new(w,282,37,295,40,312,49,323,56,337,70,352,56,
597                     358,48,363,39,365,29,348,25,335,22,321,14,
598                     300,5,283,1,260,0,246,0,242,2,236,4,231,8,
599                     227,13,223,17,221,22,220,34,260,34,
600                     'fill'=>'', 'tags'=>['floor1','room'])
601  $floorLabels[i.id] = 'Plaza Stair'
602  $floorItems['Plaza Stair'] = i
603  TkcText.new(w,317.5,28.5, 'text'=>'Plaza Stair', 'fill'=>color,
604              'anchor'=>'c', 'tags'=>['floor1','label'])
605  i = TkcPolygon.new(w,220,34,260,34,282,37,295,40,312,49,
606                     323,56,337,70,350,83,365,94,377,100,
607                     386,104,386,128,220,128,
608                     'fill'=>'', 'tags'=>['floor1','room'])
609  $floorLabels[i.id] = 'Plaza Deck'
610  $floorItems['Plaza Deck'] = i
611  TkcText.new(w,303,81, 'text'=>'Plaza Deck', 'fill'=>color,
612              'anchor'=>'c', 'tags'=>['floor1','label'])
613  i = TkcPolygon.new(w,257,336,77,336,6,336,6,301,77,301,77,310,257,310,
614                     'fill'=>'', 'tags'=>['floor1','room'])
615  $floorLabels[i.id] = '106'
616  $floorItems['106'] = i
617  TkcText.new(w,131.5,318.5, 'text'=>'106', 'fill'=>color,
618              'anchor'=>'c', 'tags'=>['floor1','label'])
619  i = TkcPolygon.new(w,146,110,162,110,162,91,130,91,130,115,95,115,
620                     95,128,114,128,114,151,157,151,157,153,112,153,
621                     112,130,97,130,97,168,175,168,175,131,146,131,
622                     'fill'=>'', 'tags'=>['floor1','room'])
623  $floorLabels[i.id] = '119'
624  $floorItems['119'] = i
625  TkcText.new(w,143.5,133, 'text'=>'119', 'fill'=>color,
626              'anchor'=>'c', 'tags'=>['floor1','label'])
627  TkcLine.new(w,155,191,155,189, 'fill'=>color, 'tags'=>['floor1','wall'])
628  TkcLine.new(w,155,177,155,169, 'fill'=>color, 'tags'=>['floor1','wall'])
629  TkcLine.new(w,96,129,96,169, 'fill'=>color, 'tags'=>['floor1','wall'])
630  TkcLine.new(w,78,169,176,169, 'fill'=>color, 'tags'=>['floor1','wall'])
631  TkcLine.new(w,176,247,176,129, 'fill'=>color, 'tags'=>['floor1','wall'])
632  TkcLine.new(w,340,206,307,206, 'fill'=>color, 'tags'=>['floor1','wall'])
633  TkcLine.new(w,340,187,340,170, 'fill'=>color, 'tags'=>['floor1','wall'])
634  TkcLine.new(w,340,210,340,201, 'fill'=>color, 'tags'=>['floor1','wall'])
635  TkcLine.new(w,340,247,340,224, 'fill'=>color, 'tags'=>['floor1','wall'])
636  TkcLine.new(w,340,241,307,241, 'fill'=>color, 'tags'=>['floor1','wall'])
637  TkcLine.new(w,376,246,376,170, 'fill'=>color, 'tags'=>['floor1','wall'])
638  TkcLine.new(w,307,247,307,170, 'fill'=>color, 'tags'=>['floor1','wall'])
639  TkcLine.new(w,376,170,307,170, 'fill'=>color, 'tags'=>['floor1','wall'])
640  TkcLine.new(w,315,129,315,170, 'fill'=>color, 'tags'=>['floor1','wall'])
641  TkcLine.new(w,147,129,176,129, 'fill'=>color, 'tags'=>['floor1','wall'])
642  TkcLine.new(w,202,133,176,133, 'fill'=>color, 'tags'=>['floor1','wall'])
643  TkcLine.new(w,398,129,315,129, 'fill'=>color, 'tags'=>['floor1','wall'])
644  TkcLine.new(w,258,352,258,387, 'fill'=>color, 'tags'=>['floor1','wall'])
645  TkcLine.new(w,60,387,60,391, 'fill'=>color, 'tags'=>['floor1','wall'])
646  TkcLine.new(w,0,337,0,391, 'fill'=>color, 'tags'=>['floor1','wall'])
647  TkcLine.new(w,60,391,0,391, 'fill'=>color, 'tags'=>['floor1','wall'])
648  TkcLine.new(w,3,114,3,337, 'fill'=>color, 'tags'=>['floor1','wall'])
649  TkcLine.new(w,258,387,60,387, 'fill'=>color, 'tags'=>['floor1','wall'])
650  TkcLine.new(w,52,237,52,273, 'fill'=>color, 'tags'=>['floor1','wall'])
651  TkcLine.new(w,52,189,52,225, 'fill'=>color, 'tags'=>['floor1','wall'])
652  TkcLine.new(w,52,140,52,177, 'fill'=>color, 'tags'=>['floor1','wall'])
653  TkcLine.new(w,395,306,395,311, 'fill'=>color, 'tags'=>['floor1','wall'])
654  TkcLine.new(w,531,254,398,254, 'fill'=>color, 'tags'=>['floor1','wall'])
655  TkcLine.new(w,475,178,475,238, 'fill'=>color, 'tags'=>['floor1','wall'])
656  TkcLine.new(w,502,162,398,162, 'fill'=>color, 'tags'=>['floor1','wall'])
657  TkcLine.new(w,398,129,398,188, 'fill'=>color, 'tags'=>['floor1','wall'])
658  TkcLine.new(w,383,188,376,188, 'fill'=>color, 'tags'=>['floor1','wall'])
659  TkcLine.new(w,408,188,408,194, 'fill'=>color, 'tags'=>['floor1','wall'])
660  TkcLine.new(w,398,227,398,254, 'fill'=>color, 'tags'=>['floor1','wall'])
661  TkcLine.new(w,408,227,398,227, 'fill'=>color, 'tags'=>['floor1','wall'])
662  TkcLine.new(w,408,222,408,227, 'fill'=>color, 'tags'=>['floor1','wall'])
663  TkcLine.new(w,408,206,408,210, 'fill'=>color, 'tags'=>['floor1','wall'])
664  TkcLine.new(w,408,208,475,208, 'fill'=>color, 'tags'=>['floor1','wall'])
665  TkcLine.new(w,484,278,484,311, 'fill'=>color, 'tags'=>['floor1','wall'])
666  TkcLine.new(w,484,311,508,311, 'fill'=>color, 'tags'=>['floor1','wall'])
667  TkcLine.new(w,508,327,508,311, 'fill'=>color, 'tags'=>['floor1','wall'])
668  TkcLine.new(w,559,327,508,327, 'fill'=>color, 'tags'=>['floor1','wall'])
669  TkcLine.new(w,644,391,559,391, 'fill'=>color, 'tags'=>['floor1','wall'])
670  TkcLine.new(w,644,389,644,391, 'fill'=>color, 'tags'=>['floor1','wall'])
671  TkcLine.new(w,514,205,475,205, 'fill'=>color, 'tags'=>['floor1','wall'])
672  TkcLine.new(w,496,189,496,187, 'fill'=>color, 'tags'=>['floor1','wall'])
673  TkcLine.new(w,559,129,484,129, 'fill'=>color, 'tags'=>['floor1','wall'])
674  TkcLine.new(w,484,162,484,129, 'fill'=>color, 'tags'=>['floor1','wall'])
675  TkcLine.new(w,725,133,559,133, 'fill'=>color, 'tags'=>['floor1','wall'])
676  TkcLine.new(w,559,129,559,133, 'fill'=>color, 'tags'=>['floor1','wall'])
677  TkcLine.new(w,725,149,725,167, 'fill'=>color, 'tags'=>['floor1','wall'])
678  TkcLine.new(w,725,129,802,129, 'fill'=>color, 'tags'=>['floor1','wall'])
679  TkcLine.new(w,802,389,802,129, 'fill'=>color, 'tags'=>['floor1','wall'])
680  TkcLine.new(w,739,167,802,167, 'fill'=>color, 'tags'=>['floor1','wall'])
681  TkcLine.new(w,396,188,408,188, 'fill'=>color, 'tags'=>['floor1','wall'])
682  TkcLine.new(w,0,337,9,337, 'fill'=>color, 'tags'=>['floor1','wall'])
683  TkcLine.new(w,58,337,21,337, 'fill'=>color, 'tags'=>['floor1','wall'])
684  TkcLine.new(w,43,391,43,337, 'fill'=>color, 'tags'=>['floor1','wall'])
685  TkcLine.new(w,105,337,75,337, 'fill'=>color, 'tags'=>['floor1','wall'])
686  TkcLine.new(w,91,387,91,337, 'fill'=>color, 'tags'=>['floor1','wall'])
687  TkcLine.new(w,154,337,117,337, 'fill'=>color, 'tags'=>['floor1','wall'])
688  TkcLine.new(w,139,387,139,337, 'fill'=>color, 'tags'=>['floor1','wall'])
689  TkcLine.new(w,227,337,166,337, 'fill'=>color, 'tags'=>['floor1','wall'])
690  TkcLine.new(w,258,337,251,337, 'fill'=>color, 'tags'=>['floor1','wall'])
691  TkcLine.new(w,258,328,302,328, 'fill'=>color, 'tags'=>['floor1','wall'])
692  TkcLine.new(w,302,355,302,311, 'fill'=>color, 'tags'=>['floor1','wall'])
693  TkcLine.new(w,395,311,302,311, 'fill'=>color, 'tags'=>['floor1','wall'])
694  TkcLine.new(w,484,278,395,278, 'fill'=>color, 'tags'=>['floor1','wall'])
695  TkcLine.new(w,395,294,395,278, 'fill'=>color, 'tags'=>['floor1','wall'])
696  TkcLine.new(w,473,278,473,275, 'fill'=>color, 'tags'=>['floor1','wall'])
697  TkcLine.new(w,473,256,473,254, 'fill'=>color, 'tags'=>['floor1','wall'])
698  TkcLine.new(w,533,257,531,254, 'fill'=>color, 'tags'=>['floor1','wall'])
699  TkcLine.new(w,553,276,551,274, 'fill'=>color, 'tags'=>['floor1','wall'])
700  TkcLine.new(w,698,276,553,276, 'fill'=>color, 'tags'=>['floor1','wall'])
701  TkcLine.new(w,559,391,559,327, 'fill'=>color, 'tags'=>['floor1','wall'])
702  TkcLine.new(w,802,389,644,389, 'fill'=>color, 'tags'=>['floor1','wall'])
703  TkcLine.new(w,741,314,741,389, 'fill'=>color, 'tags'=>['floor1','wall'])
704  TkcLine.new(w,698,280,698,167, 'fill'=>color, 'tags'=>['floor1','wall'])
705  TkcLine.new(w,707,280,698,280, 'fill'=>color, 'tags'=>['floor1','wall'])
706  TkcLine.new(w,802,280,731,280, 'fill'=>color, 'tags'=>['floor1','wall'])
707  TkcLine.new(w,741,280,741,302, 'fill'=>color, 'tags'=>['floor1','wall'])
708  TkcLine.new(w,698,167,727,167, 'fill'=>color, 'tags'=>['floor1','wall'])
709  TkcLine.new(w,725,137,725,129, 'fill'=>color, 'tags'=>['floor1','wall'])
710  TkcLine.new(w,514,254,514,175, 'fill'=>color, 'tags'=>['floor1','wall'])
711  TkcLine.new(w,496,175,514,175, 'fill'=>color, 'tags'=>['floor1','wall'])
712  TkcLine.new(w,502,175,502,162, 'fill'=>color, 'tags'=>['floor1','wall'])
713  TkcLine.new(w,475,166,475,162, 'fill'=>color, 'tags'=>['floor1','wall'])
714  TkcLine.new(w,496,176,496,175, 'fill'=>color, 'tags'=>['floor1','wall'])
715  TkcLine.new(w,491,189,496,189, 'fill'=>color, 'tags'=>['floor1','wall'])
716  TkcLine.new(w,491,205,491,189, 'fill'=>color, 'tags'=>['floor1','wall'])
717  TkcLine.new(w,487,238,475,238, 'fill'=>color, 'tags'=>['floor1','wall'])
718  TkcLine.new(w,487,240,487,238, 'fill'=>color, 'tags'=>['floor1','wall'])
719  TkcLine.new(w,487,252,487,254, 'fill'=>color, 'tags'=>['floor1','wall'])
720  TkcLine.new(w,315,133,304,133, 'fill'=>color, 'tags'=>['floor1','wall'])
721  TkcLine.new(w,256,133,280,133, 'fill'=>color, 'tags'=>['floor1','wall'])
722  TkcLine.new(w,78,247,270,247, 'fill'=>color, 'tags'=>['floor1','wall'])
723  TkcLine.new(w,307,247,294,247, 'fill'=>color, 'tags'=>['floor1','wall'])
724  TkcLine.new(w,214,133,232,133, 'fill'=>color, 'tags'=>['floor1','wall'])
725  TkcLine.new(w,217,247,217,266, 'fill'=>color, 'tags'=>['floor1','wall'])
726  TkcLine.new(w,217,309,217,291, 'fill'=>color, 'tags'=>['floor1','wall'])
727  TkcLine.new(w,217,309,172,309, 'fill'=>color, 'tags'=>['floor1','wall'])
728  TkcLine.new(w,154,309,148,309, 'fill'=>color, 'tags'=>['floor1','wall'])
729  TkcLine.new(w,175,300,175,309, 'fill'=>color, 'tags'=>['floor1','wall'])
730  TkcLine.new(w,151,300,175,300, 'fill'=>color, 'tags'=>['floor1','wall'])
731  TkcLine.new(w,151,247,151,309, 'fill'=>color, 'tags'=>['floor1','wall'])
732  TkcLine.new(w,78,237,78,265, 'fill'=>color, 'tags'=>['floor1','wall'])
733  TkcLine.new(w,78,286,78,309, 'fill'=>color, 'tags'=>['floor1','wall'])
734  TkcLine.new(w,106,309,78,309, 'fill'=>color, 'tags'=>['floor1','wall'])
735  TkcLine.new(w,130,309,125,309, 'fill'=>color, 'tags'=>['floor1','wall'])
736  TkcLine.new(w,99,309,99,247, 'fill'=>color, 'tags'=>['floor1','wall'])
737  TkcLine.new(w,127,299,99,299, 'fill'=>color, 'tags'=>['floor1','wall'])
738  TkcLine.new(w,127,309,127,299, 'fill'=>color, 'tags'=>['floor1','wall'])
739  TkcLine.new(w,155,191,137,191, 'fill'=>color, 'tags'=>['floor1','wall'])
740  TkcLine.new(w,137,169,137,191, 'fill'=>color, 'tags'=>['floor1','wall'])
741  TkcLine.new(w,78,171,78,169, 'fill'=>color, 'tags'=>['floor1','wall'])
742  TkcLine.new(w,78,190,78,218, 'fill'=>color, 'tags'=>['floor1','wall'])
743  TkcLine.new(w,86,192,86,169, 'fill'=>color, 'tags'=>['floor1','wall'])
744  TkcLine.new(w,86,192,78,192, 'fill'=>color, 'tags'=>['floor1','wall'])
745  TkcLine.new(w,52,301,3,301, 'fill'=>color, 'tags'=>['floor1','wall'])
746  TkcLine.new(w,52,286,52,301, 'fill'=>color, 'tags'=>['floor1','wall'])
747  TkcLine.new(w,52,252,3,252, 'fill'=>color, 'tags'=>['floor1','wall'])
748  TkcLine.new(w,52,203,3,203, 'fill'=>color, 'tags'=>['floor1','wall'])
749  TkcLine.new(w,3,156,52,156, 'fill'=>color, 'tags'=>['floor1','wall'])
750  TkcLine.new(w,8,25,8,114, 'fill'=>color, 'tags'=>['floor1','wall'])
751  TkcLine.new(w,63,114,3,114, 'fill'=>color, 'tags'=>['floor1','wall'])
752  TkcLine.new(w,75,114,97,114, 'fill'=>color, 'tags'=>['floor1','wall'])
753  TkcLine.new(w,108,114,129,114, 'fill'=>color, 'tags'=>['floor1','wall'])
754  TkcLine.new(w,129,114,129,89, 'fill'=>color, 'tags'=>['floor1','wall'])
755  TkcLine.new(w,52,114,52,128, 'fill'=>color, 'tags'=>['floor1','wall'])
756  TkcLine.new(w,132,89,88,89, 'fill'=>color, 'tags'=>['floor1','wall'])
757  TkcLine.new(w,88,25,88,89, 'fill'=>color, 'tags'=>['floor1','wall'])
758  TkcLine.new(w,88,114,88,89, 'fill'=>color, 'tags'=>['floor1','wall'])
759  TkcLine.new(w,218,89,144,89, 'fill'=>color, 'tags'=>['floor1','wall'])
760  TkcLine.new(w,147,111,147,129, 'fill'=>color, 'tags'=>['floor1','wall'])
761  TkcLine.new(w,162,111,147,111, 'fill'=>color, 'tags'=>['floor1','wall'])
762  TkcLine.new(w,162,109,162,111, 'fill'=>color, 'tags'=>['floor1','wall'])
763  TkcLine.new(w,162,96,162,89, 'fill'=>color, 'tags'=>['floor1','wall'])
764  TkcLine.new(w,218,89,218,94, 'fill'=>color, 'tags'=>['floor1','wall'])
765  TkcLine.new(w,218,89,218,119, 'fill'=>color, 'tags'=>['floor1','wall'])
766  TkcLine.new(w,8,25,88,25, 'fill'=>color, 'tags'=>['floor1','wall'])
767  TkcLine.new(w,258,337,258,328, 'fill'=>color, 'tags'=>['floor1','wall'])
768  TkcLine.new(w,113,129,96,129, 'fill'=>color, 'tags'=>['floor1','wall'])
769  TkcLine.new(w,302,355,258,355, 'fill'=>color, 'tags'=>['floor1','wall'])
770  TkcLine.new(w,386,104,386,129, 'fill'=>color, 'tags'=>['floor1','wall'])
771  TkcLine.new(w,377,100,386,104, 'fill'=>color, 'tags'=>['floor1','wall'])
772  TkcLine.new(w,365,94,377,100, 'fill'=>color, 'tags'=>['floor1','wall'])
773  TkcLine.new(w,350,83,365,94, 'fill'=>color, 'tags'=>['floor1','wall'])
774  TkcLine.new(w,337,70,350,83, 'fill'=>color, 'tags'=>['floor1','wall'])
775  TkcLine.new(w,337,70,323,56, 'fill'=>color, 'tags'=>['floor1','wall'])
776  TkcLine.new(w,312,49,323,56, 'fill'=>color, 'tags'=>['floor1','wall'])
777  TkcLine.new(w,295,40,312,49, 'fill'=>color, 'tags'=>['floor1','wall'])
778  TkcLine.new(w,282,37,295,40, 'fill'=>color, 'tags'=>['floor1','wall'])
779  TkcLine.new(w,260,34,282,37, 'fill'=>color, 'tags'=>['floor1','wall'])
780  TkcLine.new(w,253,34,260,34, 'fill'=>color, 'tags'=>['floor1','wall'])
781  TkcLine.new(w,386,128,386,104, 'fill'=>color, 'tags'=>['floor1','wall'])
782  TkcLine.new(w,113,152,156,152, 'fill'=>color, 'tags'=>['floor1','wall'])
783  TkcLine.new(w,113,152,156,152, 'fill'=>color, 'tags'=>['floor1','wall'])
784  TkcLine.new(w,113,152,113,129, 'fill'=>color, 'tags'=>['floor1','wall'])
785end
786
787# floor_fg2 --
788# This method represents part of the floorplan database.  When
789# invoked, it instantiates the foreground information for the second
790# floor (office outlines and numbers).
791#
792# Arguments:
793# w -           The canvas window.
794# color -       Color to use for drawing foreground information.
795
796def floor_fg2(w,color)
797  i = TkcPolygon.new(w,748,188,755,188,755,205,758,205,758,222,
798                     800,222,800,168,748,168,
799                     'fill'=>'', 'tags'=>['floor2','room'])
800  $floorLabels[i.id] = '238'
801  $floorItems['238'] = i
802  TkcText.new(w,774,195, 'text'=>'238', 'fill'=>color,
803              'anchor'=>'c', 'tags'=>['floor2','label'])
804  i = TkcPolygon.new(w,726,188,746,188,746,166,800,166,800,131,726,131,
805                     'fill'=>'', 'tags'=>['floor2','room'])
806  $floorLabels[i.id] = '237'
807  $floorItems['237'] = i
808  TkcText.new(w,763,148.5, 'text'=>'237', 'fill'=>color,
809              'anchor'=>'c', 'tags'=>['floor2','label'])
810  i = TkcPolygon.new(w,497,187,497,204,559,204,559,324,641,324,
811                     643,324,643,291,641,291,641,205,696,205,
812                     696,291,694,291,694,314,715,314,715,291,
813                     715,205,755,205,755,190,724,190,724,187,
814                     'fill'=>'', 'tags'=>['floor2','room'])
815  $floorLabels[i.id] = '246'
816  $floorItems['246'] = i
817  TkcText.new(w,600,264, 'text'=>'246', 'fill'=>color,
818              'anchor'=>'c', 'tags'=>['floor2','label'])
819  i = TkcPolygon.new(w,694,279,643,279,643,314,694,314,
820                     'fill'=>'', 'tags'=>['floor2','room'])
821  $floorLabels[i.id] = '247'
822  $floorItems['247'] = i
823  TkcText.new(w,668.5,296.5, 'text'=>'247', 'fill'=>color,
824              'anchor'=>'c', 'tags'=>['floor2','label'])
825  i = TkcPolygon.new(w,232,250,308,250,308,242,339,242,339,246,
826                     397,246,397,255,476,255,476,250,482,250,559,250,
827                     559,274,482,274,482,278,396,278,396,274,232,274,
828                     'fill'=>'', 'tags'=>['floor2','room'])
829  $floorLabels[i.id] = '202'
830  $floorItems['202'] = i
831  TkcText.new(w,285.5,260, 'text'=>'202', 'fill'=>color,
832              'anchor'=>'c', 'tags'=>['floor2','label'])
833  i = TkcPolygon.new(w,53,228,53,338,176,338,233,338,233,196,
834                     306,196,306,180,175,180,175,169,156,169,
835                     156,196,176,196,176,228,
836                     'fill'=>'', 'tags'=>['floor2','room'])
837  $floorLabels[i.id] = '206'
838  $floorItems['206'] = i
839  TkcText.new(w,143,267, 'text'=>'206', 'fill'=>color,
840              'anchor'=>'c', 'tags'=>['floor2','label'])
841  i = TkcPolygon.new(w,51,277,6,277,6,338,51,338,
842                     'fill'=>'', 'tags'=>['floor2','room'])
843  $floorLabels[i.id] = '212'
844  $floorItems['212'] = i
845  TkcText.new(w,28.5,307.5, 'text'=>'212', 'fill'=>color,
846              'anchor'=>'c', 'tags'=>['floor2','label'])
847  i = TkcPolygon.new(w,557,276,486,276,486,309,510,309,510,325,557,325,
848                     'fill'=>'', 'tags'=>['floor2','room'])
849  $floorLabels[i.id] = '245'
850  $floorItems['245'] = i
851  TkcText.new(w,521.5,300.5, 'text'=>'245', 'fill'=>color,
852              'anchor'=>'c', 'tags'=>['floor2','label'])
853  i = TkcPolygon.new(w,560,389,599,389,599,326,560,326,
854                     'fill'=>'', 'tags'=>['floor2','room'])
855  $floorLabels[i.id] = '244'
856  $floorItems['244'] = i
857  TkcText.new(w,579.5,357.5, 'text'=>'244', 'fill'=>color,
858              'anchor'=>'c', 'tags'=>['floor2','label'])
859  i = TkcPolygon.new(w,601,389,601,326,643,326,643,389,
860                     'fill'=>'', 'tags'=>['floor2','room'])
861  $floorLabels[i.id] = '243'
862  $floorItems['243'] = i
863  TkcText.new(w,622,357.5, 'text'=>'243', 'fill'=>color,
864              'anchor'=>'c', 'tags'=>['floor2','label'])
865  i = TkcPolygon.new(w,688,316,645,316,645,365,688,365,
866                     'fill'=>'', 'tags'=>['floor2','room'])
867  $floorLabels[i.id] = '242'
868  $floorItems['242'] = i
869  TkcText.new(w,666.5,340.5, 'text'=>'242', 'fill'=>color,
870              'anchor'=>'c', 'tags'=>['floor2','label'])
871  i = TkcPolygon.new(w,802,367,759,367,759,226,802,226,
872                     'fill'=>'', 'tags'=>['floor2','room'])
873  $floorLabels[i.id] = 'Barbecue Deck'
874  $floorItems['Barbecue Deck'] = i
875  TkcText.new(w,780.5,296.5, 'text'=>'Barbecue Deck', 'fill'=>color,
876              'anchor'=>'c', 'tags'=>['floor2','label'])
877  i = TkcPolygon.new(w,755,262,755,314,717,314,717,262,
878                     'fill'=>'', 'tags'=>['floor2','room'])
879  $floorLabels[i.id] = '240'
880  $floorItems['240'] = i
881  TkcText.new(w,736,288, 'text'=>'240', 'fill'=>color,
882              'anchor'=>'c', 'tags'=>['floor2','label'])
883  i = TkcPolygon.new(w,755,316,689,316,689,365,755,365,
884                     'fill'=>'', 'tags'=>['floor2','room'])
885  $floorLabels[i.id] = '241'
886  $floorItems['241'] = i
887  TkcText.new(w,722,340.5, 'text'=>'241', 'fill'=>color,
888              'anchor'=>'c', 'tags'=>['floor2','label'])
889  i = TkcPolygon.new(w,755,206,717,206,717,261,755,261,
890                     'fill'=>'', 'tags'=>['floor2','room'])
891  $floorLabels[i.id] = '239'
892  $floorItems['239'] = i
893  TkcText.new(w,736,233.5, 'text'=>'239', 'fill'=>color,
894              'anchor'=>'c', 'tags'=>['floor2','label'])
895  i = TkcPolygon.new(w,695,277,643,277,643,206,695,206,
896                     'fill'=>'', 'tags'=>['floor2','room'])
897  $floorLabels[i.id] = '248'
898  $floorItems['248'] = i
899  TkcText.new(w,669,241.5, 'text'=>'248', 'fill'=>color,
900              'anchor'=>'c', 'tags'=>['floor2','label'])
901  i = TkcPolygon.new(w,676,135,676,185,724,185,724,135,
902                     'fill'=>'', 'tags'=>['floor2','room'])
903  $floorLabels[i.id] = '236'
904  $floorItems['236'] = i
905  TkcText.new(w,700,160, 'text'=>'236', 'fill'=>color,
906              'anchor'=>'c', 'tags'=>['floor2','label'])
907  i = TkcPolygon.new(w,675,135,635,135,635,145,628,145,628,185,675,185,
908                     'fill'=>'', 'tags'=>['floor2','room'])
909  $floorLabels[i.id] = '235'
910  $floorItems['235'] = i
911  TkcText.new(w,651.5,160, 'text'=>'235', 'fill'=>color,
912              'anchor'=>'c', 'tags'=>['floor2','label'])
913  i = TkcPolygon.new(w,626,143,633,143,633,135,572,135,
914                     572,143,579,143,579,185,626,185,
915                     'fill'=>'', 'tags'=>['floor2','room'])
916  $floorLabels[i.id] = '234'
917  $floorItems['234'] = i
918  TkcText.new(w,606,160, 'text'=>'234', 'fill'=>color,
919              'anchor'=>'c', 'tags'=>['floor2','label'])
920  i = TkcPolygon.new(w,557,135,571,135,571,145,578,145,
921                     578,185,527,185,527,131,557,131,
922                     'fill'=>'', 'tags'=>['floor2','room'])
923  $floorLabels[i.id] = '233'
924  $floorItems['233'] = i
925  TkcText.new(w,552.5,158, 'text'=>'233', 'fill'=>color,
926              'anchor'=>'c', 'tags'=>['floor2','label'])
927  i = TkcPolygon.new(w,476,249,557,249,557,205,476,205,
928                     'fill'=>'', 'tags'=>['floor2','room'])
929  $floorLabels[i.id] = '230'
930  $floorItems['230'] = i
931  TkcText.new(w,516.5,227, 'text'=>'230', 'fill'=>color,
932              'anchor'=>'c', 'tags'=>['floor2','label'])
933  i = TkcPolygon.new(w,476,164,486,164,486,131,525,131,525,185,476,185,
934                     'fill'=>'', 'tags'=>['floor2','room'])
935  $floorLabels[i.id] = '232'
936  $floorItems['232'] = i
937  TkcText.new(w,500.5,158, 'text'=>'232', 'fill'=>color,
938              'anchor'=>'c', 'tags'=>['floor2','label'])
939  i = TkcPolygon.new(w,476,186,495,186,495,204,476,204,
940                     'fill'=>'', 'tags'=>['floor2','room'])
941  $floorLabels[i.id] = '229'
942  $floorItems['229'] = i
943  TkcText.new(w,485.5,195, 'text'=>'229', 'fill'=>color,
944              'anchor'=>'c', 'tags'=>['floor2','label'])
945  i = TkcPolygon.new(w,474,207,409,207,409,187,399,187,399,164,474,164,
946                     'fill'=>'', 'tags'=>['floor2','room'])
947  $floorLabels[i.id] = '227'
948  $floorItems['227'] = i
949  TkcText.new(w,436.5,185.5, 'text'=>'227', 'fill'=>color,
950              'anchor'=>'c', 'tags'=>['floor2','label'])
951  i = TkcPolygon.new(w,399,228,399,253,474,253,474,209,409,209,409,228,
952                     'fill'=>'', 'tags'=>['floor2','room'])
953  $floorLabels[i.id] = '228'
954  $floorItems['228'] = i
955  TkcText.new(w,436.5,231, 'text'=>'228', 'fill'=>color,
956              'anchor'=>'c', 'tags'=>['floor2','label'])
957  i = TkcPolygon.new(w,397,246,397,226,407,226,407,189,377,189,377,246,
958                     'fill'=>'', 'tags'=>['floor2','room'])
959  $floorLabels[i.id] = '226'
960  $floorItems['226'] = i
961  TkcText.new(w,392,217.5, 'text'=>'226', 'fill'=>color,
962              'anchor'=>'c', 'tags'=>['floor2','label'])
963  i = TkcPolygon.new(w,377,169,316,169,316,131,397,131,397,188,377,188,
964                     'fill'=>'', 'tags'=>['floor2','room'])
965  $floorLabels[i.id] = '225'
966  $floorItems['225'] = i
967  TkcText.new(w,356.5,150, 'text'=>'225', 'fill'=>color,
968              'anchor'=>'c', 'tags'=>['floor2','label'])
969  i = TkcPolygon.new(w,234,198,306,198,306,249,234,249,
970                     'fill'=>'', 'tags'=>['floor2','room'])
971  $floorLabels[i.id] = '224'
972  $floorItems['224'] = i
973  TkcText.new(w,270,223.5, 'text'=>'224', 'fill'=>color,
974              'anchor'=>'c', 'tags'=>['floor2','label'])
975  i = TkcPolygon.new(w,270,179,306,179,306,170,314,170,314,135,270,135,
976                     'fill'=>'', 'tags'=>['floor2','room'])
977  $floorLabels[i.id] = '223'
978  $floorItems['223'] = i
979  TkcText.new(w,292,157, 'text'=>'223', 'fill'=>color,
980              'anchor'=>'c', 'tags'=>['floor2','label'])
981  i = TkcPolygon.new(w,268,179,221,179,221,135,268,135,
982                     'fill'=>'', 'tags'=>['floor2','room'])
983  $floorLabels[i.id] = '222'
984  $floorItems['222'] = i
985  TkcText.new(w,244.5,157, 'text'=>'222', 'fill'=>color,
986              'anchor'=>'c', 'tags'=>['floor2','label'])
987  i = TkcPolygon.new(w,177,179,219,179,219,135,177,135,
988                     'fill'=>'', 'tags'=>['floor2','room'])
989  $floorLabels[i.id] = '221'
990  $floorItems['221'] = i
991  TkcText.new(w,198,157, 'text'=>'221', 'fill'=>color,
992              'anchor'=>'c', 'tags'=>['floor2','label'])
993  i = TkcPolygon.new(w,299,327,349,327,349,284,341,284,341,276,299,276,
994                     'fill'=>'', 'tags'=>['floor2','room'])
995  $floorLabels[i.id] = '204'
996  $floorItems['204'] = i
997  TkcText.new(w,324,301.5, 'text'=>'204', 'fill'=>color,
998              'anchor'=>'c', 'tags'=>['floor2','label'])
999  i = TkcPolygon.new(w,234,276,297,276,297,327,257,327,257,338,234,338,
1000                     'fill'=>'', 'tags'=>['floor2','room'])
1001  $floorLabels[i.id] = '205'
1002  $floorItems['205'] = i
1003  TkcText.new(w,265.5,307, 'text'=>'205', 'fill'=>color,
1004              'anchor'=>'c', 'tags'=>['floor2','label'])
1005  i = TkcPolygon.new(w,256,385,256,340,212,340,212,385,
1006                     'fill'=>'', 'tags'=>['floor2','room'])
1007  $floorLabels[i.id] = '207'
1008  $floorItems['207'] = i
1009  TkcText.new(w,234,362.5, 'text'=>'207', 'fill'=>color,
1010              'anchor'=>'c', 'tags'=>['floor2','label'])
1011  i = TkcPolygon.new(w,210,340,164,340,164,385,210,385,
1012                     'fill'=>'', 'tags'=>['floor2','room'])
1013  $floorLabels[i.id] = '208'
1014  $floorItems['208'] = i
1015  TkcText.new(w,187,362.5, 'text'=>'208', 'fill'=>color,
1016              'anchor'=>'c', 'tags'=>['floor2','label'])
1017  i = TkcPolygon.new(w,115,340,162,340,162,385,115,385,
1018                     'fill'=>'', 'tags'=>['floor2','room'])
1019  $floorLabels[i.id] = '209'
1020  $floorItems['209'] = i
1021  TkcText.new(w,138.5,362.5, 'text'=>'209', 'fill'=>color,
1022              'anchor'=>'c', 'tags'=>['floor2','label'])
1023  i = TkcPolygon.new(w,89,228,89,156,53,156,53,228,
1024                     'fill'=>'', 'tags'=>['floor2','room'])
1025  $floorLabels[i.id] = '217'
1026  $floorItems['217'] = i
1027  TkcText.new(w,71,192, 'text'=>'217', 'fill'=>color,
1028              'anchor'=>'c', 'tags'=>['floor2','label'])
1029  i = TkcPolygon.new(w,89,169,97,169,97,190,89,190,
1030                     'fill'=>'', 'tags'=>['floor2','room'])
1031  $floorLabels[i.id] = '217A'
1032  $floorItems['217A'] = i
1033  TkcText.new(w,93,179.5, 'text'=>'217A', 'fill'=>color,
1034              'anchor'=>'c', 'tags'=>['floor2','label'])
1035  i = TkcPolygon.new(w,89,156,89,168,95,168,95,135,53,135,53,156,
1036                     'fill'=>'', 'tags'=>['floor2','room'])
1037  $floorLabels[i.id] = '216'
1038  $floorItems['216'] = i
1039  TkcText.new(w,71,145.5, 'text'=>'216', 'fill'=>color,
1040              'anchor'=>'c', 'tags'=>['floor2','label'])
1041  i = TkcPolygon.new(w,51,179,51,135,6,135,6,179,
1042                     'fill'=>'', 'tags'=>['floor2','room'])
1043  $floorLabels[i.id] = '215'
1044  $floorItems['215'] = i
1045  TkcText.new(w,28.5,157, 'text'=>'215', 'fill'=>color,
1046              'anchor'=>'c', 'tags'=>['floor2','label'])
1047  i = TkcPolygon.new(w,51,227,6,227,6,180,51,180,
1048                     'fill'=>'', 'tags'=>['floor2','room'])
1049  $floorLabels[i.id] = '214'
1050  $floorItems['214'] = i
1051  TkcText.new(w,28.5,203.5, 'text'=>'214', 'fill'=>color,
1052              'anchor'=>'c', 'tags'=>['floor2','label'])
1053  i = TkcPolygon.new(w,51,275,6,275,6,229,51,229,
1054                     'fill'=>'', 'tags'=>['floor2','room'])
1055  $floorLabels[i.id] = '213'
1056  $floorItems['213'] = i
1057  TkcText.new(w,28.5,252, 'text'=>'213', 'fill'=>color,
1058              'anchor'=>'c', 'tags'=>['floor2','label'])
1059  i = TkcPolygon.new(w,114,340,67,340,67,385,114,385,
1060                     'fill'=>'', 'tags'=>['floor2','room'])
1061  $floorLabels[i.id] = '210'
1062  $floorItems['210'] = i
1063  TkcText.new(w,90.5,362.5, 'text'=>'210', 'fill'=>color,
1064              'anchor'=>'c', 'tags'=>['floor2','label'])
1065  i = TkcPolygon.new(w,59,389,59,385,65,385,65,340,1,340,1,389,
1066                     'fill'=>'', 'tags'=>['floor2','room'])
1067  $floorLabels[i.id] = '211'
1068  $floorItems['211'] = i
1069  TkcText.new(w,33,364.5, 'text'=>'211', 'fill'=>color,
1070              'anchor'=>'c', 'tags'=>['floor2','label'])
1071  i = TkcPolygon.new(w,393,309,350,309,350,282,342,282,342,276,393,276,
1072                     'fill'=>'', 'tags'=>['floor2','room'])
1073  $floorLabels[i.id] = '203'
1074  $floorItems['203'] = i
1075  TkcText.new(w,367.5,292.5, 'text'=>'203', 'fill'=>color,
1076              'anchor'=>'c', 'tags'=>['floor2','label'])
1077  i = TkcPolygon.new(w,99,191,91,191,91,226,174,226,174,198,
1078                     154,198,154,192,109,192,109,169,99,169,
1079                     'fill'=>'', 'tags'=>['floor2','room'])
1080  $floorLabels[i.id] = '220'
1081  $floorItems['220'] = i
1082  TkcText.new(w,132.5,208.5, 'text'=>'220', 'fill'=>color,
1083              'anchor'=>'c', 'tags'=>['floor2','label'])
1084  i = TkcPolygon.new(w,339,205,307,205,307,171,339,171,
1085                     'fill'=>'', 'tags'=>['floor2','room'])
1086  $floorLabels[i.id] = 'Priv Lift2'
1087  $floorItems['Priv Lift2'] = i
1088  TkcText.new(w,323,188, 'text'=>'Priv Lift2', 'fill'=>color,
1089              'anchor'=>'c', 'tags'=>['floor2','label'])
1090  i = TkcPolygon.new(w,307,240,339,240,339,206,307,206,
1091                     'fill'=>'', 'tags'=>['floor2','room'])
1092  $floorLabels[i.id] = 'Pub Lift 2'
1093  $floorItems['Pub Lift 2'] = i
1094  TkcText.new(w,323,223, 'text'=>'Pub Lift 2', 'fill'=>color,
1095              'anchor'=>'c', 'tags'=>['floor2','label'])
1096  i = TkcPolygon.new(w,175,168,97,168,97,131,175,131,
1097                     'fill'=>'', 'tags'=>['floor2','room'])
1098  $floorLabels[i.id] = '218'
1099  $floorItems['218'] = i
1100  TkcText.new(w,136,149.5, 'text'=>'218', 'fill'=>color,
1101              'anchor'=>'c', 'tags'=>['floor2','label'])
1102  i = TkcPolygon.new(w,154,191,111,191,111,169,154,169,
1103                     'fill'=>'', 'tags'=>['floor2','room'])
1104  $floorLabels[i.id] = '219'
1105  $floorItems['219'] = i
1106  TkcText.new(w,132.5,180, 'text'=>'219', 'fill'=>color,
1107              'anchor'=>'c', 'tags'=>['floor2','label'])
1108  i = TkcPolygon.new(w,375,246,375,172,341,172,341,246,
1109                     'fill'=>'', 'tags'=>['floor2','room'])
1110  $floorLabels[i.id] = '201'
1111  $floorItems['201'] = i
1112  TkcText.new(w,358,209, 'text'=>'201', 'fill'=>color,
1113              'anchor'=>'c', 'tags'=>['floor2','label'])
1114  TkcLine.new(w,641,186,678,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1115  TkcLine.new(w,757,350,757,367, 'fill'=>color, 'tags'=>['floor2','wall'])
1116  TkcLine.new(w,634,133,634,144, 'fill'=>color, 'tags'=>['floor2','wall'])
1117  TkcLine.new(w,634,144,627,144, 'fill'=>color, 'tags'=>['floor2','wall'])
1118  TkcLine.new(w,572,133,572,144, 'fill'=>color, 'tags'=>['floor2','wall'])
1119  TkcLine.new(w,572,144,579,144, 'fill'=>color, 'tags'=>['floor2','wall'])
1120  TkcLine.new(w,398,129,398,162, 'fill'=>color, 'tags'=>['floor2','wall'])
1121  TkcLine.new(w,174,197,175,197, 'fill'=>color, 'tags'=>['floor2','wall'])
1122  TkcLine.new(w,175,197,175,227, 'fill'=>color, 'tags'=>['floor2','wall'])
1123  TkcLine.new(w,757,206,757,221, 'fill'=>color, 'tags'=>['floor2','wall'])
1124  TkcLine.new(w,396,188,408,188, 'fill'=>color, 'tags'=>['floor2','wall'])
1125  TkcLine.new(w,727,189,725,189, 'fill'=>color, 'tags'=>['floor2','wall'])
1126  TkcLine.new(w,747,167,802,167, 'fill'=>color, 'tags'=>['floor2','wall'])
1127  TkcLine.new(w,747,167,747,189, 'fill'=>color, 'tags'=>['floor2','wall'])
1128  TkcLine.new(w,755,189,739,189, 'fill'=>color, 'tags'=>['floor2','wall'])
1129  TkcLine.new(w,769,224,757,224, 'fill'=>color, 'tags'=>['floor2','wall'])
1130  TkcLine.new(w,802,224,802,129, 'fill'=>color, 'tags'=>['floor2','wall'])
1131  TkcLine.new(w,802,129,725,129, 'fill'=>color, 'tags'=>['floor2','wall'])
1132  TkcLine.new(w,725,189,725,129, 'fill'=>color, 'tags'=>['floor2','wall'])
1133  TkcLine.new(w,725,186,690,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1134  TkcLine.new(w,676,133,676,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1135  TkcLine.new(w,627,144,627,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1136  TkcLine.new(w,629,186,593,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1137  TkcLine.new(w,579,144,579,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1138  TkcLine.new(w,559,129,559,133, 'fill'=>color, 'tags'=>['floor2','wall'])
1139  TkcLine.new(w,725,133,559,133, 'fill'=>color, 'tags'=>['floor2','wall'])
1140  TkcLine.new(w,484,162,484,129, 'fill'=>color, 'tags'=>['floor2','wall'])
1141  TkcLine.new(w,559,129,484,129, 'fill'=>color, 'tags'=>['floor2','wall'])
1142  TkcLine.new(w,526,129,526,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1143  TkcLine.new(w,540,186,581,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1144  TkcLine.new(w,528,186,523,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1145  TkcLine.new(w,511,186,475,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1146  TkcLine.new(w,496,190,496,186, 'fill'=>color, 'tags'=>['floor2','wall'])
1147  TkcLine.new(w,496,205,496,202, 'fill'=>color, 'tags'=>['floor2','wall'])
1148  TkcLine.new(w,475,205,527,205, 'fill'=>color, 'tags'=>['floor2','wall'])
1149  TkcLine.new(w,558,205,539,205, 'fill'=>color, 'tags'=>['floor2','wall'])
1150  TkcLine.new(w,558,205,558,249, 'fill'=>color, 'tags'=>['floor2','wall'])
1151  TkcLine.new(w,558,249,475,249, 'fill'=>color, 'tags'=>['floor2','wall'])
1152  TkcLine.new(w,662,206,642,206, 'fill'=>color, 'tags'=>['floor2','wall'])
1153  TkcLine.new(w,695,206,675,206, 'fill'=>color, 'tags'=>['floor2','wall'])
1154  TkcLine.new(w,695,278,642,278, 'fill'=>color, 'tags'=>['floor2','wall'])
1155  TkcLine.new(w,642,291,642,206, 'fill'=>color, 'tags'=>['floor2','wall'])
1156  TkcLine.new(w,695,291,695,206, 'fill'=>color, 'tags'=>['floor2','wall'])
1157  TkcLine.new(w,716,208,716,206, 'fill'=>color, 'tags'=>['floor2','wall'])
1158  TkcLine.new(w,757,206,716,206, 'fill'=>color, 'tags'=>['floor2','wall'])
1159  TkcLine.new(w,757,221,757,224, 'fill'=>color, 'tags'=>['floor2','wall'])
1160  TkcLine.new(w,793,224,802,224, 'fill'=>color, 'tags'=>['floor2','wall'])
1161  TkcLine.new(w,757,262,716,262, 'fill'=>color, 'tags'=>['floor2','wall'])
1162  TkcLine.new(w,716,220,716,264, 'fill'=>color, 'tags'=>['floor2','wall'])
1163  TkcLine.new(w,716,315,716,276, 'fill'=>color, 'tags'=>['floor2','wall'])
1164  TkcLine.new(w,757,315,703,315, 'fill'=>color, 'tags'=>['floor2','wall'])
1165  TkcLine.new(w,757,325,757,224, 'fill'=>color, 'tags'=>['floor2','wall'])
1166  TkcLine.new(w,757,367,644,367, 'fill'=>color, 'tags'=>['floor2','wall'])
1167  TkcLine.new(w,689,367,689,315, 'fill'=>color, 'tags'=>['floor2','wall'])
1168  TkcLine.new(w,647,315,644,315, 'fill'=>color, 'tags'=>['floor2','wall'])
1169  TkcLine.new(w,659,315,691,315, 'fill'=>color, 'tags'=>['floor2','wall'])
1170  TkcLine.new(w,600,325,600,391, 'fill'=>color, 'tags'=>['floor2','wall'])
1171  TkcLine.new(w,627,325,644,325, 'fill'=>color, 'tags'=>['floor2','wall'])
1172  TkcLine.new(w,644,391,644,315, 'fill'=>color, 'tags'=>['floor2','wall'])
1173  TkcLine.new(w,615,325,575,325, 'fill'=>color, 'tags'=>['floor2','wall'])
1174  TkcLine.new(w,644,391,558,391, 'fill'=>color, 'tags'=>['floor2','wall'])
1175  TkcLine.new(w,563,325,558,325, 'fill'=>color, 'tags'=>['floor2','wall'])
1176  TkcLine.new(w,558,391,558,314, 'fill'=>color, 'tags'=>['floor2','wall'])
1177  TkcLine.new(w,558,327,508,327, 'fill'=>color, 'tags'=>['floor2','wall'])
1178  TkcLine.new(w,558,275,484,275, 'fill'=>color, 'tags'=>['floor2','wall'])
1179  TkcLine.new(w,558,302,558,275, 'fill'=>color, 'tags'=>['floor2','wall'])
1180  TkcLine.new(w,508,327,508,311, 'fill'=>color, 'tags'=>['floor2','wall'])
1181  TkcLine.new(w,484,311,508,311, 'fill'=>color, 'tags'=>['floor2','wall'])
1182  TkcLine.new(w,484,275,484,311, 'fill'=>color, 'tags'=>['floor2','wall'])
1183  TkcLine.new(w,475,208,408,208, 'fill'=>color, 'tags'=>['floor2','wall'])
1184  TkcLine.new(w,408,206,408,210, 'fill'=>color, 'tags'=>['floor2','wall'])
1185  TkcLine.new(w,408,222,408,227, 'fill'=>color, 'tags'=>['floor2','wall'])
1186  TkcLine.new(w,408,227,398,227, 'fill'=>color, 'tags'=>['floor2','wall'])
1187  TkcLine.new(w,398,227,398,254, 'fill'=>color, 'tags'=>['floor2','wall'])
1188  TkcLine.new(w,408,188,408,194, 'fill'=>color, 'tags'=>['floor2','wall'])
1189  TkcLine.new(w,383,188,376,188, 'fill'=>color, 'tags'=>['floor2','wall'])
1190  TkcLine.new(w,398,188,398,162, 'fill'=>color, 'tags'=>['floor2','wall'])
1191  TkcLine.new(w,398,162,484,162, 'fill'=>color, 'tags'=>['floor2','wall'])
1192  TkcLine.new(w,475,162,475,254, 'fill'=>color, 'tags'=>['floor2','wall'])
1193  TkcLine.new(w,398,254,475,254, 'fill'=>color, 'tags'=>['floor2','wall'])
1194  TkcLine.new(w,484,280,395,280, 'fill'=>color, 'tags'=>['floor2','wall'])
1195  TkcLine.new(w,395,311,395,275, 'fill'=>color, 'tags'=>['floor2','wall'])
1196  TkcLine.new(w,307,197,293,197, 'fill'=>color, 'tags'=>['floor2','wall'])
1197  TkcLine.new(w,278,197,233,197, 'fill'=>color, 'tags'=>['floor2','wall'])
1198  TkcLine.new(w,233,197,233,249, 'fill'=>color, 'tags'=>['floor2','wall'])
1199  TkcLine.new(w,307,179,284,179, 'fill'=>color, 'tags'=>['floor2','wall'])
1200  TkcLine.new(w,233,249,278,249, 'fill'=>color, 'tags'=>['floor2','wall'])
1201  TkcLine.new(w,269,179,269,133, 'fill'=>color, 'tags'=>['floor2','wall'])
1202  TkcLine.new(w,220,179,220,133, 'fill'=>color, 'tags'=>['floor2','wall'])
1203  TkcLine.new(w,155,191,110,191, 'fill'=>color, 'tags'=>['floor2','wall'])
1204  TkcLine.new(w,90,190,98,190, 'fill'=>color, 'tags'=>['floor2','wall'])
1205  TkcLine.new(w,98,169,98,190, 'fill'=>color, 'tags'=>['floor2','wall'])
1206  TkcLine.new(w,52,133,52,165, 'fill'=>color, 'tags'=>['floor2','wall'])
1207  TkcLine.new(w,52,214,52,177, 'fill'=>color, 'tags'=>['floor2','wall'])
1208  TkcLine.new(w,52,226,52,262, 'fill'=>color, 'tags'=>['floor2','wall'])
1209  TkcLine.new(w,52,274,52,276, 'fill'=>color, 'tags'=>['floor2','wall'])
1210  TkcLine.new(w,234,275,234,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1211  TkcLine.new(w,226,339,258,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1212  TkcLine.new(w,211,387,211,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1213  TkcLine.new(w,214,339,177,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1214  TkcLine.new(w,258,387,60,387, 'fill'=>color, 'tags'=>['floor2','wall'])
1215  TkcLine.new(w,3,133,3,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1216  TkcLine.new(w,165,339,129,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1217  TkcLine.new(w,117,339,80,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1218  TkcLine.new(w,68,339,59,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1219  TkcLine.new(w,0,339,46,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1220  TkcLine.new(w,60,391,0,391, 'fill'=>color, 'tags'=>['floor2','wall'])
1221  TkcLine.new(w,0,339,0,391, 'fill'=>color, 'tags'=>['floor2','wall'])
1222  TkcLine.new(w,60,387,60,391, 'fill'=>color, 'tags'=>['floor2','wall'])
1223  TkcLine.new(w,258,329,258,387, 'fill'=>color, 'tags'=>['floor2','wall'])
1224  TkcLine.new(w,350,329,258,329, 'fill'=>color, 'tags'=>['floor2','wall'])
1225  TkcLine.new(w,395,311,350,311, 'fill'=>color, 'tags'=>['floor2','wall'])
1226  TkcLine.new(w,398,129,315,129, 'fill'=>color, 'tags'=>['floor2','wall'])
1227  TkcLine.new(w,176,133,315,133, 'fill'=>color, 'tags'=>['floor2','wall'])
1228  TkcLine.new(w,176,129,96,129, 'fill'=>color, 'tags'=>['floor2','wall'])
1229  TkcLine.new(w,3,133,96,133, 'fill'=>color, 'tags'=>['floor2','wall'])
1230  TkcLine.new(w,66,387,66,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1231  TkcLine.new(w,115,387,115,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1232  TkcLine.new(w,163,387,163,339, 'fill'=>color, 'tags'=>['floor2','wall'])
1233  TkcLine.new(w,234,275,276,275, 'fill'=>color, 'tags'=>['floor2','wall'])
1234  TkcLine.new(w,288,275,309,275, 'fill'=>color, 'tags'=>['floor2','wall'])
1235  TkcLine.new(w,298,275,298,329, 'fill'=>color, 'tags'=>['floor2','wall'])
1236  TkcLine.new(w,341,283,350,283, 'fill'=>color, 'tags'=>['floor2','wall'])
1237  TkcLine.new(w,321,275,341,275, 'fill'=>color, 'tags'=>['floor2','wall'])
1238  TkcLine.new(w,375,275,395,275, 'fill'=>color, 'tags'=>['floor2','wall'])
1239  TkcLine.new(w,315,129,315,170, 'fill'=>color, 'tags'=>['floor2','wall'])
1240  TkcLine.new(w,376,170,307,170, 'fill'=>color, 'tags'=>['floor2','wall'])
1241  TkcLine.new(w,307,250,307,170, 'fill'=>color, 'tags'=>['floor2','wall'])
1242  TkcLine.new(w,376,245,376,170, 'fill'=>color, 'tags'=>['floor2','wall'])
1243  TkcLine.new(w,340,241,307,241, 'fill'=>color, 'tags'=>['floor2','wall'])
1244  TkcLine.new(w,340,245,340,224, 'fill'=>color, 'tags'=>['floor2','wall'])
1245  TkcLine.new(w,340,210,340,201, 'fill'=>color, 'tags'=>['floor2','wall'])
1246  TkcLine.new(w,340,187,340,170, 'fill'=>color, 'tags'=>['floor2','wall'])
1247  TkcLine.new(w,340,206,307,206, 'fill'=>color, 'tags'=>['floor2','wall'])
1248  TkcLine.new(w,293,250,307,250, 'fill'=>color, 'tags'=>['floor2','wall'])
1249  TkcLine.new(w,271,179,238,179, 'fill'=>color, 'tags'=>['floor2','wall'])
1250  TkcLine.new(w,226,179,195,179, 'fill'=>color, 'tags'=>['floor2','wall'])
1251  TkcLine.new(w,176,129,176,179, 'fill'=>color, 'tags'=>['floor2','wall'])
1252  TkcLine.new(w,182,179,176,179, 'fill'=>color, 'tags'=>['floor2','wall'])
1253  TkcLine.new(w,174,169,176,169, 'fill'=>color, 'tags'=>['floor2','wall'])
1254  TkcLine.new(w,162,169,90,169, 'fill'=>color, 'tags'=>['floor2','wall'])
1255  TkcLine.new(w,96,169,96,129, 'fill'=>color, 'tags'=>['floor2','wall'])
1256  TkcLine.new(w,175,227,90,227, 'fill'=>color, 'tags'=>['floor2','wall'])
1257  TkcLine.new(w,90,190,90,227, 'fill'=>color, 'tags'=>['floor2','wall'])
1258  TkcLine.new(w,52,179,3,179, 'fill'=>color, 'tags'=>['floor2','wall'])
1259  TkcLine.new(w,52,228,3,228, 'fill'=>color, 'tags'=>['floor2','wall'])
1260  TkcLine.new(w,52,276,3,276, 'fill'=>color, 'tags'=>['floor2','wall'])
1261  TkcLine.new(w,155,177,155,169, 'fill'=>color, 'tags'=>['floor2','wall'])
1262  TkcLine.new(w,110,191,110,169, 'fill'=>color, 'tags'=>['floor2','wall'])
1263  TkcLine.new(w,155,189,155,197, 'fill'=>color, 'tags'=>['floor2','wall'])
1264  TkcLine.new(w,350,283,350,329, 'fill'=>color, 'tags'=>['floor2','wall'])
1265  TkcLine.new(w,162,197,155,197, 'fill'=>color, 'tags'=>['floor2','wall'])
1266  TkcLine.new(w,341,275,341,283, 'fill'=>color, 'tags'=>['floor2','wall'])
1267end
1268
1269# floor_fg3 --
1270# This method represents part of the floorplan database.  When
1271# invoked, it instantiates the foreground information for the third
1272# floor (office outlines and numbers).
1273#
1274# Arguments:
1275# w -           The canvas window.
1276# color -       Color to use for drawing foreground information.
1277
1278def floor_fg3(w,color)
1279  i = TkcPolygon.new(w,89,228,89,180,70,180,70,228,
1280                     'fill'=>'', 'tags'=>['floor3','room'])
1281  $floorLabels[i.id] = '316'
1282  $floorItems['316'] = i
1283  TkcText.new(w,79.5,204, 'text'=>'316', 'fill'=>color,
1284              'anchor'=>'c', 'tags'=>['floor3','label'])
1285  i = TkcPolygon.new(w,115,368,162,368,162,323,115,323,
1286                     'fill'=>'', 'tags'=>['floor3','room'])
1287  $floorLabels[i.id] = '309'
1288  $floorItems['309'] = i
1289  TkcText.new(w,138.5,345.5, 'text'=>'309', 'fill'=>color,
1290              'anchor'=>'c', 'tags'=>['floor3','label'])
1291  i = TkcPolygon.new(w,164,323,164,368,211,368,211,323,
1292                     'fill'=>'', 'tags'=>['floor3','room'])
1293  $floorLabels[i.id] = '308'
1294  $floorItems['308'] = i
1295  TkcText.new(w,187.5,345.5, 'text'=>'308', 'fill'=>color,
1296              'anchor'=>'c', 'tags'=>['floor3','label'])
1297  i = TkcPolygon.new(w,256,368,212,368,212,323,256,323,
1298                     'fill'=>'', 'tags'=>['floor3','room'])
1299  $floorLabels[i.id] = '307'
1300  $floorItems['307'] = i
1301  TkcText.new(w,234,345.5, 'text'=>'307', 'fill'=>color,
1302              'anchor'=>'c', 'tags'=>['floor3','label'])
1303  i = TkcPolygon.new(w,244,276,297,276,297,327,260,327,260,321,244,321,
1304                     'fill'=>'', 'tags'=>['floor3','room'])
1305  $floorLabels[i.id] = '305'
1306  $floorItems['305'] = i
1307  TkcText.new(w,270.5,301.5, 'text'=>'305', 'fill'=>color,
1308              'anchor'=>'c', 'tags'=>['floor3','label'])
1309  i = TkcPolygon.new(w,251,219,251,203,244,203,244,219,
1310                     'fill'=>'', 'tags'=>['floor3','room'])
1311  $floorLabels[i.id] = '324B'
1312  $floorItems['324B'] = i
1313  TkcText.new(w,247.5,211, 'text'=>'324B', 'fill'=>color,
1314              'anchor'=>'c', 'tags'=>['floor3','label'])
1315  i = TkcPolygon.new(w,251,249,244,249,244,232,251,232,
1316                     'fill'=>'', 'tags'=>['floor3','room'])
1317  $floorLabels[i.id] = '324A'
1318  $floorItems['324A'] = i
1319  TkcText.new(w,247.5,240.5, 'text'=>'324A', 'fill'=>color,
1320              'anchor'=>'c', 'tags'=>['floor3','label'])
1321  i = TkcPolygon.new(w,223,135,223,179,177,179,177,135,
1322                     'fill'=>'', 'tags'=>['floor3','room'])
1323  $floorLabels[i.id] = '320'
1324  $floorItems['320'] = i
1325  TkcText.new(w,200,157, 'text'=>'320', 'fill'=>color,
1326              'anchor'=>'c', 'tags'=>['floor3','label'])
1327  i = TkcPolygon.new(w,114,368,114,323,67,323,67,368,
1328                     'fill'=>'', 'tags'=>['floor3','room'])
1329  $floorLabels[i.id] = '310'
1330  $floorItems['310'] = i
1331  TkcText.new(w,90.5,345.5, 'text'=>'310', 'fill'=>color,
1332              'anchor'=>'c', 'tags'=>['floor3','label'])
1333  i = TkcPolygon.new(w,23,277,23,321,68,321,68,277,
1334                     'fill'=>'', 'tags'=>['floor3','room'])
1335  $floorLabels[i.id] = '312'
1336  $floorItems['312'] = i
1337  TkcText.new(w,45.5,299, 'text'=>'312', 'fill'=>color,
1338              'anchor'=>'c', 'tags'=>['floor3','label'])
1339  i = TkcPolygon.new(w,23,229,68,229,68,275,23,275,
1340                     'fill'=>'', 'tags'=>['floor3','room'])
1341  $floorLabels[i.id] = '313'
1342  $floorItems['313'] = i
1343  TkcText.new(w,45.5,252, 'text'=>'313', 'fill'=>color,
1344              'anchor'=>'c', 'tags'=>['floor3','label'])
1345  i = TkcPolygon.new(w,68,227,23,227,23,180,68,180,
1346                     'fill'=>'', 'tags'=>['floor3','room'])
1347  $floorLabels[i.id] = '314'
1348  $floorItems['314'] = i
1349  TkcText.new(w,40.5,203.5, 'text'=>'314', 'fill'=>color,
1350              'anchor'=>'c', 'tags'=>['floor3','label'])
1351  i = TkcPolygon.new(w,95,179,95,135,23,135,23,179,
1352                     'fill'=>'', 'tags'=>['floor3','room'])
1353  $floorLabels[i.id] = '315'
1354  $floorItems['315'] = i
1355  TkcText.new(w,59,157, 'text'=>'315', 'fill'=>color,
1356              'anchor'=>'c', 'tags'=>['floor3','label'])
1357  i = TkcPolygon.new(w,99,226,99,204,91,204,91,226,
1358                     'fill'=>'', 'tags'=>['floor3','room'])
1359  $floorLabels[i.id] = '316B'
1360  $floorItems['316B'] = i
1361  TkcText.new(w,95,215, 'text'=>'316B', 'fill'=>color,
1362              'anchor'=>'c', 'tags'=>['floor3','label'])
1363  i = TkcPolygon.new(w,91,202,99,202,99,180,91,180,
1364                     'fill'=>'', 'tags'=>['floor3','room'])
1365  $floorLabels[i.id] = '316A'
1366  $floorItems['316A'] = i
1367  TkcText.new(w,95,191, 'text'=>'316A', 'fill'=>color,
1368              'anchor'=>'c', 'tags'=>['floor3','label'])
1369  i = TkcPolygon.new(w,97,169,109,169,109,192,154,192,154,198,
1370                     174,198,174,226,101,226,101,179,97,179,
1371                     'fill'=>'', 'tags'=>['floor3','room'])
1372  $floorLabels[i.id] = '319'
1373  $floorItems['319'] = i
1374  TkcText.new(w,141.5,209, 'text'=>'319', 'fill'=>color,
1375              'anchor'=>'c', 'tags'=>['floor3','label'])
1376  i = TkcPolygon.new(w,65,368,58,368,58,389,1,389,1,333,23,333,23,323,65,323,
1377                     'fill'=>'', 'tags'=>['floor3','room'])
1378  $floorLabels[i.id] = '311'
1379  $floorItems['311'] = i
1380  TkcText.new(w,29.5,361, 'text'=>'311', 'fill'=>color,
1381              'anchor'=>'c', 'tags'=>['floor3','label'])
1382  i = TkcPolygon.new(w,154,191,111,191,111,169,154,169,
1383                     'fill'=>'', 'tags'=>['floor3','room'])
1384  $floorLabels[i.id] = '318'
1385  $floorItems['318'] = i
1386  TkcText.new(w,132.5,180, 'text'=>'318', 'fill'=>color,
1387              'anchor'=>'c', 'tags'=>['floor3','label'])
1388  i = TkcPolygon.new(w,175,168,97,168,97,131,175,131,
1389                     'fill'=>'', 'tags'=>['floor3','room'])
1390  $floorLabels[i.id] = '317'
1391  $floorItems['317'] = i
1392  TkcText.new(w,136,149.5, 'text'=>'317', 'fill'=>color,
1393              'anchor'=>'c', 'tags'=>['floor3','label'])
1394  i = TkcPolygon.new(w,274,194,274,221,306,221,306,194,
1395                     'fill'=>'', 'tags'=>['floor3','room'])
1396  $floorLabels[i.id] = '323'
1397  $floorItems['323'] = i
1398  TkcText.new(w,290,207.5, 'text'=>'323', 'fill'=>color,
1399              'anchor'=>'c', 'tags'=>['floor3','label'])
1400  i = TkcPolygon.new(w,306,222,274,222,274,249,306,249,
1401                     'fill'=>'', 'tags'=>['floor3','room'])
1402  $floorLabels[i.id] = '325'
1403  $floorItems['325'] = i
1404  TkcText.new(w,290,235.5, 'text'=>'325', 'fill'=>color,
1405              'anchor'=>'c', 'tags'=>['floor3','label'])
1406  i = TkcPolygon.new(w,263,179,224,179,224,135,263,135,
1407                     'fill'=>'', 'tags'=>['floor3','room'])
1408  $floorLabels[i.id] = '321'
1409  $floorItems['321'] = i
1410  TkcText.new(w,243.5,157, 'text'=>'321', 'fill'=>color,
1411              'anchor'=>'c', 'tags'=>['floor3','label'])
1412  i = TkcPolygon.new(w,314,169,306,169,306,192,273,192,
1413                     264,181,264,135,314,135,
1414                     'fill'=>'', 'tags'=>['floor3','room'])
1415  $floorLabels[i.id] = '322'
1416  $floorItems['322'] = i
1417  TkcText.new(w,293.5,163.5, 'text'=>'322', 'fill'=>color,
1418              'anchor'=>'c', 'tags'=>['floor3','label'])
1419  i = TkcPolygon.new(w,307,240,339,240,339,206,307,206,
1420                     'fill'=>'', 'tags'=>['floor3','room'])
1421  $floorLabels[i.id] = 'Pub Lift3'
1422  $floorItems['Pub Lift3'] = i
1423  TkcText.new(w,323,223, 'text'=>'Pub Lift3', 'fill'=>color,
1424              'anchor'=>'c', 'tags'=>['floor3','label'])
1425  i = TkcPolygon.new(w,339,205,307,205,307,171,339,171,
1426                     'fill'=>'', 'tags'=>['floor3','room'])
1427  $floorLabels[i.id] = 'Priv Lift3'
1428  $floorItems['Priv Lift3'] = i
1429  TkcText.new(w,323,188, 'text'=>'Priv Lift3', 'fill'=>color,
1430              'anchor'=>'c', 'tags'=>['floor3','label'])
1431  i = TkcPolygon.new(w,350,284,376,284,376,276,397,276,397,309,350,309,
1432                     'fill'=>'', 'tags'=>['floor3','room'])
1433  $floorLabels[i.id] = '303'
1434  $floorItems['303'] = i
1435  TkcText.new(w,373.5,292.5, 'text'=>'303', 'fill'=>color,
1436              'anchor'=>'c', 'tags'=>['floor3','label'])
1437  i = TkcPolygon.new(w,272,203,272,249,252,249,252,230,
1438                     244,230,244,221,252,221,252,203,
1439                     'fill'=>'', 'tags'=>['floor3','room'])
1440  $floorLabels[i.id] = '324'
1441  $floorItems['324'] = i
1442  TkcText.new(w,262,226, 'text'=>'324', 'fill'=>color,
1443              'anchor'=>'c', 'tags'=>['floor3','label'])
1444  i = TkcPolygon.new(w,299,276,299,327,349,327,349,284,341,284,341,276,
1445                     'fill'=>'', 'tags'=>['floor3','room'])
1446  $floorLabels[i.id] = '304'
1447  $floorItems['304'] = i
1448  TkcText.new(w,324,301.5, 'text'=>'304', 'fill'=>color,
1449              'anchor'=>'c', 'tags'=>['floor3','label'])
1450  i = TkcPolygon.new(w,375,246,375,172,341,172,341,246,
1451                     'fill'=>'', 'tags'=>['floor3','room'])
1452  $floorLabels[i.id] = '301'
1453  $floorItems['301'] = i
1454  TkcText.new(w,358,209, 'text'=>'301', 'fill'=>color,
1455              'anchor'=>'c', 'tags'=>['floor3','label'])
1456  i = TkcPolygon.new(w,397,246,377,246,377,185,397,185,
1457                     'fill'=>'', 'tags'=>['floor3','room'])
1458  $floorLabels[i.id] = '327'
1459  $floorItems['327'] = i
1460  TkcText.new(w,387,215.5, 'text'=>'327', 'fill'=>color,
1461              'anchor'=>'c', 'tags'=>['floor3','label'])
1462  i = TkcPolygon.new(w,316,131,316,169,377,169,377,185,397,185,397,131,
1463                     'fill'=>'', 'tags'=>['floor3','room'])
1464  $floorLabels[i.id] = '326'
1465  $floorItems['326'] = i
1466  TkcText.new(w,365.5,150, 'text'=>'326', 'fill'=>color,
1467              'anchor'=>'c', 'tags'=>['floor3','label'])
1468  i = TkcPolygon.new(w,308,251,242,251,242,274,342,274,342,282,375, 282,
1469                     375,274,397,274,397,248,339,248,339,242,308,242,
1470                     'fill'=>'', 'tags'=>['floor3','room'])
1471  $floorLabels[i.id] = '302'
1472  $floorItems['302'] = i
1473  TkcText.new(w,319.5,261, 'text'=>'302', 'fill'=>color,
1474              'anchor'=>'c', 'tags'=>['floor3','label'])
1475  i = TkcPolygon.new(w,70,321,242,321,242,200,259,200,259,203,272,203,
1476                     272,193,263,180,242,180,175,180,175,169,156,169,
1477                     156,196,177,196,177,228,107,228,70,228,70,275,107,275,
1478                     107,248,160,248,160,301,107,301,107,275,70,275,
1479                     'fill'=>'', 'tags'=>['floor3','room'])
1480  $floorLabels[i.id] = '306'
1481  $floorItems['306'] = i
1482  TkcText.new(w,200.5,284.5, 'text'=>'306', 'fill'=>color,
1483              'anchor'=>'c', 'tags'=>['floor3','label'])
1484  TkcLine.new(w,341,275,341,283, 'fill'=>color, 'tags'=>['floor3','wall'])
1485  TkcLine.new(w,162,197,155,197, 'fill'=>color, 'tags'=>['floor3','wall'])
1486  TkcLine.new(w,396,247,399,247, 'fill'=>color, 'tags'=>['floor3','wall'])
1487  TkcLine.new(w,399,129,399,311, 'fill'=>color, 'tags'=>['floor3','wall'])
1488  TkcLine.new(w,258,202,243,202, 'fill'=>color, 'tags'=>['floor3','wall'])
1489  TkcLine.new(w,350,283,350,329, 'fill'=>color, 'tags'=>['floor3','wall'])
1490  TkcLine.new(w,251,231,243,231, 'fill'=>color, 'tags'=>['floor3','wall'])
1491  TkcLine.new(w,243,220,251,220, 'fill'=>color, 'tags'=>['floor3','wall'])
1492  TkcLine.new(w,243,250,243,202, 'fill'=>color, 'tags'=>['floor3','wall'])
1493  TkcLine.new(w,155,197,155,190, 'fill'=>color, 'tags'=>['floor3','wall'])
1494  TkcLine.new(w,110,192,110,169, 'fill'=>color, 'tags'=>['floor3','wall'])
1495  TkcLine.new(w,155,192,110,192, 'fill'=>color, 'tags'=>['floor3','wall'])
1496  TkcLine.new(w,155,177,155,169, 'fill'=>color, 'tags'=>['floor3','wall'])
1497  TkcLine.new(w,176,197,176,227, 'fill'=>color, 'tags'=>['floor3','wall'])
1498  TkcLine.new(w,69,280,69,274, 'fill'=>color, 'tags'=>['floor3','wall'])
1499  TkcLine.new(w,21,276,69,276, 'fill'=>color, 'tags'=>['floor3','wall'])
1500  TkcLine.new(w,69,262,69,226, 'fill'=>color, 'tags'=>['floor3','wall'])
1501  TkcLine.new(w,21,228,69,228, 'fill'=>color, 'tags'=>['floor3','wall'])
1502  TkcLine.new(w,21,179,75,179, 'fill'=>color, 'tags'=>['floor3','wall'])
1503  TkcLine.new(w,69,179,69,214, 'fill'=>color, 'tags'=>['floor3','wall'])
1504  TkcLine.new(w,90,220,90,227, 'fill'=>color, 'tags'=>['floor3','wall'])
1505  TkcLine.new(w,90,204,90,202, 'fill'=>color, 'tags'=>['floor3','wall'])
1506  TkcLine.new(w,90,203,100,203, 'fill'=>color, 'tags'=>['floor3','wall'])
1507  TkcLine.new(w,90,187,90,179, 'fill'=>color, 'tags'=>['floor3','wall'])
1508  TkcLine.new(w,90,227,176,227, 'fill'=>color, 'tags'=>['floor3','wall'])
1509  TkcLine.new(w,100,179,100,227, 'fill'=>color, 'tags'=>['floor3','wall'])
1510  TkcLine.new(w,100,179,87,179, 'fill'=>color, 'tags'=>['floor3','wall'])
1511  TkcLine.new(w,96,179,96,129, 'fill'=>color, 'tags'=>['floor3','wall'])
1512  TkcLine.new(w,162,169,96,169, 'fill'=>color, 'tags'=>['floor3','wall'])
1513  TkcLine.new(w,173,169,176,169, 'fill'=>color, 'tags'=>['floor3','wall'])
1514  TkcLine.new(w,182,179,176,179, 'fill'=>color, 'tags'=>['floor3','wall'])
1515  TkcLine.new(w,176,129,176,179, 'fill'=>color, 'tags'=>['floor3','wall'])
1516  TkcLine.new(w,195,179,226,179, 'fill'=>color, 'tags'=>['floor3','wall'])
1517  TkcLine.new(w,224,133,224,179, 'fill'=>color, 'tags'=>['floor3','wall'])
1518  TkcLine.new(w,264,179,264,133, 'fill'=>color, 'tags'=>['floor3','wall'])
1519  TkcLine.new(w,238,179,264,179, 'fill'=>color, 'tags'=>['floor3','wall'])
1520  TkcLine.new(w,273,207,273,193, 'fill'=>color, 'tags'=>['floor3','wall'])
1521  TkcLine.new(w,273,235,273,250, 'fill'=>color, 'tags'=>['floor3','wall'])
1522  TkcLine.new(w,273,224,273,219, 'fill'=>color, 'tags'=>['floor3','wall'])
1523  TkcLine.new(w,273,193,307,193, 'fill'=>color, 'tags'=>['floor3','wall'])
1524  TkcLine.new(w,273,222,307,222, 'fill'=>color, 'tags'=>['floor3','wall'])
1525  TkcLine.new(w,273,250,307,250, 'fill'=>color, 'tags'=>['floor3','wall'])
1526  TkcLine.new(w,384,247,376,247, 'fill'=>color, 'tags'=>['floor3','wall'])
1527  TkcLine.new(w,340,206,307,206, 'fill'=>color, 'tags'=>['floor3','wall'])
1528  TkcLine.new(w,340,187,340,170, 'fill'=>color, 'tags'=>['floor3','wall'])
1529  TkcLine.new(w,340,210,340,201, 'fill'=>color, 'tags'=>['floor3','wall'])
1530  TkcLine.new(w,340,247,340,224, 'fill'=>color, 'tags'=>['floor3','wall'])
1531  TkcLine.new(w,340,241,307,241, 'fill'=>color, 'tags'=>['floor3','wall'])
1532  TkcLine.new(w,376,247,376,170, 'fill'=>color, 'tags'=>['floor3','wall'])
1533  TkcLine.new(w,307,250,307,170, 'fill'=>color, 'tags'=>['floor3','wall'])
1534  TkcLine.new(w,376,170,307,170, 'fill'=>color, 'tags'=>['floor3','wall'])
1535  TkcLine.new(w,315,129,315,170, 'fill'=>color, 'tags'=>['floor3','wall'])
1536  TkcLine.new(w,376,283,366,283, 'fill'=>color, 'tags'=>['floor3','wall'])
1537  TkcLine.new(w,376,283,376,275, 'fill'=>color, 'tags'=>['floor3','wall'])
1538  TkcLine.new(w,399,275,376,275, 'fill'=>color, 'tags'=>['floor3','wall'])
1539  TkcLine.new(w,341,275,320,275, 'fill'=>color, 'tags'=>['floor3','wall'])
1540  TkcLine.new(w,341,283,350,283, 'fill'=>color, 'tags'=>['floor3','wall'])
1541  TkcLine.new(w,298,275,298,329, 'fill'=>color, 'tags'=>['floor3','wall'])
1542  TkcLine.new(w,308,275,298,275, 'fill'=>color, 'tags'=>['floor3','wall'])
1543  TkcLine.new(w,243,322,243,275, 'fill'=>color, 'tags'=>['floor3','wall'])
1544  TkcLine.new(w,243,275,284,275, 'fill'=>color, 'tags'=>['floor3','wall'])
1545  TkcLine.new(w,258,322,226,322, 'fill'=>color, 'tags'=>['floor3','wall'])
1546  TkcLine.new(w,212,370,212,322, 'fill'=>color, 'tags'=>['floor3','wall'])
1547  TkcLine.new(w,214,322,177,322, 'fill'=>color, 'tags'=>['floor3','wall'])
1548  TkcLine.new(w,163,370,163,322, 'fill'=>color, 'tags'=>['floor3','wall'])
1549  TkcLine.new(w,165,322,129,322, 'fill'=>color, 'tags'=>['floor3','wall'])
1550  TkcLine.new(w,84,322,117,322, 'fill'=>color, 'tags'=>['floor3','wall'])
1551  TkcLine.new(w,71,322,64,322, 'fill'=>color, 'tags'=>['floor3','wall'])
1552  TkcLine.new(w,115,322,115,370, 'fill'=>color, 'tags'=>['floor3','wall'])
1553  TkcLine.new(w,66,322,66,370, 'fill'=>color, 'tags'=>['floor3','wall'])
1554  TkcLine.new(w,52,322,21,322, 'fill'=>color, 'tags'=>['floor3','wall'])
1555  TkcLine.new(w,21,331,0,331, 'fill'=>color, 'tags'=>['floor3','wall'])
1556  TkcLine.new(w,21,331,21,133, 'fill'=>color, 'tags'=>['floor3','wall'])
1557  TkcLine.new(w,96,133,21,133, 'fill'=>color, 'tags'=>['floor3','wall'])
1558  TkcLine.new(w,176,129,96,129, 'fill'=>color, 'tags'=>['floor3','wall'])
1559  TkcLine.new(w,315,133,176,133, 'fill'=>color, 'tags'=>['floor3','wall'])
1560  TkcLine.new(w,315,129,399,129, 'fill'=>color, 'tags'=>['floor3','wall'])
1561  TkcLine.new(w,399,311,350,311, 'fill'=>color, 'tags'=>['floor3','wall'])
1562  TkcLine.new(w,350,329,258,329, 'fill'=>color, 'tags'=>['floor3','wall'])
1563  TkcLine.new(w,258,322,258,370, 'fill'=>color, 'tags'=>['floor3','wall'])
1564  TkcLine.new(w,60,370,258,370, 'fill'=>color, 'tags'=>['floor3','wall'])
1565  TkcLine.new(w,60,370,60,391, 'fill'=>color, 'tags'=>['floor3','wall'])
1566  TkcLine.new(w,0,391,0,331, 'fill'=>color, 'tags'=>['floor3','wall'])
1567  TkcLine.new(w,60,391,0,391, 'fill'=>color, 'tags'=>['floor3','wall'])
1568  TkcLine.new(w,307,250,307,242, 'fill'=>color, 'tags'=>['floor3','wall'])
1569  TkcLine.new(w,273,250,307,250, 'fill'=>color, 'tags'=>['floor3','wall'])
1570  TkcLine.new(w,258,250,243,250, 'fill'=>color, 'tags'=>['floor3','wall'])
1571end
1572
1573# Below is the "main program" that creates the floorplan demonstration.
1574
1575# toplevel widget が存在すれば削除する
1576if defined?($floor_demo) && $floor_demo
1577  $floor_demo.destroy
1578  $floor_demo = nil
1579end
1580
1581# demo 用の toplevel widget を生成
1582$floor_demo = TkToplevel.new {|w|
1583  title("Floorplan Canvas Demonstration")
1584  iconname("Floorplan")
1585  positionWindow(w)
1586  geometry('+20+20')
1587  minsize(100,100)
1588}
1589
1590base_frame = TkFrame.new($floor_demo).pack(:fill=>:both, :expand=>true)
1591
1592# label 生成
1593TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'8i', 'justify'=>'left',
1594            'text'=>"このウィンドウにはディジタルエクイップメント社のウェスタンリサーチラボラトリ (DECWRL) の間取りが書かれたキャンバス widget が入っています。これは 3階建てで、常にそのうちの1階分が選択、つまりその間取りが表示されるようになっています。ある階を選択するには、その上でマウスの左ボタンをクリックしてください。マウスが選択されている階の上を動くと、その下にある部屋の色が変わり、部屋番号が「部屋番号:」エントリに表示されます。また、エントリに部屋番号を書くとその部屋の色が変わります。"){
1595  pack('side'=>'top')
1596}
1597
1598# frame 生成
1599$floor_buttons = TkFrame.new(base_frame) {|frame|
1600  TkButton.new(frame) {
1601    #text '了解'
1602    text '閉じる'
1603    command proc{
1604      tmppath = $floor_demo
1605      $floor_demo = nil
1606      tmppath.destroy
1607    }
1608  }.pack('side'=>'left', 'expand'=>'yes')
1609
1610  TkButton.new(frame) {
1611    text 'コード参照'
1612    command proc{showCode 'floor'}
1613  }.pack('side'=>'left', 'expand'=>'yes')
1614}
1615$floor_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
1616
1617# 変数設定
1618$floorLabels = {}
1619$floorItems = {}
1620
1621# canvas 設定
1622if $tk_version =~ /^4\.[01]/
1623  $floor_canvas_frame = TkFrame.new(base_frame,'bd'=>2,'relief'=>'sunken',
1624                                    'highlightthickness'=>2)
1625  $floor_canvas = TkCanvas.new($floor_canvas_frame,
1626                               'width'=>900, 'height'=>500, 'borderwidth'=>0,
1627                               'highlightthickness'=>0) {|c|
1628    TkScrollbar.new(base_frame, 'orient'=>'horiz',
1629                    'command'=>proc{|*args| c.xview(*args)}){|hs|
1630      c.xscrollcommand(proc{|first,last| hs.set first,last})
1631      pack('side'=>'bottom', 'fill'=>'x')
1632    }
1633    TkScrollbar.new(base_frame, 'command'=>proc{|*args| c.yview(*args)}){|vs|
1634      c.yscrollcommand(proc{|first,last| vs.set first,last})
1635      pack('side'=>'right', 'fill'=>'y')
1636    }
1637  }
1638  $floor_canvas_frame.pack('side'=>'top','fill'=>'both', 'expand'=>'yes')
1639  $floor_canvas.pack('expand'=>'yes', 'fill'=>'both')
1640
1641else
1642  TkFrame.new(base_frame) {|f|
1643    pack('side'=>'top', 'fill'=>'both', 'expand'=>'yes')
1644
1645    h = TkScrollbar.new(f, 'highlightthickness'=>0, 'orient'=>'horizontal')
1646    v = TkScrollbar.new(f, 'highlightthickness'=>0, 'orient'=>'vertical')
1647
1648    TkFrame.new(f, 'bd'=>2, 'relief'=>'sunken') {|f1|
1649      $floor_canvas = TkCanvas.new(f1, 'width'=>900, 'height'=>500,
1650                                   'borderwidth'=>0,
1651                                   'highlightthickness'=>0) {
1652        xscrollcommand(proc{|first,last| h.set first,last})
1653        yscrollcommand(proc{|first,last| v.set first,last})
1654        pack('expand'=>'yes', 'fill'=>'both')
1655      }
1656      grid('padx'=>1, 'pady'=>1, 'row'=>0, 'column'=>0,
1657           'rowspan'=>1, 'columnspan'=>1, 'sticky'=>'news')
1658    }
1659
1660    v.grid('padx'=>1, 'pady'=>1, 'row'=>0, 'column'=>1,
1661           'rowspan'=>1, 'columnspan'=>1, 'sticky'=>'news')
1662    h.grid('padx'=>1, 'pady'=>1, 'row'=>1, 'column'=>0,
1663           'rowspan'=>1, 'columnspan'=>1, 'sticky'=>'news')
1664
1665    TkGrid.rowconfigure(f, 0, 'weight'=>1, 'minsize'=>0)
1666    TkGrid.columnconfigure(f, 0, 'weight'=>1, 'minsize'=>0)
1667
1668    pack('expand'=>'yes', 'fill'=>'both', 'padx'=>1, 'pady'=>1)
1669
1670    v.command(proc{|*args| $floor_canvas.yview(*args)})
1671    h.command(proc{|*args| $floor_canvas.xview(*args)})
1672  }
1673end
1674
1675
1676# Create an entry for displaying and typing in current room.
1677
1678$currentRoom = TkVariable.new
1679$floor_entry = TkEntry.new($floor_canvas, 'width'=>10, 'relief'=>'sunken',
1680                           'bd'=>2, 'textvariable'=>$currentRoom)
1681
1682# Choose colors, then fill in the floorplan.
1683
1684$floor_colors = {}
1685if TkWinfo.depth($floor_canvas) > 1
1686  $floor_colors['bg1'] = '#a9c1da'
1687  $floor_colors['outline1'] = '#77889a'
1688  $floor_colors['bg2'] = '#9ab0c6'
1689  $floor_colors['outline2'] = '#687786'
1690  $floor_colors['bg3'] = '#8ba0b3'
1691  $floor_colors['outline3'] = '#596673'
1692  $floor_colors['offices'] = 'Black'
1693  $floor_colors['active'] = '#c4d1df'
1694else
1695  $floor_colors['bg1'] = 'white'
1696  $floor_colors['outline1'] = 'black'
1697  $floor_colors['bg2'] = 'white'
1698  $floor_colors['outline2'] = 'black'
1699  $floor_colors['bg3'] = 'white'
1700  $floor_colors['outline3'] = 'black'
1701  $floor_colors['offices'] = 'Black'
1702  $floor_colors['active'] = 'black'
1703end
1704
1705$activeFloor = ''
1706floorDisplay $floor_canvas,3
1707
1708# Set up event bindings for canvas:
1709
1710$floor_canvas.itembind('floor1', '1', proc{floorDisplay $floor_canvas,1})
1711$floor_canvas.itembind('floor2', '1', proc{floorDisplay $floor_canvas,2})
1712$floor_canvas.itembind('floor3', '1', proc{floorDisplay $floor_canvas,3})
1713$floor_canvas.itembind('room', 'Enter', proc{newRoom $floor_canvas})
1714$floor_canvas.itembind('room', 'Leave', proc{$currentRoom.value = ''})
1715$floor_canvas.bind('2', proc{|x,y| $floor_canvas.scan_mark x,y}, '%x %y')
1716$floor_canvas.bind('B2-Motion',
1717                   proc{|x,y| $floor_canvas.scan_dragto x,y}, '%x %y')
1718$floor_canvas.bind('Destroy', proc{$currentRoom.unset})
1719$currentRoom.value = ''
1720$currentRoom.trace('w',proc{roomChanged $floor_canvas})
1721
1722