[Q] Choosing the user level

Hannes Hirzel hirzel at spw.unizh.ch
Fri Mar 15 11:13:18 PST 2002



Scott

Thank you for your answer.

On Thu, 14 Mar 2002, Scott Wallace wrote:


----------------------------
A. Project specific settings
----------------------------


> At 2:21 PM +0100 3/14/02, Hannes Hirzel wrote:
> 
> >Is there already a global variable provided which chooses the user
> >level; for example for the levels end-user, omni-user, expert?
> 
> No.  One lightweight way to add such a thing without needing a global 
> is to make it a be a project parameter.  Apply "method names with it" 
> (or cmd-shift-W) to the string 'projectparameter' and the resulting 
> method-names-browser will show you what you need to call to set and 
> get project parameters.

Yes, this is even a better idea: make the settings project specific.
This approach allows me to have user interfaces of increasing complexity
when the user moves on from project to project. That's really an exciting
idea!


1)
So I added a method
setHaloTheme

| ht |
ht _ self projectParameters at: #haloTheme
ifAbsent: [#iconicHaloSpecifications].
Preferences installHaloTheme: ht


to the instance side of the class Project.


2)
In a Workspace I evalutated

   Project current projectParameters at: #haloTheme put: #customHaloSpecs.


3)
And the I wanted to evaluate
 
   World when: #aboutToEnterWorld send: #setHaloTheme to: Project current.

I got this recommendation from Andreas Raab and put it on
   http://minnow.cc.gatech.edu/squeak/1817

However this statement gives a walkback message: only integer values
allowed.  
   Morph >> updateableActionMap 
seems not to work. the #at:put is sent to the PasteUpMorph.


What do you think about this approach and how should I proceed?





------------------
B. Custom Halo Set
------------------

> 
> >How do I add a preference / switch so that I can
> >choose that fewer and larger halos show up:
> >
> >I would just like to have
> >
> >- the duplication halo
> >- the delete halo
> >- the resize halo
> >- the recolor halo
> 

[snipped your instructions]

I used your instructions and they worked fine. Thank you.





-----------------------------------------
C. Different sets of Preferences settings
-----------------------------------------

The discussion above and the experience how relatively easy it was to
configure a custom halo set led me to the conclusion that we don't need a
global variable with a user level setting (in the sense of just a
symbol we check at different spots in the code) but instead a possibility
to save different sets of Preferences settings. 
There is alread the possibility to save a personal set of preferences.

But what we actually need would be several of these sets and  some of them
already preconfigured in the image. This would allow people to more
gradually discover Squeak. At the moment the "expert level" is rather
overwhelming and not easy to deal with as showed a recent discussion on
the other list.


Regards
Hannes Hirzel  




More information about the Squeakland mailing list