[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
|