added eugtk examples
This commit is contained in:
109
eugtk/examples/test191.ex
Normal file
109
eugtk/examples/test191.ex
Normal file
@@ -0,0 +1,109 @@
|
||||
|
||||
------------------------------------------------------------------------------------
|
||||
--# Using GtkPrinter.e, print from in-line or generated text;
|
||||
------------------------------------------------------------------------------------
|
||||
|
||||
include GtkEngine.e
|
||||
include GtkPrinter.e
|
||||
include std/primes.e
|
||||
|
||||
constant docs = `Demos how to print from generated or in-line text.
|
||||
<small>
|
||||
We are using some <u>markup</u> to change the <big>size</big>
|
||||
and <i>style</i> of this <b>paragraph</b>.
|
||||
|
||||
You can print in <span color='red'>color</span> using this feature,
|
||||
as well as different <span font='Purisa, Georgia bold italic 12'>font styles.</span>
|
||||
</small>
|
||||
`
|
||||
sequence list = prime_list(100)
|
||||
for i = 1 to length(list) do
|
||||
list[i] = sprintf("%2d = <b>%d</b>\n",{i,list[i]})
|
||||
end for
|
||||
list = flatten(list)
|
||||
|
||||
ifdef WINDOWS then
|
||||
printer:font = "16"
|
||||
end ifdef
|
||||
|
||||
constant win = create(GtkWindow,{
|
||||
{"border width",10},
|
||||
{"default size",300,100},
|
||||
{"position",GTK_WIN_POS_CENTER},
|
||||
{"icon","printer"},
|
||||
{"signal","destroy","Quit"}})
|
||||
|
||||
constant panel = create(GtkBox,VERTICAL)
|
||||
add(win,panel)
|
||||
|
||||
constant img = create(GtkImage,"thumbnails/document-print.png")
|
||||
add(panel,img)
|
||||
|
||||
constant lbl = create(GtkLabel)
|
||||
set(lbl,"markup",docs)
|
||||
add(panel,lbl)
|
||||
|
||||
printer:confirm = TRUE
|
||||
printer:use_line_numbers = FALSE
|
||||
printer:sourcecode = FALSE -- allow using markup
|
||||
printer:settings_file = "MyPrintSettings"
|
||||
printer:setup_file = "MyPrintSetup"
|
||||
|
||||
constant
|
||||
btn1 = create(GtkButton,"gtk-quit","Quit"),
|
||||
btn2 = create(GtkButton,"Print _1","PrintPrimes"),
|
||||
btn3 = create(GtkButton,"Print _2",printer:print_text,docs & list),
|
||||
btn4 = create(GtkButton,"Print _3",printer:print_text,docs & LGPL),
|
||||
btn5 = create(GtkButton,"gnome-mime-application-pdf# _PDF","Print2PDF")
|
||||
|
||||
set(btn1,"tooltip markup","<span color='red'>Alt+Q\n</span>Click to quit")
|
||||
|
||||
set(btn2,"tooltip markup",
|
||||
"<span color='red'>Alt+1\n</span>Print 25 prime numbers via a <b><i>function</i></b> call")
|
||||
|
||||
set(btn3,"tooltip markup",
|
||||
"<span color='red'>Alt+2\n</span>Print from text stored in a <b><i>sequence</i></b>")
|
||||
|
||||
set(btn4,"tooltip markup",
|
||||
"<span color='red'>Alt+3\n</span>Print from text stored in a <b><i>variable</i></b>")
|
||||
|
||||
set(btn5,"tooltip markup",
|
||||
"<span color='red'>Alt+P\n</span>Print to a <b><i>PDF</i></b> file in your home directory")
|
||||
|
||||
constant
|
||||
btnbox = create(GtkButtonBox)
|
||||
set(btnbox,"spacing",5)
|
||||
pack(panel,-btnbox)
|
||||
add(btnbox,{btn1,btn2,btn3,btn4,btn5})
|
||||
|
||||
constant box2 = create(GtkButtonBox),
|
||||
btn6 = create(GtkCheckButton,"_Confirm Print Status/preview pdf","ToggleCkStatus")
|
||||
set(btn6,"active",TRUE)
|
||||
pack(panel,-box2)
|
||||
add(box2,btn6)
|
||||
|
||||
show_all(win)
|
||||
main()
|
||||
|
||||
------------------------------------------------------------------------
|
||||
global function PrintPrimes()
|
||||
------------------------------------------------------------------------
|
||||
PrintText("First 25 primes",docs & list)
|
||||
return 1
|
||||
end function
|
||||
|
||||
------------------------------------------------------------------------
|
||||
global function Print2PDF()
|
||||
------------------------------------------------------------------------
|
||||
printer:action = GTK_PRINT_OPERATION_ACTION_EXPORT
|
||||
printer:export_file = canonical_path("~/First 25 Primes.pdf")
|
||||
PrintText("First 25 Prime Numbers",docs & list)
|
||||
return 1
|
||||
end function
|
||||
|
||||
------------------------------------------------------------------------
|
||||
global function ToggleCkStatus(atom ctl)
|
||||
------------------------------------------------------------------------
|
||||
printer:confirm = get(ctl,"active")
|
||||
return 1
|
||||
end function
|
||||
Reference in New Issue
Block a user