X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/34fed32d7a528e7a2eb284a4c7ed3ae0a2ebaf17..f669d557d2ed78a18912095334a31fb9796e4231:/gtk/gtkobject.lisp diff --git a/gtk/gtkobject.lisp b/gtk/gtkobject.lisp index 512cefd..10b8fc7 100644 --- a/gtk/gtkobject.lisp +++ b/gtk/gtkobject.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: gtkobject.lisp,v 1.34 2006-04-26 10:30:02 espen Exp $ +;; $Id: gtkobject.lisp,v 1.37 2006-08-16 12:09:03 espen Exp $ (in-package "GTK") @@ -135,7 +135,12 @@ (defmethod compute-effective-slot-definition-initargs ((class container-child-cl (call-next-method)) (call-next-method))) -(defmethod compute-slot-reader-function ((slotd effective-child-slot-definition)) +(defmethod slot-readable-p ((slotd effective-child-slot-definition)) + (declare (ignore slotd)) + t) + +(defmethod compute-slot-reader-function ((slotd effective-child-slot-definition) &optional signal-unbound-p) + (declare (ignore signal-unbound-p)) (let* ((type (slot-definition-type slotd)) (pname (slot-definition-pname slotd)) (reader (reader-function type :ref :get))) @@ -146,6 +151,10 @@ (defmethod compute-slot-reader-function ((slotd effective-child-slot-definition) (%container-child-get-property parent child pname gvalue) (funcall reader gvalue +gvalue-value-offset+)))))) +(defmethod slot-writable-p ((slotd effective-child-slot-definition)) + (declare (ignore slotd)) + t) + (defmethod compute-slot-writer-function ((slotd effective-child-slot-definition)) (let* ((type (slot-definition-type slotd)) (pname (slot-definition-pname slotd)) @@ -188,7 +197,7 @@ (defmethod validate-superclass ((class container-child-class) (super standard-cl t) -(defclass container-child () +(defclass container-child (virtual-slots-object) ((parent :initarg :parent :type container) (child :initarg :child :type widget)))