File: ttt.l

package info (click to toggle)
euslisp 9.32%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 55,268 kB
  • sloc: ansic: 41,693; lisp: 3,339; makefile: 286; sh: 238; asm: 138; python: 53
file content (90 lines) | stat: -rw-r--r-- 3,080 bytes parent folder | download | duplicates (3)
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
(in-package "X")

(defclass windowframe :super xwindow
	 :slots (panelw canvasw textw texts menuw))

(defmethod windowframe
 (:create (&rest args)
    (send-super* :create args)
    (setq panelw (instance* panel :create
			:parent self :x 0 :y 0
			:width 512 :height 100
    			:item-width 80 :item-height 30
			:font font-lucidasans-bold-12 args))
    (setq canvasw (instance canvas :create :background 0
			:parent self
			:x 0 :y 100
			:width 512 :height 512))
;;  textwindow
    (setq textw (instance ScrollTextWindow :create
			:notify self
			:background 0
			:parent self
			:x 0 :y 620
			:font font-courb12
			:width 100 :height 125
			:show-cursor nil
			:scroll-bar t
			:horizontal-scroll-bar t))
    (send textw :display-strings (directory))
    (send textw :echo t)
    (setq texts (make-text-window-stream textw))
;;
    (send panelw :create-item button-item "scroll-down" self :scroll-down)
    (send panelw :create-item button-item "scroll-up" self :scroll-up
			:background *lightblue2*)
    (send panelw :create-item button-item "refresh" self :refresh)
    (send panelw :create-item button-item "line" self :linex)
    (send panelw :create-item button-item "ez" self :ez)
    (send panelw :create-item button-item "quit" self :quit)
#|
    (send panelw :create-item joystick-item "joy" self :quit)
|#
    (send panelw :create-item text-item  "file: " self :file
			:font font-courb12)
    (send panelw :create-item slider-item "slider" self nil
		:min-label "0.0" :max-label "1.0"
		:font font-courb12)
    (send panelw :create-item choice-item "choice" self nil
		:choices '("  0  " "  1  " " abort ")
		:font font-courb12)
    (setq menuw (instance menu-panel :create :font font-courb14))
    (send panelw :create-item menu-button-item "clear" nil nil :menu menuw)
    (send menuw  :create-item button-item "text" self :clear-text)
    (send menuw  :create-item button-item "canvas" self :clear-canvas)
    (send menuw  :create-item button-item "panel" self :clear-all)
    (send menuw  :create-item button-item "all" self :clear-all)
    self)
  )

(defmethod windowframe
 (:quit (event) (throw  :window-main-loop t))
 (:ez (&rest a) (ez))
 (:clear-canvas (event) (send canvasw :clear))
 (:clear-text (event) (send textw :clear))
 (:nop (event) (print event))
 (:hex-dump (item)
    (let ((w (- (aref (canvas-bottomright canvasw) 0)
		(aref (canvas-topleft canvasw) 0)) )
	  (h (- (aref (canvas-bottomright canvasw) 1)
		(aref (canvas-topleft canvasw) 1)) ) )
      (dump-string (make-foreign-string 8192 256) texts)) 
 )
 (:linex (item)
    (send canvasw :draw-line (canvas-bottomright canvasw)
			     (canvas-topleft canvasw)))
 (:scroll-up (event) (send textw :scroll 1))
 (:scroll-down (event) (send textw :scroll -1))
 (:refresh (event) (send textw :refresh))
 )

(setq frm (instance windowframe :create :width 512 :height 800))
(setq vv (instance textviewpanel :create "Xdecl.l"))
(setq jj (instance joystick-item :create "joy" nil nil :return t))
;(setq ff (instance fileopendialog :create :background "#f8e8d0"))
(xflush)


;(window-main-loop)