As an observer here, my intent is to say as little as possible. I am a programmer but am not part of this development team but want to make certain a couple of things don't get lost in this discussion. There are likely going to be many people who will be using screen readers with this software. Environments are complex and varied, and I have no idea how a Java application will compete for priority, in the Windows environment, screen readers are often affected by how heavily other applications are using the computer. To some degree, this shouldn't happen in most systems sold today because there should be plenty of resources to go around, but it still does. If working with a large document causes screen reader key echoing to be slowed down or suspended while translation is taking place, it will be seen as a major drawback by blind persons. Perhaps this is already part of the software, but there should be an option to turn off dynamic translation completely for those who find they don't need it and are satisfied to initiate translation manually. The point has already been made that one can do a lot of document editing without adding any white space, and during document editing is one time when variable or poor responsiveness will be most frustrating. What are the implications of cutting and pasting text from one part of a document to another? If the thought is that BrailleBlaster is going to be a reasonably powerful word processor, we can't loose sight of the fact that those who have written word processors have had to work out many bugs in the process. There should be consideration given to when a document should be created and refined in a separate word processor and when it will be BrailleBlaster's role to function as a word processor. I see what tremendous progress has been made, but some of this discussion scares me a bit because I'm not certain this couldn't easily get too large and complex to adequately maintain within an open source environment. Best regards, Steve Jacobson On Fri, 4 Jan 2013 09:10:41 -0600, John J. Boyer wrote: >As Michael suggested, retranslating at each keystroke is not a good >idea. We might retranslate when the spacebar is pressed or when the user >stops typing for a brief time. >Finding out which node is being edited will be done by keeping a record >of the starting and ending points of the text for the node. This record >is kept in the semanticsList ArrayList in Semantics.java The StyledText >control has a method for determining the current cursor location. I'm >not quite sure how to tetermine the starting and ending points of a >block of text, but I'm pretty sure it can be done. Also, we can write >out own version of the StyledTextContent class. It is in the SWT custom >package along with StyledText and some other useful classes. The >abstract classes in the wordprocessor package may also be worth looking >at. >I can change the name of the documentmodel package to document. You also >did not like the name Semantics. What would you suggest as a >replacement? >Thanks, >John >On Fri, Jan 04, 2013 at 01:18:33PM +0000, Keith Creasy wrote: >> This makes sense. I still wonder how we can know which text node is being >> edited. Any ideas? >> >> Also, where do the views access the DOM and where does the document update >> the views? I also think all this needs to be in a Document class so that it makes sense when one is just exploring the source code. >> >> >> Keith Creasy >> Software Developer >> American Printing House for the Blind >> KCreasy@xxxxxxx >> Phone: 502.895.2405 >> Skype: keith537 >> >> >> -----Original Message----- >> From: brailleblaster-bounce@xxxxxxxxxxxxx >> [mailto:brailleblaster-bounce@xxxxxxxxxxxxx] On Behalf Of John J. Boyer >> Sent: Thursday, January 03, 2013 4:42 PM >> To: brailleblaster@xxxxxxxxxxxxx >> Subject: [brailleblaster] Dynamic translation >> >> As I see it dynamic or on-the-fly translation will apply to the text node >> courrently being edited. Each time a character key is pressed a new liblouisutdml function will be called to trranslate the node. >> liblouisuteml is needed because we are working with an xml document and the >> configuration parameters used for the original rendering should be applied. The function will not be diffiecult to implement. It might be called something like translateTextNode . There should be no noticeable performance lag for text nodes of reasonable size. However, I have seen some with tens of thousands of characters, so dynamic translation may be turned off for such huge nodes. >> >> The dynamic translation may make pagination and other things invalid, so the >> user can retranslate (actually, re-render) the documennt. >> >> John >> >> -- >> John J. Boyer; President, Chief Software Developer Abilitiessoft, Inc. >> http://www.abilitiessoft.com >> Madison, Wisconsin USA >> Developing software for people with disabilities >> >> >-- >John J. Boyer; President, Chief Software Developer >Abilitiessoft, Inc. >http://www.abilitiessoft.com >Madison, Wisconsin USA >Developing software for people with disabilities