import gui $include "guih.icn" class Untitled : Dialog(browser, chatarea, toolbox, editarea, x_button, current_x, current_y) method component_setup() self.setup() end method end_dialog() end method init_dialog() end method on_x(ev) static lastx, lasty # determine how much to move everything over by if (deltax := &x - \current_x) & (deltay := &y - \current_y) then { origx := x_button.get_x_reference() origy := x_button.get_y_reference() x_button.set_pos(origx+deltax, origy+deltay) origx := editarea.get_x_reference() origy := editarea.get_y_reference() origw := editarea.get_w_reference() origh := editarea.get_h_reference() editarea.set_pos(origx+deltax, origy+deltay) editarea.set_size(origw-deltax, origh-deltay) origx := chatarea.get_x_reference() origy := chatarea.get_y_reference() origw := chatarea.get_w_reference() origh := chatarea.get_h_reference() chatarea.set_pos(origx+deltax, origy) chatarea.set_size(origw-deltax, origh+deltay) origx := browser.get_x_reference() origy := browser.get_y_reference() origw := browser.get_w_reference() origh := browser.get_h_reference() browser.set_pos(origx, origy+deltay) browser.set_size(origw+deltax, origh-deltay) origx := toolbox.get_x_reference() origy := toolbox.get_y_reference() origw := toolbox.get_w_reference() origh := toolbox.get_h_reference() toolbox.set_size(origw+deltax, origh+deltay) resize() display() } current_x := &x current_y := &y end method on_press(ev) current_x := &x current_y := &y end method on_release(ev) current_x := current_y := &null end method on_exit(ev) stop("thanks for trying the demo") end method setup() local menu_1, menu_bar_1, menuexit self.set_attribs("size=644,399") x_button := Image() x_button.set_pos("285", "173") x_button.set_size("8", "8") x_button.connect(self, "on_press", MOUSE_PRESS_EVENT) x_button.connect(self, "on_x", MOUSE_DRAG_EVENT) x_button.connect(self, "on_release", MOUSE_RELEASE_EVENT) x_button.set_filename("xbtn.gif") x_button.set_internal_alignment("c", "c") x_button.set_scale_up() self.add(x_button) editarea := EditableTextList() editarea.set_pos("294", "180") editarea.set_size("350", "217") editarea.set_draw_border() editarea.set_contents([""]) self.add(editarea) menu_bar_1 := MenuBar() menu_bar_1.set_pos("0", "0") menu_1 := Menu() menu_1.set_label("File") menuexit := TextMenuItem() menuexit.set_label("Exit") menuexit.connect(self, "on_exit", ACTION_EVENT) menu_1.add(menuexit) menu_bar_1.add(menu_1) self.add(menu_bar_1) chatarea := Border() chatarea.set_pos("294", "24") chatarea.set_size("350", "149") chatarea.set_internal_alignment("l") self.add(chatarea) browser := Border() browser.set_pos("0", "177") browser.set_size("284", "223") browser.set_internal_alignment("l") self.add(browser) toolbox := Border() toolbox.set_pos("0", "24") toolbox.set_size("284", "148") toolbox.set_internal_alignment("l") self.add(toolbox) end initially self.Dialog.initially() end procedure main() local d d := Untitled() d.show_modal() end ### Ivib-v2 layout ## #class|Canvas|17|Name Table|table|integer|0|10|string|border|integer|3| #string|editable_text_list|integer|1|string|icon_button|integer|1|strin #g|image|integer|1|string|menu|integer|1|string|menu_bar|integer|1|stri #ng|panel|integer|1|string|text_button|integer|1|string|text_menu_item| #integer|1|string|toolbox|integer|2|SuperClass Name|string|Dialog|Impor #t 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 Se #tup|integer|1|Gen Init Dialog|integer|1|Gen Initially|integer|1|Dialog # Struct|class|CDialog|4|Min Width|null|Min Height|null|Ticker Rate|nul #l|Attribs|list|0|Name|string|Untitled|Width|integer|644|Height|integer #|399|Items|list|6|class|CanvasImage|29|Parent Canvas|1|Name|string|x_b #utton|Class Name|string|Image|Import Name|string|gui|X Fix|null|Y Fix| #null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Spec|string #|285|Y Spec|string|173|W Spec|string|8|H Spec|string|8|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|list|3|list #|2|string|MOUSE_PRESS_EVENT|string|on_press|list|2|string|MOUSE_DRAG_E #VENT|string|on_x|list|2|string|MOUSE_RELEASE_EVENT|string|on_release|C #lass Variable|integer|1|Parent Component|1|File name|string|xbtn.gif|X # Internal Alignment|string|c|Y Internal Alignment|string|c|Scale Up Fl #ag|integer|1|class|CanvasEditableTextList|26|Parent Canvas|1|Name|stri #ng|editarea|Class Name|string|EditableTextList|Import Name|string|gui| #X Fix|null|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|n #ull|X Spec|string|294|Y Spec|string|180|W Spec|string|350|H Spec|strin #g|217|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subcl #ass|null|Draw Border|integer|1|Attribs|list|0|Tooltip|null|Accel|null| #Event Handlers|list|0|Class Variable|integer|1|Parent Component|1|Cont #ents|list|1|string||class|CanvasMenuBar|26|Parent Canvas|1|Name|string #|menu_bar_1|Class Name|string|MenuBar|Import Name|string|gui|X Fix|nul #l|Y Fix|null|W Fix|null|H Fix|null|W Default|integer|1|H Default|integ #er|1|X Spec|string|0|Y Spec|string|0|W Spec|string|100%|H Spec|integer #|23|X Align|string|l|Y Align|string|t|Is shaded|null|Is Button Subclas #s|null|Draw Border|null|Attribs|list|0|Tooltip|null|Accel|null|Event H #andlers|list|0|Class Variable|null|Parent Component|1|Menus|list|1|cla #ss|CanvasMenu|17|Name|string|menu_1|Class Name|string|Menu|Import Name #|string|gui|Accel|null|Label|string|File|Label Left|null|Label Right|n #ull|Is shaded|null|Img Left|null|Img Left Width|null|Img Left Height|n #ull|Img Right|string|9,c1,0~~~~~~~~000~~~~~~00000~~~~0000000~~00000000 #00000000~~00000~~~~000~~~~~~0~~~~~~~~|Img Right Width|integer|9|Img Ri #ght Height|integer|9|Event Method|null|Class Variable|null|Children|li #st|1|class|CanvasTextMenuItem|16|Name|string|menuexit|Class Name|strin #g|TextMenuItem|Import Name|string|gui|Accel|null|Label|string|Exit|Lab #el Left|null|Label Right|null|Is shaded|null|Img Left|null|Img Left Wi #dth|null|Img Left Height|null|Img Right|null|Img Right Width|null|Img #Right Height|null|Event Method|string|on_exit|Class Variable|null|clas #s|CanvasBorder|28|Parent Canvas|1|Name|string|chatarea|Class Name|stri #ng|Border|Import Name|string|gui|X Fix|null|Y Fix|null|W Fix|null|H Fi #x|null|W Default|null|H Default|null|X Spec|string|294|Y Spec|string|2 #4|W Spec|string|350|H Spec|string|149|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|list|0|Class Variable|intege #r|1|Parent Component|1|Internal Alignment|string|l|Children|list|0|Tit #le Obj|null|class|CanvasBorder|28|Parent Canvas|1|Name|string|browser| #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|string|0|Y #Spec|string|177|W Spec|string|284|H Spec|string|223|X Align|string|l|Y # Align|string|t|Is shaded|null|Is Button Subclass|null|Draw Border|nul #l|Attribs|list|0|Tooltip|null|Accel|null|Event Handlers|list|0|Class V #ariable|integer|1|Parent Component|1|Internal Alignment|string|l|Child #ren|list|0|Title Obj|null|class|CanvasBorder|28|Parent Canvas|1|Name|s #tring|toolbox|Class Name|string|Border|Import Name|string|gui|X Fix|nu #ll|Y Fix|null|W Fix|null|H Fix|null|W Default|null|H Default|null|X Sp #ec|string|0|Y Spec|string|24|W Spec|string|284|H Spec|string|148|X Ali #gn|string|l|Y Align|string|t|Is shaded|null|Is Button Subclass|null|Dr #aw Border|null|Attribs|list|0|Tooltip|null|Accel|null|Event Handlers|l #ist|0|Class Variable|integer|1|Parent Component|1|Internal Alignment|s #tring|l|Children|list|0|Title Obj|null|Initial Focus|null|Event Handle #rs|null|