QuickSilver Object Inspectors

February 17, 2011

QuickSilver Object Inspectors

QuickSilver Object Inspectors

http://www.silversmalltalk.com/

Above are some object inspectors opened in QuickSilver.

The current inspector classes are:
— ObjectInspector (generic)
— ArrayInspector
— DictionaryInspector

To view all currently defined variables in the SystemDictionary:

Smalltalk inspect

You can wrap any arbitrary JavaScript “object” as a Dictionary and view its elements:

(Dictionary on: {Ext.Window}) inspect

{['hello','world',[1,2,3],true,false, 123.456]} inspect

At the moment, the inspector classes are single level – you can’t recursively inspect their elements. I will add this feature in the next revision.

Object inspectors are very useful tools.

We will be using them a great deal as we start experimenting with sending serialized objects over the ChannelAPI that I discussed in yesterday’s post.

The goal is real-time Smalltalk messaging over the Internet.

Advertisements

12 Responses to “QuickSilver Object Inspectors”

  1. Andy Burnett Says:

    Inspectors are great! And, I have just noticed that the Array object is 0 based. Squeak is 1 based. I can see trouble ahead! Is there a standard Smalltalk ruling on whether the Array should be 0 or 1 based?

  2. Peter Fisk Says:

    JavaScript is 0-based and Smalltalk is 1-based.

    Maybe we should split the difference and start at 0.5.

    0.5, 1.5, 2.5, etc

    Call it “fractal-indexing”

    • Andy Burnett Says:

      I hereby double dare you to do that 😉

      Actually, we should make it zero based, but insist that the indices are expressed in Hex.

    • Steffen Says:

      VW is 1-based too. I’d like to see all Collections to be 1-based in Quicksilver. (Actually, I prefer 1-based collections in general, because this feels more natural to index like in natural language.)


  3. I take a few days off and look what I come back to.

    Wow Peter.

    I look forward to contributing when I have some more free time :).

    One question. In the Class Browser what are the two half-tabs for, between the “Instance” and “Class” tabs?

  4. Jose Says:

    I can see which code duplicate tabs…

  5. Jose Says:

    Sorry, I CAN’T see which code duplicate tabs…

    • Jose Says:

      Duplicated TabPanels FIXED…

      Peter, if you change the code of ‘addTab’ to this… [SOLVE THE PROBLEM]

      addTab: aPanel
          | tpw apw  |
          tpw := self widget.
          apw := aPanel widget.
          {tpw.add(apw)}.
          self tabs add: aPanel.
          ^ aPanel'
      

      I think that is a compiler bug…


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: