<!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">
    Cool.<br>
    <br>
    Understanding and improving on any bottlenecks is important!<br>
    <br>
    Thanks,<br>
    <br>
    On 5/8/2022 10:07 AM, Mariano Montone via Cuis-dev wrote:
    <blockquote
      cite="mid:3cbf4296-a376-35ba-420d-20e213647af0@gmail.com"
      type="cite">
      <meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
      <div>Hi Luciano,</div>
      <div><br>
      </div>
      <div>El 8/5/22 a las 04:00, Luciano Notarfrancesco escribió:<br>
      </div>
      <blockquote type="cite"
cite="mid:CAL5GDyqBim81SwqH+wks+qe3tJ2hG4-aWDRL3LQOBNtKTrJSXQ@mail.gmail.com">
        <div>
          <div>Hi Mariano,</div>
          <div><br>
          </div>
          <div>Do you know why exactly the original file list was slow
            and why this is faster? Can we improve the performance of
            the current file list or the HierarchicalListMorph in
            general?</div>
        </div>
      </blockquote>
      <p>I have not strictly measured, so I'm not sure if the problem is
        the widget or the disk access, or a bit of both. Also, I've
        noticed that my flat file browser is a bit slower for some of my
        directories than others. I guess it has to do with directory
        size.</p>
      <p>Also, my machine is quite slow, and with a quite deep file
        structure;  perhaps not everybody has this problem.<br>
      </p>
      <blockquote type="cite"
cite="mid:CAL5GDyqBim81SwqH+wks+qe3tJ2hG4-aWDRL3LQOBNtKTrJSXQ@mail.gmail.com">
        <div>
          <div>And why did you find the need to subclass InnerListMorph
            and PluggableListMorph and add the instance variable
            itemPrinter? Originally PluggableListMorph is designed to
            get a list of strings from the model, and on selection it
            tells the model the selected index in the list. It seems
            that so far we didn’t have the need to allow arbitrary
            objects in the lists and using just strings was enough. I
            wonder if we can do the same here, and otherwise if we
            should make the PluggableListMorph “even more pluggable” by
            allowing arbitrary objects as items and avoid adding those
            two special subclasses with itemPrinting.</div>
        </div>
      </blockquote>
      <p>Yes. I've done this many times. I really, really want to work
        with the underlying objects, not the strings. For example, the
        flat file browser displays only the name of the file entries,
        not the full path. Also, I'm considering using something like
        <filename> - <date> - <size> .. I wouldn't
        want to have to parse FileEntries back from those string
        representations..<br>
      </p>
      <p>Now that I think about it, I could use PluggableListMorph with
        some ItemWrapper with the custom printing, instead of
        subclassing the list morph, but still, it would be another
        inconvenience having to wrap/unwrap. <br>
      </p>
      <p>I have an extension of PluggableListMorph in another package
        that supports both itemPrinting and icons. I often use that in
        my projects; not this time, as I didn't want to introduce a
        package dependency.<br>
      </p>
      <p>So, yes, making PluggableListMorph more pluggable would be
        something worth considering IMO.</p>
      <p>Cheers,<br>
      </p>
      <p>Mariano<br>
      </p>
      <blockquote type="cite"
cite="mid:CAL5GDyqBim81SwqH+wks+qe3tJ2hG4-aWDRL3LQOBNtKTrJSXQ@mail.gmail.com">
        <div>
          <div><br>
          </div>
          <div><br>
            <div>
              <div>On Sun, 8 May 2022 at 8:52 AM Mariano Montone via
                Cuis-dev <<a moz-do-not-send="true"
                  href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>>

                wrote:<br>
              </div>
              <blockquote>Hello,<br>
                <br>
                I've started a FlatFileList tool, a file browser that
                uses a flat <br>
                directory list instead of a directory tree as the
                default Cuis file <br>
                browser does.<br>
                <br>
                <a moz-do-not-send="true"
href="https://bitbucket.org/mmontone/mold/raw/master/FlatFileList.pck.st">https://bitbucket.org/mmontone/mold/raw/master/FlatFileList.pck.st</a><br>
                <br>
                Open via world menu: "open" -> "Flat File List".<br>
                <br>
                Use double click to open a directory, and visualize
                files.<br>
                <br>
                Right click for changing sort order, and file specific
                functions (file <br>
                in, install, etc).<br>
                <br>
                You can also enter a directory path directly in the text
                input on the <br>
                upper-left.<br>
                <br>
                It is very incomplete and haven't decided on its final
                form yet, but .. <br>
                it is very fast and useful already for loading code.<br>
                <br>
                Also, I hope that a file selection tool comes out of
                this too, as I <br>
                think that'd be useful for other Cuis applications.<br>
                <br>
                If you want to take a peek and give me some feedback,
                that's welcomed.<br>
                <br>
                Cheers,<br>
                <br>
                Mariano<br>
                <br>
                <br>
                -- <br>
                Cuis-dev mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:Cuis-dev@lists.cuis.st">Cuis-dev@lists.cuis.st</a><br>
                <a moz-do-not-send="true"
                  href="https://lists.cuis.st/mailman/listinfo/cuis-dev">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
              </blockquote>
            </div>
          </div>
        </div>
      </blockquote>
      <p><br>
      </p>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a class="moz-txt-link-freetext" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a class="moz-txt-link-freetext" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
<a class="moz-txt-link-freetext" href="https://independent.academia.edu/JuanVuletich">https://independent.academia.edu/JuanVuletich</a>
<a class="moz-txt-link-freetext" href="https://www.researchgate.net/profile/Juan-Vuletich">https://www.researchgate.net/profile/Juan-Vuletich</a>
<a class="moz-txt-link-freetext" href="https://patents.justia.com/inventor/juan-manuel-vuletich">https://patents.justia.com/inventor/juan-manuel-vuletich</a>
<a class="moz-txt-link-freetext" href="https://twitter.com/JuanVuletich">https://twitter.com/JuanVuletich</a></pre>
  </body>
</html>