Hi Lou,

Well since you are really trying to add backward compatibility why not make it explicit.

Not sure when it was deprecated assuming it was 4.1

"Provide backward compatibility for deprecated method #fullScreenOn which was moved to DisplayScreen in Squeak 4.1"
versionArray := Smalltalk version splitInteger.
(versionArray first = 'Squeak' and: [versionArray second <= 4.1]) ifTrue: [  
   Project current fullScreenOn] 
ifFalse: [
   DisplayScreen fullScreenOn].

I didn't actually run this code so YMMV :).

Oh and since you need this twice you should add the results of the test to a variable so you don't have to call it twice for #fullScreenOff. 

All the best,

Ron


On Thu, Feb 1, 2018 at 11:44 AM, Louis LaBrunda <Lou@keystone-software.com> wrote:
Hi Ron,

Sorry I forgot about your DisplayScreen fullScreenOn problem.  It seems #fullScreenOn is
deprecated in Project.  So, using DisplayScreen fullScreenOn seems correct going forward.  What
do you think of this:

        [DisplayScreen fullScreenOn] on: Error do: [:e | Project current fullScreenOn].

Lou


On Wed, 31 Jan 2018 12:11:33 -0500, Ron Teitelbaum <ron@usmedrec.com> wrote:

>Hi Lou,
>
>One more thing: http://www.squeaksource.com/ClockAndCalendarMorp
>
>Not sure if there was a name size limitation but I would change that to
>Morph instead of Morp.
>
>All the best,
>
>Ron
>
>On Wed, Jan 31, 2018 at 11:34 AM, Ron Teitelbaum <ron@usmedrec.com> wrote:
>
>> Hi Lou,
>>
>> For the Json stuff Herbert is correct.  You will need to load a
>> Json reader.  On my image I use.
>>
>> Json readFrom: self readStream. To get a dictionary.  You then just read
>> the values from the dictionary.
>>
>> Some other Json reader might have #readFromString: as Herbert suggested.
>>
>> For managing the package if it is not loaded I would recommend adding
>>
>> Smalltalk at: #KscEarthSunAstroData ifPresent: [ <put your draw code here>
>> ].
>>
>> That way you handle the problem if the dependency is not loaded.
>>
>> I also had a problem with my image (4.1)
>>
>> I had to use:
>> Project current fullScreenOn and Project current fullScreenOff.
>>
>> Also, it is possible to return fraction from your x point calculation
>> which will cause problems:   I added asFloat below to fix it.
>>
>> Form >> drawString: aString centeredIn: rect vOffset: vOffset withFont:
>> font color: color
>> "Display the string centered horizontally in the rectangle with a vertical
>> offset from the top using the font and color."
>> | bb stringExtent f x y rOrigin |
>>
>> bb := (StringMorph contents: aString font: font) imageForm boundingBox.
>> stringExtent := bb extent.
>> f := Form extent: stringExtent depth: 32.
>> f getCanvas drawString: aString in: (0@0 extent: stringExtent) font: font
>> color: color.
>> rOrigin := rect origin.
>> x := rOrigin x + ((rect width - bb width) / 2) asFloat.
>> y := rOrigin y + vOffset.
>> self getCanvas translucentImage: f at: (x@y).
>>
>> I also noticed that the time quite large :)
>> I'm seeing: 11:28:35.28400000001 am
>>
>> Keep up the nice work!
>>
>> All the best,
>>
>> Ron
>>
>>
>> On Tue, Jan 30, 2018 at 7:43 PM, Louis LaBrunda <Lou@keystone-software.com
>> > wrote:
>>
>>> Hi Ron,
>>>
>>> Sorry, I forgot to ask, did I get the dependency stuff right?
>>>
>>> Lou
>>>
>>> On Tue, 30 Jan 2018 15:04:24 -0500, Ron Teitelbaum <ron@usmedrec.com>
>>> wrote:
>>>
>>> >Hi Lou,
>>> >
>>> >Very cool.
>>> >
>>> >Just for fun, you can get user lat and long from the resulting dictionary
>>> >by using the following:
>>> >
>>> > (WebClient httpGet: 'http://freegeoip.net/json/', (WebClient httpGet: '
>>> >https://api.ipify.org') content) content
>>> >
>>> >:)
>>> >
>>> >All the best,
>>> >
>>> >Ron
>>> >
>>> >On Tue, Jan 30, 2018 at 2:40 PM, Louis LaBrunda <
>>> Lou@keystone-software.com>
>>> >wrote:
>>> >
>>> >> Hi,
>>> >>
>>> >> I have created and uploaded my ClockAndCalendarMorphs project on
>>> >> SqueakSource.  It depends upon
>>> >> another of my projects, KscAstroDataApp.  KscAstroDataApp is used to
>>> >> calculate sunrise and
>>> >> sunset times displayed on the clock and calendar.  Latitude and
>>> longitude
>>> >> are required for the
>>> >> sunrise and sunset calculations.  If you don't supply them, no attempt
>>> >> will be made to do the
>>> >> calculations.  In that case the KscAstroDataApp package should not be
>>> >> needed.  Anyway it is
>>> >> probably best to download it too.
>>> >>
>>> >> I'm new to SqueakSource and I'm not sure I defined the dependency
>>> >> correctly.  If not, I will
>>> >> fix it.  Please let me know if you have any problems.  The code below
>>> will
>>> >> get you started
>>> >> testing/playing with the clock morph.  The latitude & longitude are
>>> for my
>>> >> location.
>>> >>
>>> >> The #initialize method of ClockImageMorph has a lot of comments about
>>> the
>>> >> options of the clock.
>>> >>
>>> >> Have fun.
>>> >>
>>> >> Lou
>>> >>
>>> >>         | c |
>>> >> "       c := ClockImageMorph clockFace: 'path2picture.jpg'."
>>> >>         c := ClockImageMorph new.
>>> >> "       c setTestMode."
>>> >>         c desiredExtent: 1200@800.
>>> >>         c setIncludeCalendar.
>>> >>         c latitude: 40.66296 longitude: -74.535398.
>>> >> "       c beTwentyFourHourClock."
>>> >>         c setUseArabicNumerals.
>>> >> "       c setUseRomanNumerals."
>>> >>         c setAddCirclesAndTicks.
>>> >> "       c setUseFancyHourHand.
>>> >>         c setUseFancyMinuteHand.
>>> >>         c setUseFancySecondHand."
>>> >> "       c beFullScreen."
>>> >>         c setShowDateTimeInfo.
>>> >>         c numberColor: Color blue; circleColor: Color blue; tickColor:
>>> >> Color blue.
>>> >>         c hourHandColor: Color blue; minuteHandColor: Color blue;
>>> >> secondHandColor: Color blue.
>>> >>         c calendarTextColor: Color blue.
>>> >>         c open.
>>> >> --
>>> >> Louis LaBrunda
>>> >> Keystone Software Corp.
>>> >> SkypeMe callto://PhotonDemon
>>> >>
>>> >>
>>> >>
>>> --
>>> Louis LaBrunda
>>> Keystone Software Corp.
>>> SkypeMe callto://PhotonDemon
>>>
>>>
>>>
>>
--
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon