From: jave Date: Thu, 1 Jan 2009 02:46:13 +0000 (+0100) Subject: moved xwidget test to the test dir X-Git-Tag: emacs-25.0.90~2613 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c089503bac34376e75ae6f1d2c289fc8c9f42b8f;p=emacs.git moved xwidget test to the test dir --- diff --git a/lisp/xwidget-test.el b/lisp/xwidget-test.el deleted file mode 100644 index 88d2739a209..00000000000 --- a/lisp/xwidget-test.el +++ /dev/null @@ -1,198 +0,0 @@ -;;test like: -;; cd /path/to/xwidgets-emacs-dir -;; make all&& src/emacs -q --eval "(progn (load \"`pwd`/lisp/xwidget-test.el\") (xwidget-demo-basic))" - - -;; you should see: -;; - a gtk button -;; - a gtk toggle button -;; - a gtk slider button -;; - an xembed window(using gtk_socket) showing another emacs instance -;; - an xembed window(using gtk_socket) showing an uzbl web browser if its installed - -;;the widgets will move when you type in the buffer. good! - -;;there will be redrawing issues when widgets change rows, etc. bad! - -;;its currently difficult to give kbd focus to the xembedded emacs, -;;but try evaling the following: - -;; (xwidget-set-keyboard-grab 3 1) - - - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; demo/test functions -(require 'xwidget) - -(defmacro xwidget-demo (name &rest body) - `(defun ,(intern (concat "xwidget-demo-" name)) () - (interactive) - (switch-to-buffer ,(format "*xwidget-demo-%s*" name)) - (text-mode);;otherwise no local keymap - (insert "Some random text for xwidgets to be inserted in for demo purposes.\n") - ,@body)) - -(xwidget-demo "a-button" - (xwidget-insert (point-min) 'Button "button" 60 50) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-toggle-button" - (xwidget-insert (point-min) 'ToggleButton "toggle" 60 50) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-big-button" - (xwidget-insert (point-min) 'Button "button" 400 500) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-socket" - (xwidget-insert (point-min) 'socket "socket" 500 500) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-socket-osr-broken" - (xwidget-insert (point-min) 'socket-osr "socket-osr" 500 500) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - - -(xwidget-demo "a-slider" - (xwidget-insert (point-min) 'slider "slider" 500 100) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-canvas" - (xwidget-insert (point-min) 'cairo "canvas" 1000 1000) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-webkit-broken" - (xwidget-insert (point-min) 'webkit "webkit" 1000 1000) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-webkit-osr" - (xwidget-insert (point-min) 'webkit-osr "webkit-osr" 1000 1000) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic) - (xwidget-webkit-goto-uri (xwidget-at 1) "http://www.fsf.org")) - -(xwidget-demo "a-xwgir" - (xwidget-insert (point-min) 'xwgir "xwgir" 1000 1000) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-xwgir-color-button" - (xwgir-require-namespace "Gtk" "3.0") - (put 'ColorButton :xwgir-class '("Gtk" "ColorSelection")) - (xwidget-insert (point-min) 'ColorButton "xwgir-color-button" 1000 1000) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-xwgir-button" - (xwgir-require-namespace "Gtk" "3.0") - (put 'xwgirButton :xwgir-class '("Gtk" "Button")) - - (xwidget-insert (point-min) 'xwgirButton "xwgir label didnt work..." 700 700) - (xwgir-xwidget-call-method (xwidget-at 1) "set_label" '( "xwgir label worked!")) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-xwgir-check-button" - (xwgir-require-namespace "Gtk" "3.0") - (put 'xwgirCheckButton :xwgir-class '("Gtk" "CheckButton")) - - (xwidget-insert (point-min) 'xwgirCheckButton "xwgir label didnt work..." 700 700) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-xwgir-hscale" - (xwgir-require-namespace "Gtk" "3.0") - (put 'xwgirHScale :xwgir-class '("Gtk" "HScale")) - - (xwidget-insert (point-min) 'xwgirHScale "xwgir label didnt work..." 700 700) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - -(xwidget-demo "a-xwgir-webkit" - (xwgir-require-namespace "WebKit" "3.0") - (put 'xwgirWebkit :xwgir-class '("WebKit" "WebView")) - - (xwidget-insert (point-min) 'xwgirWebkit "xwgir webkit..." 700 700) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) - - - -;; tentative testcase: -;; (xwgir-require-namespace "WebKit" "3.0") - -;; (put 'webkit-osr :xwgir-class '("WebKit" "WebView")) -;; (xwgir-call-method (xwidget-at 1) "set_zoom_level" '(3.0)) - -;; (xwgir-require-namespace "Gtk" "3.0") -;; (put 'color-selection :xwgir-class '("Gtk" "ColorSelection")) - - -(xwidget-demo "basic" - (xwidget-insert (point-min) 'button "button" 40 50 ) - (xwidget-insert 15 'toggle "toggle" 60 30 ) - (xwidget-insert 30 'socket "emacs" 400 200 ) - (xwidget-insert 20 'slider "slider" 100 50 ) - (xwidget-insert 40 'socket "uzbl-core" 400 400 ) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic) -) - - -;it doesnt seem gtk_socket_steal works very well. its deprecated. -; xwininfo -int -; then (xwidget-embed-steal 3 ) -(defun xwidget-demo-grab () - (interactive) - (insert "0 <<< grabbed appp will appear here\n") - (xwidget-insert 1 1 3 "1" 1000 ) - (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-grab) - ) - -;ive basically found these xembeddable things: -;openvrml -;emacs -;mplayer -;surf -;uzbl - -;try the openvrml: -;/usr/libexec/openvrml-xembed 0 ~/Desktop/HelloWorld.wrl - -(defun xwidget-handler-demo-basic () - (interactive) - (message "stuff happened to xwidget %S" last-input-event) - (let* - ((xwidget-event-type (nth 1 last-input-event)) - (xwidget (nth 2 last-input-event))) - (cond ( (eq xwidget-event-type 'xembed-ready) - (let* - ((xembed-id (nth 3 last-input-event))) - (message "xembed ready event: %S xw-id:%s" xembed-id xwidget) - ;;will start emacs/uzbl in a xembed socket when its ready - (cond - (t;;(eq 3 xwidget) - (start-process "xembed" "*xembed*" "/var/lib/jenkins/jobs/emacs-xwidgets-automerge/workspace/src/emacs" "-q" "--parent-id" (number-to-string xembed-id) ) ) -;; ((eq 5 xwidget-id) -;; (start-process "xembed2" "*xembed2*" "uzbl-core" "-s" (number-to-string xembed-id) "http://www.fsf.org" ) - ) - - ) - )))) - - - -(defun xwidget-handler-demo-grab () - (interactive) - (message "stuff happened to xwidget %S" last-input-event) - (let* - ((xwidget-event-type (nth 2 last-input-event))) - (cond ( (eq xwidget-event-type 'xembed-ready) - (let* - ((xembed-id (nth 3 last-input-event))) - (message "xembed ready %S" xembed-id) - ) - )))) -(defun xwidget-dummy-hook () - (message "xwidget dummy hook called")) - -; (xwidget-resize-hack 1 200 200) - -;(xwidget-demo-basic) - -(provide 'xwidget-test) diff --git a/test/xwidget-test-manual.el b/test/xwidget-test-manual.el new file mode 100644 index 00000000000..2ded7868df6 --- /dev/null +++ b/test/xwidget-test-manual.el @@ -0,0 +1,198 @@ +;;test like: +;; cd /path/to/xwidgets-emacs-dir +;; make all&& src/emacs -q --eval "(progn (load \"`pwd`/lisp/xwidget-test.el\") (xwidget-demo-basic))" + + +;; you should see: +;; - a gtk button +;; - a gtk toggle button +;; - a gtk slider button +;; - an xembed window(using gtk_socket) showing another emacs instance +;; - an xembed window(using gtk_socket) showing an uzbl web browser if its installed + +;;the widgets will move when you type in the buffer. good! + +;;there will be redrawing issues when widgets change rows, etc. bad! + +;;its currently difficult to give kbd focus to the xembedded emacs, +;;but try evaling the following: + +;; (xwidget-set-keyboard-grab 3 1) + + + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; demo/test functions +(require 'xwidget) + +(defmacro xwidget-demo (name &rest body) + `(defun ,(intern (concat "xwidget-demo-" name)) () + (interactive) + (switch-to-buffer ,(format "*xwidget-demo-%s*" name)) + (text-mode);;otherwise no local keymap + (insert "Some random text for xwidgets to be inserted in for demo purposes.\n") + ,@body)) + +(xwidget-demo "a-button" + (xwidget-insert (point-min) 'Button "button" 60 50) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-toggle-button" + (xwidget-insert (point-min) 'ToggleButton "toggle" 60 50) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-big-button" + (xwidget-insert (point-min) 'Button "button" 400 500) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-socket" + (xwidget-insert (point-min) 'socket "socket" 500 500) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-socket-osr-broken" + (xwidget-insert (point-min) 'socket-osr "socket-osr" 500 500) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + + +(xwidget-demo "a-slider" + (xwidget-insert (point-min) 'slider "slider" 500 100) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-canvas" + (xwidget-insert (point-min) 'cairo "canvas" 1000 1000) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-webkit-broken" + (xwidget-insert (point-min) 'webkit "webkit" 1000 1000) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-webkit-osr" + (xwidget-insert (point-min) 'webkit-osr "webkit-osr" 1000 1000) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic) + (xwidget-webkit-goto-uri (xwidget-at 1) "http://www.fsf.org")) + +(xwidget-demo "a-xwgir" + (xwidget-insert (point-min) 'xwgir "xwgir" 1000 1000) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-xwgir-color-button" + (xwgir-require-namespace "Gtk" "3.0") + (put 'ColorButton :xwgir-class '("Gtk" "ColorSelection")) + (xwidget-insert (point-min) 'ColorButton "xwgir-color-button" 1000 1000) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-xwgir-button" + (xwgir-require-namespace "Gtk" "3.0") + (put 'xwgirButton :xwgir-class '("Gtk" "Button")) + + (xwidget-insert (point-min) 'xwgirButton "xwgir label didnt work..." 700 700) + (xwgir-xwidget-call-method (xwidget-at 1) "set_label" '( "xwgir label worked!")) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-xwgir-check-button" + (xwgir-require-namespace "Gtk" "3.0") + (put 'xwgirCheckButton :xwgir-class '("Gtk" "CheckButton")) + + (xwidget-insert (point-min) 'xwgirCheckButton "xwgir label didnt work..." 700 700) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-xwgir-hscale" + (xwgir-require-namespace "Gtk" "3.0") + (put 'xwgirHScale :xwgir-class '("Gtk" "HScale")) + + (xwidget-insert (point-min) 'xwgirHScale "xwgir label didnt work..." 700 700) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + +(xwidget-demo "a-xwgir-webkit" + (xwgir-require-namespace "WebKit" "3.0") + (put 'xwgirWebkit :xwgir-class '("WebKit" "WebView")) + + (xwidget-insert (point-min) 'xwgirWebkit "xwgir webkit..." 700 700) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) + + + +;; tentative testcase: +;; (xwgir-require-namespace "WebKit" "3.0") + +;; (put 'webkit-osr :xwgir-class '("WebKit" "WebView")) +;; (xwgir-call-method (xwidget-at 1) "set_zoom_level" '(3.0)) + +;; (xwgir-require-namespace "Gtk" "3.0") +;; (put 'color-selection :xwgir-class '("Gtk" "ColorSelection")) + + +(xwidget-demo "basic" + (xwidget-insert (point-min) 'button "button" 40 50 ) + (xwidget-insert 15 'toggle "toggle" 60 30 ) + (xwidget-insert 30 'socket "emacs" 400 200 ) + (xwidget-insert 20 'slider "slider" 100 50 ) + (xwidget-insert 40 'socket "uzbl-core" 400 400 ) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic) +) + + +;it doesnt seem gtk_socket_steal works very well. its deprecated. +; xwininfo -int +; then (xwidget-embed-steal 3 ) +(defun xwidget-demo-grab () + (interactive) + (insert "0 <<< grabbed appp will appear here\n") + (xwidget-insert 1 1 3 "1" 1000 ) + (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-grab) + ) + +;ive basically found these xembeddable things: +;openvrml +;emacs +;mplayer +;surf +;uzbl + +;try the openvrml: +;/usr/libexec/openvrml-xembed 0 ~/Desktop/HelloWorld.wrl + +(defun xwidget-handler-demo-basic () + (interactive) + (message "stuff happened to xwidget %S" last-input-event) + (let* + ((xwidget-event-type (nth 1 last-input-event)) + (xwidget (nth 2 last-input-event))) + (cond ( (eq xwidget-event-type 'xembed-ready) + (let* + ((xembed-id (nth 3 last-input-event))) + (message "xembed ready event: %S xw-id:%s" xembed-id xwidget) + ;;will start emacs/uzbl in a xembed socket when its ready + (cond + (t;;(eq 3 xwidget) + (start-process "xembed" "*xembed*" "/var/lib/jenkins/jobs/emacs-xwidgets-automerge/workspace/src/emacs" "-q" "--parent-id" (number-to-string xembed-id) ) ) +;; ((eq 5 xwidget-id) +;; (start-process "xembed2" "*xembed2*" "uzbl-core" "-s" (number-to-string xembed-id) "http://www.fsf.org" ) + ) + + ) + )))) + + + +(defun xwidget-handler-demo-grab () + (interactive) + (message "stuff happened to xwidget %S" last-input-event) + (let* + ((xwidget-event-type (nth 2 last-input-event))) + (cond ( (eq xwidget-event-type 'xembed-ready) + (let* + ((xembed-id (nth 3 last-input-event))) + (message "xembed ready %S" xembed-id) + ) + )))) +(defun xwidget-dummy-hook () + (message "xwidget dummy hook called")) + +; (xwidget-resize-hack 1 200 200) + +;(xwidget-demo-basic) + +(provide 'xwidget-test-manual)