<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Hilaire,<br>
    <br>
    On 8/4/2023 4:18 PM, Hilaire Fernandes via Cuis-dev wrote:
    <blockquote cite="mid:4873d2ed-893e-e17c-3431-52e41b73c589@free.fr"
      type="cite">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>Hi folks, <br>
      </p>
      <p>Cuis does not come with the legacy MVC framework. From what I
        read even the Smalltalk coming with MVC offers a revisited
        version, ok may be not the Squeak one. Nevertheless it does not
        really matter if you want to develop a GUI application with Cuis
        because all you need is to use the observer pattern and view
        enriched with control, both present in Cuis.<br>
      </p>
      <p>Indeed, this pattern has seen since then alternate design. For
        DrGeo, I pick up a different pattern, MVP, back in 2005.
        According to its promoters, MVP fixes MVC flaws, you can read
        further about that on related articles below.</p>
      <p>In a few word, with MVP, the model informs its views using the
        observer pattern, so the model does not know about its view, as
        in MVC. The views also handle the low level controls, then
        informs the Presenter to take action at the model level. This
        part is different than MVC and offer more flexibility.<br>
      </p>
      <p>In DrGeo there are a lot of different Models: domain of the
        application, the math items, the smalltlak sketch, the script,
        the macro, etc. Most of them with dedicated Views of different
        nature to display, design, etc the models. Then a bunch of
        Presenters, with different level of complexity : domain
        application presenter, tools to manage the user interaction on
        the canvas and builder to manage the process of constructing a
        math item.</p>
      <p>All in all, I don't see any reason Cuis can not be used to
        design a complex GUI application. I have reworked the DrGeo code
        and class categories to make it easier to understand the
        different levels of responsibility in the application. In repo
        but not released in app yet though.</p>
      <p><a moz-do-not-send="true"
href="https://drive.google.com/file/d/1jWC7yLw8Q6sZeoq__m7K27vyOT8Dn55I/view?usp=sharing">Dolpin

          Smalltalk article about MVP,  </a><br>
      </p>
      <p><a moz-do-not-send="true"
          href="http://www.wildcrest.com/Potel/Portfolio/mvp.pdf">Article

          from the original designers of MVP</a></p>
      <p>Wikipedia: <a moz-do-not-send="true"
          class="moz-txt-link-freetext"
href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter">https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter</a></p>
      <p>Hilaire<br>
      </p>
    </blockquote>
    <br>
    I haven't written a GUI end user application in Cuis in a while. I
    agree that Cuis has what is needed to build complex GUIs. DrGeo is
    the primary example.<br>
    <br>
    I wasn't aware that DrGeo is based on MVP. I never used MVP although
    I read about it. Some day I'd find time to understand your design.<br>
    <br>
    Thanks,<br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
  </body>
</html>