[Cuis-dev] Browser class hierarchy & functionality
Juan Vuletich
juan at jvuletich.org
Thu Jan 9 18:33:08 PST 2020
Hi Phil,
Your latest code looks great to me. Just say when you want it
integrated. Thanks!
BTW, today I pushed some updates that, after some cleanup and
refactoring, enable colors, bold, italic, etc on ListMorphs. Relevant
change set is #4011. It is almost trivial. To try this, add to
CodeFileBrowser:
messageList
^ super messageList collect: [ :str | | text |
text _ str asText color: Color random.
Random withDefaultDo: [ :random |
random next > 0.7
ifTrue: [ text _ text bold ]
ifFalse: [ random next > 0.7 ifTrue: [ text _ text
italic ]]].
text ]
Or simply
messageList
^ super messageList collect: [ :str | str blue ]
WRT older change sets in the repo, thanks for reminding us. I just added
the 3001-4000.zip file, and removed all the changesets in CoreUpdates/ ,
except those not yet loaded in the images.
Cheers,
--
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich
On 1/9/2020 6:10 PM, Phil B wrote:
> Juan,
>
> (Somewhat related: it looks like it's time to archive the 3xxx series
> changes in the repo since github cuts web directory listings off at 1000)
>
> On Thu, Jan 9, 2020 at 7:21 AM Juan Vuletich <juan at jvuletich.org
> <mailto:juan at jvuletich.org>> wrote:
>
>
>> If not, why don't we go with a half step of turning it off by
>> default and see how people react before removing the option entirely?
>
> Because current behavior is inconsistent, and keeping it adds
> unneeded complexity to the code. Let's make it better and simpler
> at the same time.
>
>
> Done.
>
>
>>
>> Besides, in #infoViewContents, when method is not in 'base'
>> it says '**NEW** Method not in the system'. It should read
>> something like '**ADDED** Method not in base'. Same for
>> class. It says 'Class not in the system', and should say
>> 'Class not in base'. All these messages should stay like now
>> if base is Smalltalk image, though.
>>
>>
>> So change 'system' to 'base' if base is not an image? (keep in
>> mind that it is possible that base could be a file and case could
>> be the image or base and case could both be images. Also,
>> there's no guarantee that 'image' refers to the currently,
>> locally running image...)
>
> Maybe we could have a couple new ivars: 'caseDescription' and
> 'baseDescription', and build the user messages with them. This
> would make it easier to tweak them until we are happy.
>
>
> Also done.
>
>
>>
>> Another issue is that in '*** removed methods ***' it shows
>> actively methods deleted in a change set, but not missing
>> methods (defined in 'base' but not in 'case'). Maybe, when
>> 'base' is not the Smalltalk image, a new category with
>> 'methods not included' or such could be added.
>>
>>
>> The current behavior doesn't show this does it? I was trying to
>> minimize breakage or behavior changes (at least for now), but we
>> can change this if you want. This is an area I had planned to
>> fill out more later once it seemed like the core changes are solid.
>
> Current behavior doesn't do it because it was thought for
> ChangeSets. A ChangeSet doesn't include "all the stuff", just the
> part it affects. Therefore, deletions must be explicit to be
> acknowledged. A packages is different. And this becomes clearer
> when base and case can be different versions of a package,
> possibly not loaded in the image.
>
> But we can do this after integrating your first work, checking
> that people is happy with them, and fixing any breakage.
>
>
> OK.
>
>>
>> Finally (I know, I'm asking lots of things!), it would be
>> cool to have, in the message list, added methods in red, and
>> removed/missing methods in blue. This might not be trivial.
>> Not sure if our lists can do color highlighting.
>>
>>
>> I agree that would be nice to have but I don't think lists can
>> currently do that. If you add colored highlighting support to
>> lists, I'll use it :-)
>
> Fair enough! I'll do it.
>
>
> Ready when you are.
>
>>
>> And maybe we could change the colors... Red for new stuff is
>> too strong, and usually means 'NO' (like a stop sign). Maybe
>> Green would be better. Not sure.
>>
>>
>> I agree... red for add makes no sense. But that was consistent
>> with current behavior so I kept it. I would prefer something
>> green (or blue) for adds, yellow for changes and red for
>> deletes. However, I wanted to hold off on changing coloring
>> logic until after we're sure that these changes otherwise make
>> sense and don't break anything. While I'm reasonably comfortable
>> with the changes relative to the base image, I was hoping to get
>> it integrated to see if this breaks anyone else's stuff before
>> actively trying to change the look/behavior too much to minimize
>> confusion.
>
> Ok. This makes sense. Let's change colors later. Hopefully soon,
> before this loses moment.
>
>
> Agreed.
>
> Cheers,
>
> --
> Juan Vuletich
> www.cuis-smalltalk.org <http://www.cuis-smalltalk.org>
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
> https://github.com/jvuletich
> https://www.linkedin.com/in/juan-vuletich-75611b3
> @JuanVuletich
>
>
> Thanks,
> Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20200109/76c981b2/attachment.htm>
More information about the Cuis-dev
mailing list