------------------------------------------------------------------------ --# Fiddling with Frames; -- This is just an experiment to see how many different types of frames -- I can create. One or two might prove useful. ------------------------------------------------------------------------ include GtkEngine.e integer x = 0, y = 60 atom angle = 0 constant docs = `Fiddling with Frames These frames have their appearance modified by mystyle4.css.` constant css = create(GtkCssProvider, locate_file("resources/mystyle4.css")) constant win = create(GtkWindow, "size=355x-1,border=10,position=1,background=lightgray,$destroy=Quit") constant panel = create(GtkBox,"orientation=VERTICAL,spacing=10") add(win,panel) constant lbl = create(GtkLabel) set(lbl,"markup",docs) add(panel,lbl) constant goose = create(GtkImage,create(GdkPixbuf,"thumbnails/mongoose.png",20,20,TRUE)) constant frame1 = create(GtkFrame,{ {"name","frame1"}, {"label widget",goose}}) add(frame1,create(GtkLabel, ` Frame with border-style: none; background-color: skyblue; label widget(goose) `)) add(panel,frame1) constant frame2 = create(GtkFrame,{ {"label","Frame 2"}, {"label align",1,0}, {"name","frame2"}}) add(frame2,create(GtkLabel, ` Frame with border-style: inset; label align(1,0) `)) add(panel,frame2) constant frame3 = create(GtkFrame,{ {"label","Frame Number 3"}, {"label align",0.5,0.5}, {"name","frame3"}}) add(frame3,create(GtkLabel, ` Frame with border-style: outset; label align(0.5,0.5) `)) add(panel,frame3) constant tab4 = create(GtkLabel) set(tab4,"markup","Fancy Title 4") constant frame4 = create(GtkFrame,"4") set(frame4,"name","frame4") set(frame4,"label widget",tab4) constant lbl4 = create(GtkLabel) set(lbl4,"font","10") set(lbl4,"markup", `Frame with border-radius: 20px; label font URW Chancery L 16`) add(frame4,lbl4) add(panel,frame4) constant frame5 = create(GtkFrame) set(frame5,"size request",-1,140) set(frame5,"name","frame5") set(frame5,"label align",1,1) constant layout = create(GtkLayout) constant lbl5 = create(GtkLabel,{ {"name","label5"}, {"markup","Inset frame with image and label"}}) set(layout,"put",lbl5,25,20) constant img5 = create(GtkImage,"thumbnails/cowbell2a.gif") set(layout,"put",img5,x,y) add(frame5,layout) add(panel,frame5) constant frame6 = create(GtkFrame,{ {"name","frame6"}, {"size request",-1,130}}) add(panel,frame6) constant eulbl = create(GtkLabel,{ {"font","24"}, {"color","rgba(255,0,0,0.5)"}, -- overlay semi-transparent {"markup","\nand EuGTK!"}}) add(frame6,eulbl) constant btn = create(GtkButton,"gtk-quit","Quit") pack(panel,-btn) set(btn,"tooltip markup", "Click this button and hold!") constant tick = create(GTimeout,50,call_back(routine_id("TickTock"))) show_all(win) main() --------------------- function TickTock() --------------------- x += 1 y += rand(3)-2 set(layout,"move",img5,x,y) if x > 170 then set(layout,"move",lbl5,25,x-260) angle += .1 set(lbl5,"angle",angle) set(layout,"move",lbl5,25,20) end if if x > 400 then x = -100 angle = 0 set(layout,"move",lbl5,25,20) set(lbl5,"angle",0) end if return 1 end function