Patrick Rein uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-pre.239.mcz
==================== Summary ====================
Name: MorphicExtras-pre.239
Author: pre
Time: 8 June 2018, 5:01:33.701586 pm
UUID: d0190a6c-3ee5-824f-8bda-fee68d823a6a
Ancestors: MorphicExtras-pre.238
Minor refactoring of objects tool. This moves a objects tool method from Morph into the ObjectsTool. Other very minor style fixes.
=============== Diff against MorphicExtras-pre.238 ===============
Item was changed:
----- Method: BorderedMorph>>basicInitialize (in category '*MorphicExtras-initialization') -----
basicInitialize
"Do basic generic initialization of the instance variables"
+
super basicInitialize.
- ""
self borderInitialize!
Item was removed:
- ----- Method: Morph>>highlightOnlySubmorph: (in category '*MorphicExtras-accessing') -----
- highlightOnlySubmorph: aMorph
- "Distinguish only aMorph with border highlighting (2-pixel wide red); make all my other submorphs have one-pixel-black highlighting. This is a rather special-purpose and hard-coded highlighting regime, of course. Later, if someone cared to do it, we could parameterize the widths and colors via properties, or some such."
-
- self submorphs do:
- [:m |
- m == aMorph
- ifTrue: [m borderWidth: 1; borderColor: Color red. m firstSubmorph color: Color red]
- ifFalse: [m borderWidth: 1; borderColor: Color black. m firstSubmorph color: Color black]
- ].
- !
Item was added:
+ ----- Method: ObjectsTool>>buttonActiveColor (in category 'constants') -----
+ buttonActiveColor
+
+ ^ Color white!
Item was added:
+ ----- Method: ObjectsTool>>buttonColor (in category 'constants') -----
+ buttonColor
+
+ ^ Color black!
Item was added:
+ ----- Method: ObjectsTool>>highlightOnlySubmorph:in: (in category 'tabs') -----
+ highlightOnlySubmorph: aMorph in: anotherMorph
+ "Distinguish only aMorph with border highlighting (2-pixel wide red); make all my other submorphs have one-pixel-black highlighting. This is a rather special-purpose and hard-coded highlighting regime, of course. Later, if someone cared to do it, we could parameterize the widths and colors via properties, or some such."
+
+ anotherMorph submorphs do: [:m | | color |
+ color := m == aMorph ifTrue: [self buttonActiveColor] ifFalse: [self buttonColor].
+ m
+ borderWidth: 1;
+ borderColor: color.
+ m firstSubmorph color: color]
+ !
Item was changed:
----- Method: ObjectsTool>>installQuads:fromButton: (in category 'alphabetic') -----
installQuads: quads fromButton: aButton
"Install items in the bottom pane that correspond to the given set of quads, as triggered from the given button"
| aPartsBin sortedQuads oldResizing |
aPartsBin := self partsBin.
oldResizing := aPartsBin vResizing.
aPartsBin removeAllMorphs.
sortedQuads := ((PartsBin translatedQuads: quads)
select: [ :each | Smalltalk hasClassNamed: each first ])
sort: [ :a :b | a third < b third ].
aPartsBin listDirection: #leftToRight quadList: sortedQuads.
+ aButton ifNotNil: [self highlightOnlySubmorph: aButton in: self tabsPane].
- aButton ifNotNil: [self tabsPane highlightOnlySubmorph: aButton].
aPartsBin vResizing: oldResizing.
aPartsBin layoutChanged; fullBounds.
self isFlap ifFalse: [ self minimizePartsBinSize ].!
Item was changed:
----- Method: ObjectsTool>>tweakAppearanceAfterModeShift (in category 'initialization') -----
tweakAppearanceAfterModeShift
"After the receiver has been put into a given mode, make an initial selection of category, if appropriate, and highlight the mode button."
+
-
self buttonPane submorphs do:
[:aButton |
| aColor |
"aButton borderWidth: 1."
aColor := (aButton valueOfProperty: #modeSymbol) = modeSymbol
+ ifTrue: [self buttonActiveColor]
+ ifFalse: [self buttonColor].
- ifTrue: [Color red]
- ifFalse: [Color black].
aButton firstSubmorph color: aColor.
+ aButton borderColor: aColor].!
- aButton borderColor: aColor.
- ].!
Hmmm?
What about if you want to implement a separate hierarchy in a separate System Window, or multiple textures embedded in OpenGL objects?
I’m not sure how Craig Latta’s done some of his Caffeine demos, but I doubt if all those Morphs in various independent Canvases are embedded in a single WorldMorph.
L
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
-Brian Kernighan
> On Oct 3, 2017, at 06:03, Marcel Taeumel <marcel.taeumel(a)hpi.de> wrote:
>
> +1 :)
>
> And then later: Rename PasteUpMorph to WorldMorph, and keep an empty PasteUpMorph subclass around for compatibility reasons. So many ideas have been ported down to Morph class over the past years. New applications have no reason to ever use other instances of PasteUpMorph.
>
> Best,
> Marcel
>> Am 03.10.2017 14:57:55 schrieb H. Hirzel <hannes.hirzel(a)gmail.com>:
>>
>> On 10/3/17, H. Hirzel wrote:
>> > Dave
>> >
>> > your change set contains the class EtoysProject with
>> >
>> > EtoysProject selectors
>> >
>> > #(#finalEnterActions: #restoreGlobalPreferences #saveGlobalPreferences
>> > #initializeProjectPreferences #configureOnFirstEntry
>> > #finalExitActions:)
>> >
>> > For complete configuration of a EtoysProject it might be necessary to do
>> >
>> > PasteUpMorph subclass: EtoysPasteUpMorph
>> >
>> > as well. http://wiki.squeak.org/squeak/6461
>> >
>> > Then Etoys related methods may be pushed down to EtoysPasteUpMorph.
>>
>> See screen shot attached.
>>
>> > And probably an Etoys specific subclass of WorldMenu would be fine as well
>> > http://wiki.squeak.org/squeak/6461
>> >
>> >
>> > there is a test project [2] and some more information about adaptions
>> > needed because of the UI changes in the thread 'Etoys in 2017?' - UI
>> > preferences [3]. And it would be good to have Etoys methods /
>> > configuration separate [4].
>> >
>> > I suggest that you start go ahead and start implementing this while
>> > using a test Etoys project dropped onto the desktop.
>> >
>> > --Hannes
>> >
>> >
>> > [2] > You simply drop it in. E.g. download this project
>> >> http://etoys.laptop.org/src/Content/ExampleEtoys/CarAndPen.014.pr
>> >
>> > [3] Hannes Hirzel, 'Etoys in 2017?' mail, Wed, Feb 22, 2017 at 11:01 AM
>> >
>> > [4] David T. Lewis, Sep 4, 2016 at 3:34 PM
>> > "I think it would be great if both Etoys and Scratch were easily
>> > loadable and unloadable in trunk."
>> >
>> > On 10/2/17, David T. Lewis wrote:
>> >> An EtoysProject is a project that is configured for running Etoys. On
>> >> first entry to a new EtoysProject, the playground and project preferences
>> >> are initialized to provide an environment similar to that of a
>> >> traditional
>> >> standalone Etoys image.
>> >>
>> >> Certain preferences that are required for Etoys are initialized on
>> >> project
>> >> entry, overriding their global preference values while this EtoysProject
>> >> is active. On leaving the project, these preferences are restored to
>> >> their
>> >> previous values.
>> >>
>> >> "ProjectViewMorph openOn: EtoysProject new"
>> >>
>> >> Change set attached for a minimal implementation.
>> >>
>> >> Anyone with Etoys knowledge care to help? I do not know enough about
>> >> Etoys
>> >> to fill in the rest of the initialization that will be required, but it
>> >> should not be hard to do.
>> >>
>> >> Dave
>> >>
>> >>
>> >
>>
>
Patrick Rein uploaded a new version of 60Deprecated to project The Trunk:
http://source.squeak.org/trunk/60Deprecated-pre.21.mcz
==================== Summary ====================
Name: 60Deprecated-pre.21
Author: pre
Time: 8 June 2018, 5:03:30.874586 pm
UUID: d4659272-8efc-354d-bc27-dcfd6cdeccb9
Ancestors: 60Deprecated-mt.20
Deprecates a method which is very much specific for the objects tool and is not general enough to remain in Morph
=============== Diff against 60Deprecated-mt.20 ===============
Item was added:
+ ----- Method: Morph>>highlightOnlySubmorph: (in category '*60Deprecated-MorphicExtras-accessing') -----
+ highlightOnlySubmorph: aMorph
+ "Distinguish only aMorph with border highlighting (2-pixel wide red); make all my other submorphs have one-pixel-black highlighting. This is a rather special-purpose and hard-coded highlighting regime, of course. Later, if someone cared to do it, we could parameterize the widths and colors via properties, or some such."
+
+ self deprecated: 'Do not use at all anymore. This was a specialized call for the objects tool which does not work in a general way on arbitrary morphs.'.
+ self submorphs do:
+ [:m |
+ m == aMorph
+ ifTrue: [m borderWidth: 1; borderColor: Color red. m firstSubmorph color: Color red]
+ ifFalse: [m borderWidth: 1; borderColor: Color black. m firstSubmorph color: Color black]].
+ !
Patrick Rein uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-pre.1448.mcz
==================== Summary ====================
Name: Morphic-pre.1448
Author: pre
Time: 8 June 2018, 4:41:41.427586 pm
UUID: c9f1f8aa-aba3-9e4a-9f6b-afae872a2a4c
Ancestors: Morphic-kfr.1447
Adds an entry to the morph export menu to allow for easy export of postscript files. As the postscript rendering is part of MorphicExtras, I added a guard.
=============== Diff against Morphic-kfr.1447 ===============
Item was changed:
----- Method: Morph>>addExportMenuItems:hand: (in category 'menus') -----
addExportMenuItems: aMenu hand: aHandMorph
"Add export items to the menu"
aMenu ifNotNil:
[ | aSubMenu |
aSubMenu := MenuMorph new defaultTarget: self.
aSubMenu add: 'BMP file' translated action: #exportAsBMP.
aSubMenu add: 'GIF file' translated action: #exportAsGIF.
aSubMenu add: 'JPEG file' translated action: #exportAsJPEG.
aSubMenu add: 'PNG file' translated action: #exportAsPNG.
+ (self respondsTo: #exportAsEPS) ifTrue: [
+ aSubMenu add: 'EPS file' translated action: #exportAsEPS].
aMenu add: 'export...' translated subMenu: aSubMenu]
!
Hi,
The "How to contribute to Squeak" swiki at:
http://wiki.squeak.org/squeak/3279
has been updated to include specific steps extracted from Dave's post
last year. I would appreciate if regular contributors review the changes
to catch any errors.
Specifically,
* should step 2 *add* inbox repo rather than edit *trunk* to *inbox*
because step 3 refers to trunk repo?
* should I have used squeakfoundation.org url for Dave's post?
Thanks .. Subbu
Nicolas Cellier uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-nice.1033.mcz
==================== Summary ====================
Name: System-nice.1033
Author: nice
Time: 6 June 2018, 11:32:39.671798 pm
UUID: 0168c19e-6a18-4ad6-a6d8-213f48663765
Ancestors: System-ul.1032
Use the well known (x ifNil: [...]) idiom rather than the longer (x ifNotNil: [:y | y] ifNil: [...])
=============== Diff against System-ul.1032 ===============
Item was changed:
----- Method: ChangeSet class>>assuredChangeSetNamed: (in category 'services') -----
assuredChangeSetNamed: aName
"Answer a change set of the given name. If one already exists, answer that, else create a new one and answer it."
+ ^(self named: aName)
- | existing |
- ^ (existing := self named: aName)
- ifNotNil:
- [existing]
ifNil:
[self basicNewChangeSet: aName]!
Nicolas Cellier uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-nice.819.mcz
==================== Summary ====================
Name: Tools-nice.819
Author: nice
Time: 6 June 2018, 11:30:43.993178 pm
UUID: 46babe2b-7912-436f-bf9e-95cdb40717c7
Ancestors: Tools-tpr.818
Use the well known (x ifNil: [...]) idiom rather than the longer (x ifNotNil: [:y | y] ifNil: [...])
=============== Diff against Tools-tpr.818 ===============
Item was changed:
----- Method: ChangesOrganizer class>>assuredChangeSetNamed: (in category 'services') -----
assuredChangeSetNamed: aName
"Answer a change set of the given name. If one already exists, answer that, else create a new one and answer it."
+ ^(self changeSetNamed: aName)
- | existing |
- ^ (existing := self changeSetNamed: aName)
- ifNotNil:
- [existing]
ifNil:
[self basicNewChangeSet: aName]!
Item was changed:
----- Method: ProcessBrowser>>pcRange (in category 'stack list') -----
pcRange
"Answer the indices in the source code for the method corresponding to
the selected context's program counter value."
(selectedContext isNil or: [methodText isEmptyOrNil]) ifTrue:
[^ 1 to: 0].
^selectedContext debuggerMap
+ rangeForPC: (selectedContext pc ifNil: [selectedContext method endPC])
- rangeForPC: (selectedContext pc ifNotNil: [:pc| pc] ifNil: [selectedContext method endPC])
in: selectedContext method
contextIsActiveContext: stackListIndex = 1!
Does anyone know why Squeak / Etoys wouldn't work anymore on Fedora 25?
Maybe someone can help Raul.
- Bert -
---------- Forwarded message ----------
From: Raul Benitez <rbenitez(a)paraguayeduca.org>
Date: 9 May 2018 at 22:08
Subject: [SoaS] Etoys for Sugar on a Stick Fedora release 25
To: soas(a)lists.sugarlabs.org
Hi all!
I have the following configuration:
* Sugar on a Stick Fedora release 25
* Sugar 0.108
I tried installing:
Etoys-113.xo activity and Etoys-116.xo activity
Both have problems with Squeak.
My question is as follows: Will there be new Etoys updates compatible with
Sugar 0.108 and up?
If there is a possible solution, I need direction and assistance to be able
to debug and fix it myself, please.
Regards!
Raul Benitez
--
_______________________________________________
SoaS mailing list
SoaS(a)lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/soas