# # Menu example program. # class MenuDialog : _Dialog(text_menu_item_1) # # Just test for the quit menu option # method dialog_event(ev) if ev.get_component() === text_menu_item_1 then dispose() end initially local menu_bar, menu_1, menu_2, menu_separator_1, menu_6, menu_3, menu_4, menu_5, menu_button_1, menu_7, text_menu_item_2, text_menu_item_3, text_menu_item_4, text_menu_item_5, text_menu_item_6, text_menu_item_7, check_box_menu_item_1, check_box_menu_item_2, check_box_menu_item_3, check_box_menu_item_4, text_menu_item_8, text_menu_item_9, check_box_group_1 self._Dialog.initially() attrib("size=426,270", "font=sans", "bg=light gray") check_box_group_1 := CheckBoxGroup() # # Create the menu bar. The position and size default to # give a bar covering the top of the window. # menu_bar := MenuBar() # # The first menu ("File") - just contains one text item. # menu_1 := Menu("label=File") text_menu_item_1 := TextMenuItem("label=Quit") menu_1.add(text_menu_item_1) menu_bar.add(menu_1) # # The second menu ("Labels") - add some labels # menu_2 := Menu("label=Labels") text_menu_item_2 := TextMenuItem("label=One") menu_2.add(text_menu_item_2) text_menu_item_3 := TextMenuItem("label=Two") text_menu_item_3.set_label_left("ABC") menu_2.add(text_menu_item_3) # # A separator menu_separator_1 := MenuSeparator() menu_2.add(menu_separator_1) text_menu_item_4 := TextMenuItem("label=Three") text_menu_item_4.set_label_right("123") menu_2.add(text_menu_item_4) # # A sub-menu in this menu, labelled "Images" menu_6 := Menu("label=Images") # # Add three text items with custom images. The rather # unwieldy strings create a triangle, a circle and a # rectangle; the circle is formatted so you can see it. # String literals ending in _ continue on next line. # text_menu_item_5 := TextMenuItem("label=One") text_menu_item_5.set_img_left("15,c1,66666660666666666_ 666660666666666666600066666666666600066666666666006006666666_ 666006006666666660066600666666660066600666666600666660066666_ 600666660066666006666666006666006666666006660066666666600660_ 0000000000006000000000000000") menu_6.add(text_menu_item_5) text_menu_item_6 := TextMenuItem("label=Two") text_menu_item_6.set_img_left("15,c1,_ 666666000666666_ 666600000006666_ 660006666600066_ 660066666660066_ 600666666666006_ 606666666666606_ 006666666666600_ 006666666666600_ 006666666666600_ 606666666666606_ 600666666666006_ 660066666660066_ 660006666600066_ 666600000006666_ 666666000666666") menu_6.add(text_menu_item_6) text_menu_item_7 := TextMenuItem("label=Three") text_menu_item_7.set_img_left("15,c1,00000000000000000_ 000000000000000666666666660000666666666660000666666666660000_ 666666666660000666666666660000666666666660000666666666660000_ 666666666660000666666666660000666666666660000666666666660000_ 0000000000000000000000000000") menu_6.add(text_menu_item_7) menu_2.add(menu_6) menu_bar.add(menu_2) # # The third menu ("Checkboxes") # menu_3 := Menu("label=Checkboxes") # # Sub-menu "Group" - two checkboxes in a checkbox group. # menu_4 := Menu("label=Group") check_box_menu_item_1 := CheckBoxMenuItem("label=One") check_box_group_1.add(check_box_menu_item_1) menu_4.add(check_box_menu_item_1) check_box_menu_item_2 := CheckBoxMenuItem("label=Two") check_box_group_1.add(check_box_menu_item_2) menu_4.add(check_box_menu_item_2) menu_3.add(menu_4) # # Sub-menu - "Alone" - two checkboxes on their own # menu_5 := Menu("label=Alone") check_box_menu_item_3 := CheckBoxMenuItem("label=Three") menu_5.add(check_box_menu_item_3) check_box_menu_item_4 := CheckBoxMenuItem("label=Four") menu_5.add(check_box_menu_item_4) menu_3.add(menu_5) menu_bar.add(menu_3) add(menu_bar) # # Finally, create a menu button - a mini floating menu # with one menu inside it. # menu_button_1 := MenuButton("pos=347,50%", "align=c,c") # # This is the menu, its label appears on the button. It # just contains a couple of text items for illustration # purposes. # menu_7 := Menu("label=Click") text_menu_item_8 := TextMenuItem("label=One") menu_7.add(text_menu_item_8) text_menu_item_9 := TextMenuItem("label=Two") menu_7.add(text_menu_item_9) menu_button_1.set_menu(menu_7) add(menu_button_1) show_modal() end procedure main() MenuDialog() end