Let say you have two lists: listPart1 and listPart2 (one in a first pane and the other one on the second pane). You can write something like:
listPart1 callback: [:output | listPart2 list: {output}. ]
I think you want to do something like that ? The right solution (not implemented for now) would be to have a method like:
listPart2 defaultList: [:requiredInputs | .... ]
Like that we don't have to refer directly the other part
2011/10/18 Alexandre Bergel alexandre.bergel@me.com
Humm... I do not really understand what #projectSelectFrom: fileName forWizard: wizard andConfig: importConfigs is supposed to do.
How does the callback to modify the two panes?
Alexandre
On 17 Oct 2011, at 23:45, Johan Fabry wrote:
Hi Alex.
I had similar problems for AspectMaps and was also surprised that Merlin
did not have built-in flow of data between different panes. So I built a hack. What I do is to initialize the second pane with dummy data, and then have a callback of the first pane replace the dummy data with real data. The code that does this is below:
AspectMapsUI >>importWizard
"Second pane contents is actually built using callback of first
pane"
"Third pane contents is actually built using callback of second
pane"
| wizard aiPane psPane javaPane resultPane labelPart filePart
importConfigs |
wizard := WizardControl new. importConfigs := OrderedCollection new. " == aspect info pane == " aiPane := WizardFirstPane named: 'Please choose a .xcr aspect
file.'.
filePart := (ChooseFilePart new) validExtensions: #(xcr). filePart callback: [:fileName | self projectSelectFrom: fileName forWizard: wizard
andConfig: importConfigs ].
aiPane row: filePart associatedTo: #aspectInfoFile. wizard addPane: aiPane. "== project select pane ==" psPane := WizardMiddlePane named: 'Please select which projects to
import'.
psPane row: (LabelPart on: 'This will be removed by the callback'). wizard addPane: psPane. "== java source select pane ==" javaPane := WizardMiddlePane named: 'Please provide Java data'. javaPane row: (LabelPart on: 'This will be removed by the
callback').
wizard addPane: javaPane. " == last pane with report of what will be done == " resultPane := WizardLastPane named: 'Will Import'. javaPane row: (LabelPart on: 'This will be removed by the
callback').
wizard addPane: resultPane. wizard atEndDo: [ :outDict | self importProjects: importConfigs
aspects: (outDict at: #aspectInfoFile) ]; open
On 17 Oct 2011, at 10:50, Alexandre Bergel wrote:
Hi!
I am building a wizard and I am stopped on something that looks trivial.
---> Save our in-boxes! http://emailcharter.org <---
Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev