------------------------------------------------------------------------------------------------------- --# Test all buttons ------------------------------------------------------------------------------------------------------- include GtkEngine.e constant win = create(GtkWindow, "title=`Test Buttons`,position=1,border=10,icon=face-cool,$destroy=Quit") sequence b = { create(GtkLabel,"markup=`Button Styles`"), create(GtkLabel,"Plain"), create(GtkLabel,"Stock"), create(GtkLabel,"Custom"), create(GtkLabel,"Themed"), create(GtkLabel,"Button"), create(GtkButton,"#_OK"), create(GtkButton,"gtk-ok#_OK"), create(GtkButton,"thumbnails/pie.png#_Pie"), create(GtkButton,"face-smile-big#_Happy"), create(GtkLabel,"Toggle"), create(GtkToggleButton,"#_OK"), create(GtkToggleButton,"media-record#_Record"), create(GtkToggleButton,"thumbnails/cake.png#_Cake"), create(GtkToggleButton,"face-cool#_Cool"), $} sequence cb = repeat(0,5) cb[1] = create(GtkLabel,"Check") cb[2] = create(GtkCheckButton,"#_OK") cb[3] = create(GtkCheckButton,"gtk-yes#_Yes") cb[4] = create(GtkCheckButton,"thumbnails/fox.png#_Fox") cb[5] = create(GtkCheckButton,"face-surprise#_Oops!") b &= cb sequence rb = repeat(0,10) rb[1] = create(GtkLabel,"Radio") rb[2] = create(GtkRadioButton,0,"#_OK") rb[3] = create(GtkRadioButton,rb[2],"system-run#_Exec") rb[4] = create(GtkRadioButton,rb[3],"thumbnails/mouse.png#_Mouse") rb[5] = create(GtkRadioButton,rb[4],"face-laugh#_Laugh") b &= rb constant grid = create(GtkGrid,{{"row spacing",5},{"column spacing",4}}) integer i = 1 for y = 1 to 6 do for x = 1 to 5 do if b[i] > 0 then if b[i] > 0 then set(grid,"attach",b[i],x,y,1,1) end if end if i += 1 end for end for constant lbl = create(GtkLabel,{{"markup","Appearance"}}), btn1 = create(GtkRadioButton,0,"Mode _0","SetMode",1), btn2 = create(GtkRadioButton,btn1,"Mode _1","SetMode",0), lbl2 = create(GtkLabel) set(lbl2,"text","Appearance applies to Check buttons and Radio buttons only.") set(btn1,"tooltip text","Makes all look like buttons") set(btn2,"tooltip text","Selects normal appearance") set(grid,{ {"attach",lbl,1,7,2,1}, {"attach",btn2,3,7,1,1}, {"attach",btn1,4,7,1,1}, {"attach",lbl2,1,8,5,1}}) set(grid,{ {"insert row",2}, {"attach",create(GtkSeparator),1,2,5,1}, {"insert column",2}, {"attach",create(GtkSeparator,1),2,2,1,6}, {"insert row",6}, {"attach",create(GtkSeparator),1,8,6,1} }) add(win,grid) show_all(win) main() -------------------------------------------- global function SetMode(atom ctl, atom mode) -------------------------------------------- for i = 2 to 5 do set(cb[i],"mode",mode) set(rb[i],"mode",mode) end for return 1 end function