link gpxop link file_dlg class rumwizard : _Dialog(floor_image,overlay_item_4,overlay_item_3,overlay_set_2,ceiling_list,ceiling_apply,floor_list,floor_apply,ceiling_sample_texture,overlay_item_2,overlay_item_1,overlay_set_1,ceiling_sample_material,browse_ceiling,browse_floor,browse_section,ceiling_material,floor_material,wall_material,label_16,label_15,label_14,label_13,ceiling_sample,floor_sample,text_field_5,cancel_button,accept_button,wall_sample,apply_button,label_11,wall_height,numbe_of_sections,label_12,section_height,browse_button,split_button,list_1, text_button_1, label_1, label_3, label_4, label_5, label_6, label_9, Lsections, current_section) method display() self._Dialog.display() if /Lsections | (*Lsections=0) then fail total_height := 0 every i := 1 to *\Lsections do { total_height +:= Lsections[i][2] } if total_height=0 then fail write("total height:", total_height) pixels_per_unit := real((\wall_sample).h / total_height) | fail write("ppu: ", pixels_per_unit) cury := wall_sample.y every i := 1 to *\Lsections do { write("display section ", i) section := Lsections[i] if section[1] === "material" then { Fg(win, section[3]) FillRectangle(win, wall_sample.x+2, cury, wall_sample.w-4, pixels_per_unit * section[2]) } else { write("textures not supported yet: ", image(section[3])) if hiddenwin := open(section[3],"g","canvas=hidden", "image="||section[3]) then { Zoom(hiddenwin, &window, 0, 0, WAttrib(hiddenwin,"width"),WAttrib(hiddenwin,"height"), wall_sample.x+2, cury, wall_sample.w-4, pixels_per_unit*section[2]) } else { writes("couldn't open texture image "); writes(image(section[3])); write() } } cury +:= pixels_per_unit * section[2] } cury := wall_sample.y Fg(win, "red") every i := 1 to *\Lsections do { section := Lsections[i] if current_section = i then { DrawRectangle(win, wall_sample.x+2, cury, wall_sample.w-4, pixels_per_unit * section[2]) } cury +:= pixels_per_unit * section[2] } end method handle_default(ev) if ev.event === -1 & wall_sample.x < &x < wall_sample.x + wall_sample.w & wall_sample.y < &y < wall_sample.y + wall_sample.h then { write("clicked in wall") total_height := 0 every i := 1 to *\Lsections do { total_height +:= Lsections[i][2] } if total_height=0 then fail write("total height:", total_height) pixels_per_unit := real((\wall_sample).h / total_height) | fail write("ppu: ", pixels_per_unit) cury := wall_sample.y every i := 1 to *\Lsections do { section := Lsections[i] if cury < &y < cury + pixels_per_unit * section[2] then { write("clicked in section ", i) current_section := i label_4.set_label ("Current Section: " || i) section_height.set_contents(Lsections[current_section, 2]) wall_material.set_contents(Lsections[current_section, 3]) } cury +:= pixels_per_unit * section[2] } } end method dialog_event(ev) case ev.get_component() of { floor_apply : handle_floor_apply(ev) floor_list : handle_floor_list(ev) ceiling_apply : handle_ceiling_apply(ev) ceiling_list : handle_ceiling_list(ev) ceiling_sample_material : handle_ceiling_sample_material(ev) browse_section : handle_browse_section(ev) browse_floor : handle_browse_floor(ev) browse_ceiling : handle_browse_ceiling(ev) wall_material : handle_wall_material(ev) floor_material : handle_floor_material(ev) ceiling_material : handle_ceiling_material(ev) text_field_5 : handle_text_field_5(ev) floor_sample : handle_floor_sample(ev) ceiling_sample : handle_ceiling_sample(ev) accept_button : handle_accept_button(ev) cancel_button : handle_cancel_button(ev) wall_sample : handle_wall_sample(ev) apply_button : handle_apply_button(ev) section_height : handle_section_height(ev) split_button : handle_split_button(ev) list_1 : handle_list_1(ev) default : handle_default(ev) } end method init_dialog() Lsections := [["material", 8, "white"]] current_section := 1 section_height.set_contents("8") wall_material.set_contents("white") end method end_dialog() end method handle_list_1(ev) write("handle_list_1") end method handle_split_button(ev) write("split... ", image(ev), " : ", image(ev.event)) if ev.event ~=== -1 then fail new_section := copy(Lsections[current_section]) Lsections[current_section, 2] /:= 2.0 section_height.set_contents(string(Lsections[current_section, 2])) new_section[2] /:= 2.0 insert(Lsections, current_section, new_section) numbe_of_sections.set_label(string(*Lsections)) redisplay() end method handle_section_height(ev) write("handle section height ", image(ev)) end method handle_apply_button(ev) if ev.event ~=== -1 then fail Lsections[current_section, 2] := section_height.get_contents() Lsections[current_section, 3] := wall_material.get_contents() redisplay() end method handle_wall_sample(ev) write("wall_sample ", image(ev)) end method handle_accept_button(ev) write("accept button") end method handle_cancel_button(ev) stop("canceling Roominator") end method handle_text_field_5(ev) end method handle_floor_sample(ev) end method handle_ceiling_sample(ev) end method handle_wall_material(ev) end method handle_floor_material(ev) end method handle_ceiling_material(ev) end method handle_browse_section(ev) local fd if ev.event ~=== &lpress then fail write("browse section") fd := FileDialog() fd.show_modal() s := fd.get_result() write("browse_section selected ", image(s)) Lsections[current_section, 1] := "texture" Lsections[current_section, 3] := s list_1.set_selection(2) redisplay() end method handle_browse_floor(ev) local fd if ev.event ~=== &lpress then fail write("browse floor") fd := FileDialog() fd.show_modal() s := fd.get_result() overlay_set_2.set_which_one(overlay_item_4) floor_sample_texture.set_filename(s) floor_list.set_selection(2) end method handle_browse_ceiling(ev) local fd if ev.event ~=== &lpress then fail write("browse ceiling") fd := FileDialog() fd.show_modal() s := fd.get_result() overlay_set_1.set_which_one(overlay_item_2) ceiling_sample_texture.set_filename(s) ceiling_list.set_selection(2) end method handle_ceiling_sample_material(ev) end method handle_floor_apply(ev) end method handle_floor_list(ev) end method handle_ceiling_apply(ev) end method handle_ceiling_list(ev) end method setup() local border_2, border_3, border_4 self.set_attribs("size=644,399", "bg=pale gray") label_1 := Label() label_1$set_pos(55, 4) label_1$set_size(529, 43) label_1$set_attribs("font=sans,28,bold") label_1$set_internal_alignment("c") label_1$set_label("Welcome to the Ruminator Level Generator") self$add(label_1) wall_sample := Border() wall_sample$set_pos(20, 113) wall_sample$set_size("129", "238") wall_sample$set_internal_alignment("l") self$add(wall_sample) split_button := TextButton() split_button$set_pos(169, 128) split_button$set_label("Split") split_button$set_internal_alignment("c") self$add(split_button) label_3 := Label() label_3$set_pos("173", "39") label_3$set_size("366", "18") label_3$set_internal_alignment("c") label_3$set_label("Please define the default wall, ceiling, and floor") self$add(label_3) label_4 := Label() label_4$set_pos(171, 92) label_4$set_size("139", "21") label_4$set_internal_alignment("l") label_4$set_label("Current Section: 1") self$add(label_4) label_5 := Label() label_5$set_pos(49, 60) label_5$set_size(75, 22) label_5$set_internal_alignment("l") label_5$set_label("Wall Height") self$add(label_5) label_6 := Label() label_6$set_pos(25, 85) label_6$set_size("124", "21") label_6$set_internal_alignment("c") label_6$set_label("Wall Sample") self$add(label_6) border_2 := Border() border_2$set_pos(162, 163) border_2$set_size(463, 70) border_2$set_internal_alignment("l") wall_material := TextField() wall_material$set_pos("47", "42") wall_material$set_size("375", "23") wall_material$set_draw_border() wall_material$set_contents("") border_2$add(wall_material) browse_section := TextButton() browse_section$set_pos("288", "7") browse_section$set_size("114", "27") browse_section$set_attribs("font=sans.bold.16") browse_section$set_label("Browse for Texture...") browse_section$set_internal_alignment("c") border_2$add(browse_section) apply_button := TextButton() apply_button$set_pos(408, 9) apply_button$set_label("Apply") apply_button$set_internal_alignment("c") border_2$add(apply_button) list_1 := List() list_1$set_pos(186, 8) list_1$set_size("100", ) list_1$set_selection_list(["Material", "Texture"]) border_2$add(list_1) label_12 := Label() label_12$set_pos(6, 10) label_12$set_internal_alignment("l") label_12$set_label("Section Height") border_2$add(label_12) section_height := TextField() section_height$set_pos(107, 7) section_height$set_size("76", "26") section_height$set_draw_border() section_height$set_contents("") border_2$add(section_height) self$add(border_2) accept_button := TextButton() accept_button$set_pos(23, 355) accept_button$set_label("Accept") accept_button$set_internal_alignment("c") self$add(accept_button) cancel_button := TextButton() cancel_button$set_pos(92, 355) cancel_button$set_label("Cancel") cancel_button$set_internal_alignment("c") self$add(cancel_button) numbe_of_sections := Label() numbe_of_sections$set_pos(299, 69) numbe_of_sections$set_size(35, 20) numbe_of_sections$set_internal_alignment("c") numbe_of_sections$set_label("1") self$add(numbe_of_sections) wall_height := Label() wall_height$set_pos(135, 65) wall_height$set_size("26", "13") wall_height$set_internal_alignment("c") wall_height$set_label("8") self$add(wall_height) label_11 := Label() label_11$set_pos(166, 67) label_11$set_size(136, 22) label_11$set_internal_alignment("l") label_11$set_label("Number of Sections") self$add(label_11) border_3 := Border() border_3$set_pos(164, 240) border_3$set_size(463, 70) border_3$set_internal_alignment("l") floor_material := TextField() floor_material$set_pos("48", "41") floor_material$set_size("375", "23") floor_material$set_draw_border() floor_material$set_contents("") border_3$add(floor_material) browse_floor := TextButton() browse_floor$set_pos("288", "7") browse_floor$set_size("114", "27") browse_floor$set_attribs("font=sans.bold.16") browse_floor$set_label("Browse for Texture...") browse_floor$set_internal_alignment("c") border_3$add(browse_floor) floor_apply := TextButton() floor_apply$set_pos("408", "9") floor_apply$set_label("Apply") floor_apply$set_internal_alignment("c") border_3$add(floor_apply) floor_list := List() floor_list$set_pos("186", "8") floor_list$set_size("100", ) floor_list$set_selection_list(["Material", "Texture"]) border_3$add(floor_list) label_13 := Label() label_13$set_pos(41, 11) label_13$set_internal_alignment("l") label_13$set_label("Floor") border_3$add(label_13) self$add(border_3) border_4 := Border() border_4$set_pos(165, 318) border_4$set_size(463, 69) border_4$set_internal_alignment("l") ceiling_material := TextField() ceiling_material$set_pos("48", "41") ceiling_material$set_size("375", "23") ceiling_material$set_draw_border() ceiling_material$set_contents("") border_4$add(ceiling_material) browse_ceiling := TextButton() browse_ceiling$set_pos("288", "7") browse_ceiling$set_size("114", "27") browse_ceiling$set_attribs("font=sans.bold.16") browse_ceiling$set_label("Browse for Texture...") browse_ceiling$set_internal_alignment("c") border_4$add(browse_ceiling) ceiling_apply := TextButton() ceiling_apply$set_pos("408", "9") ceiling_apply$set_label("Apply") ceiling_apply$set_internal_alignment("c") border_4$add(ceiling_apply) ceiling_list := List() ceiling_list$set_pos("180", "7") ceiling_list$set_size("100", ) ceiling_list$set_selection_list(["Material", "Texture"]) border_4$add(ceiling_list) label_14 := Label() label_14$set_pos(31, 11) label_14$set_internal_alignment("l") label_14$set_label("Ceiling") border_4$add(label_14) self$add(border_4) label_15 := Label() label_15$set_pos(524, 58) label_15$set_size("103", "21") label_15$set_internal_alignment("c") label_15$set_label("Floor Sample") self$add(label_15) label_16 := Label() label_16$set_pos(414, 61) label_16$set_size(105, 20) label_16$set_internal_alignment("c") label_16$set_label("Ceiling Sample") self$add(label_16) overlay_set_1 := OverlaySet() overlay_set_1$set_pos("397", "80") overlay_set_1$set_size("117", "80") overlay_item_1 := OverlayItem() ceiling_sample_material := Border() ceiling_sample_material$set_pos("14", "6") ceiling_sample_material$set_size("93", "73") ceiling_sample_material$set_internal_alignment("l") overlay_item_1$add(ceiling_sample_material) overlay_set_1$add(overlay_item_1) overlay_item_2 := OverlayItem() ceiling_sample_texture := Image() ceiling_sample_texture$set_pos(39, 11) ceiling_sample_texture$set_size("60", "60") ceiling_sample_texture$set_filename("") ceiling_sample_texture$set_internal_alignment("c", "c") overlay_item_2$add(ceiling_sample_texture) overlay_set_1$add(overlay_item_2) overlay_set_1$set_which_one(overlay_item_2) self$add(overlay_set_1) overlay_set_2 := OverlaySet() overlay_set_2$set_pos("513", "78") overlay_set_2$set_size("106", "82") overlay_item_3 := OverlayItem() floor_sample := Border() floor_sample$set_pos(24, 22) floor_sample$set_size(57, 49) floor_sample$set_internal_alignment("l") overlay_item_3$add(floor_sample) overlay_set_2$add(overlay_item_3) overlay_item_4 := OverlayItem() floor_image := Image() floor_image$set_pos(27, 12) floor_image$set_size("60", "60") floor_image$set_filename("") floor_image$set_internal_alignment("c", "c") overlay_item_4$add(floor_image) overlay_set_2$add(overlay_item_4) overlay_set_2$set_which_one(overlay_item_3) self$add(overlay_set_2) end method component_setup() self.setup() end initially self$_Dialog.initially() end # procedure main() # local d # d := rumwizard() # d.show_modal() # end ### Ivib layout ### #class|Canvas|16|Name Table|table|integer|0|14|string|border|integer|7|string|check_box|integer|1|string|check_box_menu_item|integer|1|string|image|integer|2|string|label|integer|16|string|list|integer|3|string|menu|integer|1|string|menu_button|integer|1|string|overlay_item|integer|4|string|overlay_set|integer|2|string|text_button|integer|11|string|text_field|integer|8|string|text_list|integer|1|string|text_menu_item|integer|3|Button Groups|class|ButtonGroupSet|2|Parent Canvas|1|Boxes|list|0|Checkbox Groups|class|CheckBoxGroupSet|2|Parent Canvas|1|Boxes|list|0|Gen Indent|integer|3|Gen Interpose|null|Gen Main|integer|1|Gen Methods|integer|1|Gen Component Setup|integer|1|Gen Init Dialog|integer|1|Gen Initially|integer|1|Dialog Struct|class|CDialog|4|Min Width|null|Min Height|null|Ticker Rate|null|Attribs|list|1|string|bg=pale gray|Name|string|rumwizard|Width|integer|644|Height|integer|399|Items|list|19|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_1|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|55|Y Spec|integer|4|W Spec|integer|529|H Spec|integer|43|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|1|string|font=sans,28,bold|Tooltip|null|Label|string|Welcome to the Ruminator Level Generator|Internal Align|string|c|class|CanvasBorder|24|Parent Canvas|1|Name|string|wall_sample|Var Category|null|Class Name|string|Border|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|20|Y Spec|integer|113|W Spec|string|129|H Spec|string|238|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Internal Alignment|string|l|Components|list|0|Title Obj|null|class|CanvasTextButton|32|Parent Canvas|1|Name|string|split_button|Var Category|null|Class Name|string|TextButton|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integer|1|X Spec|integer|169|Y Spec|integer|128|W Spec|integer|51|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Split|No Keyboard|null|Img Up|null|Img Down|null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox Flag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal Align|string|c|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_3|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|173|Y Spec|string|39|W Spec|string|366|H Spec|string|18|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Please define the default wall, ceiling, and floor|Internal Align|string|c|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_4|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|171|Y Spec|integer|92|W Spec|string|139|H Spec|string|21|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Current Section: 1|Internal Align|string|l|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_5|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|49|Y Spec|integer|60|W Spec|integer|75|H Spec|integer|22|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Wall Height|Internal Align|string|l|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_6|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|25|Y Spec|integer|85|W Spec|string|124|H Spec|string|21|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Wall Sample|Internal Align|string|c|class|CanvasBorder|24|Parent Canvas|1|Name|string|border_2|Var Category|integer|2|Class Name|string|Border|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|162|Y Spec|integer|163|W Spec|integer|463|H Spec|integer|70|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Internal Alignment|string|l|Components|list|6|class|CanvasTextField|23|Parent Canvas|1|Name|string|wall_material|Var Category|null|Class Name|string|TextField|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|47|Y Spec|string|42|W Spec|string|375|H Spec|string|23|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|integer|1|Attribs|list|0|Tooltip|null|Contents|string||Filter String|string||class|CanvasTextButton|32|Parent Canvas|1|Name|string|browse_section|Var Category|null|Class Name|string|TextButton|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|288|Y Spec|string|7|W Spec|string|114|H Spec|string|27|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|1|string|font=sans.bold.16|Tooltip|null|Label|string|Browse for Texture...|No Keyboard|null|Img Up|null|Img Down|null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox Flag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal Align|string|c|class|CanvasTextButton|32|Parent Canvas|1|Name|string|apply_button|Var Category|null|Class Name|string|TextButton|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integer|1|X Spec|integer|408|Y Spec|integer|9|W Spec|integer|51|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Apply|No Keyboard|null|Img Up|null|Img Down|null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox Flag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal Align|string|c|class|CanvasList|24|Parent Canvas|1|Name|string|list_1|Var Category|null|Class Name|string|List|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|integer|1|X Spec|integer|186|Y Spec|integer|8|W Spec|string|100|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Constant Label|null|Selection|integer|1|Selection List|list|2|string|Material|string|Texture|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_12|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integer|1|X Spec|integer|6|Y Spec|integer|10|W Spec|integer|98|H Spec|integer|14|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Section Height|Internal Align|string|l|class|CanvasTextField|23|Parent Canvas|1|Name|string|section_height|Var Category|null|Class Name|string|TextField|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|107|Y Spec|integer|7|W Spec|string|76|H Spec|string|26|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|integer|1|Attribs|list|0|Tooltip|null|Contents|string||Filter String|string||Title Obj|null|class|CanvasTextButton|32|Parent Canvas|1|Name|string|accept_button|Var Category|null|Class Name|string|TextButton|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integer|1|X Spec|integer|23|Y Spec|integer|355|W Spec|integer|58|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Accept|No Keyboard|null|Img Up|null|Img Down|null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox Flag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal Align|string|c|class|CanvasTextButton|32|Parent Canvas|1|Name|string|cancel_button|Var Category|null|Class Name|string|TextButton|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integer|1|X Spec|integer|92|Y Spec|integer|355|W Spec|integer|58|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Cancel|No Keyboard|null|Img Up|null|Img Down|null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox Flag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal Align|string|c|class|CanvasLabel|23|Parent Canvas|1|Name|string|numbe_of_sections|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|299|Y Spec|integer|69|W Spec|integer|35|H Spec|integer|20|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|1|Internal Align|string|c|class|CanvasLabel|23|Parent Canvas|1|Name|string|wall_height|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|135|Y Spec|integer|65|W Spec|string|26|H Spec|string|13|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|8|Internal Align|string|c|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_11|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|166|Y Spec|integer|67|W Spec|integer|136|H Spec|integer|22|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Number of Sections|Internal Align|string|l|class|CanvasBorder|24|Parent Canvas|1|Name|string|border_3|Var Category|integer|2|Class Name|string|Border|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|164|Y Spec|integer|240|W Spec|integer|463|H Spec|integer|70|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Internal Alignment|string|l|Components|list|5|class|CanvasTextField|23|Parent Canvas|1|Name|string|floor_material|Var Category|null|Class Name|string|TextField|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|48|Y Spec|string|41|W Spec|string|375|H Spec|string|23|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|integer|1|Attribs|list|0|Tooltip|null|Contents|string||Filter String|string||class|CanvasTextButton|32|Parent Canvas|1|Name|string|browse_floor|Var Category|null|Class Name|string|TextButton|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|288|Y Spec|string|7|W Spec|string|114|H Spec|string|27|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|1|string|font=sans.bold.16|Tooltip|null|Label|string|Browse for Texture...|No Keyboard|null|Img Up|null|Img Down|null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox Flag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal Align|string|c|class|CanvasTextButton|32|Parent Canvas|1|Name|string|floor_apply|Var Category|null|Class Name|string|TextButton|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integer|1|X Spec|string|408|Y Spec|string|9|W Spec|integer|51|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Apply|No Keyboard|null|Img Up|null|Img Down|null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox Flag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal Align|string|c|class|CanvasList|24|Parent Canvas|1|Name|string|floor_list|Var Category|null|Class Name|string|List|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|integer|1|X Spec|string|186|Y Spec|string|8|W Spec|string|100|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Constant Label|null|Selection|integer|1|Selection List|list|2|string|Material|string|Texture|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_13|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integer|1|X Spec|integer|41|Y Spec|integer|11|W Spec|integer|35|H Spec|integer|14|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Floor|Internal Align|string|l|Title Obj|null|class|CanvasBorder|24|Parent Canvas|1|Name|string|border_4|Var Category|integer|2|Class Name|string|Border|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|165|Y Spec|integer|318|W Spec|integer|463|H Spec|integer|69|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Internal Alignment|string|l|Components|list|5|class|CanvasTextField|23|Parent Canvas|1|Name|string|ceiling_material|Var Category|null|Class Name|string|TextField|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|48|Y Spec|string|41|W Spec|string|375|H Spec|string|23|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|integer|1|Attribs|list|0|Tooltip|null|Contents|string||Filter String|string||class|CanvasTextButton|32|Parent Canvas|1|Name|string|browse_ceiling|Var Category|null|Class Name|string|TextButton|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|288|Y Spec|string|7|W Spec|string|114|H Spec|string|27|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|1|string|font=sans.bold.16|Tooltip|null|Label|string|Browse for Texture...|No Keyboard|null|Img Up|null|Img Down|null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox Flag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal Align|string|c|class|CanvasTextButton|32|Parent Canvas|1|Name|string|ceiling_apply|Var Category|null|Class Name|string|TextButton|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integer|1|X Spec|string|408|Y Spec|string|9|W Spec|integer|51|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Apply|No Keyboard|null|Img Up|null|Img Down|null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox Flag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal Align|string|c|class|CanvasList|24|Parent Canvas|1|Name|string|ceiling_list|Var Category|null|Class Name|string|List|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|integer|1|X Spec|string|180|Y Spec|string|7|W Spec|string|100|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Constant Label|null|Selection|integer|1|Selection List|list|2|string|Material|string|Texture|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_14|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integer|1|X Spec|integer|31|Y Spec|integer|11|W Spec|integer|49|H Spec|integer|14|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Ceiling|Internal Align|string|l|Title Obj|null|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_15|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|524|Y Spec|integer|58|W Spec|string|103|H Spec|string|21|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Floor Sample|Internal Align|string|c|class|CanvasLabel|23|Parent Canvas|1|Name|string|label_16|Var Category|integer|1|Class Name|string|Label|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|414|Y Spec|integer|61|W Spec|integer|105|H Spec|integer|20|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Label|string|Ceiling Sample|Internal Align|string|c|class|CanvasOverlaySet|23|Parent Canvas|1|Name|string|overlay_set_1|Var Category|integer|1|Class Name|string|OverlaySet|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|397|Y Spec|string|80|W Spec|string|117|H Spec|string|80|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Components|list|2|class|CanvasOverlayItem|23|Parent Canvas|1|Name|string|overlay_item_1|Var Category|null|Class Name|string|OverlayItem|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|null|Y Spec|null|W Spec|null|H Spec|null|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Components|list|1|class|CanvasBorder|24|Parent Canvas|1|Name|string|ceiling_sample_material|Var Category|null|Class Name|string|Border|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|14|Y Spec|string|6|W Spec|string|93|H Spec|string|73|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Internal Alignment|string|l|Components|list|0|Title Obj|null|Parent OverlaySet|83|class|CanvasOverlayItem|23|Parent Canvas|1|Name|string|overlay_item_2|Var Category|null|Class Name|string|OverlayItem|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|null|Y Spec|null|W Spec|null|H Spec|null|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Components|list|1|class|CanvasImage|25|Parent Canvas|1|Name|string|ceiling_sample_texture|Var Category|integer|1|Class Name|string|Image|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|39|Y Spec|integer|11|W Spec|string|60|H Spec|string|60|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|File name|null|X Internal Alignment|string|c|Y Internal Alignment|string|c|Scale Up Flag|null|Parent OverlaySet|83|Which One|92|class|CanvasOverlaySet|23|Parent Canvas|1|Name|string|overlay_set_2|Var Category|integer|1|Class Name|string|OverlaySet|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string|513|Y Spec|string|78|W Spec|string|106|H Spec|string|82|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Components|list|2|class|CanvasOverlayItem|23|Parent Canvas|1|Name|string|overlay_item_3|Var Category|null|Class Name|string|OverlayItem|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|null|Y Spec|null|W Spec|null|H Spec|null|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Components|list|1|class|CanvasBorder|24|Parent Canvas|1|Name|string|floor_sample|Var Category|null|Class Name|string|Border|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|24|Y Spec|integer|22|W Spec|integer|57|H Spec|integer|49|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Internal Alignment|string|l|Components|list|0|Title Obj|null|Parent OverlaySet|97|class|CanvasOverlayItem|23|Parent Canvas|1|Name|string|overlay_item_4|Var Category|null|Class Name|string|OverlayItem|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|null|Y Spec|null|W Spec|null|H Spec|null|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Components|list|1|class|CanvasImage|25|Parent Canvas|1|Name|string|floor_image|Var Category|integer|1|Class Name|string|Image|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|integer|27|Y Spec|integer|12|W Spec|string|60|H Spec|string|60|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|File name|null|X Internal Alignment|string|c|Y Internal Alignment|string|c|Scale Up Flag|null|Parent OverlaySet|97|Which One|100|Initial Focus|null|