Hi all! :-)
After a long, long time of refactoring and being busy with other projects, I'm excited to finally present you a second version of the refactored & completely refurbished inspectors! For the traceback: The first version I created last summer lead to Tools-ct.900 which you gave me many helpful reviews for. Thanks to Marcel and Chris for all the time they spent in looking at the changes! Attached you find the files that form the second refactoring.
Details on how to load these into your image: This time I decided against sending the proposals into the inbox, as, unfortunately, many packages are coupled to the inspector, such as Protocols, EToys, or Morphic (even though only one reference). It was thus easier to create a changeset. Due to the scriptless nature of changesets, please do the following:
Overview of the changes made against Tools-ct.900:
My original motivation for this refactoring was to eliminate the large number of hard-coded references to indices in the field list and make all the selection logic more reusable. This was mainly done in Tools-ct.900.
The primary suggestion I was told then was not to use a cryptic OrderedDictionary with case-dependent value meanings for describing the inspector fields, but rather a spec class. This was a very great idea, so now each field in an inspector is represented
by an instance of InspectorField. IMHO this makes management and overall communication between an inspector and its component much easier. As an extra side effect after that change, it was super easy to implement
custom fields, which can be created live by the user to observe and manipulate a non-trivial aspect of the inspectee. Here are some impressions:
Furthermore, I added a test suite for all inspector classes in the Trunk.
Here is a detailed changelog (still against Tools-ct.900, so to say a diff-diff):
Open todos/questions/topics of discussion:
Oh, just do the following:
:-)
Further questions:
What's next?
I will appreciate every single feedback of y'all. I really depend on it! Just file in the changeset and tell me any potential problems. For a detailed code review, you can simply send me a follow-up changeset. We can also set up a git repository or so
if you think this scales better. I'm looking forward to your review!
Best,
Christoph
Inspector-prerequisites.2.cs (2K) Download Attachment Inspector.3.cs (166K) Download Attachment Inspector-postload.st (230 bytes) Download Attachment
Carpe Squeak!
|
Hi Christoph. Best, Marcel
|
@all Here is an updated changeset that can be loaded stand-alone. Please try! :-)
Marcel, thank you for the pointer! This is exactly what I was searching for. Please note that in order to regain full functionality, after file in you will need to reopen all inspectors or debuggers because I changed some toolbuilder selectors (accepting something in the value pane). Would this also be worth a postscript?
Best, Christoph Von: Taeumel, Marcel
Gesendet: Montag, 17. Februar 2020 10:36 Uhr An: Thiede, Christoph; Javier Diaz-Reinoso via Squeak-dev Betreff: Re: Refactoring Inspectors Hi Christoph.
Best,
Marcel
Inspector.4.cs (161K) Download Attachment
Carpe Squeak!
|
Free forum by Nabble | Edit this page |