1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
|
diff -rupN gnoclBuilder-0.9.96.orig/README gnoclBuilder-0.9.96/README
--- gnoclBuilder-0.9.96.orig/README 2013-01-28 17:35:52.000000000 +0100
+++ gnoclBuilder-0.9.96/README 2013-09-09 23:57:24.658402302 +0200
@@ -2,8 +2,8 @@
OVERVIEW
---------------------------------------------------------------------------------------------------------
-Gnocl::SpellCheck is a Tcl binding to the gtkspellcheck library. It provides a
-general purpose spellchecker extension for the gnocl::text widget.
+Gnocl::Builder is a Tcl binding to the Glade and GtkBuilder libraries. It lets
+you construct GTK user interfaces created with the Glade GUI builder.
---------------------------------------------------------------------------------------------------------
DEPENDENCIES
diff -rupN gnoclBuilder-0.9.96.orig/demo/buttontest-builder.tcl gnoclBuilder-0.9.96/demo/buttontest-builder.tcl
--- gnoclBuilder-0.9.96.orig/demo/buttontest-builder.tcl 1970-01-01 01:00:00.000000000 +0100
+++ gnoclBuilder-0.9.96/demo/buttontest-builder.tcl 2013-09-09 23:57:24.658402302 +0200
@@ -0,0 +1,16 @@
+
+package require Gnocl
+package require GnoclBuilder
+
+set widgets [gnocl::builder file buttontest.builder]
+
+foreach item $widgets {
+ foreach {gnocl glade} $item {}
+ set $glade $gnocl
+}
+
+$window1 configure -onDestroy {exit}
+$button1 configure -onClicked {puts "Hi there!"}
+
+$window1 show
+gnocl::mainLoop
diff -rupN gnoclBuilder-0.9.96.orig/demo/buttontest-glade.tcl gnoclBuilder-0.9.96/demo/buttontest-glade.tcl
--- gnoclBuilder-0.9.96.orig/demo/buttontest-glade.tcl 1970-01-01 01:00:00.000000000 +0100
+++ gnoclBuilder-0.9.96/demo/buttontest-glade.tcl 2013-09-09 23:57:24.658402302 +0200
@@ -0,0 +1,16 @@
+
+package require Gnocl
+package require GnoclBuilder
+
+set widgets [gnocl::glade file buttontest.glade]
+
+foreach item $widgets {
+ foreach {gnocl glade} $item {}
+ set $glade $gnocl
+}
+
+$window1 configure -onDestroy {exit}
+$button1 configure -onClicked {puts "Hi there!"}
+
+$window1 show
+gnocl::mainLoop
diff -rupN gnoclBuilder-0.9.96.orig/demo/buttontest.builder gnoclBuilder-0.9.96/demo/buttontest.builder
--- gnoclBuilder-0.9.96.orig/demo/buttontest.builder 1970-01-01 01:00:00.000000000 +0100
+++ gnoclBuilder-0.9.96/demo/buttontest.builder 2013-09-09 23:57:24.658402302 +0200
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkWindow" id="window1">
+ <property name="default_width">200</property>
+ <property name="default_height">100</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label" translatable="yes">Hello</property>
+ </object>
+ </child>
+ </object>
+</interface>
diff -rupN gnoclBuilder-0.9.96.orig/demo/buttontest.glade gnoclBuilder-0.9.96/demo/buttontest.glade
--- gnoclBuilder-0.9.96.orig/demo/buttontest.glade 1970-01-01 01:00:00.000000000 +0100
+++ gnoclBuilder-0.9.96/demo/buttontest.glade 2013-09-09 23:57:24.658402302 +0200
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glade-interface>
+ <!-- interface-requires gtk+ 2.24 -->
+ <!-- interface-naming-policy project-wide -->
+ <widget class="GtkWindow" id="window1">
+ <property name="default_width">200</property>
+ <property name="default_height">100</property>
+ <child>
+ <widget class="GtkButton" id="button1">
+ <property name="label" translatable="yes">Hello</property>
+ </widget>
+ </child>
+ </widget>
+</glade-interface>
diff -rupN gnoclBuilder-0.9.96.orig/demo/buttontest.tcl gnoclBuilder-0.9.96/demo/buttontest.tcl
--- gnoclBuilder-0.9.96.orig/demo/buttontest.tcl 1970-01-01 01:00:00.000000000 +0100
+++ gnoclBuilder-0.9.96/demo/buttontest.tcl 2013-09-09 23:57:24.658402302 +0200
@@ -0,0 +1,11 @@
+
+package require Gnocl
+
+set button1 [gnocl::button -text "Hello"]
+set window1 [gnocl::window -defaultWidth 200 -defaultHeight 100 -child $button1]
+
+$window1 configure -onDestroy {exit}
+$button1 configure -onClicked {puts "Hi there!"}
+
+$window1 show
+gnocl::mainLoop
diff -rupN gnoclBuilder-0.9.96.orig/src/Makefile gnoclBuilder-0.9.96/src/Makefile
--- gnoclBuilder-0.9.96.orig/src/Makefile 2013-01-28 17:35:52.000000000 +0100
+++ gnoclBuilder-0.9.96/src/Makefile 2013-09-09 23:57:24.658402302 +0200
@@ -11,7 +11,7 @@ DEVELOPER_NAME := wjgiddings
PROJECT_NAME := gnocl
UPLOAD_PATH := g/gn/gnocl/Gnocl-Nightly-Build/0.9.96
-PACKAGE_NAME := gnoclSpellCheck
+PACKAGE_NAME := gnoclBuilder
PACKAGE_REQUIRE_NAME := GnoclBuilder
VERSION := 0.9.96
SUFFIX :=
@@ -27,12 +27,16 @@ ADDCFLAGS := -DVERSION=\"$(VERSION)\" \
-I/usr/include/libglade-2.0 \
-I/usr/local/include
-LIBS := $(shell pkg-config \
- --libs gtk+-2.0 libglade-2.0) \
- -ltclstub$(TCL_VERSION) -lgnocl-$(GNOCL_VERSION)
+#LIBS := $(shell pkg-config \
+# --libs gtk+-2.0 libglade-2.0) \
+# -ltclstub$(TCL_VERSION) -lgnocl-$(GNOCL_VERSION)
+
+LIBS := /usr/lib/tcl8.6/gnocl$(GNOCL_VERSION)/gnocl.so \
+ $(shell pkg-config --libs gtk+-2.0 libglade-2.0) \
+ -ltclstub$(TCL_VERSION)
GTK_OBJ := \
- gnoclSpellCheck.o
+ gnoclBuilder.o
EXCLFILES := -name "CVS" -o -name ".??*" -o -name "qqq*"
@@ -53,10 +57,10 @@ clean:
rm -f $(GTK_OBJ) $(PACKAGE_NAME).so
install:
- ./install.tcl $(PACKAGE_REQUIRE_NAME) $(VERSION) $(PACKAGE_NAME) install
+ ./install.tcl $(PACKAGE_REQUIRE_NAME) $(VERSION) $(PACKAGE_NAME) install $(DESTDIR)
uninstall:
- ./install.tcl $(PACKAGE_REQUIRE_NAME) $(VERSION) $(PACKAGE_NAME) uninstall
+ ./install.tcl $(PACKAGE_REQUIRE_NAME) $(VERSION) $(PACKAGE_NAME) uninstall $(DESTDIR)
test:
( \
diff -rupN gnoclBuilder-0.9.96.orig/src/gnoclBuilder.c gnoclBuilder-0.9.96/src/gnoclBuilder.c
--- gnoclBuilder-0.9.96.orig/src/gnoclBuilder.c 2013-01-28 17:35:52.000000000 +0100
+++ gnoclBuilder-0.9.96/src/gnoclBuilder.c 2013-09-09 23:57:24.661735636 +0200
@@ -33,7 +33,7 @@ int Gnoclbuilder_Init ( Tcl_Interp *inte
{
#ifdef DEBUG_BUILDER
- printf ( "Initializing gnocl bindings to GtkSpell libraries, version %s\n", VERSION );
+ printf ( "Initializing gnocl bindings to GtkBuilder libraries, version %s\n", VERSION );
#endif
if ( Tcl_InitStubs ( interp, "8.3", 0 ) == NULL )
@@ -395,12 +395,10 @@ int setGtkWidgetFunc ( Tcl_Interp *inter
char *align;
GtkAlignment *alignment;
*/
- g_print ( "HERE\n" );
proc = buttonFunc;
Tcl_CreateObjCommand ( interp, para->name, proc, para, NULL );
- g_print ( "THERE\n" );
}
break;
case GtkCheckButtonIdx:
diff -rupN gnoclBuilder-0.9.96.orig/src/install.tcl gnoclBuilder-0.9.96/src/install.tcl
--- gnoclBuilder-0.9.96.orig/src/install.tcl 2013-01-28 17:35:52.000000000 +0100
+++ gnoclBuilder-0.9.96/src/install.tcl 2013-09-09 23:57:49.051736981 +0200
@@ -36,13 +36,13 @@ proc date { {i date} } {
}
# error checking
-if { $argc != 4 } {
+if { $argc < 4 || $argc > 5 } {
set name [file tail $argv0]
error "Wrong number of args.\nUsage: $name package version install/uninstall"
}
# get parameters
-foreach {package version name what} $argv { break }
+foreach {package version name what dest} $argv { break }
# get installation directory
set dir [info library]
@@ -51,7 +51,7 @@ set dir [info library]
set destDir [file join $dir $name$version]
switch -- $what {
"install" {
- if { [file exists $destDir] } {
+ if { [file exists $dest$destDir] } {
puts "$destDir exists already. Aborting installation."
exit -1
}
@@ -70,20 +70,20 @@ switch -- $what {
puts $fp "package ifneeded $package $version \[list load \[file join \$dir $name.so\]\]"
close $fp
puts "Creating $destDir"
- file mkdir $destDir
+ file mkdir $dest$destDir
set files [glob *.so]
lappend files pkgIndex.tcl
foreach file $files {
puts "Copying $file"
- file copy $file $destDir
- }
- }
+ file copy $file $dest$destDir
+ }
+ }
"uninstall" {
- puts "Deleting $destDir"
- file delete -force $destDir
- }
- default {
- error "unknown type \"$what\" must be install, test or uninstall"
- }
+ puts "Deleting $destDir"
+ file delete -force $dest$destDir
+ }
+ default {
+ error "unknown type \"$what\" must be install, test or uninstall"
+ }
}
|