# # $Id: listspin.icn,v 1.1 2003/08/04 17:32:42 jeffery Exp $ # # This file is in the public domain. # # Author: Robert Parlett (parlett@dial.pipex.com) # package gui link graphics $include "guih.icn" # # Selection from a list # class ListSpin : StaticSpin(selection, selection_list) method set_selection_list(x) self.selection_list := x self.set_selection(1) return x end method set_selection(x) self.selection := x self.lab.set_label(self.selection_list[self.selection]) self.invalidate() return x end method get_selection() return self.selection end method do_increment() if self.selection = *self.selection_list then self.set_selection(1) else self.set_selection(self.selection + 1) end method do_decrement() if self.selection = 1 then self.set_selection(*self.selection_list) else self.set_selection(self.selection - 1) end method set_one(attr, val) case attr of { "selection" : set_selection(int_val(attr, val)) "selection_list" : set_selection_list(val) default: self.StaticSpin.set_one(attr, val) } end initially(a[]) self.StaticSpin.initially() set_fields(a) end