In response to your point number 5 about Mozilla: I believe that the
wxMozilla wrapper for the Gecko rendering engine uses XPCom rather than
ActiveX, but I am not 100% on that.  If I am right, it solves the
problem of point (1) by giving excellent rendering of HTML within
wxWidgets (in a side-by-side comparison of the same code base in
wxWidgets comparing the wxHTML with wxMozillaBrowswer, the Mozilla
rendered all of the included material, both CSS and standard formatting
within 5 seconds for a file of >1MB while wxHTML only rendered the
standard HTML i, b, u, h1, h2, h3, etc tags and took over 10 minutes)
and (2) could eliminate the problems with (5) of having a limit to the
interface using ActiveX.<br><br><div><span class="gmail_quote">On 6/21/05, <b class="gmail_sendername">David</b> &lt;<a href="mailto:dnr@crosswire.org">dnr@crosswire.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have experimented with several different things lately, the main<br>objective was a light weight html document view. Not specifically for<br>Sword, but I tend to believe that this is needed for all Bible study<br>software in the future. A secondary concern was a gui framework, and
<br>cross platform would be nice but not required. Here are my conclusions<br>(it might save someone a little time):<br><br>1. wxWidgets: The html view is really not sufficient, and it also<br>results in very large executables.
<br><br>2. QT: A very complete framework. And I think provides most support that<br>is needed, but the dll is about 6 megs. And text copied from the html<br>view does not maintain formatting. Also I believe that it will not
<br>support Win95. There are some people who still use Win95, it would be<br>nice (if possible) to maintain support for those people who really can<br>not afford to buy new computers, or upgrade the ones that they have. Of
<br>course QT will most likely not be installed on the users system, so that<br>means the basic starter package will be quite a bit larger. Not good for<br>people who do not have fast internet connections.<br><br>3 GTK+: Very nice, Glade is not as fancy a gui designer as a lot of
<br>tools but it makes it very easy to create even complicated gui's<br>quickly. And it can generate code in C, or C++, and it can use libglade.<br>It can also generate projects for Dev C++, VC6, and I think some other<br>
ide's. There are 1 bug that I have seen that I think will be fixed in<br>the next release scheduled later this year, and that is with painting of<br>windows when a vpane, or hpane has been resized. Print support does not<br>
exist but I think it is scheduled for the next release also. It has the<br>same problem of loosing formatting when pasting text that QT has, and I<br>have not seen anything about support for that being added. GtkTextView<br>
is really nice with the exception that it does not support bulleted<br>lists, and tables (I am not sure if there are any plans for supporting<br>those things either). I think that everything needed for GTK+ will<br>compress down to about 2 megabytes (zip compression).
<br><br>4. Embedding Internet Explorer: Provides everything needed as for<br>rendering, but you can not be certain that there will be a suitable<br>version installed on the users computer. And if not it would be a pretty<br>
large download.<br><br>5. Embedding Mozilla: The ActiveX control does not expose all of the<br>interfaces that will be needed by BibleCS, either the ActiveX control<br>would need to be improved, or interface with xpcom instead. But, either
<br>way this could result in a large download.<br><br>6. Building components from the Mozilla source: The build process for<br>Mozilla is complicated. I have been able to build nspr, and some of the<br>other dll's but I have not been able to build the complete browser. And
<br>I have tried separating some of the components, but that proves to be a<br>difficult task also.<br><br>The conclusion:<br>Mozilla uses native functions to draw text, controls etc. So there will<br>not be any special libraries needed to build an html control (other than
<br>for images) on Windows. Use native functions to create an html rendering<br>engine for Windows. Using messages, and callback functions that emulate<br>RichEdit could make it easier to get it working in BibleCS (of course
<br>BibleCS interacts with RichEdit through a Delphi wrapper, so that might<br>make it a little more complicated to make the change). Creating the<br>rendering engine should not be really difficult with the exception of<br>
table support. But, currently BibleCS does not have support for tables,<br>so if that were left out, it would still not be a step backward. Table<br>support could be added later. There are a couple of advantages to this<br>
that one might not think of at first, like designing the parser for the<br>rendering engine to work directly with OSIS. Which would make sense<br>since the 2 pass filter which is planned to come after the 1 pass filter<br>
will be going from whatever the input specification is to OSIS to<br>whatever the required output specification is for the renderer.<br>Instead of something like:<br>ThML &gt; OSIS &gt; RTF, or<br>ThML &gt; OSIS &gt; HTML,or
<br>OSIS &gt; RTF,or<br>OSIS &gt; HTML<br><br>It would be:<br>ThML &gt; OSIS, and documents that were already marked up in OSIS could be<br>passed directly to the rendering engine.<br><br>DNR<br><br><br>DM Smith wrote:<br>
<br>&gt; Greg,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; If the architecture of a non-trivial program is sound, I find that<br>&gt; it is easier to improve something than to start all over from scratch.<br>&gt; If there are only a few features of BibleCS that are less than ideal,
<br>&gt; then it probably should be much easier to fix those than to start all<br>&gt; over.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I imagine that when BibleCS developers looks at rendering HTML<br>&gt; that they will evaluate the different possibilities (much as we are
<br>&gt; for BibleDesktop/JSword) of available HTML renderers. It is quite<br>&gt; possible that Qt will be evaluated. They may find (as we are with BD)<br>&gt; that the best choice requires significant rewrite.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; If you are capable of writing a system from scratch, I think that
<br>&gt; you would be of greater help to improve one of the existing projects.<br>&gt; Try taking BibleCS and drop in an HTML renderer where the RTF renderer<br>&gt; is today. Preserve the existing behavior of intra-application cross
<br>&gt; references, dictionary lookups and informational popups. You can get<br>&gt; the source via SVN and modify it to your hearts content.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; If all you are wanting is an HTML rendering, BibleDesktop already<br>
&gt; does that. So do other Sword derivatives (e.g. web apps). If you are<br>&gt; looking for a cross-platform application, BibleDesktop is that. If you<br>&gt; want to code in C++ for Windows, then BibleCS is where it's at. If you
<br>&gt; want to program using Qt, try BibleTime (perhaps port it to Windows).<br>&gt; And if you want to program in Gnome for Linux or on the Mac, there are<br>&gt; projects for that.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Each of these projects want committed developers to join them.
<br>&gt; Please help.<br>&gt; Thanks,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; DM<br>&gt;<br>&gt;<br>&gt; Greg Hellings wrote:<br>&gt;<br>&gt;&gt; I don't want to be tied to a single IDE and layout program.&nbsp;&nbsp;Also, I<br>&gt;&gt; have been informed that there are a few features of BibleCS that are
<br>&gt;&gt; less than ideal.&nbsp;&nbsp;I realize that no program is ideal, but if one were<br>&gt;&gt; to start over, then these flaws could be fixed.&nbsp;&nbsp;Work ages with<br>&gt;&gt; perfection, does it not?&nbsp;&nbsp;Perhaps it is time that the Windows client
<br>&gt;&gt; for Sword return in a second manifestation.<br>&gt;&gt;<br>&gt;&gt; --Greg<br>&gt;&gt;<br>&gt;&gt; On 6/17/05, *Chris Little* &lt;<a href="mailto:chrislit@crosswire.org">chrislit@crosswire.org</a><br>&gt;&gt; &lt;mailto:
<a href="mailto:chrislit@crosswire.org">chrislit@crosswire.org</a>&gt;&gt; wrote:<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Why are you planning to start from scratch rather than adding HTML<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; rendering to BibleCS? (out of curiosity)
<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Greg Hellings wrote:<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Yes, the need is pretty glaring.&nbsp;&nbsp;Is the support there?&nbsp;&nbsp;If someone<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; ( i.e. myself?) were to begin work, would help be forthcoming?
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Presumably Bibletime would be possible in Windows with the recent<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; release of free Qt for Windows, but would a native UI<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; achievable with wx<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; be desireable?
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; On 6/16/05, *DM Smith* &lt;<a href="mailto:dmsmith555@yahoo.com">dmsmith555@yahoo.com</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:dmsmith555@yahoo.com">dmsmith555@yahoo.com</a>
&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &lt;mailto:<a href="mailto:dmsmith555@yahoo.com">dmsmith555@yahoo.com</a> &lt;mailto:<a href="mailto:dmsmith555@yahoo.com">dmsmith555@yahoo.com</a>&gt;&gt;&gt; wrote:<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; See 
<a href="http://www.crosswire.org/bugs/browse/BCS-24">http://www.crosswire.org/bugs/browse/BCS-24</a>. Troy<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; mentions that<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &quot;yep, we need to switch to an HTML renderer&quot; for BibleCS.
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Greg Hellings wrote:<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Fellow Sword-bearers,<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Would there be any interest amongst the Sword developer's
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; community to develop a new front end for Sword that would<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; be based<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; off of HTML display rather than the current one with its<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; RTF-base?&nbsp;&nbsp;I realize that
there already is BibleStudy to<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; supplement BibleCS, but the current 1.0 release of<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; BibleStudy is a<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; bit dated.&nbsp;&nbsp;When I did a
check-out from CVS for it, it<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; would not<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; compile against the newest versions of the Sword<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; library.&nbsp;&nbsp;What I<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; am thinking of would be a complete rewrite, hopefully
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; using the<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; wxWidgets, as BibleStudy aimed for.&nbsp;&nbsp;I have been<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; experimenting<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; recently with wxMozilla, which is a wrapper for Gecko within
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; wxWidgets which makes the Gecko engine surprisingly simple to<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; use.&nbsp;&nbsp;I would like to start
development on a new client<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; some time<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; in the next few weeks and have a first pass at it out by<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; the end<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; of August, hopefully.<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Is there other support for this within
the community?&nbsp;&nbsp;I<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; noticed<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; in the ancient archives of the Sword developers, someone had<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; proposed this idea, but it seems to have died off fairly<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; rapidly.<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Let me hear some feedback!<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; --Greg<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;------------------------------------------------------------------------
<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;_______________________________________________<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;sword-devel mailing list:<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;<a href="mailto:sword-devel@crosswire.org">
sword-devel@crosswire.org</a> &lt;mailto:<a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;<a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel
</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt; &lt; <a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;Instructions to unsubscribe/change your settings at above page
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------------------------------------------------------<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; _______________________________________________
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>&gt;
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; <a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Instructions to unsubscribe/change your settings at above page
<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; _______________________________________________<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:sword-devel@crosswire.org">
sword-devel@crosswire.org</a>&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Instructions to unsubscribe/change your settings at above page
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;------------------------------------------------------------------------<br>&gt;&gt;<br>&gt;&gt;_______________________________________________<br>&gt;&gt;sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">
sword-devel@crosswire.org</a><br>&gt;&gt;<a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>&gt;&gt;Instructions to unsubscribe/change your settings at above page
<br>&gt;&gt;<br>&gt;------------------------------------------------------------------------<br>&gt;<br>&gt;_______________________________________________<br>&gt;sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">
sword-devel@crosswire.org</a><br>&gt;<a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>&gt;Instructions to unsubscribe/change your settings at above page
<br>&gt;<br><br>_______________________________________________<br>sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br><a href="http://www.crosswire.org/mailman/listinfo/sword-devel">
http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>Instructions to unsubscribe/change your settings at above page<br></blockquote></div><br>