annotate tests/gtk/gnome-test.el @ 5420:b9167d522a9a

Rebase with 21.5 trunk.
author Mats Lidell <matsl@xemacs.org>
date Thu, 28 Oct 2010 23:53:24 +0200
parents 7ba892d101ce cd167465bf69
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5287
cd167465bf69 More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5231
diff changeset
1 ;; gnome-test.el --- test GNOME integration
cd167465bf69 More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5231
diff changeset
2 ;;
cd167465bf69 More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5231
diff changeset
3 ;; Copyright 2000, 2001 William Perry
cd167465bf69 More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5231
diff changeset
4 ;;
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 462
diff changeset
5 ;; This file is part of XEmacs.
5407
7ba892d101ce Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents: 5231
diff changeset
6
7ba892d101ce Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents: 5231
diff changeset
7 ;; XEmacs is free software: you can redistribute it and/or modify it
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 462
diff changeset
8 ;; under the terms of the GNU General Public License as published by the
5407
7ba892d101ce Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents: 5231
diff changeset
9 ;; Free Software Foundation, either version 3 of the License, or (at your
7ba892d101ce Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents: 5231
diff changeset
10 ;; option) any later version.
7ba892d101ce Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents: 5231
diff changeset
11
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 462
diff changeset
12 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 462
diff changeset
13 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 462
diff changeset
14 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 462
diff changeset
15 ;; for more details.
5407
7ba892d101ce Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents: 5231
diff changeset
16
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 462
diff changeset
17 ;; You should have received a copy of the GNU General Public License
5407
7ba892d101ce Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents: 5231
diff changeset
18 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 462
diff changeset
19
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
20 (require 'gnome)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
21
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
22 (gtk-define-test
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
23 "GNOME Stock Pixmaps" gnome gnome-pixmaps nil
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
24 (let ((hbox nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
25 (vbox nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
26 (widget nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
27 (label nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
28 (i 0))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
29 (mapc (lambda (b)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
30 (if (= (% i 5) 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
31 (progn
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
32 (setq hbox (gtk-hbutton-box-new))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
33 (gtk-box-set-spacing hbox 5)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
34 (gtk-container-add window hbox)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
35
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
36 (setq widget (gnome-stock-pixmap-widget-new window (car b))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
37 vbox (gtk-vbox-new t 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
38 label (gtk-label-new (cdr b)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
39 (gtk-container-add hbox vbox)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
40 (gtk-container-add vbox widget)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
41 (gtk-container-add vbox label)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
42 (gtk-widget-show-all vbox)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
43 (setq i (1+ i)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
44 gnome-stock-pixmaps)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
45
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
46 (gtk-define-test
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
47 "GNOME Stock Buttons" gnome gnome-buttons nil
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
48 (let ((hbbox nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
49 (button nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
50 (i 0))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
51 (mapc (lambda (b)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
52 (setq button (gnome-stock-button (car b)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
53 (gtk-signal-connect button 'clicked (lambda (obj data)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
54 (message "Stock GNOME Button: %s" data))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
55 (cdr b))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
56 (if (= (% i 3) 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
57 (progn
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
58 (setq hbbox (gtk-hbutton-box-new))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
59 (gtk-button-box-set-spacing hbbox 5)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
60 (gtk-container-add window hbbox)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
61
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
62 (gtk-container-add hbbox button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
63 (gtk-widget-show button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
64 (setq i (1+ i)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
65 gnome-stock-buttons)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
66
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
67 (gtk-define-test
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
68 "GNOME About" gnome gnome-about t
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
69 (setq window (gnome-about-new "XEmacs/GTK Test Application"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
70 "1.0a"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
71 "Copyright (C) 2000 Free Software Foundation"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
72 '("William M. Perry <wmperry@gnu.org>"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
73 "Ichabod Crane")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
74 "This is a comment string... what wonderful commentary you have my dear!"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
75 "")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
76
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
77 (gtk-define-test
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
78 "GNOME File Entry" gnome gnome-file-entry nil
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
79 (let ((button (gnome-file-entry-new nil "Test browse dialog...")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
80 (gtk-container-add window button)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
81
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
82 (gtk-define-test
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
83 "GNOME Color Picker" gnome gnome-color-picker nil
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
84 (let ((picker (gnome-color-picker-new))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
85 (hbox (gtk-hbox-new nil 0))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
86 (label (gtk-label-new "Please choose a color: ")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
87
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
88 (gtk-box-pack-start hbox label nil nil 2)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
89 (gtk-box-pack-start hbox picker t t 2)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
90 (gtk-container-add window hbox)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
91 (gtk-widget-show-all hbox)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
92
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
93 (gtk-define-test
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
94 "GNOME Desktop Entry Editor" gnome gnome-dentry-edit nil
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
95 (let* ((notebook (gtk-notebook-new)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
96 (gnome-dentry-edit-new-notebook notebook)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
97 (gtk-container-add window notebook)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
98
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
99 (gtk-define-test
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
100 "GNOME Date Edit" gnome gnome-date-entry nil
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
101 (let ((date (gnome-date-edit-new 0 t t))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
102 button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
103 (gtk-box-pack-start window date t t 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
104
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
105 (setq button (gtk-check-button-new-with-label "Show time"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
106 (gtk-signal-connect button 'clicked
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
107 (lambda (button date)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
108 (let ((flags (gnome-date-edit-get-flags date)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
109 (if (gtk-toggle-button-get-active button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
110 (push 'show-time flags)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
111 (setq flags (delq 'show-time flags)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
112 (gnome-date-edit-set-flags date flags))) date)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
113 (gtk-toggle-button-set-active button t)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
114 (gtk-box-pack-start window button nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
115
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
116 (setq button (gtk-check-button-new-with-label "24 Hour format"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
117 (gtk-signal-connect button 'clicked
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
118 (lambda (button date)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
119 (let ((flags (gnome-date-edit-get-flags date)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
120 (if (gtk-toggle-button-get-active button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
121 (push '24-hr flags)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
122 (setq flags (delq '24-hr flags)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
123 (gnome-date-edit-set-flags date flags))) date)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
124 (gtk-toggle-button-set-active button t)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
125 (gtk-box-pack-start window button nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
126
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
127 (setq button (gtk-check-button-new-with-label "Week starts on monday"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
128 (gtk-signal-connect button 'clicked
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
129 (lambda (button date)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
130 (let ((flags (gnome-date-edit-get-flags date)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
131 (if (gtk-toggle-button-get-active button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
132 (push 'week-starts-on-monday flags)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
133 (setq flags (delq 'week-starts-on-monday flags)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
134 (gnome-date-edit-set-flags date flags))) date)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
135 (gtk-toggle-button-set-active button t)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
136 (gtk-box-pack-start window button nil nil 0)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
137
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
138 (gtk-define-test
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
139 "GNOME Font Picker" gnome gnome-font-picker nil
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
140 (let ((hbox (gtk-hbox-new nil 5))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
141 (fp (gnome-font-picker-new))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
142 (label (gtk-label-new "Choose a font: "))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
143 (button nil))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
144 (gtk-box-pack-start hbox label t t 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
145 (gtk-box-pack-start hbox fp nil nil 2)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
146 (gnome-font-picker-set-title fp "Select a font...")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
147 (gnome-font-picker-set-mode fp 'font-info)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
148 (gtk-box-pack-start window hbox t t 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
149
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
150 (setq button (gtk-check-button-new-with-label "Use font in label"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
151 (gtk-signal-connect button 'clicked
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
152 (lambda (button fp)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
153 (gnome-font-picker-fi-set-use-font-in-label
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
154 fp (gtk-toggle-button-get-active button) 14))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
155 fp)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
156 (gtk-box-pack-start window button nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
157
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
158 (setq button (gtk-check-button-new-with-label "Show size"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
159 (gtk-signal-connect button 'clicked
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
160 (lambda (button fp)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
161 (gnome-font-picker-fi-set-show-size
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
162 fp (gtk-toggle-button-get-active button)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
163 fp)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
164 (gtk-box-pack-start window button nil nil 0)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
165
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
166 (gtk-define-test
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
167 "GNOME Application" gnome gnome-app t
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
168 (setq window (gnome-app-new "XEmacs" "XEmacs/GNOME"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
169 (let ((menubar (gtk-menu-bar-new))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
170 (contents nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
171 ;(toolbar-instance (specifier-instance top-toolbar))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
172 (toolbar nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
173 (item nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
174 (flushright nil))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
175 (mapc (lambda (node)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
176 (if (not node)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
177 (setq flushright t)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
178 (setq item (gtk-build-xemacs-menu node))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
179 (gtk-widget-show item)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
180 (if flushright (gtk-menu-item-right-justify item))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
181 (gtk-menu-append menubar item)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
182 current-menubar)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
183
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
184 (setq toolbar (gtk-toolbar-new 'horizontal 'both))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
185 (mapc (lambda (x)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
186 (let ((button (gtk-button-new))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
187 (pixmap (gnome-stock-pixmap-widget-new toolbar x)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
188 (gtk-container-add button pixmap)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
189 (gtk-toolbar-append-widget toolbar button (symbol-name x) nil)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
190 '(open save print cut copy paste undo spellcheck srchrpl mail help))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
191
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
192 (setq contents (gtk-hbox-new nil 5))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
193 (let ((hbox contents)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
194 (vbox (gtk-vbox-new nil 5))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
195 (frame nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
196 (label nil))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
197 (gtk-box-pack-start hbox vbox nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
198
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
199 (setq frame (gtk-frame-new "Normal Label")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
200 label (gtk-label-new "This is a Normal label"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
201 (gtk-container-add frame label)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
202 (gtk-box-pack-start vbox frame nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
203
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
204 (setq frame (gtk-frame-new "Multi-line Label")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
205 label (gtk-label-new "This is a multi-line label.\nSecond line\nThird line"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
206 (gtk-container-add frame label)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
207 (gtk-box-pack-start vbox frame nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
208
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
209 (setq frame (gtk-frame-new "Left Justified Label")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
210 label (gtk-label-new "This is a Left-Justified\nMulti-line label.\nThird line"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
211 (gtk-label-set-justify label 'left)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
212 (gtk-container-add frame label)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
213 (gtk-box-pack-start vbox frame nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
214
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
215 (setq frame (gtk-frame-new "Right Justified Label")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
216 label (gtk-label-new "This is a Right-Justified\nMulti-line label.\nFourth line, (j/k)"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
217 (gtk-label-set-justify label 'right)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
218 (gtk-container-add frame label)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
219 (gtk-box-pack-start vbox frame nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
220
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
221 ;; Start a second row so that we don't make a ridiculously tall window
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
222 (setq vbox (gtk-vbox-new nil 5))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
223 (gtk-box-pack-start hbox vbox nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
224
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
225 (setq frame (gtk-frame-new "Line wrapped label")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
226 label (gtk-label-new
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
227 (concat "This is an example of a line-wrapped label. It should not be taking "
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
228 "up the entire " ;;; big space to test spacing
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
229 "width allocated to it, but automatically wraps the words to fit. "
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
230 "The time has come, for all good men, to come to the aid of their party. "
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
231 "The sixth sheik's six sheep's sick.\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
232 " It supports multiple paragraphs correctly, and correctly adds "
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
233 "many extra spaces. ")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
234 (gtk-label-set-line-wrap label t)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
235 (gtk-container-add frame label)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
236 (gtk-box-pack-start vbox frame nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
237
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
238 (setq frame (gtk-frame-new "Filled, wrapped label")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
239 label (gtk-label-new
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
240 (concat
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
241 "This is an example of a line-wrapped, filled label. It should be taking "
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
242 "up the entire width allocated to it. Here is a seneance to prove "
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
243 "my point. Here is another sentence. "
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
244 "Here comes the sun, do de do de do.\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
245 " This is a new paragraph.\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
246 " This is another newer, longer, better paragraph. It is coming to an end, "
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
247 "unfortunately.")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
248 (gtk-label-set-justify label 'fill)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
249 (gtk-label-set-line-wrap label t)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
250 (gtk-container-add frame label)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
251 (gtk-box-pack-start vbox frame nil nil 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
252
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
253 (setq frame (gtk-frame-new "Underlined label")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
254 label (gtk-label-new (concat "This label is underlined!\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
255 "This one is underlined in 日本語の入用quite a funky fashion")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
256 (gtk-label-set-justify label 'left)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
257 (gtk-label-set-pattern label "_________________________ _ _________ _ _____ _ __ __ ___ ____ _____")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
258 (gtk-container-add frame label)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
259 (gtk-box-pack-start vbox frame nil nil 0))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
260
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
261 (gtk-widget-show-all toolbar)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
262 (gtk-widget-show-all menubar)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
263 (gtk-widget-show-all contents)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
264 (gnome-app-set-menus window menubar)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
265 (gnome-app-set-toolbar window toolbar)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
266 (gnome-app-set-contents window contents)))