# GTInspector Introduction script - we start with a script that creates an OrderedDictionary (hashtable) - present each object that gets added to the dictionary: date, color, morph (graphical component) - select the code and choose 'Do it and go' from the context menu. - explain that we select the code and execute it in place - the dictionary object is opened in a new pane to the right - emphasize that the state view is useful for understanding how the object is implemented - explore the implementation of the dictionary: - sorted keys are stored in an array (expand orderedKeys) - actual values are stored in a simple dictionary (expand dictionary) - this view is especially useful for the person implementing a dictionary/hashtable - if all we want is to quickly browse through the content of a dictionary object a much better solution is to display its content as a table - the Items view gives a quick way to scan through the elements; - switch to the items view - next I want to inspect these objects in more details - I can select an object and it is opened in another pane to the right. - select the Color object - the color object has a natural representation - show the Color view - select the date object - the state view shows how it is implemented - expand start - the Details view shows more specific data about this date - the Calendar view simply shows a calendar - select the morph object (HSVColorSelectionMorph) - the state view shows how it's implemented - most of the time I also want to see how it looks like - switch to the Morph view - morphs form a containment structure - let's see how we can find the morph representing the two arrows - switch to the State view and start expanding the submorphs arrays - it's quite difficult - show the Submorphs view - select any submorph and in the new pane switch to the Morph view - we get a browser to visually look for a morph - use it to find the two arrows - briefly introduce the navigation mechanism - every circle at the bottom is a previously inspected object - on hover we get a preview - on click the inspector navigates to that object - we can also scroll - we can also increase/reduce the number of visible objects