Hilaire,

It was interesting to watch MS' position on GUI examples change over time.  
Visual C++ started out teaching how to create efficient software.  Then one day 
those examples were gone and all they could talk about was "smooth scrolling" 
which turned out to be a way to make the machine do the inefficient thing four 
times instead of once.

The idea of altering the model, finding out what is invalidated, marking that 
as closely as can be done within bounds of common sense (or until diminishing 
returns), and then drawing just the changed parts is non-intuitive and VERY 
important.  You have done a wonderful job so far, but optimization deserves 
attention.

Bill




-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Hilaire 
Fernandes
Sent: Friday, June 11, 2010 7:04 AM
To: [email protected]
Subject: Re: [Pharo-project] GUI Polymorph

Hi Fernando,

Sure we can be more optimal in execution term, but it is not my objective. I 
want the example to be concise and optimal under this term, so smaller then may 
be easier to catch.

Bill,

Yes, you can draw segment. Yes you can optimze but it is not the purpose
  of the documentation. I try to optimize the documentation to its
target: get started with GUI programming with Polymorph, and let the reader 
enjoy.

Please consider proposing, additional advanced chapter in the CollaborActive 
book for some idea about optimization GUI. I will be really happy to read, to 
learn  and to comment on that.


Laurent,

I removed the heading sections and replace it with Bold style.

Thanks for your feedback.


Hilaire



Fernando olivero a écrit :
> Hi Laurent, great work! We need more documentation!
> 
> Just a little coding style i would like to point out.
> 
> I see you are using lazy initialization, but in this case i believe 
> its a miss-use of the pattern.
> Because you always will have a toolbar and a menu bar, since the 
> creation you are sure you need them, why not go and just initialize 
> them before installing.
> 
> Let me know what you think.
> 
> 
> So i propose changing the implementation to :
> 
> initialize
> super initialize.
> self initializeMenuBar.
> self initializeToolbar.
> ....
> 
> and
> 
> initializeMenuBar
> | menu |
> menu := self window newMenu.
> menu
> addToggle: 'Load'
> target: self
> selector: #load.
> menu
> addToggle: 'Save'
> target: self
> selector: #save.
> menubar := self window newToolDockingBar.
> menubar
> add: 'File'
> font: self window theme menuBarFont
> icon: nil
> help: 'File operations'
> subMenu: menu.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to