mikel evins | 1 Dec 2010 20:48
Gravatar

Re: objective-c bridge question


On Dec 1, 2010, at 9:49 AM, mikel evins wrote:
> 
> On Nov 30, 2010, at 9:35 PM, mikel evins wrote:
> 
>> Next issue: does SCROLL work with multi-column-list-panel? It appears not to in my copy of Lispworks
5.1. At least, every combination of arguments I've tried yields an error message complaining that
CAPI-LIBRARY:REPRESENTATION-SCROLL doesn't have a method for that.
> 
> 
> Woops! Read the manual, mikel. MULTI-COLUMN-LIST-PANEL is not a subclass of OUTPUT-PANE or LAYOUT.
> 
> Back to the drawing board.

I take it all back. 

MULTI-COLUMN-LIST-PANEL is a subclass of LIST-PANEL. The CAPI ref at:

  http://www.lispworks.com/documentation/lw51/CAPRM/html/capiref-194.htm#pgfId-899047 

says this:

"To scroll a list-panel , call scroll with scroll-operation :move ."

The page for SCROLL gives this example of the API:

(capi:scroll pane :pan :move (list x y))

Okay, so suppose I have this list-panel on Mac OS X:

#<LIST-PANEL [43191 items] 22038BC3> is a LIST-PANEL

And I call SCROLL like so, following the example from the docs:

(apply-in-pane-process $list-pane 'capi:scroll $list-pane :pan :move (list 0 100))

What I see is this:

No applicable methods for #<funcallable 20D343DA> with args
(#<CAPI-COCOA-LIBRARY::LIST-PANEL-REPRESENTATION for #<CAPI:LIST-PANEL [43191 items] 22038BC3> 22038F2F>
                                                             :PAN
                                                             :MOVE
                                                             (0
                                                              100))
   [Condition of type SIMPLE-ERROR]

That definitely looks like behavior that varies from what the documentation predicts. I've tried
initializing the pane in question with various combinations of values for :vertical-scroll and
:horizontal-scroll; no dice. Is it a bug? Is there a known workaround? (There's always the option of
writing my own pane, of course...)

I know, I know; I should upgrade to 6.0. Remind me again after I get this app shipped.

Anyone ever succeed in programmatically scrolling a list-panel or a multi-column-list-panel? If so, can
I see a code snippet that accomplishes it? Thanks for your patience.

--me


Gmane