[mcclim-devel] accept-values-pane

Andy Hefner ahefner at gmail.com
Wed Apr 19 23:36:37 UTC 2006


In what way is McCLIM is missing list and option pane gadgets? I
implemented them over a year ago.

On 4/19/06, Paul Werkowski <pw at snoopy.mv.com> wrote:
> For those interested, I have a mostly portable version of accept-values-pane
> running on lispworks CLIM and today I have it semi-working on McCLIM.
> Here is the patch file I load to supply missing parts of McCLIM. It would be
> cool
> if someone could add this functionality to the code base.
>
> I plan to post my code in a few days once I figure out how to handle radio-box.
> The spec and McCLIM have radio-box :choices and :current-selection as
> toggle-button
> objects. CLIM makes things a bit easier so I want to make a wrapper around the
> button-object constraint.
>
> What's really missing in McCLIM are list-pane and option-pane gadgets.
>
> Another thing. CLIM puts with-look-and-feel-realization in the expansion of
> with-output-to-gadget. It would be good if McCLIM did as well. I don't think
> the spec forbids that.
>
> Paul
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ;;; -*- Package: clim-internals -*-
>
> (in-package :clim-internals)
>
> ;;; Add missing view classes and +xxx-view+ objects.
> (macrolet ((frob (name)
>    (let ((sym (intern (string name) :clim-internals))
>          (par (intern (concatenate 'string "+" (string name) "+")
>         :clim-internals)))
>      `(progn
>         (defclass ,sym (clim:gadget-view)())
>         (import '(,sym ,par) :clim)
>         (export '(,sym ,par) :clim)
>         (defparameter ,par (make-instance ',sym))))))
>   (frob toggle-button-view)
>   (frob push-button-view)
>   (frob radio-box-view)
>   (frob check-box-view)
>   (frob slider-view)
>   ;(frob text-field-view)
>   (frob text-editor-view)
>   (frob list-pane-view)
>   (frob option-pane-view)
>   )
>
> (import '(name-key value-key test documentation-key) :clim)
> (export '(name-key value-key test documentation-key) :clim)
>
> (defun accept-present-default
>        (type stream view default default-supplied-p present-p query-identifier)
>   (funcall-presentation-generic-function accept-present-default
>     type stream view default default-supplied-p present-p query-identifier))
>
> (defmethod pane-frame ((pane standard-encapsulating-stream))
>   (pane-frame (encapsulating-stream-stream pane)))
>
> (defmethod invoke-with-sheet-medium-bound
>   (continuation   (medium null)  (sheet standard-encapsulating-stream))
>   (invoke-with-sheet-medium-bound  continuation medium
> (encapsulating-stream-stream sheet)))
>
>
> _______________________________________________
> mcclim-devel mailing list
> mcclim-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/mcclim-devel
>



More information about the mcclim-devel mailing list