Hello mr newbie, welcome to our island :)

"1.  I need to rewrite the whole GUI from scratch. What UI framework to
choose and where to get documentation?"

Johan already recommended Spec , I think its the best fit for you. If you
want more customisation you can always use Morphic together with Spec.

"2. The next task is to do some work on image load (i mean pharo image). I
need some handler which fires immediately after image is loaded. How to
include my handler in this chain???? My app saves data into the image so i
need to manage this and auto-load _my_ application after startup."

This can happen in two way, the image provide a method called starUp for
when the image starts and shutDown when the image closes. Any object can
have these methods and Pharo will always make sure to execute them.

Startup scripts are also an alternative , they are capable of firing only
the first time you open the image or every time. I will be making a
tutorial shortly for them but you can find an example in the mean time in
my repo here

https://github.com/kilon/makePharo/blob/master/startupPharo.st

and I recommend the excellent blog post by Mariano

https://marianopeck.wordpress.com/2012/05/12/startuploader-running-startup-scripts-in-pharo/

The nice thing about startup scripts is that they can be per image but also
globally for all your images

"
3. How to drag-n-drop from the host operation system into pharo application
and vice versa? I need to drag-n-drop a list of files from\to file browser."

Drag and Drop can be a tricky one because its a Morphic and will require
some experience with Morphic. Morph  which is basically the base class of
all  gui element 3 relevant methods.

a) dropFiles:
b) handleDropFiles:
c) wantsDropFiles:

PasteUpMorph dropFiles: is the the method that handles dropped files on the
background of the Pharo window. Of course PasteUpMorph inherits from Morph .

I cannot give you any more info because I never tried to use it.

"4. Application deployment. How to strip the unnecessary code from the
image?
I've heard there is "small image" to add all-i-need-to-run. Where i can
download it and how to use it????"

There will not be a tool that will do this for you automagically. There is
project to bootstrap Pharo.

It also depends why you want to get rid of those unecessary packages, if
you wanna do it to decrease Pharo size on your disk then unfortunately you
wont achieve much because Cuis for example that has 13 times less classes
than pharo is only 50% smaller and thats the image alone, obviously VM is
same size.

If you are worried about quick updates and you dont want your user to
redownload pharo , there is a way to update your code via git and github
wihout your user having to install git or be github member. You could even
auto update in the background.

The only Smalltalk that I am aware of that can go bellow 10mbs , which is
what is I would call "small" , is spoon that can get even tiny, down to
just 1 kb without the vm.

Reply via email to