On Wed, 26 Jan 2005, Wendell Turner wrote:

In the v11 gui, can a program have multiple Dialog classes, or
should there only be one at the 'top' level?  I'm trying to have
a TabSet in the top class, where each TabItem contains a TabSet
with more TabItems inside it, but have not achieved success,
hence the question.

Wendell


I too got an error when USING IVIB2 trying to add a tabset within a
tabset. IVIB just crashed but when you code it manually it works just fine. Here is a modified version of tabs.icn from guidemos. I hope this helps.


Thanks,
   Nolan Clayton


###############################################################

# modified 1/28/05 Nolan Clayton
# $Id: tabs.icn,v 1.7 2003/04/27 15:48:21 rparlett Exp $
#

import gui
$include "guih.icn"

#
# Simple example of a TabSet
#
class TabDemo : Dialog(quit_button)
   method change(e)
      write("The tabset selection changed")
   end

   method component_setup()
      local tab_set, tab_item_1, label_1, tab_item_2, label_2, tab_item_3, 
label_3
      local tab_set2, tab_item_12, label_12

      self.Dialog.initially()
      self.set_attribs("size=355,295", "font=sans", "bg=light gray",
                       "label=TabSet example", "resize=on")

      #
      # Create the TabSet
      #
      tab_set := TabSet()
      tab_set.set_pos("50%", "47")
      tab_set.set_size("200", "150")
      tab_set.set_align("c", "t")

      tab_set2 := TabSet()
      tab_set2.set_pos("50%", "47")
      tab_set2.set_size("50%", "50%")
      tab_set2.set_align("c", "t")

      tab_item_12 := TabItem()
      tab_item_12.set_label("Pane 1")
      label_12 := Label()
      label_12.set_pos("50%", "50%")
      label_12.set_align("c", "c")
      label_12.set_label("Label 1")
      tab_item_12.add(label_12)
      tab_set2.add(tab_item_12)


# # First pane # tab_item_1 := TabItem() tab_item_1.set_label("Pane 1") label_1 := Label() label_1.set_pos("50%", "50%") label_1.set_align("c", "c") label_1.set_label("Label 1") tab_item_1.add(label_1) tab_item_1.add(tab_set2) tab_set.add(tab_item_1)

      #
      # Second pane
      #
      tab_item_2 := TabItem()
      tab_item_2.set_label("Pane 2")
      label_2 := Label()
      label_2.set_pos("50%", "50%")
      label_2.set_align("c", "c")
      label_2.set_label("Label 2")
      tab_item_2.add(label_2)
      tab_set.add(tab_item_2)

      #
      # Third pane
      #
      tab_item_3 := TabItem()
      tab_item_3.set_label("Pane 3")
      label_3 := Label()
      label_3.set_pos("50%", "50%")
      label_3.set_align("c", "c")
      label_3.set_label("Label 3")
      tab_item_3.add(label_3)
      tab_set.add(tab_item_3)
      tab_set.set_which_one(tab_item_1)
      tab_set.connect(self, "change", SELECTION_CHANGED_EVENT)
      self.add(tab_set)

      #
      # Add a quit button
      #
      quit_button := TextButton()
      quit_button.set_pos("50%", "234")
      quit_button.set_align("c", "t")
      quit_button.set_label("Quit")
      quit_button.connect(self, "dispose", ACTION_EVENT)
      self.add(quit_button)
   end
end

procedure main()
   local d
   d := TabDemo()
   d.show_modal()
end



-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Unicon-group mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to