'From etoys3.0 of 7 March 2008 [latest update: #2053] on 17 July 2008 at 8:52:19 pm'! "Change Set: DBus-Tools-bf-3 Date: 17 July 2008 Author: Bert Freudenberg Name: DBus-Tools-bf.3 Author: bf Time: 17 July 2008, 8:43:58 pm UUID: 4262ab61-4cea-46f7-8dc2-38643c55a6ca Ancestors: DBus-Tools-bf.2 - add manual proxy class selection when compiling methods "! !DBusExplorer methodsFor: 'menus' stamp: 'bf 7/7/2008 12:48'! chooseProxyClass | proxyNames proxyName | proxyNames := (DBusCompiledProxy allSubclasses collect: [:cls | cls name]) asArray sort. proxyName := proxyNames at: (PopUpMenu withCaption: 'proxy class' chooseFrom: proxyNames) ifAbsent: [^ nil]. ^ Smalltalk classNamed: proxyName! ! !DBusExplorer methodsFor: 'menus' stamp: 'bf 7/11/2008 20:10'! compileDelegationMethods (DBusCompiledProxy classForName: currentSelection service andPath: currentSelection path) compileMethodsAndSignalsFrom: currentSelection proxy introspect ! ! !DBusExplorer methodsFor: 'menus' stamp: 'bf 7/11/2008 20:10'! compileDelegationMethodsIn (self chooseProxyClass ifNil: [^ nil]) compileMethodsAndSignalsFrom: currentSelection proxy introspect ! ! !DBusExplorer methodsFor: 'menus' stamp: 'bf 7/7/2008 12:50'! genericMenu: aMenu | hasMethods isMethod proxyClass | currentSelection ifNil: [aMenu add: '*nothing selected*' target: self selector: #yourself] ifNotNil: [ proxyClass := DBusCompiledProxy classForName: currentSelection service andPath: currentSelection path. hasMethods := currentSelection contents anySatisfy: [:each | each hasContents not]. isMethod := currentSelection hasContents not. isMethod ifTrue: [aMenu add: 'invoke method' target: self selector: #invokeSelection] ifFalse: [aMenu add: 'inspect proxy' target: self selector: #inspectSelection]. hasMethods ifTrue: [proxyClass ifNil: [aMenu add: 'create proxy class' target: self selector: #createProxyClass; add: 'compile all in ...' target: self selector: #compileDelegationMethodsIn] ifNotNil: [aMenu add: 'compile all in class ', proxyClass name target: self selector: #compileDelegationMethods]]]. ^aMenu! !