added eugtk examples

This commit is contained in:
2016-11-25 00:33:18 -07:00
parent 87a821e3da
commit c0b98b619e
877 changed files with 96872 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
/*
-- ====================================================================
-- Styling for the remote display is set here;
-- ====================================================================
*/
th {color:yellow; background-color: blue;}
button {width: 100%;}
td {outline-style: solid; outline-width: 1px; outline-color: black; padding:2px; width: 25%;}
body {background-image: linear-gradient(180deg, orange, green); background-repeat: no-repeat;)

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>README</title>
<link rel="stylesheet" href="../documentation/style.css" type="text/css">
</head>
<body>
<header>
<img src="gtk-logo-rgb.gif" alt="GTK Logo">
<img src="glade.svg" alt="Glade Logo">
<h2>EuGTK 4.11.10</h2>
</header>
<h3>Glade Demos</h3>
<p>
You can use Glade to design and adjust your user interface.
You still must write some Euphoria functions to respond to user interactions with the GUI. This is no different than VisualBasic, Delphi, or other programming environments, except that EuGTK code is generally less confusing.
</p>
<p>
For writing that Euphoria code, either Geany or Pete Eberlein's new WEE editor (written in Euphoria and using EuGTK)
works for me. If you test-run your program from an x-term, EuGTK will generate
function prototypes for missing functions and display them on the terminal.
You can then copy and paste the prototype code into your program, and add
the necessary details.
</p>
<p>
Please start by reading <a href="../documentation/Glade.html">Glade docs</a>,
<a href="../documentation/StartingGlade.html">Starting Glade</a>, and
<a href="../documentation/StartingGlade2.html">Starting Glade II</a>.
</p>
<a href="widgets.ex" title="Click to run widgets.ex">
<img src="widgets.png" alt="widgets.ex" align="right" float="all" />
</a>
<p>
Some of the programs in this folder are duplicates of other demos elsewhere, but have been re-written using Glade to design the user-interface. These are provided as examples f.y.i.
</p>
<p>
<ul>
<li>main.ex
<dd>along with include files:</dd>
<dd>
<ul><li>file.e</li><li>prefs.e</li><li>help.e</li></ul>
</dd>
<li>calendar.ex
<dd>Fancy calendar with About dialog</dd></li>
<li>calculator.ex
<dd>Uses Shian Lee's math evaluator</dd></li>
<li>widgets.ex
<dd>Demos all numeric widgets</dd><br />
</ul>
</p>
<p>
</p>
<footer>
<div class="hint">
<img class="hint" src="../thumbnails/mongoose.png" alt="hint" align="left" float="right" />
<p>
This page edited by The <a href="../BEAR.ex">Bear</a>,
a web-page and programming editor
written in <a href="OpenEuphoria.org">Euphoria</a>.
</p>
<p>
Updated for EuGTK version 4.11.11 Sept 1, 2016<br />
All code &copy; 2016 by Irv Mullins
</p>
</div>
</footer>
</body>
</html>

View File

@@ -0,0 +1,15 @@
namespace about
include GtkEngine.e
add(builder,canonical_path("~/demos/glade/about.glade"))
constant dlg = pointer("about:aboutdialog1")
-----------------------------------------------------------------------
global function on_help_about_activate()
-----------------------------------------------------------------------
if get(dlg,"run") then end if
set(dlg,"hide")
return 1
end function

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<object class="GtkAboutDialog" id="aboutdialog1">
<property name="can_focus">False</property>
<property name="type_hint">dialog</property>
<property name="program_name">About Hello</property>
<property name="version">Test of &lt;b&gt;Eu/Glade&lt;/b&gt; </property>
<property name="comments" translatable="yes">February 2015</property>
<property name="logo_icon_name">apport</property>
<property name="license_type">lgpl-3-0</property>
<child internal-child="vbox">
<object class="GtkBox" id="aboutdialog-vbox1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="aboutdialog-action_area1">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</interface>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

14
eugtk/examples/glade/au.e Normal file
View File

@@ -0,0 +1,14 @@
namespace au
include GtkEngine.e
constant flag = canonical_path("~/demos/resources/flags/flags-australia.png")
set("image4","from pixbuf",create(GdkPixbuf,flag,-1,15,1))
export function hello(atom ctl, Label data)
set(data,"markup","G'Day, Mate!")
return 1
end function

View File

@@ -0,0 +1,118 @@
----------------------------------------------------------------------------------
--# A simple file browser/runner;
----------------------------------------------------------------------------------
include GtkEngine.e
include std/sort.e
include std/datetime.e -- using this requires us to namespace gtk: functions
chdir(login)
constant win = create(GtkWindow,"size=750x550,border=10,$destroy=Quit")
gtk:set(win,"title","EuGTK Browser - " & login)
constant panel = create(GtkBox,"orientation=VERTICAL")
gtk:add(win,panel)
constant lbl = create(GtkLabel,
"markup='<small>Use <i>alt-f</i> to search, <i>&lt;enter&gt;</i> or double-click to run!</small>'")
gtk:add(panel,lbl)
constant store = create(GtkListStore,{gSTR,gSTR,gINT,gSTR,gINT,gSTR})
constant tv = create(GtkTreeView,{
{"model",store},
{"reorderable",TRUE},
{"headers clickable",TRUE},
{"set grid lines",GTK_TREE_VIEW_GRID_LINES_BOTH},
{"rules hint",TRUE}})
constant cols = { -- below is a new way to define cols and renderers in 1 line;
create(GtkColumn,"title=Name,type=text,text=1,sort_column_id=2"), --[1]
create(GtkColumn,"title=Size,type=text,text=3,sort_column_id=3"),
create(GtkColumn,"title=Date,type=text,text=4,sort_column_id=5"), --[2]
create(GtkColumn,"title=Description,type=text,markup=6,sort_column_id=6")
}
--[1] filename in col[1] is sorted by number in col[2]
--[2] date shown in col[4] is sorted on unix date in col[5]
gtk:add(tv,cols)
constant selection = gtk:get(tv,"selection")
set(selection,"mode",GTK_SELECTION_MULTIPLE)
constant scroller = create(GtkScrolledWindow)
pack(panel,scroller,TRUE,TRUE,10)
gtk:add(scroller,tv)
constant box = create(GtkButtonBox)
pack_end(panel,box)
constant btn = create(GtkButton,"gtk-quit","Quit")
gtk:add(box,btn)
-- load file list;
object files = dir("*.ex")
-- convert dates to usable format;
files = apply(files,routine_id("convert_date"))
files = apply(files,routine_id("convert_filename"))
-- load files into listview;
gtk:set(store,"data",files)
-- set up handlers;
gtk:set(tv,"rules hint",TRUE)
gtk:set(tv,"columns autosize")
gtk:set(tv,"search column",6)
gtk:set(tv,"search equal func",_("search_func"))
connect(tv,"row-activated","show_choice")
gtk:set(store,"sort column id",2,GTK_SORT_ASCENDING) -- default startup sort;
-- run the program!
show_all(win)
main()
------------------------------------------------
function convert_filename(object f, object junk) -- allow 'natural' sort order;
------------------------------------------------
object tmp = io:read_lines(f[1])
for i = 1 to length(tmp) do
if match("--#",tmp[i]) =1 then
f[6] = tmp[i][5..$]
end if
end for
f[1] = filebase(f[1]) -- drop extension, build index of #s;
object x = filter(f[1],"out",{'0','9'},"[]")
object n = filter(f[1],"in",{'0','9'},"[]")
f[2] = x & pad_head(n,10,'0')
return f
end function
-----------------------------------------
function convert_date(object a, object b) -- convert dates to unix for sorting;
-----------------------------------------
object dt = datetime:new(a[4],a[5],a[6]) -- convert eu dir() date to datetime;
a[5] = to_unix(dt) -- store as UNIX timestamp for sorting purposes;
a[4] = datetime:format(dt,"%b %d %Y") -- store human-readable date for display;
a[6] = "?"
return a
end function
-------------------------------------------------------------------------------
function search_func(atom mdl, integer col, object key, atom iter, object data)
-------------------------------------------------------------------------------
key = lower(peek_string(key)) -- key is passed as pointer to string
data = get(mdl,"value",iter,6) -- value from col 6 of liststore (description)
return not match(key,lower(data)) -- find word anywhere in description, 0 = found
end function
-----------------------
global function show_choice()
-----------------------
integer row = gtk:get(selection,"selected row")
object f = gtk:get(store,"col data",row,1)
system("eui " & f,0) -- run it;
return 1
end function

14
eugtk/examples/glade/ca.e Normal file
View File

@@ -0,0 +1,14 @@
namespace ca
include GtkEngine.e
constant flag = canonical_path("~/demos/resources/flags/flags-canada.png")
set("image5","from pixbuf",create(GdkPixbuf,flag,-1,15,1))
export function hello(atom ctl, atom data)
set(data,"markup","Nice day, eh?")
return 1
end function

View File

@@ -0,0 +1,122 @@
--# Calculator - uses math_eval.e by Shian Lee
include GtkEngine.e
include GtkEvents.e
include math_eval.e -- AUTHOR: Shian Lee
add(builder,canonical_path("~/demos/glade/calculator.glade"))
object accumulator = ""
boolean has_decimal = FALSE
integer parens = -0
atom disp = pointer("label1")
set(disp,"color",#FADA12)
set("eventbox1","background","black")
set("window1","icon","calc")
main()
-----------------------------------------------------------------------
global function on_button_clicked(Button btn)
-----------------------------------------------------------------------
object key = get(btn,"name")
switch key do
case "clr" then clear_display()
case "=" then adjust_parens() do_calc()
case else update_display(key)
end switch
return 0
end function
-----------------------------------------------------------------------
global function on_window1_key_press_event(Window w, atom event)
-----------------------------------------------------------------------
object key = events:key(event)
switch key do
case 8 then do_backspace()
case 13 then update_display(key) do_calc() -- enter key
case 27 then clear_display() -- esc key clears accumulator
case 174 then update_display(".") -- keypad '.' = 174
case else if key > 0 then update_display(key) end if
end switch
return 0
end function
-------------------------------------
procedure do_backspace()
-------------------------------------
if length(accumulator) then
accumulator = accumulator[1..$-1]
set(disp,"text",accumulator)
end if
end procedure
-------------------------------------
procedure clear_display()
-------------------------------------
accumulator = ""
set(disp,"text",accumulator)
parens = 0
has_decimal = FALSE
end procedure
-------------------------------------
procedure update_display(object key)
-------------------------------------
switch key do
case 40 then parens += 1
case 41 then if parens > 0 then parens -= 1 end if
case 13 then adjust_parens() return
case "|" then
adjust_parens()
set(disp,"text",accumulator)
return
case "." then
if has_decimal then return end if
has_decimal = TRUE
end switch
accumulator &= key
set(disp,"text",accumulator)
end procedure
------------------------------------------------
procedure adjust_parens()
------------------------------------------------
while parens > 0 do
accumulator &= ')'
parens -= 1
end while
end procedure
------------------------------------------------
procedure do_calc() -- send text to math_eval()
------------------------------------------------
object txt = accumulator
if parens then txt &= ")" end if
object results = math_eval(txt)
if atom(results) then -- valid result
results = sprintf("%g",results)
set(disp,"text",accumulator & " = " & results)
accumulator = results
else -- display the error message
Warn(,,accumulator,results,,"calc",64)
end if
end procedure
-----------------------------------------------------------------------
global function on_fn_clicked(Button b)
-----------------------------------------------------------------------
object name = get(b,"name")
if find('(',name) then parens += 1 end if
accumulator &= name
set(disp,"text",accumulator)
return 1
end function

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,58 @@
-----------------------------------------------------------------------
--# Display a nice calendar using EuGTK and Glade
-----------------------------------------------------------------------
include GtkEngine.e
add(builder,"~/demos/glade/calendar.glade")
-- PATCH: Gtk 3.14 forgets to add a quit button to the about.dialog!
if minor_version = 14 then
set("aboutdialog1","add button","gtk-quit",0)
end if
main()
---------------------------------------------------------------------
global function on_calendar1_day_selected_double_click()
---------------------------------------------------------------------
return Info("window1",,"Calendar Clicked",
get("calendar1","date"),,
"~/demos/thumbnails/cal.png","x-office-calendar")
end function
---------------------------------------------------------------------
global function on_OK_button_clicked()
---------------------------------------------------------------------
return Info("window1",,"Button Clicked",
sprintf("Date is %s",{get("calendar1","date")}),,
"~/demos/thumbnails/cal.png","x-office-calendar")
end function
---------------------------------------------------------------------
global function on_About_button_clicked()
---------------------------------------------------------------------
set("aboutdialog1","run")
set("aboutdialog1","hide")
return 1
end function
---------------------------------------------------------------------
global function check_link()
---------------------------------------------------------------------
if networked() and inet_connected() then
return 0 -- go ahead and try the link;
else
Warn(,,"Network Error","No connection to Web!",,"~/demos/thumbnails/net0.png")
return 1 -- don't try to connect the link;
end if
end function
---------------------------------------------------------------------
global function on_aboutdialog1_response()
---------------------------------------------------------------------
set("aboutdialog1","hide")
return 1
end function

View File

@@ -0,0 +1,205 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">x-office-calendar</property>
<property name="use_fallback">True</property>
</object>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="title" translatable="yes">Jessica Alba</property>
<property name="resizable">False</property>
<property name="window_position">center</property>
<property name="icon_name">x-office-calendar</property>
<property name="urgency_hint">True</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="name">cal1</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">Jessica-Alba.jpg</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCalendar" id="calendar1">
<property name="name">calendar</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="show_details">False</property>
<signal name="day-selected-double-click" handler="on_calendar1_day_selected_double_click" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="margin_bottom">5</property>
<property name="spacing">4</property>
<property name="homogeneous">True</property>
<property name="baseline_position">bottom</property>
<property name="layout_style">spread</property>
<child>
<object class="GtkButton" id="Quit_button">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_markup" translatable="yes">Click to &lt;b&gt;Quit&lt;/b&gt;</property>
<property name="margin_top">7</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="About_button">
<property name="label">gtk-about</property>
<property name="name">about_button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_markup" translatable="yes">Click to show &lt;b&gt;&lt;i&gt;About...&lt;/i&gt;&lt;/b&gt; box.</property>
<property name="margin_top">7</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_About_button_clicked" object="aboutdialog1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="OK_button">
<property name="label">_OK</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_markup" translatable="yes">Click to pop up an &lt;b&gt;&lt;i&gt;Info&lt;/i&gt;&lt;/b&gt; dialog
with the currently selected date.</property>
<property name="margin_top">7</property>
<property name="image">image2</property>
<property name="use_underline">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_OK_button_clicked" object="calendar1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
<property name="position">2</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkAboutDialog" id="aboutdialog1">
<property name="name">About!</property>
<property name="can_focus">True</property>
<property name="title" translatable="yes">Jessica Alba</property>
<property name="resizable">False</property>
<property name="window_position">center-always</property>
<property name="destroy_with_parent">True</property>
<property name="icon_name">x-office-calendar</property>
<property name="type_hint">dialog</property>
<property name="skip_taskbar_hint">True</property>
<property name="skip_pager_hint">True</property>
<property name="deletable">False</property>
<property name="transient_for">window1</property>
<property name="attached_to">window1</property>
<property name="has_resize_grip">False</property>
<property name="program_name">Glade Calendar Demo</property>
<property name="version">vers 1.0</property>
<property name="copyright" translatable="yes">© 2016 by Irv Mullins</property>
<property name="comments" translatable="yes">Powered by</property>
<property name="website">http://openeuphoria.org</property>
<property name="website_label" translatable="yes">OpenEuphoria</property>
<property name="license" translatable="yes">LGPL ~ GNU Lesser General Public License version 3.0
This library is free software; you can redistribute it
and/or modify it under the terms of the GNU Lesser General
Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later
version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Pl, Suite 330, Boston, MA 02111-1307 USA </property>
<property name="authors">Irv Mullins</property>
<property name="documenters">Donald Doc</property>
<property name="translator_credits" translatable="yes">Kay Pasa</property>
<property name="artists">Vince van Goo</property>
<property name="logo">eugtk.png</property>
<property name="wrap_license">True</property>
<property name="license_type">custom</property>
<signal name="activate-link" handler="check_link" swapped="no"/>
<signal name="response" handler="on_aboutdialog1_response" swapped="no"/>
<child internal-child="vbox">
<object class="GtkBox" id="aboutdialog-vbox1">
<property name="can_focus">False</property>
<property name="double_buffered">False</property>
<property name="resize_mode">queue</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="aboutdialog-action_area1">
<property name="can_focus">True</property>
<property name="layout_style">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,32 @@
--# Clock built with Glade
include GtkEngine.e
include std/datetime.e
gtk:add(builder,"~/demos/glade/clock.glade")
constant ticker = gtk:create(GTimeout,250,_("TickTock")) -- every 1/4 sec.
create(GtkCssProvider,"""#clock {
font: Purisa, Comic Sans bold 30;
color: red;
text-shadow: 1px 1px 0px blue, -2px -2px yellow;
}""")
main()
----------------------
function TickTock() -- update time display
----------------------
gtk:set("display","markup",datetime:format(now(),"%a %l:%M:%S %P"))
return 1 -- return 1 to keep clock ticking!
end function
----------------------
global function Bail()
----------------------
return Quit()
end function

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkWindow" id="Main Window">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="opacity">0.99999999977648257</property>
<property name="border_width">5</property>
<property name="window_position">center</property>
<property name="icon_name">clock</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkOverlay" id="overlay1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">&lt;u&gt;&lt;b&gt;Timeout/Idle&lt;/b&gt;&lt;/u&gt;
Two kinds of timers are provided: the timeout, which calls a routine
you supply once each x/thousands of a second, and the idle, which
calls your routine as often as possible whenever GTK isn't attending
to other things, like user clicks, window movements, etc.
This clock uses timeout, updating 4x per second to minimize
visible 'jitter' in the time, but using less than 10% cpu time.
Changing the source to use idle instead will use 80-95% cpu</property>
<property name="use_markup">True</property>
</object>
</child>
<child type="overlay">
<object class="GtkLabel" id="display">
<property name="name">clock</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="opacity">0.75</property>
<property name="valign">baseline</property>
<property name="use_markup">True</property>
<property name="track_visited_links">False</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">spread</property>
<child>
<object class="GtkButton" id="Quit Button">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="yalign">0.43000000715255737</property>
<signal name="clicked" handler="Bail" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,18 @@
--# XColors program built with Glade
include GtkEngine.e
add(builder,canonical_path("~/demos/glade/colors.glade"))
constant xcolors = canonical_path("~/demos/resources/xcolors.txt")
TreeView tv = pointer("treeview1")
ListStore st = pointer("liststore1")
sequence names = read_lines(xcolors)
set(st,"data",names)
main()

View File

@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name name -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkWindow" id="window1">
<property name="width_request">350</property>
<property name="height_request">600</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="resizable">False</property>
<property name="window_position">center</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="treeview1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vexpand">True</property>
<property name="model">liststore1</property>
<property name="show_expanders">False</property>
<property name="enable_grid_lines">both</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection1"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn1">
<property name="fixed_width">160</property>
<property name="title" translatable="yes">Color name</property>
<property name="clickable">True</property>
<property name="reorderable">True</property>
<property name="sort_indicator">True</property>
<property name="sort_column_id">0</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext1"/>
<attributes>
<attribute name="markup">0</attribute>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn2">
<property name="title" translatable="yes">Color</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext2"/>
<attributes>
<attribute name="background">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

14
eugtk/examples/glade/en.e Normal file
View File

@@ -0,0 +1,14 @@
namespace en
include GtkEngine.e
constant flag = canonical_path("~/demos/resources/flags/flags-united_kingdom.png")
set("image1","from pixbuf",create(GdkPixbuf,flag,-1,15,1))
export function hello(atom ctl, Label data)
set(data,"markup","How do you do?")
return 1
end function

14
eugtk/examples/glade/es.e Normal file
View File

@@ -0,0 +1,14 @@
namespace es
include GtkEngine.e
constant flag = canonical_path("~/demos/resources/flags/flags-spain.png")
set("image2","from pixbuf",create(GdkPixbuf,flag,-1,15,1))
export function hello(atom ctl, Label data)
set(data,"markup","Hola!")
return 1
end function

View File

@@ -0,0 +1,4 @@
~/demos

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,88 @@
-----------------
namespace file -- used by main.ex
-----------------
include GtkEngine.e
ifdef WINDOWS then
add(builder,"file.glade")
elsedef
add(builder,"~/demos/glade/file.glade")
end ifdef
set("file:chooser","do overwrite confirmation",TRUE)
object working_file = canonical_path("~/demos/test0.ex")
-----------------------------------------------------------------------
export function new(atom ctl, atom data)
-----------------------------------------------------------------------
set("file:chooser",{
{"action",GTK_FILE_CHOOSER_ACTION_SAVE},
{"current name","MyNewFile"},
{"run"},
{"visible",FALSE}})
return 0
end function
-----------------------------------------------------------------------
export function open(atom ctl, atom data)
-----------------------------------------------------------------------
set("file:chooser",{
{"action",GTK_FILE_CHOOSER_ACTION_OPEN},
{"filename",working_file},
{"run"},
{"visible",FALSE}})
return 0
end function
-----------------------------------------------------------------------
export function save(atom ctl, atom data)
-----------------------------------------------------------------------
set("file:chooser",{
{"action",GTK_FILE_CHOOSER_ACTION_SAVE},
{"filename",working_file},
{"run"},
{"visible",FALSE}})
return 1
end function
-----------------------------------------------------------------------
export function saveas(atom ctl, atom data)
-----------------------------------------------------------------------
object newname
set("file:chooser",{
{"action",GTK_FILE_CHOOSER_ACTION_SAVE},
{"current name",""},
{"run"},
{"visible",FALSE}})
return 1
end function
-- following routines handle file-chooser dialog buttons;
-----------------------------------------------------------------------
export function cancel(atom ctl, atom data)
-----------------------------------------------------------------------
set("file:chooser","visible",FALSE)
return 1
end function
-----------------------------------------------------------------------
export function ok(atom ctl, atom data)
-----------------------------------------------------------------------
object fs = get("file:chooser","filename") display(fs)
if atom(fs) then
return 0 -- no filename entered
end if
integer act = get("file:chooser","action")
switch act do
case GTK_FILE_CHOOSER_ACTION_SAVE then
case GTK_FILE_CHOOSER_ACTION_OPEN then
end switch
set("file:chooser","visible",FALSE)
return 1
end function

View File

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkFileChooserDialog" id="chooser">
<property name="can_focus">False</property>
<property name="title" translatable="yes">File Operations</property>
<property name="window_position">mouse</property>
<property name="type_hint">normal</property>
<child internal-child="vbox">
<object class="GtkBox" id="filechooserdialog-vbox1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="filechooserdialog-action_area1">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="file_cancel_btn">
<property name="label">gtk-cancel</property>
<property name="name">file:cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="dispatch" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="file_ok_btn">
<property name="label">gtk-ok</property>
<property name="name">ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="dispatch" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
<action-widgets>
<action-widget response="0">file_cancel_btn</action-widget>
<action-widget response="1">file_ok_btn</action-widget>
</action-widgets>
</object>
</interface>

13
eugtk/examples/glade/fr.e Normal file
View File

@@ -0,0 +1,13 @@
namespace fr
include GtkEngine.e
constant flag = canonical_path("~/demos/resources/flags/flags-france.png")
set("image3","from pixbuf",create(GdkPixbuf,flag,-1,15,1))
export function hello(atom ctl, Label data)
set(data,"markup","Bonjour!")
return 1
end function

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 74 KiB

View File

@@ -0,0 +1,27 @@
--# Test a few controls built with Glade
include GtkEngine.e
include GtkFileSelector.e
add(builder,canonical_path("~/demos/glade/gladetest1.glade"))
main()
-----------------------------------------------------------------------
global function help_me()
-----------------------------------------------------------------------
Info(,,"About","My fine program!")
return 1
end function
-----------------------------------------------------------------------
global function open_file()
-----------------------------------------------------------------------
fileselector:filters = {"image"}
object newfile = fileselector:Open("*")
if sequence(newfile) then
set("image1","from file",newfile)
end if
return 1
end function

View File

@@ -0,0 +1,240 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="title" translatable="yes">test1.ex</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem1">
<property name="label">gtk-new</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_open">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="open_file" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem3">
<property name="label">gtk-save</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem4">
<property name="label">gtk-save-as</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem5">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="Quit" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem6">
<property name="label">gtk-cut</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem7">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem8">
<property name="label">gtk-paste</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem9">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_View</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem10">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="help_me" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">coweat2.png</property>
<property name="icon_size">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0.43999999761581421</property>
<property name="xpad">12</property>
<property name="label" translatable="yes">You have an unusual
&lt;i&gt;&lt;b&gt;magnetic personality.&lt;/b&gt;&lt;/i&gt;
Don't walk too close to
metal objects which are
not fastened down.</property>
<property name="use_markup">True</property>
<property name="max_width_chars">1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="relief">none</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -0,0 +1,48 @@
--# Simple greetings in various languages
include GtkEngine.e
chdir(canonical_path("~/demos/glade"))
add(builder,"hello.glade")
include en.e -- simple greetings in various languages
include es.e -- each include exports a function hello,
include fr.e -- and the correct one is called by using
include au.e -- the namespace en:, de:, fr:, etc...
include ca.e -- flag images are loaded as well.
include about.e -- handles the about dialog
constant hello_label = pointer("label1")
main()
-- Rather than write a separate handler routine for each menu option,
-- we write a generic one which calls the appropriate function by name;
-- function name (including namespace) is specified in the Glade Widget name
-- property. See hello.glade. This can save a lot of coding in certain instances.
-----------------------------------------------------------------------
global function on_activate(object ctl)
-----------------------------------------------------------------------
object fname = get(ctl,"name") -- (in this case, a function name)
display("Calling function []",{fname}) -- run from xterm to see this
atom fn = routine_id(fname)
if fn = -1 then
Error(,,"cannot link to function",fname)
else
return call_func(fn,{ctl,hello_label})
end if
return 1
end function

View File

@@ -0,0 +1,257 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property>
</object>
<object class="GtkWindow" id="window1">
<property name="width_request">250</property>
<property name="height_request">150</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="window_position">center</property>
<property name="icon_name">emblem-system</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="file_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="file_submenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="file_new">
<property name="label">gtk-new</property>
<property name="name">hi:sayhi</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_open">
<property name="label">gtk-open</property>
<property name="name">bi:sayhi</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_save">
<property name="label">gtk-save</property>
<property name="name">bi:saybye</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_save_as">
<property name="label">gtk-save-as</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="file_sep1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_quit">
<property name="label">gtk-quit</property>
<property name="name">Quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="Quit" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="greetings_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Greetings</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="greetings_submenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="english">
<property name="label">_English</property>
<property name="name">en:hello</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="resize_mode">immediate</property>
<property name="use_underline">True</property>
<property name="image">image1</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="spanish">
<property name="label">_Spanish</property>
<property name="name">es:hello</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image2</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="french">
<property name="label">_French</property>
<property name="name">fr:hello</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image3</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="australian">
<property name="label">_Australian</property>
<property name="name">au:hello</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image4</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="canadian">
<property name="label">_Canadian</property>
<property name="name">ca:hello</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image5</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_activate" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="help_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="help_submenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="help_about">
<property name="label">gtk-about</property>
<property name="name">about:rundialog</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_help_about_activate" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<attributes>
<attribute name="font-desc" value="Arial Bold 16"/>
</attributes>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,29 @@
--------------
namespace help -- used by main.ex
--------------
include GtkEngine.e
ifdef WINDOWS then
add(builder,"help.glade")
elsedef
add(builder,"~/demos/glade/help.glade")
end ifdef
-- About window1 is designed completely in Glade, all we need to do
-- here is to show or hide it as appropriate;
-----------------------------------------------------------------------
export function show(atom ctl, atom data)
-----------------------------------------------------------------------
set("help:window1","visible",TRUE)
return 1
end function
-----------------------------------------------------------------------
export function close(atom ctl, atom data)
-----------------------------------------------------------------------
set("help:window1","visible",FALSE)
return 1
end function

View File

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkWindow" id="window1">
<property name="width_request">200</property>
<property name="height_request">200</property>
<property name="can_focus">False</property>
<property name="title" translatable="yes">About...</property>
<property name="window_position">mouse</property>
<property name="icon_name">help-about</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">eugtk.png</property>
<property name="icon_size">2</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">2</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">About this program...</property>
<attributes>
<attribute name="font-desc" value="URW Chancery L Bold Italic 12"/>
</attributes>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">2</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">5</property>
<property name="margin_top">4</property>
<property name="margin_bottom">5</property>
<property name="resize_mode">immediate</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="close">
<property name="label">gtk-close</property>
<property name="name">help:close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="dispatch" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,46 @@
--# Treeview built with Glade
include GtkEngine.e
add(builder,"~/demos/glade/list.glade")
-- retrieve some objects created by Glade that we'll need;
TreeView tv = pointer("treeview1")
ListStore store = pointer("liststore1")
TreeSelection selection = get(tv,"selection")
sequence veggies = {
"Broccoli",
"Cabbage",
"Beet greens",
"Swiss Chard",
"Collards",
"Asparagus ",
"Onions",
$}
set(store,"data",veggies) -- easy to load the list
main()
------------------------------------------------------------------------
global function on_treeview1_row_activated()
------------------------------------------------------------------------
integer row = get(selection,"selected row")
object mdl = get(tv,"model")
object selected = get(mdl,"col data",row,1)
Info(,,selected)
return 1
end function
------------------------------------------------------------------------
global function on_imagemenuitem10_activate()
------------------------------------------------------------------------
Info("window1",,"About this program")
return 1
end function

View File

@@ -0,0 +1,281 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.6"/>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name Veggie -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkWindow" id="window1">
<property name="height_request">200</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">2</property>
<property name="window_position">center</property>
<property name="icon">mongoose.png</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem1">
<property name="label">gtk-new</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem2">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem3">
<property name="label">gtk-save</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem4">
<property name="label">gtk-save-as</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem5">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="Quit" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem6">
<property name="label">gtk-cut</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem7">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem8">
<property name="label">gtk-paste</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem9">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_View</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem10">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_imagemenuitem10_activate" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="treeview1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_bottom">5</property>
<property name="model">liststore1</property>
<property name="enable_search">False</property>
<property name="search_column">0</property>
<property name="show_expanders">False</property>
<property name="enable_grid_lines">vertical</property>
<signal name="row-activated" handler="on_treeview1_row_activated" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection1"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn1">
<property name="title" translatable="yes">column</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext1"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">5</property>
<property name="homogeneous">True</property>
<property name="layout_style">center</property>
<child>
<object class="GtkButton" id="button2">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_treeview1_row_activated" object="treeview1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="padding">5</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,39 @@
--------------------------------------------------------------------------
--# Demo of namespaces and Glade
--------------------------------------------------------------------------
include GtkEngine.e
include help.e
include file.e
include pref.e
ifdef WINDOWS then
add(builder,"main.glade")
elsedef
add(builder,"~/demos/glade/main.glade")
end ifdef
main()
-----------------------------------------------------------------------
global function dispatch(atom ctl, atom data) -- handles all signals;
-----------------------------------------------------------------------
atom fn = routine_id(get(ctl,"name"))
if fn != -1 then
return call_func(fn,{ctl,data})
else
Error(,,"Invalid Function Call",
sprintf("%s=>%s",{class_name(ctl),get(ctl,"name")}),GTK_BUTTONS_OK)
end if
return 1
end function
-- function for main window;
function random_color(atom ctl, atom data)
set("window1","background",rand(#FFFFFF))
return 1
end function

View File

@@ -0,0 +1,294 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.6"/>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">preferences-desktop-personal</property>
</object>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="window_position">center</property>
<property name="icon_name">applications-system</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="file_new">
<property name="label">gtk-new</property>
<property name="name">file:new</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="dispatch" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_open">
<property name="label">gtk-open</property>
<property name="name">file:open</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="dispatch" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_save">
<property name="label">gtk-save</property>
<property name="name">file:save</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="dispatch" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_saveas">
<property name="label">gtk-save-as</property>
<property name="name">file:saveas</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="dispatch" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_quit">
<property name="label">gtk-quit</property>
<property name="name">Quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="dispatch" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem6">
<property name="label">gtk-cut</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem7">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem8">
<property name="label">gtk-paste</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem9">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Preferences</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="options">
<property name="label">_Options</property>
<property name="name">pref:show</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image2</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="dispatch" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="help_about">
<property name="label">gtk-about</property>
<property name="name">help:show</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="dispatch" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">coweat2.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<child>
<object class="GtkButton" id="quit_btn">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-select-color</property>
<property name="name">random_color</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="dispatch" object="window1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="about_button">
<property name="label">gtk-about</property>
<property name="name">help:show</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="dispatch" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">2</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -0,0 +1,24 @@
--# Simple paned window
include GtkEngine.e
add(builder,"~/demos/glade/paned.glade")
main()
------------------------------------------------------------------------
global function on_button2_clicked()
------------------------------------------------------------------------
Info("window1","Help","GtkPaned",
"Grab and slide the bar\nbetween Mongoose and license text")
return 1
end function

View File

@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="resizable">False</property>
<property name="window_position">center</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">euphoria.gif</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkPaned" id="paned1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="position">91</property>
<child>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">mongoose.png</property>
</object>
<packing>
<property name="resize">False</property>
<property name="shrink">True</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="label" translatable="yes">This library is free software; you can redistribute it
and/or modify it under the terms of the GNU Lesser General
Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later
version. </property>
<property name="max_width_chars">12</property>
<property name="track_visited_links">False</property>
<attributes>
<attribute name="size" value="6800"/>
</attributes>
</object>
<packing>
<property name="resize">True</property>
<property name="shrink">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="padding">10</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="layout_style">spread</property>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label">gtk-help</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_button2_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,52 @@
-----------------
namespace pref -- used by main.ex
-----------------
include GtkEngine.e
ifdef WINDOWS then
add(builder,"pref.glade")
elsedef
add(builder,"~/demos/glade/pref.glade")
end ifdef
-----------------------------------------------------------------------
export function show(atom ctl, atom data)
-----------------------------------------------------------------------
set("pref:window1","visible",TRUE) -- use the namespace:name in string form
return 1
end function
------------------------------------------------------------------------
export function set_color(atom ctl, atom data)
------------------------------------------------------------------------
if get(ctl,"active") then -- handle 3 buttons, btn name contains color name to use
set("pref:label1","color",get(ctl,"label"))
end if
return 1
end function
-----------------------------------------------------------------------
export function value_changed(atom scale, atom data)
-----------------------------------------------------------------------
set("pref:window1","background",get(scale,"value")) -- use the handles, not names
return 1
end function
-----------------------------------------------------------------------
export function apply(atom ctl, atom data)
-----------------------------------------------------------------------
-- apply settings here...then
set("pref:window1","visible",FALSE)
return 1
end function
-----------------------------------------------------------------------
export function cancel(atom ctl, atom data)
-----------------------------------------------------------------------
-- abandon changes, just hide me;
set("pref:window1","visible",FALSE)
return 1
end function

View File

@@ -0,0 +1,188 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">65535</property>
<property name="value">32767</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
<property name="page_size">1</property>
</object>
<object class="GtkWindow" id="window1">
<property name="width_request">300</property>
<property name="height_request">150</property>
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="window_position">center-always</property>
<property name="icon_name">preferences-system</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">View Prefs</property>
<attributes>
<attribute name="font-desc" value="URW Bookman L Bold 20"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="margin_top">10</property>
<property name="margin_bottom">10</property>
<property name="spacing">10</property>
<child>
<object class="GtkBox" id="box4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">27</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkRadioButton" id="red">
<property name="label" translatable="yes">Red</property>
<property name="name">pref:set_color</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;i&gt;Click&lt;/i&gt;&lt;/b&gt; to change label color</property>
<property name="xalign">0</property>
<property name="yalign">0.50999999046325684</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="dispatch" object="window1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="green">
<property name="label" translatable="yes">Green</property>
<property name="name">pref:set_color</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;i&gt;Click&lt;/i&gt;&lt;/b&gt; to change label color</property>
<property name="xalign">0</property>
<property name="yalign">0.44999998807907104</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">red</property>
<signal name="toggled" handler="dispatch" object="window1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="blue">
<property name="label" translatable="yes">Blue</property>
<property name="name">pref:set_color</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;i&gt;Click&lt;/i&gt;&lt;/b&gt; to change label color</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">green</property>
<signal name="toggled" handler="dispatch" object="window1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkScale" id="scale1">
<property name="name">pref:value_changed</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;i&gt;Slide&lt;/i&gt;&lt;/b&gt; to change background color</property>
<property name="adjustment">adjustment1</property>
<property name="restrict_to_fill_level">False</property>
<property name="fill_level">0</property>
<property name="round_digits">1</property>
<property name="draw_value">False</property>
<property name="has_origin">False</property>
<signal name="value-changed" handler="dispatch" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">3</property>
<property name="margin_bottom">5</property>
<property name="spacing">5</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
<child>
<object class="GtkButton" id="prefs_cancel_btn">
<property name="label">gtk-cancel</property>
<property name="name">pref:cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="dispatch" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,255 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">65535</property>
<property name="value">32767</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
<property name="page_size">1</property>
</object>
<object class="GtkWindow" id="window1">
<property name="width_request">300</property>
<property name="height_request">150</property>
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="window_position">center-always</property>
<property name="icon_name">preferences-system</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">&lt;u&gt;&lt;b&gt;View Prefs&lt;/b&gt;&lt;/u&gt; Would go here</property>
<property name="use_markup">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="margin_top">10</property>
<property name="margin_bottom">10</property>
<property name="spacing">10</property>
<child>
<object class="GtkBox" id="box3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="checkbutton1">
<property name="label" translatable="yes">A</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Inactive</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkbutton2">
<property name="label" translatable="yes">B</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Inactive</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkbutton3">
<property name="label" translatable="yes">C</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Inactive</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">27</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkRadioButton" id="red_radio_btn">
<property name="label" translatable="yes">Red</property>
<property name="name">red</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;i&gt;Click&lt;/i&gt;&lt;/b&gt; to change label color</property>
<property name="xalign">0</property>
<property name="yalign">0.51999998092651367</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_prefs_radio_btn_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="green_radio_btn">
<property name="label" translatable="yes">Green</property>
<property name="name">green</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;i&gt;Click&lt;/i&gt;&lt;/b&gt; to change label color</property>
<property name="xalign">0</property>
<property name="yalign">0.44999998807907104</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">red_radio_btn</property>
<signal name="toggled" handler="on_prefs_radio_btn_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="blue_radio_btn">
<property name="label" translatable="yes">Blue</property>
<property name="name">blue</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;i&gt;Click&lt;/i&gt;&lt;/b&gt; to change label color</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">green_radio_btn</property>
<signal name="toggled" handler="on_prefs_radio_btn_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkScale" id="scale1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;i&gt;Slide&lt;/i&gt;&lt;/b&gt; to change background color</property>
<property name="adjustment">adjustment1</property>
<property name="restrict_to_fill_level">False</property>
<property name="fill_level">0</property>
<property name="round_digits">1</property>
<property name="draw_value">False</property>
<property name="has_origin">False</property>
<signal name="value-changed" handler="on_scale1_value_changed" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">3</property>
<property name="margin_bottom">5</property>
<property name="spacing">5</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="prefs_cancel_btn">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="on_prefs_cancel_btn_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="prefs_apply_btn">
<property name="label">gtk-apply</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="on_prefs_apply_btn_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,20 @@
--# Glade version of test11.ex
include GtkEngine.e
add(builder,"~/demos/glade/test11.glade")
main()
-----------------------------------------------
global function on_button_clicked(Button self)
-----------------------------------------------
switch get(self,"name") do
case "left" then set("label1","justify",GTK_JUSTIFY_LEFT)
case "center" then set("label1","justify",GTK_JUSTIFY_CENTER)
case "right" then set("label1","justify",GTK_JUSTIFY_RIGHT)
end switch
return 1
end function

View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.6"/>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="default_width">400</property>
<property name="default_height">300</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">5</property>
<property name="margin_right">3</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="label" translatable="yes">&lt;b&gt;In the space&lt;/b&gt; of one hundred and seventy-six years the Mississippi has shortened itself two hundred and forty-two miles.
&lt;b&gt;Therefore&lt;/b&gt; ... in the Old Silurian Period the Mississippi River was upward of one million three hundred thousand miles long ...
&lt;b&gt;Seven hundred and forty-two years&lt;/b&gt; from now the Mississippi will be only a mile and three-quarters long. ...
&lt;b&gt;There is something fascinating about science.&lt;/b&gt;
One gets such wholesome returns of conjecture out of such a trifling investment of fact.
-- &lt;b&gt;&lt;i&gt;Mark Twain&lt;/i&gt;&lt;/b&gt; </property>
<property name="use_markup">True</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">2</property>
<property name="margin_right">2</property>
<property name="margin_bottom">3</property>
<property name="spacing">2</property>
<property name="homogeneous">True</property>
<property name="layout_style">spread</property>
<child>
<object class="GtkButton" id="Quit Button">
<property name="label">gtk-close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="relief">half</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btn_justify_left">
<property name="label">gtk-justify-left</property>
<property name="name">left</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btn_justify_center">
<property name="label">gtk-justify-center</property>
<property name="name">center</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btn_justify_right">
<property name="label">gtk-justify-right</property>
<property name="name">right</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">3</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,27 @@
--# ComboBox demo, compare with demos/test116.ex
include GtkEngine.e
add(builder,"~/demos/glade/test116.glade")
constant items = {
{"Fish",create(GdkPixbuf,"thumbnails/fish.svg",30,30)},
{"Fox",create(GdkPixbuf,"thumbnails/fox.svg",30,30)},
{"Mouse",create(GdkPixbuf,"thumbnails/mouse.svg",30,30)}
}
set("liststore1","data",items)
set("combobox1","active",1)
main()
-----------------------------------------------------------------------
global function on_combobox1_changed(atom cb, atom win)
-----------------------------------------------------------------------
integer i = get(cb,"active")
set(win,"title",items[i][1])
set(win,"icon",items[i][2])
return 1
end function

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name name -->
<column type="gchararray"/>
<!-- column-name pix -->
<column type="GdkPixbuf"/>
</columns>
</object>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="window_position">center</property>
<property name="default_width">-1</property>
<property name="default_height">-1</property>
<property name="icon">coweat2.png</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">&lt;b&gt;&lt;u&gt;GtkComboBox&lt;/u&gt;&lt;/b&gt;
with a little work, we can add images to a combo.</property>
<property name="use_markup">True</property>
<property name="wrap">True</property>
<property name="max_width_chars">20</property>
<property name="track_visited_links">False</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="combobox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="model">liststore1</property>
<property name="add_tearoffs">True</property>
<property name="tearoff_title" translatable="yes">Critters</property>
<signal name="changed" handler="on_combobox1_changed" object="window1" swapped="no"/>
<child>
<object class="GtkCellRendererText" id="cellrenderertext1"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext2"/>
<attributes>
<attribute name="pixbuf">1</attribute>
</attributes>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,30 @@
--# Glade version of test12.ex
include GtkEngine.e
add(builder,"~/demos/glade/test12.glade")
constant fruit = {
"Apples",
"Bananas",
"Cherries",
"Grapes",
"Peaches",
"Pears"
}
for i = 1 to length(fruit) do
set("comboboxtext1","append text",fruit[i])
end for
set("comboboxtext1","active",1)
main()
-----------------------------------------------------------------------
global function on_button2_clicked()
-----------------------------------------------------------------------
Info("window1",,"Your favorite is",get("comboboxtext1","active text"))
return 1
end function

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="window_position">center</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">The &lt;b&gt;&lt;u&gt;GtkComboBoxText&lt;/u&gt;&lt;/b&gt;
Pick your favorite fruit</property>
<property name="use_markup">True</property>
<property name="justify">center</property>
<property name="ellipsize">start</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="comboboxtext1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="active">2</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">spread</property>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="on_button2_clicked" object="comboboxtext1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,35 @@
--# Glade version of test13.ex
include GtkEngine.e
add(builder,"~/demos/glade/test13.glade")
constant bob = create(GdkPixbuf,"~/demos/glade/user_icon.svg")
constant bobby = create(GdkPixbuf,"~/demos/glade/user_icon.svg",24,24,1)
set("image1","from pixbuf",bobby)
object order = {}
main()
-----------------------------------------------------------------------
global function on_button2_clicked(Button self) -- show order
-----------------------------------------------------------------------
Info("window1","Bob's Burgers","Your Order",flatten(order,'\n'),,bob)
return 1
end function
-----------------------------------------------------------------------
global function on_checkbutton_toggled(MenuItem self) -- update order
-----------------------------------------------------------------------
object item = get(self,"name")
if get(self,"active") then
order = add_item(item,order,ADD_APPEND)
else
order = remove_item(item,order)
end if
return 1
end function

View File

@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.6"/>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">6</property>
</object>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="title" translatable="yes">Bob's Burgers</property>
<property name="default_width">300</property>
<property name="default_height">-1</property>
<property name="icon">coweat2.png</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">&lt;b&gt;&lt;u&gt;CheckButtons&lt;/u&gt;&lt;/b&gt;
Select your favorite item(s)</property>
<property name="use_markup">True</property>
<property name="justify">center</property>
<property name="ellipsize">middle</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="Burgers">
<property name="label" translatable="yes">_Burgers</property>
<property name="name">Burgers</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_checkbutton_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="Hot Dog">
<property name="label" translatable="yes">_Hotdogs</property>
<property name="name">Hotdogs</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_checkbutton_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="Potato Chips">
<property name="label" translatable="yes">_Potato chips</property>
<property name="name">Chips</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_checkbutton_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="French Fries">
<property name="label" translatable="yes">_French fries</property>
<property name="name">Fries</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_checkbutton_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">spread</property>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="relief">half</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label" translatable="yes">_OK</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="image">image1</property>
<property name="use_underline">True</property>
<property name="image_position">right</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_button2_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,13 @@
--# GtkScale - compare with demos/test142.ex
include GtkEngine.e
add(builder,"~/demos/glade/test142.glade")
for i = 0 to 100 by 10 do -- how to do this in Glade?
set("scale1","add mark",i,GTK_POS_BOTTOM,sprintf("<small>%d</small>",i))
end for
main()

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property>
<property name="step_increment">0.5</property>
<property name="page_increment">1</property>
</object>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="icon">mongoose.png</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScale" id="scale1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="adjustment">adjustment1</property>
<property name="show_fill_level">True</property>
<property name="fill_level">66</property>
<property name="round_digits">1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">6</property>
<property name="label" translatable="yes">&lt;b&gt;&lt;u&gt;Fill Level&lt;/u&gt;&lt;/b&gt;
You can set a fill level, which the scale
can or cannot exceed, with or without
a visual indication.</property>
<property name="use_markup">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,23 @@
--# Glade version of test157.ex
with define BUILDER -- for demo purposes
include GtkEngine.e
add(builder,"~/demos/glade/test157.glade")
constant cssfile = canonical_path("~/demos/resources/mystyle2.css")
constant css = create(GtkCssProvider,cssfile)
-- show css on terminal for demo purposes, if run from term
display(read_file(cssfile))
-- can't specify multiple fonts in Glade ?, so do it here
set("label2","font","Purisa, Birdland Aeroplane bold 48")
main()

View File

@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface>
<object class="GtkWindow" id="window1">
<property name="name">window1</property>
<property name="width_request">400</property>
<property name="height_request">400</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0.85000002384185791</property>
<property name="yalign">0</property>
<property name="ypad">8</property>
<property name="label" translatable="yes">&lt;b&gt;&lt;u&gt;Radial Gradient&lt;/u&gt;&lt;/b&gt;
specified in mystyle2.css</property>
<property name="use_markup">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0.80000001192092896</property>
<property name="ypad">1</property>
<property name="label" translatable="yes">Moo!</property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
<property name="angle">23</property>
<property name="track_visited_links">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">coweat2.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">center</property>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,188 @@
--# File Editor, Glade version of test25.ex
include GtkEngine.e
include GtkPrinter.e
constant docs = `Demonstrates
menus,
file chooser,
file filters,
recent chooser,
fonts,
exec, etc`
add(builder,"~/demos/glade/test25.glade")
object current_font = get("fontchooserdialog1","font")
set("textview1","font",current_font)
set("fontchooserdialog1","font",current_font)
object current_file = 0
-- Can't find a way to add more than one filter directly in Glade,
-- nor any way to set the filter's name, which is what shows in the
-- drop down filter selector... so we do it manually:
FileFilter f1 = get(builder,"object","filefilter1")
set(f1,"name","Euphoria files")
set("filechooserdialog1","add filter",f1)
FileFilter f2 = get(builder,"object","filefilter2")
set(f2,"name","All Text Files")
set("filechooserdialog1","add filter",f2)
-- seems that Glade has no way to directly add a drop-down
-- RecentChooser to main menu so we do this the 'old fashioned' way;
RecentFilter rcf = pointer("recentfilter1")
RecentChooserMenu rc_menu = create(GtkRecentChooserMenu,{
{"add filter",rcf},
{"sort type",GTK_RECENT_SORT_MRU},
{"show icons",TRUE},
{"local only",TRUE},
{"show numbers",TRUE},
{"show tips",TRUE}})
set("recent_menu","submenu",rc_menu)
connect(rc_menu,"selection-done","open_recent",rc_menu)
main()
------------------------------------------------------------------------------
global function menu_open_file(Button self, atom dialog)
------------------------------------------------------------------------------
object fn -- storage for filename
if get(dialog,"run") = 1 -- 'ok' button's Response ID (must set in Glade)
then fn = get(dialog,"filename") -- actually, gets the full path to file
if file_exists(fn) then
LoadText(fn)
end if
end if
set(dialog,"hide") -- don't destroy this dialog, keep it for later use
return 1
end function
------------------------------------------------------------------------
global function open_recent()
------------------------------------------------------------------------
object fn = get(rc_menu,"current uri")
fn = fn[8..$] -- discard the leading FILE:///
if file_exists(fn) then
LoadText(fn)
end if
return 1
end function
---------------------------------
procedure LoadText(sequence fn)
---------------------------------
set("window1","title",fn)
set("textbuffer1","text",read_file(fn))
set("menu_close","sensitive",TRUE)
set("menu_open","sensitive",FALSE)
set("menu_exec","sensitive",TRUE)
set("menu_print","sensitive",TRUE)
current_file = fn
end procedure
------------------------------------------------------------------------
global function menu_close_file(atom self, atom data)
------------------------------------------------------------------------
set("textbuffer1","text","") -- clear the text
set("menu_close","sensitive",FALSE)
set("menu_open","sensitive",TRUE)
set("menu_exec","sensitive",FALSE)
set("menu_print","sensitive",FALSE)
return 1
end function
------------------------------------------------------------------------
global function on_menu_exec_activate()
------------------------------------------------------------------------
system("eui " & current_file & " & ",0) -- run the current file;
return 1
end function
-----------------------------------------------------------------------
global function on_menu_print_activate()
-----------------------------------------------------------------------
printer:PrintFile(current_file)
return 1
end function
------------------------------------------------------------------------
global function on_menu_colors_activate(atom self, atom view)
------------------------------------------------------------------------
-- hack:
-- colors are passed in Glade 'name' field as fgnd,bkgnd (no quotes)
object params = split(get(self,"name"),',')
set(view,"foreground",params[1])
set(view,"background",params[2])
return 1
end function
-------------------------------------------------------------------------------
global function on_menu_font_activate(atom self, atom dialog)
-------------------------------------------------------------------------------
set(dialog,"filter func",call_back(routine_id("FilterFonts")))
set(dialog,"font",current_font)
if get(dialog,"run") then
current_font = get(dialog,"font")
set("textview1","font",current_font)
set(dialog,"hide")
end if
return 1
end function
------------------------------------------------------------------------
function FilterFonts(atom family)
------------------------------------------------------------------------
sequence fontlist = { -- faces to show in font selection dialog;
"DejaVu Sans Mono","Courier 10 Pitch","Courier New","FreeSerif",
"Impact","URW Chancery L","Comic","Purisa","Arial","Arial Black",
"Sawasdee","Balmoral D","Ubuntu Mono"
}
object fontname = gtk_str_func("pango_font_family_get_name",{P},{family})
-- process each font the dialog tries to load;
return find(fontname,fontlist)
-- return 1 if it's on our list, otherwise, return 0 to skip this font;
end function
------------------------------------------------------------------------
global function on_menu_normal_activate(atom self, atom view)
------------------------------------------------------------------------
FontDescription fnt = create(PangoFontDescription,current_font)
set(fnt,"weight",PANGO_WEIGHT_NORMAL)
set(fnt,"style",PANGO_STYLE_NORMAL)
current_font = get(fnt,"to string")
set(view,"font",current_font)
return 1
end function
------------------------------------------------------------------------
global function on_menu_bold_activate(atom self, atom view)
------------------------------------------------------------------------
FontDescription fnt = create(PangoFontDescription,current_font)
set(fnt,"weight",PANGO_WEIGHT_BOLD)
current_font = get(fnt,"to string")
set(view,"font",current_font)
return 1
end function
------------------------------------------------------------------------
global function on_menu_italic_activate(atom self, atom view)
------------------------------------------------------------------------
FontDescription fnt = create(PangoFontDescription,current_font)
set(fnt,"style",PANGO_STYLE_ITALIC)
current_font = get(fnt,"to string")
set(view,"font",current_font)
return 1
end function
------------------------------------------------------------------------
global function on_menu_about_activate()
------------------------------------------------------------------------
return Info("window1"," About ",
"Simple Text\nViewer/Editor",docs,,"accessories-text-editor","gnome-help")
end function

View File

@@ -0,0 +1,439 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkFileChooserDialog" id="filechooserdialog1">
<property name="can_focus">False</property>
<property name="type">popup</property>
<property name="modal">True</property>
<property name="window_position">mouse</property>
<property name="type_hint">popup-menu</property>
<child internal-child="vbox">
<object class="GtkBox" id="filechooserdialog-vbox1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="filechooserdialog-action_area1">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
<action-widgets>
<action-widget response="0">button1</action-widget>
<action-widget response="1">button2</action-widget>
</action-widgets>
</object>
<object class="GtkFileChooserWidget" id="filechooserwidget1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<object class="GtkFileFilter" id="filefilter1">
<patterns>
<pattern>*.ex</pattern>
<pattern>*.e</pattern>
</patterns>
</object>
<object class="GtkFileFilter" id="filefilter2">
<mime-types>
<mime-type>text/plain</mime-type>
</mime-types>
</object>
<object class="GtkFontChooserDialog" id="fontchooserdialog1">
<property name="can_focus">False</property>
<property name="type_hint">dialog</property>
<property name="font"/>
<child internal-child="vbox">
<object class="GtkBox" id="fontchooserdialog-vbox1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="fontchooserdialog-action_area1">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xpad">4</property>
<property name="icon_name">text-x-generic</property>
<property name="use_fallback">True</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">text-x-script</property>
<property name="use_fallback">True</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">green-terminal.png</property>
<property name="use_fallback">True</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">text-x-generic</property>
<property name="use_fallback">True</property>
<property name="icon_size">1</property>
</object>
<object class="GtkRecentChooserWidget" id="recentchooser1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="limit">20</property>
</object>
<object class="GtkRecentFilter" id="recentfilter1">
<patterns>
<pattern>*.ex</pattern>
<pattern>*.e</pattern>
</patterns>
</object>
<object class="GtkTextBuffer" id="textbuffer1"/>
<object class="GtkWindow" id="window1">
<property name="width_request">600</property>
<property name="height_request">500</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="title" translatable="yes">Simple Text Viewer</property>
<property name="window_position">center</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="file_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="menu_open">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">8</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="menu_open_file" object="filechooserdialog1" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_close">
<property name="label">gtk-close</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="menu_close_file" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_exec">
<property name="label">gtk-execute</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_menu_exec_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_print">
<property name="label">gtk-print</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="margin_left">1</property>
<property name="margin_top">5</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_menu_print_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem2">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_quit">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="Quit" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="pref_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Preferences</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="menu_font">
<property name="label">gtk-select-font</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_menu_font_activate" object="fontchooserdialog1" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem3">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_normal ">
<property name="label">_Normal</property>
<property name="name">black,white</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image1</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_menu_colors_activate" object="textview1" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_reverse">
<property name="label">_Reverse</property>
<property name="name">white,black</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image2</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_menu_colors_activate" object="textview1" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_green">
<property name="label">_Green on Black</property>
<property name="name">#0DF517,black</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image3</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_menu_colors_activate" object="textview1" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem4">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_normal">
<property name="label">_Normal</property>
<property name="name">bold</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image4</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_menu_normal_activate" object="textview1" swapped="no"/>
<style>
<class name="GtkCheckMenuItem"/>
</style>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_bold">
<property name="label">gtk-bold</property>
<property name="name">italic</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_menu_bold_activate" object="textview1" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_italic">
<property name="label">gtk-italic</property>
<property name="name">bold</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_menu_italic_activate" object="textview1" swapped="no"/>
<style>
<class name="GtkCheckMenuItem"/>
</style>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="recent_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Recent Docs</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="help_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="menu_about">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_menu_about_activate" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTextView" id="textview1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="left_margin">10</property>
<property name="right_margin">9</property>
<property name="indent">10</property>
<property name="buffer">textbuffer1</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,37 @@
--# Toolbars
include GtkEngine.e
add(builder,"~/demos/glade/toolbar.glade")
constant
fish = create(GdkPixbuf,"thumbnails/fish.png",30,30),
fox = create(GdkPixbuf,"thumbnails/fox.png",30,30),
mouse = create(GdkPixbuf,"thumbnails/mouse.png",30,30),
names = {"Fish","Fox","Mouse"},
pix = {fish,fox,mouse}
atom item -- seems to be no way to create a toolbutton in Glade.
for i = 1 to 3 do
item = create(GtkToolButton,create(GtkImage,pix[i]),names[i],"Foo",i)
set("toolbar1","insert",item,-1)
show_all(item)
end for
main()
-----------------------------------------------------------------------
global function on_checkbutton1_toggled(ToggleButton self)
-----------------------------------------------------------------------
set("toolbar1","style",get(self,"active")*2)
return 1
end function
--------------------------------------
global function Foo(atom ctl)
--------------------------------------
set("label1","text",get(ctl,"label"))
return 1
end function

View File

@@ -0,0 +1,292 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface>
<object class="GtkWindow" id="window1">
<property name="width_request">300</property>
<property name="height_request">200</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="vexpand">False</property>
<property name="resizable">False</property>
<property name="window_position">center</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="vexpand">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="vexpand">False</property>
<child>
<object class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem1">
<property name="label">gtk-new</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="resize_mode">immediate</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem2">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem3">
<property name="label">gtk-save</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem4">
<property name="label">gtk-save-as</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem5">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="Quit" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem6">
<property name="label">gtk-cut</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem7">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem8">
<property name="label">gtk-paste</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem9">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem3">
<property name="use_action_appearance">True</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_View</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem4">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="imagemenuitem10">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToolbar" id="toolbar1">
<property name="width_request">280</property>
<property name="height_request">40</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="vexpand">False</property>
<property name="toolbar_style">icons</property>
<property name="icon_size">2</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="width_request">220</property>
<property name="height_request">40</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="hexpand">False</property>
<property name="vexpand">False</property>
<attributes>
<attribute name="font-desc" value="URW Bookman L Bold 30"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">5</property>
<property name="margin_bottom">5</property>
<property name="hexpand">False</property>
<property name="vexpand">False</property>
<child>
<object class="GtkCheckButton" id="checkbutton1">
<property name="label" translatable="yes">Captions</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="margin_left">10</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_checkbutton1_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="yalign">0.46000000834465027</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
<property name="position">1</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
<property name="position">3</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View 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

View File

@@ -0,0 +1,329 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkAdjustment" id="adjustment1">
<property name="lower">8080</property>
<property name="upper">8090</property>
<property name="value">8080</property>
<property name="step_increment">1</property>
<property name="page_increment">1</property>
</object>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="icon">mongoose.png</property>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">17</property>
<property name="margin_bottom">5</property>
<property name="column_spacing">5</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">IP:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Root</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Log file</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="sort">
<property name="label" translatable="yes">Sort</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Sort the directory listings</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">6</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">end</property>
<property name="spacing">5</property>
<property name="homogeneous">True</property>
<property name="layout_style">spread</property>
<child>
<object class="GtkButton" id="quit_button">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Click to quit</property>
<property name="valign">baseline</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="help_button">
<property name="label">gtk-help</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="valign">baseline</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_help_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ok_button">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Click to start the server</property>
<property name="valign">baseline</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="on_ok_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">8</property>
<property name="width">3</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="show_full_request">
<property name="label" translatable="yes">Show Full Request</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">Show &lt;i&gt;full request string&lt;/i&gt;
in logs</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">6</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="show_hidden">
<property name="label" translatable="yes">Show Hidden Files</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Pop-up a terminal window to show active requests.</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">6</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="ip">
<property name="visible">True</property>
<property name="can_focus">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="log_file">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">File to log requests.
Clear this if no log file is needed.</property>
<property name="text" translatable="yes">server.log</property>
<property name="progress_pulse_step">0</property>
<property name="primary_icon_stock">gtk-clear</property>
<property name="secondary_icon_activatable">False</property>
<property name="secondary_icon_sensitive">False</property>
<signal name="icon-press" handler="on_log_file_icon_press" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="tail_f">
<property name="label" translatable="yes">Tail -f</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">Pop up a window to show
active connections.</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="port">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="adjustment">adjustment1</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
<property name="value">8080</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkFileChooserButton" id="filechooserbutton1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">Choose the &lt;b&gt;base&lt;/b&gt; folder.
This and every folder below will be visible to the server.</property>
<property name="margin_top">6</property>
<property name="action">select-folder</property>
<property name="create_folders">False</property>
<property name="preview_widget_active">False</property>
<property name="use_preview_label">False</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">2</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="separator1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">3</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="separator2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">3</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="separator3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
<property name="width">3</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="separator4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">10</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">7</property>
<property name="width">3</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,102 @@
---------------------------------------------------------------------------
--# Demo of many numeric widgets built with Glade
-- would take hundreds of lines of code
-- if coded 'by hand', but only a few if the interface is designed by Glade.
---------------------------------------------------------------------------
include GtkEngine.e
-- Use the following if you want to load the Glade code at runtime.
-- This will happen even if the program is bound or compiled, which means
-- that changes to the .glade file could improve (or break!) your program:
-- add(builder,"~/demos/examples/glade/widgets.glade")
-- Use the 2 lines below instead of the one above
-- if you prefer to load the glade XML as an include:
include widgets.xml
add(builder,widgets:XML)
-- If you do this, it will likewise be included each time the program is
-- interpreted, and therefore subject to the xml code being edited.
-- HOWEVER - when your program is bound or compiled, the glade XML will be
-- bound into the program, and latter changes to the .xml will no longer
-- have any affect on your program.
connect("window1","destroy","Quit")
main()
-- All functions which respond to the interface MUST be declared global!
-- Controls can be referenced by string ID, rather than by handle.
-- The string ID is assigned automatically by Glade when object is created,
-- but can be changed on the Glade Properties/General tab (ID:) if you
-- prefer a more meaningful name.
-- DON'T change the Widget name: field under the Properties/Common tab!
--------------------------------------------------------------------------------------
global function on_radiobuttons_toggled(atom self, atom scale)
--------------------------------------------------------------------------------------
-- Two calls to this function are made each time a radio button is clicked,
-- one as the previously-selected button is toggled 'off', and another
-- as the newly-clicked button it toggled 'on'.
-- We use the 'active' property to decide which one to respond to.
-- Each button's 'name' field is used to pass the percentage to set.
-- There seems to be little use for that field otherwise.
atom percent = 0
if get(self,"active") then
percent = to_number(get(self,"name"))
set(scale,"value",percent)
end if
return 1
end function
--------------------------------------------------------------
global function on_switch1_active_notify(atom self, atom spin)
--------------------------------------------------------------
set("spinner1","active",get(self,"active")) -- toggle it
return 1
end function
--------------------------------------------------
global function on_scale1_value_changed(atom self)
--------------------------------------------------
atom val = get(self,"value")
set("progressbar1","fraction",val * .01)
set("levelbar1","value",val)
set("show_text","active",val != 0)
return 1
end function
-----------------------------------------------
global function on_show_text_toggled(atom self)
-----------------------------------------------
set("progressbar1","show text",get(self,"active"))
return 1
end function
--------------------------------------------
global function on_digits_changed(atom self)
--------------------------------------------
integer decimals = get(self,"active")-1 -- indexes are zero-based
set("value","digits",decimals)
set("scale1","digits",decimals)
return 1
end function
----------------------------------------
global function on_help_about_activate()
----------------------------------------
return Info("window1","About...","Widgets",
sprintf("This is a demo of several\nGtk numeric controls\n\n"
&"Current value <span color='red'>%g</span>",get("levelbar1","value")),,
"~/demos/thumbnails/applications-development.svg")
end function

View File

@@ -0,0 +1,487 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property>
<property name="step_increment">0.5</property>
<property name="page_increment">10</property>
</object>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="window_position">center</property>
<property name="icon_name">applications-development</property>
<signal name="destroy" handler="Quit" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">10</property>
<property name="spacing">5</property>
<property name="layout_style">center</property>
<child>
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkRadioButtons&lt;/u&gt;&lt;/b&gt;
Sets value in steps</property>
<property name="label_xalign">0</property>
<child>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="left_padding">12</property>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;RadioButtons&lt;/u&gt;&lt;/b&gt;
Click to set adjustment value
0 - 50% - 100%</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkRadioButton" id="radio_empty">
<property name="label" translatable="yes">Empty</property>
<property name="name">0</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_radiobuttons_toggled" object="scale1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radio_half">
<property name="label" translatable="yes">Half</property>
<property name="name">50</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">radio_empty</property>
<signal name="toggled" handler="on_radiobuttons_toggled" object="scale1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radio_full">
<property name="label" translatable="yes">Full</property>
<property name="name">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">radio_half</property>
<signal name="toggled" handler="on_radiobuttons_toggled" object="scale1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label_item">
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkLevelBar" id="levelbar1">
<property name="name">poobah</property>
<property name="height_request">40</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkLevelBar&lt;/u&gt;&lt;/b&gt;
Shows value of shared adjustment</property>
<property name="orientation">vertical</property>
<property name="max_value">100</property>
<property name="inverted">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkSpinner" id="spinner1">
<property name="width_request">20</property>
<property name="height_request">20</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkSpinner&lt;/u&gt;&lt;/b&gt;
Shows activity in progress</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSwitch" id="switch1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkSwitch&lt;/u&gt;&lt;/b&gt;
Turns spinner on/off</property>
<signal name="notify::active" handler="on_switch1_active_notify" object="spinner1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="quit_button">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;Quit button&lt;/u&gt;&lt;/b&gt;
What do you think &lt;i&gt;this&lt;/i&gt; does?</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="file_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="file_submenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="file_new">
<property name="label">gtk-new</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_open">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_save">
<property name="label">gtk-save</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_save_as">
<property name="label">gtk-save-as</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="file_sep1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_quit">
<property name="label">gtk-quit</property>
<property name="name">menu-quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="Quit" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="edit_menu">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="edit_submenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="edit_cut">
<property name="label">gtk-cut</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="edit_copy">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="edit_paste">
<property name="label">gtk-paste</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="edit_delete">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="view_menu">
<property name="name">help-menu-about</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_View</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="help_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Click for Help/About</property>
<property name="right_justified">True</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="help_submenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="help_about">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="right_justified">True</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_help_about_activate" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<object class="GtkProgressBar" id="progressbar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkProgressBar&lt;/u&gt;&lt;/b&gt;
Shows value of shared adjustment</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="spacing">16</property>
<property name="layout_style">start</property>
<child>
<object class="GtkCheckButton" id="show_text">
<property name="label" translatable="yes">Show text</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkCheckButton&lt;/u&gt;&lt;/b&gt;
Show or hide progress text</property>
<property name="xalign">0</property>
<property name="always_show_image">True</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_show_text_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="digits">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;ComboBoxText&lt;/u&gt;&lt;/b&gt;
Adjust number of decimal places used in value displays</property>
<property name="active">2</property>
<items>
<item id="0" translatable="yes">None</item>
<item id="1" translatable="yes">One</item>
<item id="2" translatable="yes">Two</item>
<item id="3" translatable="yes">Three</item>
</items>
<signal name="changed" handler="on_digits_changed" object="value" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="value">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkSpinButton&lt;/u&gt;&lt;/b&gt;
Set/show adjustment value</property>
<property name="shadow_type">etched-out</property>
<property name="input_purpose">digits</property>
<property name="adjustment">adjustment1</property>
<property name="climb_rate">1</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="padding">10</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkScale" id="scale1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkScale&lt;/u&gt;&lt;/b&gt;
Slide to change adustment value</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="adjustment">adjustment1</property>
<property name="round_digits">1</property>
<property name="digits">2</property>
<signal name="value-changed" handler="on_scale1_value_changed" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,498 @@
---------------------------------------------------------------------
-- copy of widgets.glade, exported as a sequence.
-- usage:
-- include widgets.xml
-- add(builder,widgets:XML)
---------------------------------------------------------------------
namespace widgets
export constant XML = """
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property>
<property name="step_increment">0.5</property>
<property name="page_increment">10</property>
</object>
<object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="window_position">center</property>
<property name="icon_name">applications-development</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">10</property>
<property name="spacing">5</property>
<property name="layout_style">center</property>
<child>
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkRadioButtons&lt;/u&gt;&lt;/b&gt;
Sets value in steps</property>
<property name="label_xalign">0</property>
<child>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="left_padding">12</property>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;RadioButtons&lt;/u&gt;&lt;/b&gt;
Click to set adjustment value
0 - 50% - 100%</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkRadioButton" id="radio_empty">
<property name="label" translatable="yes">Empty</property>
<property name="name">0</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_radiobuttons_toggled" object="scale1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radio_half">
<property name="label" translatable="yes">Half</property>
<property name="name">50</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">radio_empty</property>
<signal name="toggled" handler="on_radiobuttons_toggled" object="scale1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radio_full">
<property name="label" translatable="yes">Full</property>
<property name="name">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">radio_half</property>
<signal name="toggled" handler="on_radiobuttons_toggled" object="scale1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label_item">
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkLevelBar" id="levelbar1">
<property name="name">poobah</property>
<property name="height_request">40</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkLevelBar&lt;/u&gt;&lt;/b&gt;
Shows value of shared adjustment</property>
<property name="orientation">vertical</property>
<property name="max_value">100</property>
<property name="inverted">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkSpinner" id="spinner1">
<property name="width_request">20</property>
<property name="height_request">20</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkSpinner&lt;/u&gt;&lt;/b&gt;
Shows activity in progress</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSwitch" id="switch1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkSwitch&lt;/u&gt;&lt;/b&gt;
Turns spinner on/off</property>
<signal name="notify::active" handler="on_switch1_active_notify" object="spinner1" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="quit_button">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;Quit button&lt;/u&gt;&lt;/b&gt;
What do you think &lt;i&gt;this&lt;/i&gt; does?</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="Quit" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="file_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="file_submenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="file_new">
<property name="label">gtk-new</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_open">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_save">
<property name="label">gtk-save</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_save_as">
<property name="label">gtk-save-as</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="file_sep1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="file_quit">
<property name="label">gtk-quit</property>
<property name="name">menu-quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="Quit" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="edit_menu">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="edit_submenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="edit_cut">
<property name="label">gtk-cut</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="edit_copy">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="edit_paste">
<property name="label">gtk-paste</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="edit_delete">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="view_menu">
<property name="name">help-menu-about</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_View</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="help_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Click for Help/About</property>
<property name="right_justified">True</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="help_submenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="help_about">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="right_justified">True</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
<signal name="activate" handler="on_help_about_activate" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<object class="GtkProgressBar" id="progressbar1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkProgressBar&lt;/u&gt;&lt;/b&gt;
Shows value of shared adjustment</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="spacing">16</property>
<property name="layout_style">start</property>
<child>
<object class="GtkCheckButton" id="show_text">
<property name="label" translatable="yes">Show text</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkCheckButton&lt;/u&gt;&lt;/b&gt;
Show or hide progress text</property>
<property name="xalign">0</property>
<property name="always_show_image">True</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_show_text_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="digits">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;ComboBoxText&lt;/u&gt;&lt;/b&gt;
Adjust number of decimal places used in value displays</property>
<property name="active">2</property>
<items>
<item id="0" translatable="yes">None</item>
<item id="1" translatable="yes">One</item>
<item id="2" translatable="yes">Two</item>
<item id="3" translatable="yes">Three</item>
</items>
<signal name="changed" handler="on_digits_changed" object="value" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="value">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkSpinButton&lt;/u&gt;&lt;/b&gt;
Set/show adjustment value</property>
<property name="shadow_type">etched-out</property>
<property name="input_purpose">digits</property>
<property name="adjustment">adjustment1</property>
<property name="climb_rate">1</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="padding">10</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkScale" id="scale1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_markup" translatable="yes">&lt;b&gt;&lt;u&gt;GtkScale&lt;/u&gt;&lt;/b&gt;
Slide to change adustment value</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="adjustment">adjustment1</property>
<property name="round_digits">1</property>
<property name="digits">2</property>
<signal name="value-changed" handler="on_scale1_value_changed" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
</object>
</child>
</object>
</interface>
"""

BIN
eugtk/examples/glade/x2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB