repos
/
kde.examples
/ annotate_shade
summary
|
shortlog
|
log
|
tree
|
commit
|
commitdiff
|
headdiff
|
annotate
|
headblob
|
headfilediff
|
filehistory
normal
|
plain
|
shade
|
zebra
initial import
Annotate for file src/mandelbrot/mandelbrot.lisp
2009-04-02 tobias
1
(in-package :kde.examples)
22:16:06 '
2
'
3
(declaim (optimize (debug 3)))
'
4
'
5
(defun make-aboutdata ()
'
6
(let ((app-name (make-instance 'qt:byte-array :args '("kmandelbrot")))
'
7
(catalog-name (make-instance 'qt:byte-array))
'
8
(program-name (kde:ki18n "KMandelbrot"))
'
9
(version (make-instance 'qt:byte-array :args '("0.0.1")))
'
10
(description (kde:ki18n "KDE Mandelbrot program."))
'
11
(copyright (kde:ki18n "Copyright (c) 2009 Tobias Rautenkranz"))
'
12
(text (kde:ki18n "TODO"))
'
13
(homepage (make-instance 'qt:byte-array
'
14
:args '("http://tobias.rautenkranz.ch")))
'
15
(email (make-instance 'qt:byte-array
'
16
:args '("bugs@tobias.rautenkranz.ch"))))
'
17
(let ((aboutdata
'
18
(make-instance 'kde:about-data :args (list
'
19
app-name catalog-name program-name
'
20
version description
'
21
kde:about-data.+license-lgpl-v2+
'
22
copyright text homepage email))))
'
23
(cxx:add-author aboutdata
'
24
(kde:ki18n "Tobias Rautenkranz")
'
25
(make-instance 'kde:localized-string)
'
26
(make-instance 'qt:byte-array :args '("tobias@rautenkranz.ch")))
'
27
aboutdata)))
'
28
'
29
(defun mandelbrot ()
'
30
(kde:with-app (make-aboutdata)
'
31
(let* ((window (make-instance 'kde:xml-gui-window))
'
32
(mandelbrot (make-instance 'mandelbrotwidget))
'
33
(resource-dir (directory-namestring
'
34
(mb.sysdef:component-pathname
'
35
(mb.sysdef:find-component :kde.examples "src")))))
'
36
'
37
(cxx:add-resource-dir (kde:global.dirs)
'
38
"icon" resource-dir)
'
39
(cxx:add-resource-dir (kde:global.dirs)
'
40
"apps" resource-dir)
'
41
(cxx:quit (find-class 'kde:standard-action)
'
42
window (qt:qslot "close()")
'
43
(cxx:action-collection window))
'
44
'
45
(kde:make-standard-action kde:standard-action.+redisplay+
'
46
(cxx:action-collection window)
'
47
#'(lambda () (zoom mandelbrot 1d0)))
'
48
'
49
(kde:make-standard-action kde:standard-action.+zoom-in+
'
50
(cxx:action-collection window)
'
51
#'(lambda () (zoom mandelbrot 0.5d0)))
'
52
'
53
(kde:make-standard-action kde:standard-action.+zoom-out+
'
54
(cxx:action-collection window)
'
55
#'(lambda () (zoom mandelbrot 2d0)))
'
56
'
57
(cxx:set-central-widget window mandelbrot)
'
58
(cxx:set-focus mandelbrot)
'
59
(setup-slot mandelbrot)
'
60
'
61
(cxx:add-resource-dir (kde:global.dirs)
'
62
"data" resource-dir)
'
63
(cxx:setup-gui window)
'
64
'
65
(cxx:show window)
'
66
(qt:exec))))