[Newbies] saving image automatically

Norbert Hartl norbert at hartl.name
Tue May 1 07:39:40 UTC 2007


On Mon, 2007-04-30 at 20:06 -0400, David Shaffer wrote:
> Norbert Hartl wrote:
> >
> >>     
> > I only have a saveAs selector but no saveAs: What squeak version are
> > you using?
> >   
> 
> Oops.  I thought it was standard but it was one of my extensions 
> (modeled off similar code in SmalltalkImage):
> 
> SmalltalkImage>>saveAs: newName
>     "Save the image  under the specified new name."
> 
>     (SourceFiles at: 2) ifNotNil:
>         [self closeSourceFiles; "so copying the changes file will always 
> work"
>              saveChangesInFileNamed: (self fullNameForChangesNamed: 
> newName)].
>     self saveImageInFileNamed: (self fullNameForImageNamed: newName)

Do you use the name of the image you run as an argument to saveAs: ?
Using this approach does only work for me if the names are equal.
Otherwise running image A with the script and using saveAs: 'B' gives 
a working image B and an image A which quits immediately after start.

I thought the saveAs would change the images name. So I don't know how
image A can be affected by this script.

> >
> > Yes, me too. And an idea to automatically upgrade the image to the last
> > version found in Monticello ;)
> >
> >   
> I hacked something together based on the code in the Monticello base 
> mostly from MCFileRepositoryInspector>>refresh.  It wasn't too pretty.  
> I've asked for permission to post it from my employer...the more eyes on 
> it the better.
> 
I played a little with code and got the following:

path := [MC repository]
repo := (MCDirectoryRepository new 
           directory: (FileDirectory on: path)
        ).
        (repo loadVersionFromFileNamed: (
           repo allFileNames first)
        ) 
        load.

Works ok for me. Additionally I tried to do a poor window closer:

#(
   SystemWindow
   PluggableSystemWindow
   FlapTab
   PartsBin
) do: [:class|
   (Smalltalk classNamed: class)
      allInstances do:
         [:each| each delete]].

Here I don't know how I can force a close of a window which has unsaved
changes. And I don't know how to switch of flaps permanently.

But I'm lucky. I can copy my image to something like deploy.image and
do

squeak deploy deploy.st 

to customize the image like I want it.

Norbert



More information about the Beginners mailing list