Debugging remote GemStone views

This page contains snippets for debugging remote GemStone views.

First in the debugging process we need a proxy to an instance of GtRemotePhlowViewedObject Object subclass: #GtRemotePhlowViewedObject instanceVariableNames: 'object actionSpecificationsBySelector viewSpecificationsBySelector' classVariableNames: '' package: 'GToolkit-RemotePhlow-InspectorCore' that wrapps the object we are interested in.

Obtaining an inspector proxy object

We can get directly the inspector proxy using a dedicated snippet,

inspectorProxy := GtRemotePhlowViewedObject object: 
	GtRemotePhlowDeclarativeTestInspectable new.
  

or by starting from a proxy to the object

objectProxy := GtRemotePhlowDeclarativeTestInspectable new
  
inspectorProxy := objectProxy proxyObject getInspectorProxyWithData
	asGtBareProxyObject
  

Getting informations about views

After we gave a proxy we can get information related to views, like the names of the methods creating the views and the raw data for creating view specifications.

inspectorProxy getDeclarativeViewMethodNames
  
inspectorProxy getViewsDeclarations
  

From the proxy object we can also get the view specifications initialized with the remote datasource

inspectorProxy proxyObject declarativeViews
  

We can also get the title displayed by the inspector

inspectorProxy gtInspectorTitleString
  

Getting informations about specific views

We can also get information about specific views

List view

Interacting with a proxy for the view specification

listViewProxySpecification := inspectorProxy 
	getDeclarativeViewFor: #gtListFor:.
  
listViewProxySpecification retrieveItems: 3 fromIndex: 1
  
listViewProxySpecification retriveSentItemAt: 1
  

Interacting with a local view specification

listViewLocalSpecification := inspectorProxy
	buildLocalViewSpecificationFor: #gtForwardListFor:
  
listViewLocalSpecification retrieveItems: 3 fromIndex: 1
  
listViewLocalSpecification retriveSentItemAt: 1
  

Forward view

Interacting with a proxy for the view specification

forwardViewProxySpecification := inspectorProxy 
	getDeclarativeViewFor: #gtForwardListFor:
  
forwardViewProxySpecification retrieveViewSpecificationForForwarding
  

Interacting with a local view specification

forwardViewLocalSpecification := inspectorProxy
	buildLocalViewSpecificationFor: #gtForwardListFor:
  
forwardViewLocalSpecification retrieveViewSpecificationForForwarding