Three questions... :)
Unable to parse email body. Email id is 7318
Unable to parse email body. Email id is 7318
On Tuesday 18 December 2007 6:58:08 pm Edi Weitz wrote: > (prompt-for-ordered-list '("We're Only In It For The Money" > "Shut Up 'N Play Yer Guitar" > "You Can't Do That On Stage Anymore" > "Imaginary Diseases" > "The Grand Wazoo")) The major part of your problem is that you list only Zappa albums instead of Johnny Winter albums (a life-long battle I've had with my 4-year younger brother). > and then you see a couple of rectangles which you can drag around with > the mouse until you've found the right order. Actually, your interface is quite nice (and I'm going to keep the code to steal from it), but not like anything I've seen in "standard" Windows apps. Not that I'm a Windows afficianado, but since I use mostly Linux and sometimes Windows, I tend to notice goofy details/differences like this... > On Windows, this more or less works as I wanted it to work, but I have > three open questions: > > 1. Is there (on Windows) a more idiomatic, readily available, > easy-to-use-from-CAPI way to do the same thing that I missed > somehow? The .../examples/double-list-panel.lisp code produces something that I have seen in "sorting" situtations on Windows, esp. the "multiple" and "extended" selection examples. The items-to-be-sorted appear in the left-hand panel. You select one, then click the right-arrow. The item is removed from the left-hand panel and then appears as the last item on the right-hand panel. If you want to change the order, you select a right-hand-panel item and click the left-pointing arrow, to put the item back into the "available" list. You interface is "better", IMO. But the double-list-panel is more "idiomatic" on Windows, as far as I know. > 2. If I comment out the :HORIZONTAL-SCROLL line and recompile and if I Yep. It surprised me, too, but it looks like it happens by design. Did you try specifying an :external-max-width for the pane? (In the define-interface). pt
On Tue, 18 Dec 2007 22:30:49 -0500, Paul Tarvydas <tarvydas@visualframeworksinc.com> wrote: > The major part of your problem is that you list only Zappa albums > instead of Johnny Winter albums Hehe, I was already suspecting that this could be a problem... :) > I'm going to keep the code to steal from it Feel free to do so. > The .../examples/double-list-panel.lisp code produces something that > I have seen in "sorting" situtations on Windows, esp. the "multiple" > and "extended" selection examples. > > The items-to-be-sorted appear in the left-hand panel. You select > one, then click the right-arrow. The item is removed from the > left-hand panel and then appears as the last item on the right-hand > panel. If you want to change the order, you select a > right-hand-panel item and click the left-pointing arrow, to put the > item back into the "available" list. Yes, now that you say it - I've seen that as well. But of course you have to click a lot. I've also thought about up- and down-arrows (I've seen that as well), but again this is asking the user to click a lot. > Did you try specifying an :external-max-width for the pane? Yes, I tried that, and that works. I was just surprised to see the effect I described.
Hello Edi, | 1. Is there (on Windows) a more idiomatic, readily available, | easy-to-use-from-CAPI way to do the same thing that I missed | somehow? AFAIK, the idiomatic way on Windows is to equip the dialog with a couple of buttons "Move Up" and "Move Down". But your solution looks very attractive and could be a nice augmentation! | 2. If I comment out the :HORIZONTAL-SCROLL line and recompile and if I | then drag one of the rectangles far enough to the right, the | pinboard layout and thus the whole interface gets bigger and bigger | and never shrinks back into place again. Is this expected | behaviour? (It surprised me.) As Paul has suggested, :visible-min-width nil and :visible-max-width nil partially solve the problem - you can at least resize the interface manually to the previous size. | Is there a way to force an interface to be always quadratic even if | the user resizes it? (I think I've seen something like that in apps | like Photoshop.) I would suggest attaching the following resize-callback to your pane: (defvar %in-resize-callback% nil) (defun resize-callback (pinboard x y width height) (unless %in-resize-callback% (let ((interface (capi:top-level-interface pinboard))) (multiple-value-setq (x y width height) (capi:top-level-interface-geometry interface)) (let ((%in-resize-callback% t) (side (max width height))) (capi:set-top-level-interface-geometry interface :x x :y y :width side :height side))))) Alternatively, you could specify a similar geometry-change-callback for your top-level interface provided you invoked it by means of capi:display instead of capi:display-dialog. -- Sincerely, Dmitriy Ivanov lisp.ystok.ru
Hi Edi & list, Here is what I've got for something similar. This version is based on move up & down buttons associated with a list-panel. There are also move first & last buttons to accelerate this kind of moves. It is quite powerful for sorting items quickly with not that much mouse clicks as the list-panel is of type extended-selection. You can move items even when the selection is not contigous. I'm currently using it for sorting lists of a few dozen elements (not as nice as your solution for small lists I guess). Finally, it needs iterate to run (and it's really bad looking as I have extracted it from some of my existing code). I'm running it with : CL-USER 1 > (require :iterate) CL-USER 2 > (test) Hope this helps, Cheers, Sebastien.
Is there an input-model gesture which I can use to set up a callback for the mouse wheel (so that I can use it to call a function which will zoom)? Mitch
> -----Ursprüngliche Nachricht----- > Von: owner-lisp-hug@lispworks.com > [mailto:owner-lisp-hug@lispworks.com] Im Auftrag von Mitch > Gesendet: Donnerstag, 27. Dezember 2007 03:04 > An: lisp-hug@lispworks.com > Betreff: Input model for mouse wheel > > > > Is there an input-model gesture which I can use to set up a > callback for the mouse wheel (so that I can use it to call a > function which will zoom)? > > Mitch > Hi Mitch, AFAIK there is no input model gesture. I succeeded in providing mousewheel support within a pinboard layout by using the pinboards :scroll-callback. This callback is triggered on mousewheel movements. Andreas