2016-11-25 00:33:18 -07:00

112 lines
3.1 KiB
Elixir

---------------------------------------------------------------------------------------
--# EuGTK Info
-- Displays a lot of data gathered by EuGTK about the platform.
-- Don't be concerned that this looks complex. Go on to test1, etc.
-- to see how easy EuGTK can be!
---------------------------------------------------------------------------------------
include GtkEngine.e
get_net_address() -- check current address;
-- don't call this unless you're needing it!
----------------------------------------------------
-- Interface:
-- This uses std/format to allow [{named}]
-- parameters. This makes it easy to move things
-- around, add or delete items. Labels use markup
-- to style the text.
----------------------------------------------------
constant fmt1 = -- stuff for left side;
`<b><u>EuGTK</u></b> <small>
<b>Version:</b> [{version}]
<b>Date:</b> [{release}]
[{copyright}]</small>
<b><u>GTK</u></b><small>
<b>Lib version:</b> [{major}].[{minor}].[{micro}]</small>
<b><u>Euphoria</u></b><small>
<b>Version:</b> [{eu_version}]
<b>Revision:</b> [{eu_revision}]
<b>Platform:</b> [{eu_platform}]
<b>Bits:</b> [{eu_arch_bits}]
<b>Date:</b> [{eu_date}]</small>
<b><u>Platform</u></b><small>
<b>OS:</b> [{os_name}]
<b>Distro:</b> [{os_distro}]
<b>Version:</b> [{os_vers}]
<b>Architecture</b> [{os_arch}]</small>`
constant fmt2 = -- stuff for right side;
`
<b><u>User</u></b><small>
<b>User name:</b> [{user_name}]
<b>Full name:</b> [{real_name}]
<b>Home Dir:</b> [{home_dir}]
<b>Terminal:</b> [{os_term}]
<b>Shell:</b> [{os_shell}]
<b>Language:</b> [{def_lang}]
</small>
<b><u>Application</u></b><small>
<b>App name:</b> [{app_name}]
<b>Prog name:</b> [{prg_name}]
<b>Process ID:</b> [{os_pid}]
<b>Curr Dir:</b> [{curr_dir}]
<b>Temp Dir:</b> [{temp_dir}]
<b>Data Dir:</b> [{data_dir}]
<b>Config Dir:</b> [{conf_dir}]
</small>
`
constant fmt3 = -- for the bottom;
`
<b><u>Other</u></b><small>
<b>Host Name:</b> [{host_name}]
<b>Host Addr:</b> [{host_addr}]
<b>Today:</b> [{today}]
<b>Start Time:</b> [{start_time}]
<b>Runtime Dir:</b> [{runt_dir}]
</small>
`
-------------------------------------------------------------------------
-- Main Window
-------------------------------------------------------------------------
constant win = create(GtkWindow,"size=250x-1,border=10,position=1,$destroy=Quit")
constant grid = create(GtkGrid,"column_spacing=10")
add(win,grid)
constant img = create(GtkImage,"thumbnails/eugtk.png")
set(grid,"attach",img,1,1,2,1)
constant lbl_left = create(GtkLabel)
set(lbl_left,"markup",format(fmt1,info))
set(grid,"attach",lbl_left,1,2,1,1)
constant lbl_right = create(GtkLabel)
set(lbl_right,"markup",format(fmt2,info))
set(grid,"attach",lbl_right,2,2,1,1)
constant lbl_bot = create(GtkLabel)
set(lbl_bot,"markup",format(fmt3,info))
set(grid,"attach",lbl_bot,1,3,2,1)
constant box = create(GtkButtonBox),
btn = create(GtkButton,"gtk-close","Quit")
add(box,btn)
set(grid,"attach",box,1,4,2,1)
show_all(win)
ifdef IAB then set(win,"interactive debugging",1) end ifdef
main()