[squeak-dev] PluggableSlider? PluggableCanvas?

christoph.thiede at student.hpi.uni-potsdam.de christoph.thiede at student.hpi.uni-potsdam.de
Sat Mar 18 13:20:07 UTC 2023


Hi,

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.

Best,
Christoph

[1] http://lists.squeakfoundation.org/pipermail/squeak-dev/2022-December/222978.html

---
Sent from Squeak Inbox Talk

On 2023-03-17T17:53:34+01:00, karlramberg at gmail.com wrote:

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


More information about the Squeak-dev mailing list