added eugtk examples
This commit is contained in:
93
eugtk/examples/test195.ex
Normal file
93
eugtk/examples/test195.ex
Normal file
@@ -0,0 +1,93 @@
|
||||
|
||||
-----------------------------------------------------------
|
||||
--# GtkButtonBox - optional properties
|
||||
-----------------------------------------------------------
|
||||
|
||||
include GtkEngine.e
|
||||
|
||||
constant docs = `<b><u>GtkButtonBox</u></b>
|
||||
|
||||
A button box should be used to provide
|
||||
a consistent layout of buttons throughout
|
||||
your application.
|
||||
|
||||
The layout/spacing can be altered by the
|
||||
programmer, or if allowed, by the user to
|
||||
alter the "feel" of a program to a small degree.
|
||||
|
||||
Use gtk_button_box_get_layout() and
|
||||
gtk_button_box_set_layout() to retrieve and
|
||||
alter the method used to spread the buttons
|
||||
across the container.
|
||||
`
|
||||
constant win = create(GtkWindow,"border=10,size=500x300,position=1,$destroy=Quit")
|
||||
|
||||
constant panel = create(GtkBox,VERTICAL,10)
|
||||
add(win,panel)
|
||||
|
||||
constant grid = create(GtkGrid,"column spacing=10,row homogeneous=FALSE")
|
||||
add(panel,grid)
|
||||
|
||||
constant heading1 = create(GtkLabel)
|
||||
set(heading1,"markup","<b>Margins</b>")
|
||||
set(grid,"attach",heading1,1,1,2,1)
|
||||
|
||||
enum LEFT, RIGHT, TOP, BOTTOM
|
||||
constant margin = {
|
||||
create(GtkSpinButton,0,400,1),
|
||||
create(GtkSpinButton,0,400,1),
|
||||
create(GtkSpinButton,0,100,1),
|
||||
create(GtkSpinButton,0,100,1)
|
||||
}
|
||||
for i = 1 to length(margin) do
|
||||
connect(margin[i],"value-changed","ChangeButtonLayout")
|
||||
end for
|
||||
|
||||
set(grid,{
|
||||
{"attach",create(GtkLabel,"Left - Right"),1,2,2,1},
|
||||
{"attach",margin[LEFT],1,3,1,1},
|
||||
{"attach",margin[RIGHT],2,3,1,1},
|
||||
|
||||
{"attach",create(GtkLabel,"Top - Bottom"),1,4,2,1},
|
||||
{"attach",margin[TOP],1,5,1,1},
|
||||
{"attach",margin[BOTTOM],2,5,1,1}})
|
||||
|
||||
constant heading2 = create(GtkLabel)
|
||||
set(heading2,"markup","<b>ButtonBox Layout</b>")
|
||||
set(grid,"attach",heading2,1,6,2,1)
|
||||
|
||||
constant opts = create(GtkComboBoxText,"ChangeButtonLayout")
|
||||
add(opts,{"Spread","Edge","Start","End","Center"})
|
||||
set(opts,"id column",0)
|
||||
set(grid,"attach",opts,1,7,2,1)
|
||||
|
||||
constant lbl = create(GtkLabel)
|
||||
set(lbl,"markup",docs)
|
||||
set(grid,"attach",lbl,3,1,1,9)
|
||||
|
||||
constant hr = create(GtkSeparator,"orientation=HORIZONTAL")
|
||||
pack(panel,hr)
|
||||
|
||||
constant box = create(GtkButtonBox),
|
||||
btn1 = create(GtkButton,"gtk-quit","Quit"),
|
||||
btn2 = create(GtkButton,"gtk-ok")
|
||||
add(box,{btn1,btn2})
|
||||
pack(panel,-box)
|
||||
set(opts,"active",1)
|
||||
|
||||
show_all(win)
|
||||
main()
|
||||
|
||||
-------------------------------------
|
||||
global function ChangeButtonLayout()
|
||||
-------------------------------------
|
||||
set(box,{
|
||||
{"layout",get(opts,"active")},
|
||||
{"margin top",get(margin[TOP],"value")},
|
||||
{"margin bottom",get(margin[BOTTOM],"value")},
|
||||
{"margin left",get(margin[LEFT],"value")},
|
||||
{"margin right",get(margin[RIGHT],"value")}})
|
||||
return 1
|
||||
end function
|
||||
|
||||
|
||||
Reference in New Issue
Block a user