<div dir="auto">To clarify a bit more, ThePreferences would turn into an instance variable of PreferenceDictionary (with a more appropriate name, I guess) and there would be no singletons anymore because it would make sense to have multiple instances of PreferenceDictionary (one global called Preferences and for example another one for DrGeo preferences or for other packages/projects/apps)</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 19 Jun 2022 at 8:58 PM Luciano Notarfrancesco <<a href="mailto:luchiano@gmail.com">luchiano@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto">Hi Hilaire, actually I was proposing to move the class side of PreferenceNG to a new class PreferenceDictionary, and then make a global Preferences just an instance of PreferenceDictionary (Smalltalk at: #Preferences put: PreferenceDictionary new). I don’t see the need for an extra singleton class. Also, a tool to view and edit preferences could work on any instance of PreferenceDictionary, maybe even on a list of instances of PreferenceDictionary if that makes sense in your UI design.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 19 Jun 2022 at 8:47 PM Hilaire Fernandes via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st" target="_blank">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <p><font size="4" style="color:rgb(0,0,0)">Hi Luciano,</font></p>
    <p><font size="4" style="color:rgb(0,0,0)">Was busy elsewhere, sorry it took so long, but I
        wanted to take the needed time to respond appropriately.<br>
      </font></p>
    <p><font size="4" style="color:rgb(0,0,0)">So if I interpret correctly, we should have two
        classes: PreferenceDictionary and Preferences.<br>
      </font></p>
    <p><font size="4" style="color:rgb(0,0,0)">We move most of the PreferenceNG general behavior
        in PreferenceDictionary class, the behavior specific to the
        system preferences is moved to the Preferences class (data
        preference and related behavior when a system preference is
        changed).<br>
      </font></p>
    <p><font size="4" style="color:rgb(0,0,0)">Preferences is then a subclass of
        PreferenceDictionary, to inherit the general behavior to a
        preference.</font></p>
    <p><font size="4" style="color:rgb(0,0,0)">The "ThePreference" dictionary class variable we
        have in PreferenceNG is changed to an instance variable of
        PreferenceDictionary:  System preferences and application
        preference use their own dictionary.<br>
      </font></p>
    <p><font size="4" style="color:rgb(0,0,0)"> Likely Preferences class is turned as a
        singleton, to avoid multiple instance of Preferences.</font></p>
    <p><font size="4" style="color:rgb(0,0,0)">Is it more or less what you have in mind?<br>
      </font></p>
    <p>Thanks</p></div><div text="#000000" bgcolor="#FFFFFF">
    <p>Hilaire<br>
    </p>
    <div>Le 10/06/2022 à 23:17, Luciano
      Notarfrancesco a écrit :<br>
    </div>
    <blockquote type="cite">
      <div dir="auto">Hi Hilaire,</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">I was thinking more on the lines of moving the
        methods in PreferenceNG class to some new class, say
        PreferenceDictionary, and then having a global instance
        Preferences for the base image, and another instance of
        PreferenceDictionary for DrGeo. My first idea before giving it
        much thought was to add a new instance variable to CodePackage
        but now that seems totally unnecessary.</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto"><br>
      </div>
    </blockquote>
    <pre cols="72" style="font-family:monospace">-- 
GNU Dr. Geo
<a href="http://drgeo.eu" style="font-family:monospace" target="_blank">http://drgeo.eu</a>
<a href="http://blog.drgeo.eu" style="font-family:monospace" target="_blank">http://blog.drgeo.eu</a></pre>
  </div>

-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div></div>
</blockquote></div></div>