Hi,<br>
<br>
maybe the pluggableSlider changeset [1] is of your interest. It does not look exactly like a slider but more like a scrollbar, but it works like one. I'm already using it in a another project for a similar purpose.<br>
<br>
Best,<br>
Christoph<br>
<br>
[1] http://lists.squeakfoundation.org/pipermail/squeak-dev/2022-December/222978.html<br>
<br>
<font color="#808080">---<br>
</font><font color="#808080"><i>Sent from </i></font><font color="#808080"><i><a href="https://github.com/hpi-swa-lab/squeak-inbox-talk"><u><font color="#808080">Squeak Inbox Talk</font></u></a></i></font><br>
<br>
On 2023-03-17T17:53:34+01:00, karlramberg@gmail.com wrote:<br>
<br>
> I don't think we have any pluggable sliders or pluggable canvases<br>
> <br>
> Best,<br>
> Karl<br>
> <br>
> On Sat, Mar 11, 2023 at 4:38 PM Eduardo Ochs <eduardoochs at gmail.com> wrote:<br>
> <br>
> > Hi list,<br>
> ><br>
> > I'm trying to implement in Squeak something like this demo of sliders<br>
> > in Geogebra:<br>
> ><br>
> >   https://www.youtube.com/watch?v=Q9p-Oz8OyfY#t=4m55s<br>
> ><br>
> > note the "#t=4m55s" in the link; it should open the video in the part<br>
> > in which the presenter shows that two of the sliders control the<br>
> > coordinates of the center of the circle and the third one controls its<br>
> > radius or the circle.<br>
> ><br>
> > I was able to write a class with very stripped-down versions of these<br>
> > methods,<br>
> ><br>
> >   HelpBrowser >> #buildWith:<br>
> >   Browser >> #buildDefaultBrowserWith:<br>
> ><br>
> > in which all the subwindows were replaced by instances of "builder<br>
> > pluggableListSpec new". Its layout should be easy to change, and I<br>
> > will try to change its pluggableLists by other objects in a series of<br>
> > small steps.<br>
> ><br>
> > QUESTION: how do I replace one of its subwindows by a horizontal<br>
> > slider that is always visible and another of its subwindows by a<br>
> > canvas? Are there "PluggableSlider"s and "PluggableCanvas"es? Which<br>
> > classes use them? Pointers, please?...<br>
> ><br>
> > My code is both copied below and attached. It mentions a class "See"<br>
> > in its comments; if anyone wants to take a look at that, the<br>
> > instructions are just:<br>
> ><br>
> >   1. Download and "fileIn" this .st file:<br>
> ><br>
> >      http://anggtwu.net/SQUEAK/Category-Edrx.st<br>
> >      http://anggtwu.net/SQUEAK/Category-Edrx.st.html<br>
> ><br>
> >   2. Run "See see".<br>
> ><br>
> > Thanks in advance!<br>
> >   Eduardo Ochs<br>
> >   http://anggtwu.net/eev-squeak.html<br>
> ><br>
> > Here is the code:<br>
> > --snip--snip--<br>
> ><br>
> > 'From Squeak6.0 of 23 January 2023 [latest update: #22121] on 11 March<br>
> > 2023 at 12:10:28 pm'!<br>
> > Model subclass: #TestWindowSpec<br>
> >         instanceVariableNames: ''<br>
> >         classVariableNames: ''<br>
> >         poolDictionaries: ''<br>
> >         category: 'Category-Edrx'!<br>
> > !TestWindowSpec commentStamp: 'Edrx 3/11/2023 02:09' prior: 0!<br>
> > Try: See edrxGuide: #windowSpecs.!<br>
> ><br>
> ><br>
> > !TestWindowSpec methodsFor: 'as yet unclassified' stamp: 'Edrx 3/11/2023<br>
> > 03:10'!<br>
> > buildCodePaneWith: builder<br>
> >         | listSpec |<br>
> >         listSpec := builder pluggableListSpec new.<br>
> >         ^ listSpec.<br>
> > ! !<br>
> ><br>
> > !TestWindowSpec methodsFor: 'as yet unclassified' stamp: 'Edrx 3/11/2023<br>
> > 03:10'!<br>
> > buildMessageCategoryListWith: builder<br>
> >         | listSpec |<br>
> >         listSpec := builder pluggableListSpec new.<br>
> >         ^ listSpec.<br>
> > ! !<br>
> ><br>
> > !TestWindowSpec methodsFor: 'as yet unclassified' stamp: 'Edrx 3/11/2023<br>
> > 03:10'!<br>
> > buildMessageListWith: builder<br>
> >         | listSpec |<br>
> >         listSpec := builder pluggableListSpec new.<br>
> >         ^ listSpec.<br>
> > ! !<br>
> ><br>
> > !TestWindowSpec methodsFor: 'as yet unclassified' stamp: 'Edrx 3/11/2023<br>
> > 03:10'!<br>
> > buildSystemCategoryListWith: builder<br>
> >         | listSpec |<br>
> >         listSpec := builder pluggableListSpec new.<br>
> >         ^ listSpec.<br>
> > ! !<br>
> ><br>
> > !TestWindowSpec methodsFor: 'as yet unclassified' stamp: 'Edrx 3/11/2023<br>
> > 12:10'!<br>
> > buildWith: builder<br>
> >   "See:<br>
> >      See edrxGuide: #windowSpecs.<br>
> >      See cm: (HelpBrowser >> #buildWith:).<br>
> >      See cm: (Browser >> #buildDefaultBrowserWith:).<br>
> >    Tests:<br>
> >      See haltAt: #buildBrowser.<br>
> >      See see.<br>
> ><br>
> >      self halt.<br>
> >      ToolBuilder open: (TestWindowSpec new).<br>
> >   "<br>
> >         | max windowSpec |<br>
> >         max := 0.42.<br>
> >         windowSpec := self buildWindowWith: builder specs: {<br>
> >                 (0 at 0 corner: 0.25 at max) -> [self<br>
> > buildSystemCategoryListWith: builder].<br>
> >                 (0.5 at 0 corner: 0.75 at max) -> [self<br>
> > buildMessageCategoryListWith: builder].<br>
> >                 (0.75 at 0 corner: 1 at max) -> [self buildMessageListWith:<br>
> > builder].<br>
> >                 (0 at max corner: 1 at 1) -> [self buildCodePaneWith: builder].<br>
> >         }.<br>
> >         windowSpec defaultFocus: #systemCategoryList.<br>
> ><br>
> >         ^builder build: windowSpec<br>
> > ! !<br>
> ><br>
> ><br>
> ><br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20230317/de0f0972/attachment.html><br>
> <br>