[cells-gtk-cvs] CVS update: root/cells-gtk/dialogs.lisp
Peter Denno
pdenno at common-lisp.net
Sat Feb 26 22:24:28 UTC 2005
Update of /project/cells-gtk/cvsroot/root/cells-gtk
In directory common-lisp.net:/tmp/cvs-serv7473/cells-gtk
Modified Files:
dialogs.lisp
Log Message:
New stuff to implement add a child widget to dialogs (for prompting for strings, for example). This reminds me that I don't have this in the test-gtk demo yet.
Date: Sat Feb 26 23:24:27 2005
Author: pdenno
Index: root/cells-gtk/dialogs.lisp
diff -u root/cells-gtk/dialogs.lisp:1.4 root/cells-gtk/dialogs.lisp:1.5
--- root/cells-gtk/dialogs.lisp:1.4 Thu Feb 17 21:00:13 2005
+++ root/cells-gtk/dialogs.lisp Sat Feb 26 23:24:27 2005
@@ -18,12 +18,14 @@
(in-package :cgtk)
+
(def-widget message-dialog (window)
((message :accessor message :initarg :message :initform nil)
(message-type :accessor message-type :initarg :message-type :initform :info)
(buttons-type :accessor buttons-type :initarg :buttons-type :initform (c? (if (eql (message-type self) :question)
:yes-no
- :close))))
+ :close)))
+ (content-area :accessor content-area :initarg :content-area :initform nil))
(markup)
()
:position :mouse
@@ -40,7 +42,7 @@
(:close 2)
(:cancel 3)
(:yes-no 4)
- (:ok-cancel 4))
+ (:ok-cancel 5))
(message self))))
(defmethod md-awaken :after ((self message-dialog))
@@ -53,18 +55,27 @@
(-8 :yes)
(-9 :no))))
(gtk-widget-destroy (id self))
- (gtk-object-forget (id self) self))
+ (gtk-object-forget (id self) self)
+ (with-slots (content-area) self
+ (when content-area
+ (setf (md-value self) (md-value content-area))
+ (gtk-object-forget (id content-area) content-area))))
(defun show-message (text &rest inits)
(let ((message-widget (to-be (apply #'mk-message-dialog :message text inits))))
(md-value message-widget)))
-
(def-object file-filter ()
((mime-types :accessor mime-types :initarg :mime-types :initform nil)
(patterns :accessor patterns :initarg :patterns :initform nil))
(name)
())
+
+(def-c-output content-area ((self message-dialog))
+ (when new-value
+ (to-be new-value)
+ (let ((vbox (gtk-adds-dialog-vbox (id self))))
+ (gtk-box-pack-start vbox (id new-value) nil nil 5))))
(def-c-output mime-types ((self file-filter))
(dolist (mime-type new-value)
More information about the Cells-gtk-cvs
mailing list