[Vm-dev] Re: [Pharo-project] Issue 3446 in pharo: VMMakerTool load config buttondoesn't work

Javier Pimás elpochodelagente at gmail.com
Fri Dec 17 18:04:11 UTC 2010


2010/12/17 Levente Uzonyi <leves at elte.hu>

>
> On Fri, 17 Dec 2010, Javier Pimás wrote:
>
>  OK, if I'm correct the 3449 issue is fixed and integrated now. So how do
>> we
>> solve this one? Because the method lays on VMMakerTool's code, for squeak.
>> Maybe we can add a line to ConfigurationOfVMMaker>>#fixVMMakerForPharo
>> like
>> this:
>>
>> (Smalltalk at: #VMMakerTool) compile:
>>   'loadConfig
>> | fileResult file |
>> fileResult := UIManager default chooseFileMatching: #(''*.config'') label:
>> ''Select
>> VMMaker configuration...''.
>> fileResult
>> ifNotNil: [file := fileResult.
>> [vmMaker := VMMaker forConfigurationFile: file.
>> vmMaker logger: logger.
>> vmMaker platformDirectory]
>> on: Error
>> do: [self inform: ''Possible problem with path settings or platform
>> name?''].
>> self updateAllViews]'
>>
>>
>> It's a bit of a dirty hack, maybe there's a cleaner way. What do you
>> think?
>>
>
> No need to do dirty hacks, just communicate your needs properly. Ask David
> to update the method. Squeak (since 3.9) also implements UIManager >>
> #chooseFileMatching:label:. Note that the name of this method is a bit
> misleading. The first argument is a list of "file extensions", not a list of
> patterns. So this should work in both Squeak and Pharo:
>
> fileResult := UIManager default
>        chooseFileMatching: #('config')
>        label: 'Select VMMaker configuration...'.
>
> Since fileResult is a string that contains the full path, the variable
> "file" is not necessary anymore.
>
>
Excelent! Many thanks for the redirect!

javier



>
> Levente
>
>
>> Regards,
>>       Javier.
>>
>> On Fri, Dec 17, 2010 at 8:35 AM, Gary Chambers <gazzaguru2 at btinternet.com
>> >wrote:
>>
>>  It seems the implementation in MorphicUIManager uses the patterns
>>> as extensions.
>>>
>>> So
>>> fileResult := UIManager default chooseFileMatching: #('config') label:
>>> 'Select
>>> VMMaker configuration...'.
>>>
>>> would work.
>>>
>>> However, that misses the meaning of patterns.
>>> I've raised issue
>>> http://code.google.com/p/pharo/issues/detail?id=3449with change set
>>> attached...
>>>
>>> Regards, Gary
>>>
>>> ----- Original Message ----- From: <pharo at googlecode.com>
>>> To: <pharo-project at lists.gforge.inria.fr>
>>> Sent: Friday, December 17, 2010 4:21 AM
>>> Subject: [Pharo-project] Issue 3446 in pharo: VMMakerTool load config
>>> buttondoesn't work
>>>
>>>
>>>
>>>  Status: New
>>>
>>>> Owner: ----
>>>>
>>>> New issue 3446 by elpochodelagente: VMMakerTool load config button
>>>> doesn't
>>>> work
>>>> http://code.google.com/p/pharo/issues/detail?id=3446
>>>>
>>>> Pharo image: dev 1.1.1
>>>> Pharo core version: Pharo-1.1-11411
>>>> Virtual machine used: custom linux, allmost latest VMMaker, classic (not
>>>> cog)
>>>> Class browser used if applicable:  OBSystemBrowserAdaptor
>>>>
>>>> Steps to reproduce:
>>>> 1. Load VMMaker with
>>>> 2. Open the VMMakerTool with: "VMMakerTool openInWorld"
>>>> 3. Push load config button, you get an error message
>>>>
>>>> The problem is that VMMaker tool makes use of StandardFileDialog, which
>>>> isn't present in Pharo anymore. The method that raises the error is
>>>>
>>>> VMMakerTool>>#loadConfig
>>>>   | fileResult file |
>>>>   fileResult := (StandardFileMenu oldFileMenu: FileDirectory default
>>>> withPattern: '*.config') startUpWithCaption: 'Select VMMaker
>>>> configuration...'.
>>>>   fileResult
>>>>       ifNotNil: [
>>>>           file := fileResult directory fullNameFor: fileResult name.
>>>>           [
>>>>               vmMaker := VMMaker forConfigurationFile: file.
>>>>               vmMaker logger: logger.
>>>>               vmMaker platformDirectory
>>>>           ]
>>>>           on: Error
>>>>           do: [self inform: 'Possible problem with path settings or
>>>> platform name?'].
>>>>           self updateAllViews]
>>>>
>>>>
>>>> Changing
>>>>
>>>> fileResult := (StandardFileMenu oldFileMenu: FileDirectory default
>>>> withPattern: '*.config') startUpWithCaption: 'Select VMMaker
>>>> configuration...'.
>>>>
>>>> for
>>>>
>>>> fileResult := UIManager default chooseFileMatching: nil label: 'Select
>>>> VMMaker configuration...'.
>>>>
>>>> and
>>>>
>>>> file := fileResult directory fullNameFor: fileResult name.
>>>>
>>>> for
>>>>
>>>> file := fileResult
>>>>
>>>> Fixes it almost completely. It would be better to use
>>>> chooseFileMatching:
>>>> #('*.config') but it didn't work well.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> Javier Pimás
>> Ciudad de Buenos Aires
>>
>
>


-- 
Javier Pimás
Ciudad de Buenos Aires
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20101217/fe2d40bd/attachment-0001.htm


More information about the Vm-dev mailing list