<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 07/28/2013 09:29 PM, Greg Hellings
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAHxvOVJrEqM2_OseOEMESAfhUS=Q43UaMR4_hMFAp0DisdkCPQ@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra">On Sun, Jul 28, 2013 at 2:07 PM, Jaak
          Ristioja <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:jaak@ristioja.ee" target="_blank">jaak@ristioja.ee</a>&gt;</span>
          wrote:<br>
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">-----BEGIN
              PGP SIGNED MESSAGE-----<br>
              Hash: SHA1<br>
              <br>
              Hi!<br>
              <div class="im"><br>
                On 28.07.2013 20:36, Troy A. Griffitts wrote:<br>
                &gt; Hey guys. &nbsp;I spent today to try to add a few
                methods into 1.7.0<br>
                &gt; before we push it out the door to ease your (those
                building Qt<br>
                &gt; frontends) integration with SWORD.<br>
                <br>
              </div>
              I'm sorry, but this doesn't seem like a good idea. First
              of all, if<br>
              1.7.0 is just about to be released then adding
              experimental features<br>
              is not good.<br>
            </blockquote>
          </div>
        </div>
      </div>
    </blockquote>
    See response to Karl.<br>
    <br>
    <blockquote
cite="mid:CAHxvOVJrEqM2_OseOEMESAfhUS=Q43UaMR4_hMFAp0DisdkCPQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <br>
              Secondly, if you have support for Qt, why not for Gtk+ and
              others?<br>
            </blockquote>
          </div>
        </div>
      </div>
    </blockquote>
    Maybe we can add support for Gtk+.&nbsp; I haven't heard that Gtk+ makes
    it difficult to integrate with SWORD as I have heard from the Qt
    crowd.<br>
    <br>
    <blockquote
cite="mid:CAHxvOVJrEqM2_OseOEMESAfhUS=Q43UaMR4_hMFAp0DisdkCPQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div><br>
            </div>
            <div>For the above two reasons, I wonder if it's not better
              to put this sort of compatibility into the bindings world
              rather than strapping it directly into the engine.</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    It's difficult to do this.&nbsp; <br>
    <blockquote
cite="mid:CAHxvOVJrEqM2_OseOEMESAfhUS=Q43UaMR4_hMFAp0DisdkCPQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div><br>
            </div>
            <div>A simple extension of the primary classes that support
              QString and QArray typed methods would keep it out of the
              way of all the other front-ends and prevent unnecessary
              changes. I had begun down this route, but got stalled when
              I had difficulty unraveling the exact nature of the
              inheritance hierarchy between SWModule and its specific
              implementations. I never returned to it, because there
              didn't seem to be a pressing desire to have it.</div>
          </div>
        </div>
      </div>
    </blockquote>
    The SWORD engine returns SWBuf and SWKey objects all over the place
    (among other things).&nbsp; Creating a class SWBufWithQTSupport : public
    SWBuf {} subclass doesn't help.&nbsp; All the internal methods still
    return SWBuf-- not your subclasses.&nbsp; If you have a look at the added
    methods, they are simply to allow SWBuf to cast itself to QString
    and for SWKey to be constructed with a QString.<br>
    <br>
    <blockquote
cite="mid:CAHxvOVJrEqM2_OseOEMESAfhUS=Q43UaMR4_hMFAp0DisdkCPQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div>&nbsp;<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <br>
              Finally, have you thought about how much effort must be
              put into Sword<br>
              over time to develop good Qt interfaces for everything in
              Sword? Have<br>
              you considered how much code bloat this would involve?<br>
            </blockquote>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    No, I don't believe this is true.&nbsp; SWORD exclusively uses SWBuf and
    const char * for strings.&nbsp; The additions allow SWBuf and QString to
    better flow back and forth.&nbsp; This should be sufficient to allow many
    interfaces in SWORD to work nicely with Qt.<br>
    <br>
    <blockquote
cite="mid:CAHxvOVJrEqM2_OseOEMESAfhUS=Q43UaMR4_hMFAp0DisdkCPQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div><br>
            </div>
            <div>Putting it into the bindings would permit more people
              to help. I've already got privileges in that folder and
              Troy could open commit rights to more. It also mirrors the
              behavior of the ObjC bindings shared between Eloquent and
              PocketSword.</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    I'm certainly open to this if you have a working example that gets
    as much bang for that the SWBuf and SWKey to QString conversion
    methods give up.<br>
    <br>
    I also am certainly open to removing what I just added if there is a
    detriment. But please have a look at the simply Qt example.&nbsp; This is
    completely natural interaction between the engine and Qt, and these
    are the major access points of the engine.&nbsp; I believe these minor
    additions should simplify quite a bit of code for Qt projects.<br>
    <br>
    Troy<br>
    <br>
    <br>
    <br>
    <br>
    <blockquote
cite="mid:CAHxvOVJrEqM2_OseOEMESAfhUS=Q43UaMR4_hMFAp0DisdkCPQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div><br>
            </div>
            <div>--Greg</div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
    </blockquote>
    <br>
  </body>
</html>