64 lines
1.9 KiB
Elixir
64 lines
1.9 KiB
Elixir
|
|
--# Sorting lists;
|
|
|
|
include GtkEngine.e
|
|
include std/sort.e
|
|
|
|
constant win = create(GtkWindow,
|
|
"size=300x500,border_width=5,position=1,$destroy=Quit")
|
|
|
|
constant panel = create(GtkBox,VERTICAL)
|
|
add(win,panel)
|
|
|
|
constant scroller = create(GtkScrolledWindow)
|
|
pack(panel,scroller,TRUE,TRUE)
|
|
|
|
object list = {
|
|
"Sam Spade","Jennifer Anniston","arnold Swartzenoggin",
|
|
"Glenda T. Goodwitch","Mary Contrary","Claire De_Loon",
|
|
"Thomas A. Train","Barbarosa","Xavier Cluegot","Joe Schmoe","Sue Mi",
|
|
"Zuzu Pitts","Tad B. Zippo, III","Bill Clinton","wilbur v. filbert",
|
|
"King George","Jane Mansfield","sarah McFee","Albert King",
|
|
"George King","lucile ball","Desi A. Arnaz"}
|
|
|
|
object tmp, first, mi, last, extra
|
|
for i = 1 to length(list) do
|
|
first = ' ' mi = ' ' last = ' ' extra = ' '
|
|
tmp = split(list[i]," ")
|
|
switch length(tmp) do
|
|
case 1 then first = proper(tmp[1])
|
|
case 2 then first = proper(tmp[1]) last = proper(tmp[2])
|
|
case 3 then first = proper(tmp[1]) mi = proper(tmp[2]) last = proper(tmp[3])
|
|
case 4 then first = proper(tmp[1]) mi = proper(tmp[2]) last = proper(tmp[3]) extra = tmp[4]
|
|
end switch
|
|
list[i] = {first &' '& mi,last &' '& extra}
|
|
end for
|
|
|
|
constant tstore = create(GtkListStore,{gSTR,gSTR})
|
|
set(tstore,"data",list)
|
|
|
|
constant
|
|
tcol1 = create(GtkColumn,"title=`First, MI`,type=text,text=1,sort_column_id=1"),
|
|
tcol2 = create(GtkColumn,"title=Last,type=text,text=2,sort_column_id=2")
|
|
|
|
constant tview = create(GtkTreeView,"rules hint=TRUE,font=Serif,headers visible=TRUE")
|
|
set(tview,{
|
|
{"model",tstore},
|
|
{"append columns",{tcol1,tcol2}}})
|
|
add(scroller,tview)
|
|
|
|
constant btn1 = create(GtkButton,"gtk-quit","Quit")
|
|
set(btn1,"tooltip text","Click to close")
|
|
|
|
constant btnbox = create(GtkButtonBox,"margin_top=5,margin_bottom=5")
|
|
pack(panel,-btnbox)
|
|
add(btnbox,btn1)
|
|
|
|
show_all(win)
|
|
main()
|
|
|
|
|
|
|
|
|
|
|