import gui $include "guih.icn" link gui class optionsdialog : Dialog(cancel_button, okay_button, sound_check, explode_check, ships_field, range_field, speed_field, torpedos_field, rotation_field, level_field, label_9, label_5, label_1, label_10, label_8, label_4, label_7, label_6, label_3, border_1, num_ships, num_range, chk_explode, chk_sound, num_torpedos, num_speed, num_rotation, num_level, hitokay, doneonce, buttonhit) method handle_cancel_button(ev) cancel_button.is_down := &null dispose() end method handle_okay_button(ev) hitokay := 1 chk_sound := sound_check$get_status() chk_explode := explode_check$get_status() num_ships := ships_field$get_contents() num_range := range_field$get_contents() num_speed := speed_field$get_contents() num_torpedos := torpedos_field$get_contents() num_rotation := rotation_field$get_contents() num_level := level_field$get_contents() doneonce := 1 okay_button.is_down := &null dispose() end method handle_sound_check(ev) end method handle_explode_check(ev) end method handle_ships_field(ev) end method handle_range_field(ev) end method handle_speed_field(ev) end method handle_torpedos_field(ev) end method handle_rotation_field(ev) end method handle_level_field(ev) end method handle_default(ev) end method dialog_event(ev) buttonhit := 0 hitokay := 0 case ev.get_component() of { cancel_button : handle_cancel_button(ev) okay_button : handle_okay_button(ev) sound_check : handle_sound_check(ev) explode_check : handle_explode_check(ev) ships_field : handle_ships_field(ev) range_field : handle_range_field(ev) speed_field : handle_speed_field(ev) torpedos_field : handle_torpedos_field(ev) rotation_field : handle_rotation_field(ev) level_field : handle_level_field(ev) default : handle_default(ev) } # if(buttonhit = 1) then { # okay_button.is_down := &null # cancel_button.is_down := &null # dispose() # } end method init_dialog() if(doneonce = 1) then { ships_field$set_contents(num_ships) range_field$set_contents(num_range) speed_field$set_contents(num_speed) torpedos_field$set_contents(num_torpedos) rotation_field$set_contents(num_rotation) level_field$set_contents(num_level) } hitokay := 0 buttonhit := 0 end method end_dialog() end method handle_v2_events(ev) dialog_event(V2TOV1(ev)) end method setup() local border_1 self.set_attribs("size=400,300", "bg=pale gray") border_1 := Border() border_1.set_pos(0, 0) border_1.set_size(400, 300) border_1.set_internal_alignment("l") cancel_button := TextButton() cancel_button.set_pos("236", "260") cancel_button.connect(self, "handle_v2_events", &null) cancel_button.clear_toggles() cancel_button.set_label("Cancel") cancel_button.set_internal_alignment("c") border_1.add(cancel_button) okay_button := TextButton() okay_button.set_pos("100", "260") okay_button.connect(self, "handle_v2_events", &null) okay_button.clear_toggles() okay_button.set_label("Okay") okay_button.set_internal_alignment("c") border_1.add(okay_button) label_9 := Label() label_9.set_pos("5", "10") label_9.set_size("100", ) label_9.set_internal_alignment("l") label_9.set_label("Game Options") border_1.add(label_9) label_5 := Label() label_5.set_pos("15", "60") label_5.set_size("250", ) label_5.set_internal_alignment("l") label_5.set_label("Shot Range (default = 10):") border_1.add(label_5) label_1 := Label() label_1.set_pos("15", "120") label_1.set_size("250", ) label_1.set_internal_alignment("l") label_1.set_label("Photon Torpedos (default = 3):") border_1.add(label_1) label_10 := Label() label_10.set_pos("15", "30") label_10.set_size("250", ) label_10.set_internal_alignment("l") label_10.set_label("Ships (default = 3):") border_1.add(label_10) label_8 := Label() label_8.set_pos("15", "90") label_8.set_size("250", ) label_8.set_internal_alignment("l") label_8.set_label("Ship Max Speed (default = 5):") border_1.add(label_8) label_4 := Label() label_4.set_pos("15", "210") label_4.set_size("80", ) label_4.set_internal_alignment("l") label_4.set_label("Explosions:") border_1.add(label_4) label_7 := Label() label_7.set_pos("15", "150") label_7.set_size("250", ) label_7.set_internal_alignment("l") label_7.set_label("Rotation Speed (default = 5):") border_1.add(label_7) label_6 := Label() label_6.set_pos("15", "230") label_6.set_size("80", ) label_6.set_internal_alignment("l") label_6.set_label("Sound:") border_1.add(label_6) label_3 := Label() label_3.set_pos("15", "180") label_3.set_size("250", ) label_3.set_internal_alignment("l") label_3.set_label("Start Level (default = 1):") border_1.add(label_3) sound_check := CheckBox() sound_check.set_pos("100", "233") sound_check.connect(self, "handle_v2_events", &null) sound_check.set_toggles() sound_check.set_is_checked() sound_check.set_label("") border_1.add(sound_check) explode_check := CheckBox() explode_check.set_pos("100", "213") explode_check.connect(self, "handle_v2_events", &null) explode_check.set_toggles() explode_check.set_is_checked() explode_check.set_label("") border_1.add(explode_check) ships_field := TextField() ships_field.set_pos("285", "30") ships_field.set_size("45", ) ships_field.set_draw_border() ships_field.connect(self, "handle_v2_events", &null) ships_field.set_contents("3") border_1.add(ships_field) range_field := TextField() range_field.set_pos("285", "60") range_field.set_size("45", ) range_field.set_draw_border() range_field.connect(self, "handle_v2_events", &null) range_field.set_contents("10") border_1.add(range_field) speed_field := TextField() speed_field.set_pos("285", "90") speed_field.set_size("45", ) speed_field.set_draw_border() speed_field.connect(self, "handle_v2_events", &null) speed_field.set_contents("5") border_1.add(speed_field) torpedos_field := TextField() torpedos_field.set_pos("285", "120") torpedos_field.set_size("45", ) torpedos_field.set_draw_border() torpedos_field.connect(self, "handle_v2_events", &null) torpedos_field.set_contents("3") border_1.add(torpedos_field) rotation_field := TextField() rotation_field.set_pos("285", "150") rotation_field.set_size("45", ) rotation_field.set_draw_border() rotation_field.connect(self, "handle_v2_events", &null) rotation_field.set_contents("5") border_1.add(rotation_field) level_field := TextField() level_field.set_pos("285", "180") level_field.set_size("45", ) level_field.set_draw_border() level_field.connect(self, "handle_v2_events", &null) level_field.set_contents("1") border_1.add(level_field) self.add(border_1) self.connect(self, "handle_v2_events", &null) end method component_setup() self.setup() end initially self.Dialog.initially() hitokay := 0 buttonhit := 0 doneonce := 0 end ### Ivib-v2 layout ## #class|Canvas|17|Name Table|table|integer|0|5|string|border|integer|1|s #tring|check_box|integer|3|string|label|integer|10|string|text_button|i #nteger|3|string|text_field|integer|6|SuperClass Name|string|Dialog|Imp #ort Name|string|gui|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 Main|integer|1|Gen Component #Setup|integer|1|Gen Init Dialog|integer|1|Gen Initially|integer|1|Dial #og Struct|class|CDialog|4|Min Width|null|Min Height|null|Ticker Rate|n #ull|Attribs|list|1|string|bg=pale gray|Name|string|optionsdialog|Width #|integer|400|Height|integer|300|Items|list|1|class|CanvasBorder|28|Par #ent Canvas|1|Name|string|border_1|Class Name|string|Border|Import Name #|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null #|H Default|null|X Spec|integer|0|Y Spec|integer|0|W Spec|integer|400|H # Spec|integer|300|X Align|string|l|Y Align|string|t|Is shaded|null|Is #Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Acce #l|null|Event Handlers|null|Class Variable|null|Parent Component|1|Inte #rnal Alignment|string|l|Children|list|19|class|CanvasTextButton|36|Par #ent Canvas|1|Name|string|cancel_button|Class Name|string|TextButton|Im #port Name|string|gui|X Fix|integer|1|Y Fix|integer|1|W Fix|null|H Fix| #null|W Default|integer|1|H Default|integer|1|X Spec|string|236|Y Spec| #string|260|W Spec|integer|58|H Spec|integer|24|X Align|string|l|Y Alig #n|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|nul #l|Attribs|list|0|Tooltip|null|Accel|null|Event Handlers|list|1|list|2| #string|&null|string|handle_v2_events|Class Variable|integer|1|Parent C #omponent|10|Label|string|Cancel|No Keyboard|null|Img Up|null|Img Down| #null|Img Width|null|Img Height|null|Is Checked Flag|null|Is Checkbox F #lag|null|Parent CheckBoxGroup|null|Parent Button Group|null|Internal A #lign|string|c|class|CanvasTextButton|36|Parent Canvas|1|Name|string|ok #ay_button|Class Name|string|TextButton|Import Name|string|gui|X Fix|in #teger|1|Y Fix|integer|1|W Fix|null|H Fix|null|W Default|integer|1|H De #fault|integer|1|X Spec|string|100|Y Spec|string|260|W Spec|integer|44| #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 #|Accel|null|Event Handlers|list|1|list|2|string|&null|string|handle_v2 #_events|Class Variable|integer|1|Parent Component|10|Label|string|Okay #|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|n #ull|Parent Button Group|null|Internal Align|string|c|class|CanvasLabel #|27|Parent Canvas|1|Name|string|label_9|Class Name|string|Label|Import # Name|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default #|null|H Default|integer|1|X Spec|string|5|Y Spec|string|10|W Spec|stri #ng|100|H Spec|integer|14|X Align|string|l|Y Align|string|t|Is shaded|n #ull|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|nu #ll|Accel|null|Event Handlers|null|Class Variable|integer|1|Parent Comp #onent|10|Label|string|Game Options|Internal Align|string|l|class|Canva #sLabel|27|Parent Canvas|1|Name|string|label_5|Class Name|string|Label| #Import Name|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W D #efault|null|H Default|integer|1|X Spec|string|15|Y Spec|string|60|W Sp #ec|string|250|H Spec|integer|14|X Align|string|l|Y Align|string|t|Is s #haded|null|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Too #ltip|null|Accel|null|Event Handlers|null|Class Variable|integer|1|Pare #nt Component|10|Label|string|Shot Range (default = 10):|Inter #nal Align|string|l|class|CanvasLabel|27|Parent Canvas|1|Name|string|la #bel_1|Class Name|string|Label|Import Name|string|gui|X Fix|null|Y Fix| #null|W Fix|null|H Fix|null|W Default|null|H Default|integer|1|X Spec|s #tring|15|Y Spec|string|120|W Spec|string|250|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|Accel|null|Event Handlers|nul #l|Class Variable|integer|1|Parent Component|10|Label|string|Photon Tor #pedos (default = 3):|Internal Align|string|l|class|CanvasLabel|27 #|Parent Canvas|1|Name|string|label_10|Class Name|string|Label|Import N #ame|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|n #ull|H Default|integer|1|X Spec|string|15|Y Spec|string|30|W Spec|strin #g|250|H Spec|integer|14|X Align|string|l|Y Align|string|t|Is shaded|nu #ll|Is Button Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|nul #l|Accel|null|Event Handlers|null|Class Variable|integer|1|Parent Compo #nent|10|Label|string|Ships (default = 3):|Internal Alig #n|string|l|class|CanvasLabel|27|Parent Canvas|1|Name|string|label_8|Cl #ass Name|string|Label|Import Name|string|gui|X Fix|null|Y Fix|null|W F #ix|null|H Fix|null|W Default|null|H Default|integer|1|X Spec|string|15 #|Y Spec|string|90|W Spec|string|250|H Spec|integer|14|X Align|string|l #|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|n #ull|Attribs|list|0|Tooltip|null|Accel|null|Event Handlers|null|Class V #ariable|integer|1|Parent Component|10|Label|string|Ship Max Speed # (default = 5):|Internal Align|string|l|class|CanvasLabel|27|Parent C #anvas|1|Name|string|label_4|Class Name|string|Label|Import Name|string #|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Defa #ult|integer|1|X Spec|string|15|Y Spec|string|210|W Spec|string|80|H Sp #ec|integer|14|X Align|string|l|Y Align|string|t|Is shaded|null|Is Butt #on Subclass|null|Draw Border|null|Attribs|list|0|Tooltip|null|Accel|nu #ll|Event Handlers|null|Class Variable|integer|1|Parent Component|10|La #bel|string|Explosions:|Internal Align|string|l|class|CanvasLabel|27|Pa #rent Canvas|1|Name|string|label_7|Class Name|string|Label|Import Name| #string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null| #H Default|integer|1|X Spec|string|15|Y Spec|string|150|W Spec|string|2 #50|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|A #ccel|null|Event Handlers|null|Class Variable|integer|1|Parent Componen #t|10|Label|string|Rotation Speed (default = 5):|Internal Align|s #tring|l|class|CanvasLabel|27|Parent Canvas|1|Name|string|label_6|Class # Name|string|Label|Import Name|string|gui|X Fix|null|Y Fix|null|W Fix| #null|H Fix|null|W Default|null|H Default|integer|1|X Spec|string|15|Y #Spec|string|230|W Spec|string|80|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|Accel|null|Event Handlers|null|Class Vari #able|integer|1|Parent Component|10|Label|string|Sound:|Internal Align| #string|l|class|CanvasLabel|27|Parent Canvas|1|Name|string|label_3|Clas #s Name|string|Label|Import Name|string|gui|X Fix|null|Y Fix|null|W Fix #|null|H Fix|null|W Default|null|H Default|integer|1|X Spec|string|15|Y # Spec|string|180|W Spec|string|250|H Spec|integer|14|X Align|string|l| #Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|nu #ll|Attribs|list|0|Tooltip|null|Accel|null|Event Handlers|null|Class Va #riable|integer|1|Parent Component|10|Label|string|Start Level # (default = 1):|Internal Align|string|l|class|CanvasCheckBox|35|Parent # Canvas|1|Name|string|sound_check|Class Name|string|CheckBox|Import Na #me|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|in #teger|1|H Default|integer|1|X Spec|string|100|Y Spec|string|233|W Spec #|integer|22|H Spec|integer|14|X Align|string|l|Y Align|string|t|Is sha #ded|null|Is Button Subclass|integer|1|Draw Border|null|Attribs|list|0| #Tooltip|null|Accel|null|Event Handlers|list|1|list|2|string|&null|stri #ng|handle_v2_events|Class Variable|integer|1|Parent Component|10|Label #|string||No Keyboard|null|Img Up|string|(0=shadow;1=hilite;~=trans)13, #c6,~~~~~~~~~~~~~~11111111111~~11111111110~~11~~~~~~~00~~11~~~~~~~00~~1 #1~~~~~~~00~~11~~~~~~~00~~11~~~~~~~00~~11~~~~~~~00~~11~~~~~~~00~~110000 #00000~~10000000000~~~~~~~~~~~~~~|Img Down|string|(b=black;0=shadow;1=h #ilite;~=trans)13,c6,~~~~~~~~~~~~~~00000000001~~00000000001~~00~~~~~~~1 #1~~00~bbbbb~11~~00~bbbbb~11~~00~bbbbb~11~~00~bbbbb~11~~00~bbbbb~11~~00 #~~~~~~~11~~01111111111~~11111111111~~~~~~~~~~~~~~|Img Width|integer|11 #|Img Height|integer|11|Is Checked Flag|integer|1|Is Checkbox Flag|inte #ger|1|Parent CheckBoxGroup|null|Parent Button Group|null|class|CanvasC #heckBox|35|Parent Canvas|1|Name|string|explode_check|Class Name|string #|CheckBox|Import Name|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fi #x|null|W Default|integer|1|H Default|integer|1|X Spec|string|100|Y Spe #c|string|213|W Spec|integer|22|H Spec|integer|14|X Align|string|l|Y Al #ign|string|t|Is shaded|null|Is Button Subclass|integer|1|Draw Border|n #ull|Attribs|list|0|Tooltip|null|Accel|null|Event Handlers|list|1|list| #2|string|&null|string|handle_v2_events|Class Variable|integer|1|Parent # Component|10|Label|string||No Keyboard|null|Img Up|string|(0=shadow;1 #=hilite;~=trans)13,c6,~~~~~~~~~~~~~~11111111111~~11111111110~~11~~~~~~ #~00~~11~~~~~~~00~~11~~~~~~~00~~11~~~~~~~00~~11~~~~~~~00~~11~~~~~~~00~~ #11~~~~~~~00~~11000000000~~10000000000~~~~~~~~~~~~~~|Img Down|string|(b #=black;0=shadow;1=hilite;~=trans)13,c6,~~~~~~~~~~~~~~00000000001~~0000 #0000001~~00~~~~~~~11~~00~bbbbb~11~~00~bbbbb~11~~00~bbbbb~11~~00~bbbbb~ #11~~00~bbbbb~11~~00~~~~~~~11~~01111111111~~11111111111~~~~~~~~~~~~~~|I #mg Width|integer|11|Img Height|integer|11|Is Checked Flag|integer|1|Is # Checkbox Flag|integer|1|Parent CheckBoxGroup|null|Parent Button Group #|null|class|CanvasTextField|27|Parent Canvas|1|Name|string|ships_field #|Class Name|string|TextField|Import Name|string|gui|X Fix|null|Y Fix|n #ull|W Fix|null|H Fix|null|W Default|null|H Default|integer|1|X Spec|st #ring|285|Y Spec|string|30|W Spec|string|45|H Spec|integer|24|X Align|s #tring|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Draw B #order|integer|1|Attribs|list|0|Tooltip|null|Accel|null|Event Handlers| #list|1|list|2|string|&null|string|handle_v2_events|Class Variable|inte #ger|1|Parent Component|10|Contents|string|3|Filter String|string||clas #s|CanvasTextField|27|Parent Canvas|1|Name|string|range_field|Class Nam #e|string|TextField|Import Name|string|gui|X Fix|null|Y Fix|null|W Fix| #null|H Fix|null|W Default|null|H Default|integer|1|X Spec|string|285|Y # Spec|string|60|W Spec|string|45|H Spec|integer|24|X Align|string|l|Y #Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|inte #ger|1|Attribs|list|0|Tooltip|null|Accel|null|Event Handlers|list|1|lis #t|2|string|&null|string|handle_v2_events|Class Variable|integer|1|Pare #nt Component|10|Contents|string|10|Filter String|string||class|CanvasT #extField|27|Parent Canvas|1|Name|string|speed_field|Class Name|string| #TextField|Import Name|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fi #x|null|W Default|null|H Default|integer|1|X Spec|string|285|Y Spec|str #ing|90|W Spec|string|45|H Spec|integer|24|X Align|string|l|Y Align|str #ing|t|Is shaded|null|Is Button Subclass|null|Draw Border|integer|1|Att #ribs|list|0|Tooltip|null|Accel|null|Event Handlers|list|1|list|2|strin #g|&null|string|handle_v2_events|Class Variable|integer|1|Parent Compon #ent|10|Contents|string|5|Filter String|string||class|CanvasTextField|2 #7|Parent Canvas|1|Name|string|torpedos_field|Class Name|string|TextFie #ld|Import Name|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null| #W Default|null|H Default|integer|1|X Spec|string|285|Y Spec|string|120 #|W Spec|string|45|H Spec|integer|24|X Align|string|l|Y Align|string|t| #Is shaded|null|Is Button Subclass|null|Draw Border|integer|1|Attribs|l #ist|0|Tooltip|null|Accel|null|Event Handlers|list|1|list|2|string|&nul #l|string|handle_v2_events|Class Variable|integer|1|Parent Component|10 #|Contents|string|3|Filter String|string||class|CanvasTextField|27|Pare #nt Canvas|1|Name|string|rotation_field|Class Name|string|TextField|Imp #ort Name|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Defa #ult|null|H Default|integer|1|X Spec|string|285|Y Spec|string|150|W Spe #c|string|45|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is sha #ded|null|Is Button Subclass|null|Draw Border|integer|1|Attribs|list|0| #Tooltip|null|Accel|null|Event Handlers|list|1|list|2|string|&null|stri #ng|handle_v2_events|Class Variable|integer|1|Parent Component|10|Conte #nts|string|5|Filter String|string||class|CanvasTextField|27|Parent Can #vas|1|Name|string|level_field|Class Name|string|TextField|Import Name| #string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null| #H Default|integer|1|X Spec|string|285|Y Spec|string|180|W Spec|string| #45|H Spec|integer|24|X Align|string|l|Y Align|string|t|Is shaded|null| #Is Button Subclass|null|Draw Border|integer|1|Attribs|list|0|Tooltip|n #ull|Accel|null|Event Handlers|list|1|list|2|string|&null|string|handle #_v2_events|Class Variable|integer|1|Parent Component|10|Contents|strin #g|1|Filter String|string||Title Obj|null|Initial Focus|null|Event Hand #lers|list|1|list|2|string|&null|string|handle_v2_events|