51 lines
1.7 KiB
Elixir
51 lines
1.7 KiB
Elixir
|
|
||
|
------------------------------------------------------------------------------------
|
||
|
--# Using GtkPrinter.e, print from an open file handle;
|
||
|
------------------------------------------------------------------------------------
|
||
|
|
||
|
include GtkEngine.e
|
||
|
include GtkPrinter.e
|
||
|
|
||
|
integer fn = open(canonical_path(locate_file("resources/license.txt")),"r")
|
||
|
|
||
|
constant docs = `Demo of how to print from an open file handle.
|
||
|
`
|
||
|
constant win = create(GtkWindow,{
|
||
|
{"border width",10},
|
||
|
{"default size",300,100},
|
||
|
{"position",GTK_WIN_POS_CENTER},
|
||
|
{"connect","destroy","Quit"}})
|
||
|
|
||
|
constant panel = create(GtkBox,VERTICAL)
|
||
|
add(win,panel)
|
||
|
|
||
|
constant lbl = create(GtkLabel,docs)
|
||
|
add(panel,lbl)
|
||
|
|
||
|
constant
|
||
|
btn1 = create(GtkButton,"gtk-quit","Quit"),
|
||
|
btn2 = create(GtkButton,"gtk-print","Print"), -- from a function;
|
||
|
btn3 = create(GtkButton,"gtk-print",printer:print_file,fn), -- from file handle;
|
||
|
btn4 = create(GtkButton,"gtk-print",printer:print_file,locate_file("GtkEngine.e")),
|
||
|
box = create(GtkButtonBox)
|
||
|
|
||
|
set(btn2,"tooltip text","Print using a user function")
|
||
|
set(btn3,"tooltip text","Print from file handle attached to button")
|
||
|
set(btn4,"tooltip text","Print from file path/name attached to button")
|
||
|
|
||
|
add(box,{btn1,btn2,btn3,btn4})
|
||
|
pack(panel,-box)
|
||
|
|
||
|
show_all(win)
|
||
|
|
||
|
main()
|
||
|
|
||
|
------------------------------------------------------------------------
|
||
|
global function Print()
|
||
|
------------------------------------------------------------------------
|
||
|
printer:use_line_numbers = FALSE
|
||
|
printer:PrintFile("Lesser General Public License\n",fn)
|
||
|
printer:use_line_numbers = TRUE
|
||
|
return 1
|
||
|
end function
|