added eugtk examples
This commit is contained in:
78
eugtk/examples/glade/webserver.ex
Normal file
78
eugtk/examples/glade/webserver.ex
Normal file
@@ -0,0 +1,78 @@
|
||||
|
||||
--# Web Server built with Glade
|
||||
|
||||
include GtkEngine.e
|
||||
|
||||
-- You may need to change the following line if you use a terminal other
|
||||
-- than gnome-terminal. This is only necessary if you want to use the
|
||||
-- tail -f option to display on-going connection requests;
|
||||
|
||||
constant term = "gnome-terminal --title='SERVER LOG' --window-with-profile=logview -e "
|
||||
|
||||
add(builder,"webserver.glade")
|
||||
set("ip","text",get_net_address())
|
||||
|
||||
main()
|
||||
|
||||
--------------------------------------
|
||||
global function on_help_button_clicked()
|
||||
--------------------------------------
|
||||
show_uri(sprintf("file:///%s",
|
||||
{canonical_path("~/demos/documentation/ServerHelp.html")}))
|
||||
return 1
|
||||
end function
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
global function on_log_file_icon_press(atom self)
|
||||
-----------------------------------------------------------------------
|
||||
set(self,"text","")
|
||||
return 1
|
||||
end function
|
||||
|
||||
------------------------------------------------------------------------
|
||||
global function on_ok_button_clicked(atom ctl, atom data)
|
||||
------------------------------------------------------------------------
|
||||
object server = canonical_path("~/demos/examples/httpd.ex")
|
||||
object logfilename = get("log_file","text")
|
||||
|
||||
object path = get("filechooserbutton1","filename")
|
||||
if atom(path) then -- nothing chosen
|
||||
Warn(,,"Must select a root file path!")
|
||||
return 1
|
||||
end if
|
||||
|
||||
-- build a command string to pass to httpd.ex;
|
||||
object params = sprintf("eui %s -bind %s:%s ",
|
||||
{server,get("ip","text"),get("port","text")})
|
||||
|
||||
if length(path) > 0 then
|
||||
params &= sprintf("-root '%s' ",{canonical_path(path)})
|
||||
end if
|
||||
|
||||
if length(logfilename) > 0 then
|
||||
params &= sprintf("-log %s ",{logfilename})
|
||||
end if
|
||||
|
||||
if get("sort","active") then
|
||||
params &= " -s "
|
||||
end if
|
||||
|
||||
if get("show_hidden","active") then
|
||||
params &=" -h "
|
||||
end if
|
||||
|
||||
if get("show_full_request","active") then
|
||||
params &= " -r "
|
||||
end if
|
||||
|
||||
params &= " & "
|
||||
|
||||
if get("tail_f","active") then -- open a term to tail the log
|
||||
system_exec(sprintf("%s 'tail -f %s' & ",{term,logfilename}),0)
|
||||
end if
|
||||
|
||||
system_exec(params)
|
||||
|
||||
return 1
|
||||
end function
|
||||
|
||||
Reference in New Issue
Block a user