link gui

#
# Simple example of a TabSet
#
class TabDemo : _Dialog(quit_button)
   #
   # Quit on button press.
   #
   method handle_quit_button(ev)
      if ev.get_code() > 0 then
         dispose()
   end
   method handle_default(ev)
   end
   method dialog_event(ev)
      case ev.get_component() of {
         quit_button : handle_quit_button(ev)
         default : handle_default(ev)
         }
   end
initially
   local tab_set, tab_item_1, label_1, tab_item_2, label_2,
         tab_item_3, label_3
   self._Dialog.initially()
   attrib("size=355,295", "font=sans",
               "bg=light gray", "resize=on")
   #
   # Create the TabSet
   #
   tab_set := TabSet("pos=50%,47", "size=200,150", "align=c,t")

   #
   # First pane
   #
   tab_item_1 := TabItem("label=Pane 1")
   label_1 := Label("pos=50%,50%", "align=c,c", "label=Label 1")
   tab_item_1.add(label_1)
   tab_set.add(tab_item_1)
   #
   # Second pane
   #
   tab_item_2 := TabItem("label=Pane 2")
   label_2 := Label("pos=50%,50%", "align=c,c", "label=Label 2")
   tab_item_2.add(label_2)
   tab_set.add(tab_item_2)
   #
   # Third pane
   #
   tab_item_3 := TabItem("label=Pane 3")
   label_3 := Label("pos=50%,50%", "align=c,c", "label=Label 3")
   tab_item_3.add(label_3)
   tab_set.add(tab_item_3)
   tab_set.set_which_one(tab_item_1)
   add(tab_set)
   #
   # Add a quit button
   #
   quit_button := TextButton("pos=50%,234", "align=c,t",
                             "label=Quit")
   add(quit_button)
   show_modal()
end

procedure main()
   TabDemo()
end