X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=tests%2Fglyph-test.el;h=b5d172705bf34db0d54b57b388ca55c0f874b290;hb=b171deb6c5c28b5b61705c234543d0d865157f19;hp=365322c6370369ef26d9be95ad39256d36f1e36d;hpb=ea1ea793fe6e244ef5555ed983423a204101af13;p=chise%2Fxemacs-chise.git- diff --git a/tests/glyph-test.el b/tests/glyph-test.el index 365322c..b5d1727 100644 --- a/tests/glyph-test.el +++ b/tests/glyph-test.el @@ -2,6 +2,10 @@ (make-extent (point) (point)) (setq im (make-glyph [xpm :file "xemacs-icon.xpm"]))) +(set-extent-begin-glyph + (make-extent (point) (point)) + (make-glyph [string :data "xemacs"])) + (defun foo () (interactive) (setq ok-select (not ok-select))) @@ -14,26 +18,27 @@ (make-extent (point) (point)) (setq radio-button1 (make-glyph - [button :descriptor ["ok " (setq ok-select t) + [button :face widget + :descriptor ["ok1" (setq ok-select t) :style radio :selected ok-select]]))) ;; button in a group (set-extent-begin-glyph (make-extent (point) (point)) (setq radio-button2 (make-glyph - [button :descriptor ["ok" (setq ok-select nil) :style radio +` [button :descriptor ["ok2" (setq ok-select nil) :style radio :selected (not ok-select)]]))) ;; toggle button (set-extent-begin-glyph (make-extent (point) (point)) (setq tbutton - (make-glyph [button :descriptor ["ok" (setq ok-select nil) + (make-glyph [button :descriptor ["ok3" (setq ok-select nil) :style toggle :selected (not ok-select)]]))) (set-extent-begin-glyph (make-extent (point) (point)) (setq toggle-button - (make-glyph [button :descriptor ["ok" :style toggle + (make-glyph [button :descriptor ["ok4" :style toggle :callback (setq ok-select (not ok-select)) :selected ok-select]]))) @@ -44,7 +49,7 @@ (setq push-button (make-glyph [button :width 10 :height 2 :face modeline-mousable - :descriptor "ok" :callback foo + :descriptor "ok" :callback foo :selected t]))) ;; tree view (set-extent-begin-glyph @@ -64,9 +69,10 @@ (setq tab (make-glyph [tab-control :descriptor "My Tab" :face highlight - :properties (:items (["One" foo] - ["Two" fee] - ["Three" foo]))]))) + :orientation right + :properties (:items (["One" foo :selected t] + ["Two" fee :selected nil] + ["Three" foo :selected nil]))]))) ;; progress gauge (set-extent-begin-glyph @@ -77,7 +83,7 @@ ;; progress the progress ... (let ((x 0)) (while (<= x 100) - (set-image-instance-property (glyph-image-instance pgauge) :percent x) + (set-image-instance-property (glyph-image-instance pgauge) :value x) (setq x (+ x 5)) (sit-for 0.1))) @@ -90,7 +96,7 @@ ;; progress the progress ... (let ((x 0)) (while (<= x 100) - (set-image-instance-property (glyph-image-instance pg) :percent x) + (set-image-instance-property (glyph-image-instance pg) :value x) (setq x (+ x 5)) (sit-for 0.1))) @@ -104,7 +110,8 @@ ;; normal pushbutton (set-extent-begin-glyph (make-extent (point) (point)) - (make-glyph [button :descriptor ["A Big Button" foo ]])) + (setq pbutton + (make-glyph [button :descriptor ["A Big Button" foo ]]))) ;; edit box (set-extent-begin-glyph @@ -141,14 +148,35 @@ ;; layout (setq layout (make-glyph - [layout :pixel-width 200 :pixel-height 250 + [layout :descriptor "The Layout" :orientation vertical :justify left :border [string :data "Hello There Mrs"] - :items ([layout :orientation horizontal - :items (radio-button1 radio-button2)] + :items ([native-layout :orientation horizontal + :items (radio-button1 radio-button2)] edit-field toggle-button label str)])) (set-glyph-face layout 'gui-element) (set-extent-begin-glyph (make-extent (point) (point)) layout) - + +(setq test-toggle-widget nil) + +(defun test-toggle (widget) + (set-extent-begin-glyph + (make-extent (point) (point)) + (make-glyph (vector 'button + :descriptor "ok" + :style 'toggle + :selected `(funcall test-toggle-value + ,widget) + :callback `(funcall test-toggle-action + ,widget))))) + +(defun test-toggle-action (widget &optional event) + (if widget + (message "Widget is t") + (message "Widget is nil"))) + +(defun test-toggle-value (widget) + (setq widget (not widget)) + (not widget))