Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 3 participants
- 144622 messages
Re: [Pharo-dev] Stopping Zinc
by Sven Van Caekenberghe
Hi Sebastian,
CC-ing to the mailing list because this is generally useful.
On 28 Nov 2013, at 14:11, Sebastian Sastre <sebastian(a)flowingconcept.com> wrote:
> Hi Sven,
>
> how are you? all good over there?
>
> quick question:
>
> should this be enough to stop Zinc?
>
> ZnServer managedServers do:[:e| e stop].
>
> ZnServer default ifNotNil:[
> ZnServer default delegate stop].
>
> ZnServer stopDefault.
>
> I ask because after using it for a while the image still have processes ZnManagingMultiThreadedServer related
>
> Do you have some kind of best practice to shut it down?
>
> sebastian
>
> o/
>
> PS: The typical case is that you are developing and you make some changes and want to save the image clean (without anything but the default processes)
>
> Now I'm manually terminating some after stopping all (using that code up there) because if I don't do that I have ~50% chances to save an image that will open absolutely frozen (forcing me to go back one commit and reload some packages)
Once you get started with Zinc there is no stopping it ;-)
The default server (#startDefaultOn: and #defaultOn:) gets registered automatically. Registered servers get stopped on image shutdown and get restarted on image startup. There can only be one default server.
Servers created otherwise (#on: #startOn:) do not get registered automatically. You have to do that explicitly using #register. Then theyâll get the behaviour described above.
The default server class is ZnManagingMultiThreadedServer which will close its open connections when stopping. However, the HTTP worker processes (one per open connection) do not get terminated explicitly. This will happen when their main loop notices the connection is gone (by receiving an error, typically a ConnectionTimedOut or PrimitiveFailure on reading the next incoming request), after which they will clean up and terminate naturally.
This is the theory, there are some platform differences (Mac, Windows, Linux). On Mac I never have trouble with managed server hanging in my development image, but YMMV.
Now, my best practice advice for deployment is to use cleanly built images (very easy to do using the ZeroConf âconfig' handler that loads your Metacello Configuration) and then start your servers in your startup script (where you can do all other configurations, like setting ports, username/passwords, other hosts). Then use some monitoring tool like monit to check on the server(s) and kill/restart when needed.
HTH,
Sven
PS: The following introduction article explains the deploy mechanism that I prefer (in simple terms): http://zn.stfx.eu/zn/build-and-deploy-1st-webapp/
Nov. 28, 2013
Re: [Pharo-dev] [Review needed] fix for Pharo2 "text highlighting incorrect"
by Goubier Thierry
Le 27/11/2013 20:36, Stéphane Ducasse a écrit :
>
>> That's me
>>
>> the solution provided doesn't work very well either.
>>
>> I would need to spend time on the code used to highlight the selection and reuse it for highlights, but I was on a tight schedule for a demo so I decided to use the selection instead (and gave up for now on refactoring that code with something that clearly knows how to bounds a subset of the text).
>>
>> I'll postpone it for now. If 3.0 gets a new text editor, then that code will be different.
>
> It will not.
> Igor got stuck and he is sick and depressed right now.
That's sad; I was seriously interested in seeing what Igor has managed
to do.
I'll spend some time on this issue and set the issues right for 2.0 and
3.0; many good things can be done with that highlighting working.
Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
Nov. 28, 2013
Re: [Pharo-dev] Coordinates problem with Athens and Morphic while coding Hyperion
by Igor Stasenko
On 28 November 2013 13:52, kilon alios <kilon.alios(a)gmail.com> wrote:
> thats all I got I am afraid right now. A simple editing of a straight
> line, but I am learning athens, roassal, morphic so it takes time. Its my
> first with everything and my very first project with pharo. I am not aiming
> for something super sophisticated, bezier lines, gradients, bitmaps etc
> simple stuff but I am having so much fun with this project I wont give up
> until I have it finished. :)
>
>
btw, if you want, i got somewhere code for Bezier curve editing (in
morphic)..
it is not fully working, but at least something you can look at:
- if i remember you can add control points and move them around.
>
> On Thu, Nov 28, 2013 at 2:30 PM, Alexandre Bergel <alexandre.bergel(a)me.com
> > wrote:
>
>> Do you have more screenshots of Hyperion?
>>
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>> On Nov 28, 2013, at 7:49 AM, kilon alios <kilon.alios(a)gmail.com> wrote:
>>
>> > Ok I have verified and indeed its not an Athens problem. My bad. The
>> position of the morph is reported at 5@30 and the not the correct 0(a)0.So it looks like Morphic for some strange reason it offsets it.
>> >
>> > I knew about translateBy but I did not know about restoreAfter. so
>> thank you.
>> >
>> > I prefer my version of the code because it makes clearer what I am
>> trying to do. However ideally because I am drawing a box inside another box
>> the best way would be to follow your approach and scale the second box
>> using one shape instead of two I am currently doing. But thats the price I
>> am paying from not knowing exactly how to do this.
>> >
>> > Also trying to painstakingly find the correct transform and scale
>> values requires A LOT of testing . This is why I find a vector editor for
>> Athens and Pharo absolutely essential. No coding can beat designing via
>> mouse.
>> >
>> > On the other hand I could use Inkscape and import the svg to Athens ,
>> which what I am about to research. Designing all GUI elements by code is a
>> very bad idea, but no less a learning experience.
>> >
>> > I will most probably move to Roassal too.
>> >
>> > As always thanks for the help.
>> >
>> >
>> > On Thu, Nov 28, 2013 at 12:29 PM, Igor Stasenko <siguctua(a)gmail.com>
>> wrote:
>> > well, by default the athens canvas coordinate system matches morphic
>> one..
>> > but you know, it always hard to be sure, especially if you perform any
>> local coordinate transformations before that morph has any chance to draw
>> itself..
>> >
>> > You can figure this out easily: draw something at 0@0 and see where it
>> is.
>> > then draw something at morph's x@y position and see it too.
>> >
>> > btw, you know you don't have to create same paths over and over.
>> > you can easily put static parts out of regularly (and costly) evaluated
>> code:
>> >
>> > shape := canvas cacheAt: self "morph" ifAbsentPut: [
>> > aCanvas createPath: [:path |
>> > path relative.
>> > " no move-to here *** path moveTo: ((self position x )+5)@(self
>> position y);"
>> > lineTo: 20@0;
>> > cwArcTo: 5@5 angle: 45;
>> > lineTo: 0@20;
>> > cwArcTo: (-5)@5 angle: 45;
>> > lineTo: (-20)@0;
>> > cwArcTo: (-5)@(-5) angle: 45;
>> > lineTo: 0@(-20);
>> > cwArcTo: 5@(-5) angle: 45.
>> > ].
>> > ].
>> >
>> > "and here we're using coordinate transform to translate origin point to
>> > given position, so it will be the starting point (0@0) of our shape"
>> >
>> > canvas pathTransform restoreAfter: [
>> > canvas pathTransform translateBy:((self position x )+5)@(self
>> position y).
>> > canvas drawShape: shape.
>> > ]
>> >
>> > by analogy you can cache all static pieces, just do something:
>> >
>> > shapes := canvas cacheAt: self ifAbsentPut: [ self
>> constructStaticShapesOn: aCanvas ]
>> >
>> > where #constructStaticShapesOn: must answer an array of them.
>> >
>> >
>> > On 28 November 2013 11:12, kilon alios <kilon.alios(a)gmail.com> wrote:
>> > wow you guys are fast at replying :)
>> >
>> > I did
>> >
>> >
>> > self changeProportionalLayout.
>> > editButton := HypEditButton new .
>> > editButton position: 0@0.
>> > self addMorph: editButton fullFrame: #(0 0 0 0 0 0 100 100).
>> >
>> > I am afraid Igor I still see no change with your code.
>> >
>> > I like to note here, that when I first created the editButton as morph
>> , it indeed placed it in correct place. A 0@0 placed it in top left
>> corner as expected. But I did overide its DrawOn: with an empty method and
>> used my own method to render it with Athens. So it looks like the problem
>> is Athens related and not Morphic related or maybe a disagreement between
>> Morphic and Athens.
>> >
>> > just for the record here is the code I use to render the HypEditButton
>> morph
>> >
>> > render:aCanvas
>> > |shape1 shape2 shape3 editButtonColor |
>> > shape1 := aCanvas createPath: [:path |
>> > path relative .
>> >
>> > path moveTo: ((self position x )+5)@(self position y);
>> > lineTo: 20@0;
>> > cwArcTo: 5@5 angle: 45;
>> > lineTo: 0@20;
>> > cwArcTo: (-5)@5 angle: 45;
>> > lineTo: (-20)@0;
>> > cwArcTo: (-5)@(-5) angle: 45;
>> > lineTo: 0@(-20);
>> > cwArcTo: 5@(-5) angle: 45.
>> > ].
>> >
>> > shape2 := aCanvas createPath: [:path |
>> > path relative .
>> >
>> > path moveTo: ((self position x +7))@((self position y
>> +3));
>> > lineTo: 18@0;
>> > cwArcTo: 2@2 angle: 45;
>> > lineTo: 0@20;
>> > cwArcTo: (-2)@2 angle: 45;
>> > lineTo: (-20)@0;
>> > cwArcTo: (-2)@(-2) angle: 45;
>> > lineTo: 0@(-20);
>> > cwArcTo: 4@(-2) angle: 45.
>> > ].
>> > shape3 := aCanvas createPath: [:path |
>> > path relative .
>> >
>> > path moveTo: ((self position x +15))@((self position y
>> +10));
>> >
>> > cwArcTo: 5@5 angle: 90;
>> > cwArcTo: (-5)@5 angle: 90;
>> > cwArcTo: (-5)@(-5) angle: 90;
>> > cwArcTo: 5@(-5) angle: 90.
>> >
>> >
>> > ].
>> >
>> > ( editMode = true) ifTrue: [ editButtonColor := Color green] ifFalse: [
>> editButtonColor := Color red ].
>> > (aCanvas setStrokePaint: editButtonColor) width: 1.
>> >
>> > aCanvas drawShape: shape1 .
>> > aCanvas drawShape: shape2.
>> > aCanvas setPaint: (editButtonColor alpha: 0.3 ).
>> > aCanvas drawShape: shape3.
>> >
>> >
>> >
>> >
>> >
>> >
>> > On Thu, Nov 28, 2013 at 12:03 PM, Igor Stasenko <siguctua(a)gmail.com>
>> wrote:
>> >
>> >
>> >
>> > On 28 November 2013 10:59, kilon alios <kilon.alios(a)gmail.com> wrote:
>> > just tried it, I see no change
>> >
>> > try:
>> > self changeProportionalLayout
>> >
>> > editButton := HypEditButton new .
>> > self addMorph: editButton fullFrame: #(0 0 0 0 0 0 100 100).
>> >
>> >
>> > On Thu, Nov 28, 2013 at 11:54 AM, Benjamin <
>> Benjamin.VanRyseghem.Pharo(a)gmail.com> wrote:
>> > Can you try to do something like
>> >
>> > self changeProportionalLayout
>> > before adding the morph ?
>> >
>> > Ben
>> >
>> > On 28 Nov 2013, at 10:51, kilon alios <kilon.alios(a)gmail.com> wrote:
>> >
>> >> So I have found some strange problems with my vector editor , Hyperion.
>> >>
>> >> Hyperion is a Morph openInWindow. Code can be found in the class side
>> of Hyperion>>open.
>> >>
>> >> The coordinate system when detecting events (mouseOver, mouseUp and
>> mouseDown events of the Hyperion instance) looks like it takes to account
>> also beyond the morph as coordinates as a result events happening at the
>> top right edge of the morph where Hyperion is rendered is 6@30( which is
>> the size of the window's title bar plus its borders). Thats ok, I have
>> taken these offsets to account when computing the position of the mouse. I
>> guess it uses the global coordinated and not the local coordinates of the
>> morph.
>> >>
>> >> I am adding a button to control the edit mode of a line, when in edit
>> mode handles for line's control points are shown and those handles can be
>> dragged around to control the shape of the line , when off edit mode, the
>> line will be able to be drag around (not implemented yet).
>> >>
>> >> My problem is that when I add that button as morph to the existing
>> morph of Hyperion in 0@0 , it actually appears in 0@30 in local
>> coordinated of the Hyperion moprh which in global coordinates it 6@60 (
>> 0@0 + 6@30 + 0@30 = 6@60). Why is that ?
>> >>
>> >> I have no clue why I am getting an offset of 0@30 in local
>> coordinates of the Hyperion morph.
>> >>
>> >> here is the picture showing a) how it looks like b) the code that set
>> the position c) transcript showing mouse coordinates when clicked in the
>> top left corner of Hyperion morph
>> >> Hyperion coordinates problem.JPG
>> >>
>> >> if anyone wants to try the code himself the repo is here
>> >>
>> >> http://www.smalltalkhub.com/#!/~kilon/Hyperion
>> >>
>> >> To sum up, to place that button on top left, I will have to position
>> it 0@(-30) which for me makes no sense at all.
>> >>
>> >> Please note that everything is rendered with Athens.
>> >>
>> >> Maybe I have messed up the code myself somewhere but I have looked it
>> again and again I cant find a problem with my code.
>> >
>> >
>> >
>> >
>> >
>> > --
>> > Best regards,
>> > Igor Stasenko.
>> >
>> >
>> >
>> >
>> > --
>> > Best regards,
>> > Igor Stasenko.
>> >
>>
>>
>>
>
--
Best regards,
Igor Stasenko.
Nov. 28, 2013
Re: [Pharo-dev] Editing Fogbugz welcome page
by Marcus Denker
On 28 Nov 2013, at 15:13, kilon alios <kilon.alios(a)gmail.com> wrote:
> I can tell you that the gimp wiki had such issue with loads of spam. Now its open only for people who ask for an account there. But you can try it and if it fails then you could give access only to people asking here in the list.
>
>
Yes, the time of open wikis is over for a long time⦠there just so many strange people.
> On Thu, Nov 28, 2013 at 3:41 PM, Benjamin <Benjamin.VanRyseghem.Pharo(a)gmail.com> wrote:
> Indeed :)
>
> Feel free to set it back then if you want :)
>
> Ben
>
> On 28 Nov 2013, at 14:12, Camille Teruel <camille.teruel(a)gmail.com> wrote:
>
>>
>> On 28 nov. 2013, at 13:47, Benjamin <Benjamin.VanRyseghem.Pharo(a)gmail.com> wrote:
>>
>>> I do not know if this is really a good thing to allow anyone to edit the pages,
>>> moreover when one can have an account without any check :S
>>
>> I don't believe that malicious contributors are watching out for messing around in wiki pages.
>> If ever there is one, we'll know who he is and we'll be able to revert the page.
>> IMO people should be able to collaborate, that's why wikis exist after all.
>>
>>> I added Ben as an editor, and I think I will revert the write access grant to everyone
>>
>>> Ben
>>>
>>> On 28 Nov 2013, at 13:28, Camille Teruel <camille.teruel(a)gmail.com> wrote:
>>>
>>>> I changed permissions on this wiki. Does it solves the problem?
>>>>
>>>> On 28 nov. 2013, at 13:16, btc(a)openinworld.com wrote:
>>>>
>>>>> I'd like to add some stuff to the Fogbugz Welcome page [1], but I can't work out how to do it. Is a permissions issue maybe hiding something from my page (see attached) ?
>>>>> [1] https://pharo.fogbugz.com/default.asp?W41
>>>>>
>>>>> cheers -ben
>>>>> <pharo.fogbugz.Wiki.png>
>>>>
>>>>
>>>
>>
>
>
Nov. 28, 2013
Re: [Pharo-dev] Editing Fogbugz welcome page
by kilon alios
I can tell you that the gimp wiki had such issue with loads of spam. Now
its open only for people who ask for an account there. But you can try it
and if it fails then you could give access only to people asking here in
the list.
On Thu, Nov 28, 2013 at 3:41 PM, Benjamin <
Benjamin.VanRyseghem.Pharo(a)gmail.com> wrote:
> Indeed :)
>
> Feel free to set it back then if you want :)
>
> Ben
>
> On 28 Nov 2013, at 14:12, Camille Teruel <camille.teruel(a)gmail.com> wrote:
>
>
> On 28 nov. 2013, at 13:47, Benjamin <Benjamin.VanRyseghem.Pharo(a)gmail.com>
> wrote:
>
> I do not know if this is really a good thing to allow anyone to edit the
> pages,
> moreover when one can have an account without any check :S
>
>
> I don't believe that malicious contributors are watching out for messing
> around in wiki pages.
> If ever there is one, we'll know who he is and we'll be able to revert the
> page.
> IMO people should be able to collaborate, that's why wikis exist after all.
>
>
> I added Ben as an editor, and I think I will revert the write access grant
> to everyone
>
> Ben
>
> On 28 Nov 2013, at 13:28, Camille Teruel <camille.teruel(a)gmail.com> wrote:
>
> I changed permissions on this wiki. Does it solves the problem?
>
> On 28 nov. 2013, at 13:16, btc(a)openinworld.com wrote:
>
> I'd like to add some stuff to the Fogbugz Welcome page [1], but I can't
> work out how to do it. Is a permissions issue maybe hiding something from
> my page (see attached) ?
> [1] https://pharo.fogbugz.com/default.asp?W41
>
> cheers -ben
> <pharo.fogbugz.Wiki.png>
>
>
>
>
>
>
>
Nov. 28, 2013
Re: [Pharo-dev] Editing Fogbugz welcome page
by Benjamin
Indeed :)
Feel free to set it back then if you want :)
Ben
On 28 Nov 2013, at 14:12, Camille Teruel <camille.teruel(a)gmail.com> wrote:
>
> On 28 nov. 2013, at 13:47, Benjamin <Benjamin.VanRyseghem.Pharo(a)gmail.com> wrote:
>
>> I do not know if this is really a good thing to allow anyone to edit the pages,
>> moreover when one can have an account without any check :S
>
> I don't believe that malicious contributors are watching out for messing around in wiki pages.
> If ever there is one, we'll know who he is and we'll be able to revert the page.
> IMO people should be able to collaborate, that's why wikis exist after all.
>
>> I added Ben as an editor, and I think I will revert the write access grant to everyone
>
>> Ben
>>
>> On 28 Nov 2013, at 13:28, Camille Teruel <camille.teruel(a)gmail.com> wrote:
>>
>>> I changed permissions on this wiki. Does it solves the problem?
>>>
>>> On 28 nov. 2013, at 13:16, btc(a)openinworld.com wrote:
>>>
>>>> I'd like to add some stuff to the Fogbugz Welcome page [1], but I can't work out how to do it. Is a permissions issue maybe hiding something from my page (see attached) ?
>>>> [1] https://pharo.fogbugz.com/default.asp?W41
>>>>
>>>> cheers -ben
>>>> <pharo.fogbugz.Wiki.png>
>>>
>>>
>>
>
Nov. 28, 2013
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/30604
Home: https://github.com/pharo-project/pharo-core
Nov. 28, 2013
[pharo-project/pharo-core] 0e2fd0: 30604
by GitHub
Branch: refs/heads/3.0
Home: https://github.com/pharo-project/pharo-core
Commit: 0e2fd0da59a299e2cc100c8b2b4a0563211974bc
https://github.com/pharo-project/pharo-core/commit/0e2fd0da59a299e2cc100c8b…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2013-11-28 (Thu, 28 Nov 2013)
Changed paths:
A MonticelloGUI.package/MCSaveVersionDialog.class/class/history/addAsLastLogMessage_.st
A MonticelloGUI.package/MCSaveVersionDialog.class/class/history/maxLogMessageHistory.st
A MonticelloGUI.package/MCSaveVersionDialog.class/class/history/previousMessages.st
R MonticelloGUI.package/MCSaveVersionDialog.class/class/initialization/previousMessages.st
M MonticelloGUI.package/MCSaveVersionDialog.class/instance/log message history/addAsLastLogMessage_.st
M MonticelloGUI.package/MCSaveVersionDialog.class/instance/log message history/maxLogMessageHistory.st
A Morphic-Base.package/extension/Object/instance/wantsVisualFeedback.st
M Polymorph-Widgets.package/UITheme.class/instance/border-styles/drawTextAdornmentsFor_on_.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - scripts/script259.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - updates/update30604.st
M ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
A Spec-Core.package/DialogWindowModel.class/instance/protocol/triggerCancelAction.st
M Spec-Core.package/OkCancelToolbar.class/instance/initialization/initializePresenter.st
A Spec-Core.package/OkCancelToolbar.class/instance/protocol/performCancelAction.st
A Spec-Core.package/OkCancelToolbar.class/instance/protocol/triggerCancelAction.st
A Spec-Core.package/SpecDialogWindow.class/instance/actions/escapePressed.st
M Spec-Core.package/TextInputFieldModel.class/definition.st
M Spec-Core.package/TextInputFieldModel.class/instance/initialization/initialize.st
R Spec-Core.package/TextInputFieldModel.class/instance/protocol-events/whenAutoAcceptChanged_.st
R Spec-Core.package/TextInputFieldModel.class/instance/protocol/autoAccept.st
R Spec-Core.package/TextInputFieldModel.class/instance/protocol/autoAccept_.st
M Spec-Core.package/TextModel.class/definition.st
R Spec-Core.package/TextModel.class/instance/as yet unclassified /selectAll.st
M Spec-Core.package/TextModel.class/instance/initialization/initialize.st
M Spec-Core.package/TextModel.class/instance/initialization/registerEvents.st
A Spec-Core.package/TextModel.class/instance/protocol-events/whenAutoAcceptChanged_.st
A Spec-Core.package/TextModel.class/instance/protocol/askBeforeDiscardingEdits.st
A Spec-Core.package/TextModel.class/instance/protocol/askBeforeDiscardingEdits_.st
A Spec-Core.package/TextModel.class/instance/protocol/autoAccept.st
A Spec-Core.package/TextModel.class/instance/protocol/autoAccept_.st
A Spec-Core.package/TextModel.class/instance/protocol/selectAll.st
A Spec-Core.package/TextModel.class/instance/protocol/wantsVisualFeedback.st
A Spec-Core.package/TextModel.class/instance/protocol/wantsVisualFeedback_.st
A Spec-Core.package/WindowModel.class/instance/protocol/triggerCancelAction.st
A Spec-MorphicAdapters.package/AbstractMorphicAdapter.class/instance/spec protocol/changed.st
A Spec-MorphicAdapters.package/MorphicDialogWindowAdapter.class/instance/spec protocol/triggerCancelAction.st
M Spec-MorphicAdapters.package/MorphicTextAdapter.class/class/specs/defaultSpec.st
R Spec-MorphicAdapters.package/MorphicTextAdapter.class/instance/as yet unclassified /accept.st
A Spec-MorphicAdapters.package/MorphicTextAdapter.class/instance/spec protocol/accept.st
A Spec-MorphicAdapters.package/MorphicTextAdapter.class/instance/spec protocol/askBeforeDiscardingEdits_.st
A Spec-MorphicAdapters.package/MorphicTextAdapter.class/instance/widget API/askBeforeDiscardingEdits.st
A Spec-MorphicAdapters.package/MorphicTextAdapter.class/instance/widget API/autoAccept.st
A Spec-MorphicAdapters.package/MorphicTextAdapter.class/instance/widget API/wantsVisualFeedback.st
R Spec-MorphicAdapters.package/MorphicTextInputFieldAdapter.class/instance/widget API/autoAccept.st
Log Message:
-----------
30604
12253 Move some class behavior on class side in MCSaveVersionXXX
https://pharo.fogbugz.com/f/cases/12253
12257 Add a way to hide the orange corner in Text
https://pharo.fogbugz.com/f/cases/12257
12258 Add Spec support for changes made in 12257
https://pharo.fogbugz.com/f/cases/12258
http://files.pharo.org/image/30/30604.zip
Nov. 28, 2013
Re: [Pharo-dev] Editing Fogbugz welcome page
by Camille Teruel
On 28 nov. 2013, at 13:47, Benjamin <Benjamin.VanRyseghem.Pharo(a)gmail.com> wrote:
> I do not know if this is really a good thing to allow anyone to edit the pages,
> moreover when one can have an account without any check :S
I don't believe that malicious contributors are watching out for messing around in wiki pages.
If ever there is one, we'll know who he is and we'll be able to revert the page.
IMO people should be able to collaborate, that's why wikis exist after all.
> I added Ben as an editor, and I think I will revert the write access grant to everyone
> Ben
>
> On 28 Nov 2013, at 13:28, Camille Teruel <camille.teruel(a)gmail.com> wrote:
>
>> I changed permissions on this wiki. Does it solves the problem?
>>
>> On 28 nov. 2013, at 13:16, btc(a)openinworld.com wrote:
>>
>>> I'd like to add some stuff to the Fogbugz Welcome page [1], but I can't work out how to do it. Is a permissions issue maybe hiding something from my page (see attached) ?
>>> [1] https://pharo.fogbugz.com/default.asp?W41
>>>
>>> cheers -ben
>>> <pharo.fogbugz.Wiki.png>
>>
>>
>
Nov. 28, 2013
Re: [Pharo-dev] Coordinates problem with Athens and Morphic while coding Hyperion
by kilon alios
thats all I got I am afraid right now. A simple editing of a straight line,
but I am learning athens, roassal, morphic so it takes time. Its my first
with everything and my very first project with pharo. I am not aiming for
something super sophisticated, bezier lines, gradients, bitmaps etc simple
stuff but I am having so much fun with this project I wont give up until I
have it finished. :)
On Thu, Nov 28, 2013 at 2:30 PM, Alexandre Bergel
<alexandre.bergel(a)me.com>wrote:
> Do you have more screenshots of Hyperion?
>
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> On Nov 28, 2013, at 7:49 AM, kilon alios <kilon.alios(a)gmail.com> wrote:
>
> > Ok I have verified and indeed its not an Athens problem. My bad. The
> position of the morph is reported at 5@30 and the not the correct 0@0. So
> it looks like Morphic for some strange reason it offsets it.
> >
> > I knew about translateBy but I did not know about restoreAfter. so thank
> you.
> >
> > I prefer my version of the code because it makes clearer what I am
> trying to do. However ideally because I am drawing a box inside another box
> the best way would be to follow your approach and scale the second box
> using one shape instead of two I am currently doing. But thats the price I
> am paying from not knowing exactly how to do this.
> >
> > Also trying to painstakingly find the correct transform and scale values
> requires A LOT of testing . This is why I find a vector editor for Athens
> and Pharo absolutely essential. No coding can beat designing via mouse.
> >
> > On the other hand I could use Inkscape and import the svg to Athens ,
> which what I am about to research. Designing all GUI elements by code is a
> very bad idea, but no less a learning experience.
> >
> > I will most probably move to Roassal too.
> >
> > As always thanks for the help.
> >
> >
> > On Thu, Nov 28, 2013 at 12:29 PM, Igor Stasenko <siguctua(a)gmail.com>
> wrote:
> > well, by default the athens canvas coordinate system matches morphic
> one..
> > but you know, it always hard to be sure, especially if you perform any
> local coordinate transformations before that morph has any chance to draw
> itself..
> >
> > You can figure this out easily: draw something at 0@0 and see where it
> is.
> > then draw something at morph's x@y position and see it too.
> >
> > btw, you know you don't have to create same paths over and over.
> > you can easily put static parts out of regularly (and costly) evaluated
> code:
> >
> > shape := canvas cacheAt: self "morph" ifAbsentPut: [
> > aCanvas createPath: [:path |
> > path relative.
> > " no move-to here *** path moveTo: ((self position x )+5)@(self
> position y);"
> > lineTo: 20@0;
> > cwArcTo: 5@5 angle: 45;
> > lineTo: 0@20;
> > cwArcTo: (-5)@5 angle: 45;
> > lineTo: (-20)@0;
> > cwArcTo: (-5)@(-5) angle: 45;
> > lineTo: 0@(-20);
> > cwArcTo: 5@(-5) angle: 45.
> > ].
> > ].
> >
> > "and here we're using coordinate transform to translate origin point to
> > given position, so it will be the starting point (0@0) of our shape"
> >
> > canvas pathTransform restoreAfter: [
> > canvas pathTransform translateBy:((self position x )+5)@(self
> position y).
> > canvas drawShape: shape.
> > ]
> >
> > by analogy you can cache all static pieces, just do something:
> >
> > shapes := canvas cacheAt: self ifAbsentPut: [ self
> constructStaticShapesOn: aCanvas ]
> >
> > where #constructStaticShapesOn: must answer an array of them.
> >
> >
> > On 28 November 2013 11:12, kilon alios <kilon.alios(a)gmail.com> wrote:
> > wow you guys are fast at replying :)
> >
> > I did
> >
> >
> > self changeProportionalLayout.
> > editButton := HypEditButton new .
> > editButton position: 0@0.
> > self addMorph: editButton fullFrame: #(0 0 0 0 0 0 100 100).
> >
> > I am afraid Igor I still see no change with your code.
> >
> > I like to note here, that when I first created the editButton as morph ,
> it indeed placed it in correct place. A 0@0 placed it in top left corner
> as expected. But I did overide its DrawOn: with an empty method and used
> my own method to render it with Athens. So it looks like the problem is
> Athens related and not Morphic related or maybe a disagreement between
> Morphic and Athens.
> >
> > just for the record here is the code I use to render the HypEditButton
> morph
> >
> > render:aCanvas
> > |shape1 shape2 shape3 editButtonColor |
> > shape1 := aCanvas createPath: [:path |
> > path relative .
> >
> > path moveTo: ((self position x )+5)@(self position y);
> > lineTo: 20@0;
> > cwArcTo: 5@5 angle: 45;
> > lineTo: 0@20;
> > cwArcTo: (-5)@5 angle: 45;
> > lineTo: (-20)@0;
> > cwArcTo: (-5)@(-5) angle: 45;
> > lineTo: 0@(-20);
> > cwArcTo: 5@(-5) angle: 45.
> > ].
> >
> > shape2 := aCanvas createPath: [:path |
> > path relative .
> >
> > path moveTo: ((self position x +7))@((self position y +3));
> > lineTo: 18@0;
> > cwArcTo: 2@2 angle: 45;
> > lineTo: 0@20;
> > cwArcTo: (-2)@2 angle: 45;
> > lineTo: (-20)@0;
> > cwArcTo: (-2)@(-2) angle: 45;
> > lineTo: 0@(-20);
> > cwArcTo: 4@(-2) angle: 45.
> > ].
> > shape3 := aCanvas createPath: [:path |
> > path relative .
> >
> > path moveTo: ((self position x +15))@((self position y
> +10));
> >
> > cwArcTo: 5@5 angle: 90;
> > cwArcTo: (-5)@5 angle: 90;
> > cwArcTo: (-5)@(-5) angle: 90;
> > cwArcTo: 5@(-5) angle: 90.
> >
> >
> > ].
> >
> > ( editMode = true) ifTrue: [ editButtonColor := Color green] ifFalse: [
> editButtonColor := Color red ].
> > (aCanvas setStrokePaint: editButtonColor) width: 1.
> >
> > aCanvas drawShape: shape1 .
> > aCanvas drawShape: shape2.
> > aCanvas setPaint: (editButtonColor alpha: 0.3 ).
> > aCanvas drawShape: shape3.
> >
> >
> >
> >
> >
> >
> > On Thu, Nov 28, 2013 at 12:03 PM, Igor Stasenko <siguctua(a)gmail.com>
> wrote:
> >
> >
> >
> > On 28 November 2013 10:59, kilon alios <kilon.alios(a)gmail.com> wrote:
> > just tried it, I see no change
> >
> > try:
> > self changeProportionalLayout
> >
> > editButton := HypEditButton new .
> > self addMorph: editButton fullFrame: #(0 0 0 0 0 0 100 100).
> >
> >
> > On Thu, Nov 28, 2013 at 11:54 AM, Benjamin <
> Benjamin.VanRyseghem.Pharo(a)gmail.com> wrote:
> > Can you try to do something like
> >
> > self changeProportionalLayout
> > before adding the morph ?
> >
> > Ben
> >
> > On 28 Nov 2013, at 10:51, kilon alios <kilon.alios(a)gmail.com> wrote:
> >
> >> So I have found some strange problems with my vector editor , Hyperion.
> >>
> >> Hyperion is a Morph openInWindow. Code can be found in the class side
> of Hyperion>>open.
> >>
> >> The coordinate system when detecting events (mouseOver, mouseUp and
> mouseDown events of the Hyperion instance) looks like it takes to account
> also beyond the morph as coordinates as a result events happening at the
> top right edge of the morph where Hyperion is rendered is 6@30( which is
> the size of the window's title bar plus its borders). Thats ok, I have
> taken these offsets to account when computing the position of the mouse. I
> guess it uses the global coordinated and not the local coordinates of the
> morph.
> >>
> >> I am adding a button to control the edit mode of a line, when in edit
> mode handles for line's control points are shown and those handles can be
> dragged around to control the shape of the line , when off edit mode, the
> line will be able to be drag around (not implemented yet).
> >>
> >> My problem is that when I add that button as morph to the existing
> morph of Hyperion in 0@0 , it actually appears in 0@30 in local
> coordinated of the Hyperion moprh which in global coordinates it 6@60 (
> 0@0 + 6@30 + 0@30 = 6@60). Why is that ?
> >>
> >> I have no clue why I am getting an offset of 0@30 in local coordinates
> of the Hyperion morph.
> >>
> >> here is the picture showing a) how it looks like b) the code that set
> the position c) transcript showing mouse coordinates when clicked in the
> top left corner of Hyperion morph
> >> Hyperion coordinates problem.JPG
> >>
> >> if anyone wants to try the code himself the repo is here
> >>
> >> http://www.smalltalkhub.com/#!/~kilon/Hyperion
> >>
> >> To sum up, to place that button on top left, I will have to position it
> 0@(-30) which for me makes no sense at all.
> >>
> >> Please note that everything is rendered with Athens.
> >>
> >> Maybe I have messed up the code myself somewhere but I have looked it
> again and again I cant find a problem with my code.
> >
> >
> >
> >
> >
> > --
> > Best regards,
> > Igor Stasenko.
> >
> >
> >
> >
> > --
> > Best regards,
> > Igor Stasenko.
> >
>
>
>
Nov. 28, 2013