Platform independent abstractions on platform specific models

Lex Spoon lex at cc.gatech.edu
Wed May 19 16:02:13 UTC 1999


"Norton, Chris" <chrisn at Kronos.com> wrote:

> [talking about cut/copy/paste keys]
> 
> GenericOsPolicy (class var SystemPolicy, i-vars: keyboardPolicy,
> pointingDevicePolicy, etc.)
>     WindowsOsPolicy
>     MacintoshOsPolicy
>     PDAOsPolicy
> 
> KeyboardPolicy (this would be the "standard" Squeak keys)
>    Kb101KeyPolicy
>    KbMacintoshPolicy
>    KbWindows95Policy
>    KbCustomPolicy   (you could re-map your own preferences here)
> 
> AbstractPointingDevicePolicy
>    MousePolicy
>       MouseTwoButtonPolicy
>       MouseThreeButtonPolicy
>       CustomMousePolicy
>    PenDevicePolicy
>    TabletDevicePolicy
>       


Sounds fine, but two notes.

First, it might be possible to make the policy objects instances instead of classes.  It all depends on what goes into a "policy".  You might have meant this, but I wanted to spell it out.

Which leads to the second note: what exactly goes into the policies?  So far, it's a mapping of keys -> editting commands, which could be a simple dictionary stored in some class or global variable.  A standard file format would be nice for these, so that people could share them around, or we could simply use Smalltalk code.  (Yet another menu item in the FileLists?  :( )


Anyway, I say, let's figure out what we really want to be able to customize, and then we can figure out what kind of abstraction will work best.  The general scheme of having global policy objects seems like a good one, but at this point, do we know what should actually go into them?


Lex





More information about the Squeak-dev mailing list