<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><font size="4">Hi</font></p>
    <p><font size="4">Below redesign proposals to the PreferenceNG class
        and its protocol:<br>
      </font></p>
    <p><font size="4">1) In the PreferenceNG class, ThePreferences class
        variable is a dictionary of dictionaries where its keys are the
        category name.</font><font size="4"><br>
      </font></p>
    <p><font size="4">2) A preference is instantiated/updated
        identically with the messages
        #name:description:category:type:value: and</font><font size="4"><font
          size="4"> #name:category:value: </font></font></p>
    <p><font size="4">3) To access a preference instantiated in the base
        image, nothing change:</font></p>
    <p><font size="4" face="monospace" color="#97082d">    PreferenceNG
        at: #color</font></p>
    <p><font size="4">Internally PreferenceNG searches for the
        preference only in the base image preference categories:
        #system, #programming, #gui, #font.</font></p>
    <p><font size="4">To access a preference in non base image category
        I propose the message #at:in: #at:in:put, #instanceAt:in:<br>
      </font></p>
    <p><font size="4">    <font face="monospace" color="#97082d">PreferenceNG
          at: #textSize in: #zork<br>
        </font></font></p>
    <p><font size="4" face="monospace" color="#97082d">   PreferenceNG
        at: #textSize in: #zork put: 12</font></p>
    <p><font size="4">    (the instantiate method can still be used to
        edit a preference value: <br>
        <font color="#a61d40">  <font face="monospace">  PreferenceNG
            name: #textSize category: #zork value: 12)</font></font></font></p>
    <p><font size="4">Then I propose shortcuts compatible with the
        existing protocol:</font></p>
    <p><font size="4"><font color="#a61d40"><font face="monospace">    </font></font></font><font
        size="4" face="monospace" color="#a61d40">Preference at:
        #zork:textSize</font></p>
    <p><font size="4" face="monospace" color="#a61d40"><font size="4">   
          Preference at: #zork:textSize put: 16</font></font></p>
    <p><font size="4" face="monospace" color="#a61d40"><font size="4"><font
            size="4">    Preference instanceAt: #zork:textSize</font></font></font></p>
    <p>I will have to write a method to move the preferences in their
      own category dictionaries.</p>
    <p>Comments?</p>
    <p>Thanks<br>
    </p>
    <p>Hilaire<br>
    </p>
    <pre class="moz-signature" cols="72">-- 
GNU Dr. Geo
<a class="moz-txt-link-freetext" href="http://drgeo.eu">http://drgeo.eu</a>
<a class="moz-txt-link-freetext" href="http://blog.drgeo.eu">http://blog.drgeo.eu</a></pre>
  </body>
</html>