-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi!
On 29.07.2013 11:08, Troy A. Griffitts wrote: > From the 2 responses from people who use the Bibletime wrappers, > it sounds like there are many things which are useful for building > At apps with SWORD. When I responded 'No' to Jaak's prompting to > consider how bloated the library might get as we enhance the Qt > integration, I meant the 'no' to mean that I wasn't planning on > doing much more than the SWBuf, SWKey to QString. ... > My very modest additions were not meant to replace a rich layer of > Qt components, but merely to simplify development of them. It was > the biggest bang for the buck I could see which wasn't too > intrusive into the engine. Personally I'd still remove the Qt stuff and keep the Sword interface as simple as possible. This would make it a bit easier for anybody to the comprehend the header files, and simplify code maintenance efforts for Sword developers. In my opinion the overhead for using Sword with Qt stuff is not that big. On the contrary, I think this would make Sword biased towards Qt-based projects. Additionally it seems that in Qt conversion operators are frowned upon. For example, QString doesn't define conversion operators to and from std::string but uses explicit methods for that. > Finally, Jaak, I've considered making SWKey more like an iterator, > but while it makes things conceptually more familiar at first, it > loses much of the actual usefulness of the abstraction. Consider > the parsing and range features of VerseKey, or the very much not > iterator concepts of TreeKey. We've made these all extend SWKey > nicely and you can open a module and use it without knowing the > specifics of its key type, but if you need the more specific > behavior of, say, getting the children of a node in a TreeKey, then > you can be specific about it. I think it is still possible to change them to fulfill standard iterator requirements without sacrificing these features. Iterators can still have other methods besides the ones listed in the requirements. Of course for tree iterators the order of traversal is somewhat an issue. > Also SWBuf was initially based on all the std::string functionality > we used in the engine before we replaced them with SWBuf. Often you > can simply swap SWBuf for std::string and your code will compile. > Functionality beyond std::string (which I feel is a very poorly > thought out string object along with its wstring counterpart) is > taken nearly verbatim from Java's String class. So, I hope we > already do what you've suggested about modeling our string object > on familiar string object people might be familiar with. If we expect C++ programmers to be familiar with Java's String object, then yes. I can only speak for myself and I'm not familiar with it. Personally I would first have considered subclassing SWBuf from std::string. > Please still comment quickly. As soon as everyone is finished with > their ChangeLog entries, and we drop in a v11n for IBT for the > Protestant Synodal modules (which should be today or tomorrow) I > will package up a release candidate. If these small additions do > not simplify your wrappers and make programming for others without > your wrappers much easier, we should drop them back out. Regardless of the advantages and disadvantages of this move towards Qt, at this point such commits should not go into the branch from which you plan to release stable version 1.7.0 from. For Sword 1.8.0 this still needs more consideration, but please let's have a STABLE 1.7 series (branch). Blessings, Jaak PS: Why does Sword release from trunk instead of having a different branch for 1.7? -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) 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 PWl+ZcTwn7EI+42zFnWt =thFB -----END PGP SIGNATURE----- _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page