[brailleblaster] 2 new revisions pushed by john.bo...@xxxxxxxxxxxxxxxxx on 2012-05-04 08:53 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Fri, 04 May 2012 08:53:10 +0000

2 new revisions:

Revision: aab8b175abf6
Author:   John Boyer <john.boyer@xxxxxxxxxxxxxxxxx>
Date:     Fri May  4 01:12:16 2012
Log:      implemennting Multi-document interface
http://code.google.com/p/brailleblaster/source/detail?r=aab8b175abf6

Revision: 25d0c51b11cc
Author:   John Boyer <john.boyer@xxxxxxxxxxxxxxxxx>
Date:     Fri May  4 01:52:02 2012
Log:      making nested UTD class an independent class
http://code.google.com/p/brailleblaster/source/detail?r=25d0c51b11cc

==============================================================================
Revision: aab8b175abf6
Author:   John Boyer <john.boyer@xxxxxxxxxxxxxxxxx>
Date:     Fri May  4 01:12:16 2012
Log:      implemennting Multi-document interface
http://code.google.com/p/brailleblaster/source/detail?r=aab8b175abf6

Modified:
 /src/main/org/brailleblaster/wordprocessor/BBMenu.java
 /src/main/org/brailleblaster/wordprocessor/DocumentManager.java
 /src/main/org/brailleblaster/wordprocessor/RecentDocuments.java
 /src/main/org/brailleblaster/wordprocessor/WPManager.java

=======================================
--- /src/main/org/brailleblaster/wordprocessor/BBMenu.java Mon Apr 30 20:55:37 2012 +++ /src/main/org/brailleblaster/wordprocessor/BBMenu.java Fri May 4 01:12:16 2012
@@ -1,30 +1,30 @@
 /* BrailleBlaster Braille Transcription Application
-  *
-  * Copyright (C) 2010, 2012
-  * ViewPlus Technologies, Inc. www.viewplus.com
-  * and
-  * Abilitiessoft, Inc. www.abilitiessoft.com
-  * All rights reserved
-  *
-  * This file may contain code borrowed from files produced by various
-  * Java development teams. These are gratefully acknoledged.
-  *
-  * This file is free software; you can redistribute it and/or modify it
-  * under the terms of the Apache 2.0 License, as given at
-  * http://www.apache.org/licenses/
-  *
-  * This file is distributed in the hope that it will be useful, but
-  * WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
-  * See the Apache 2.0 License for more details.
-  *
-  * You should have received a copy of the Apache 2.0 License along with
-  * this program; see the file LICENSE.
-  * If not, see
-  * http://www.apache.org/licenses/
-  *
-  * Maintained by John J. Boyer john.boyer@xxxxxxxxxxxxxxxxx
-*/
+ *
+ * Copyright (C) 2010, 2012
+ * ViewPlus Technologies, Inc. www.viewplus.com
+ * and
+ * Abilitiessoft, Inc. www.abilitiessoft.com
+ * All rights reserved
+ *
+ * This file may contain code borrowed from files produced by various
+ * Java development teams. These are gratefully acknoledged.
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the Apache 2.0 License, as given at
+ * http://www.apache.org/licenses/
+ *
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
+ * See the Apache 2.0 License for more details.
+ *
+ * You should have received a copy of the Apache 2.0 License along with
+ * this program; see the file LICENSE.
+ * If not, see
+ * http://www.apache.org/licenses/
+ *
+ * Maintained by John J. Boyer john.boyer@xxxxxxxxxxxxxxxxx
+ */

 package org.brailleblaster.wordprocessor;

@@ -41,623 +41,631 @@

 class BBMenu {

-/**
-* This class contains all the menus.
-*/
-
-final Menu menuBar;
-
-/* All the menu items are member fields so they can be accessed outside
-* the constructor. This might be done for example with setEnabled(false)
-* to indicate that a menu item is unavailable.
-*/
-MenuItem newItem;
-MenuItem openItem;
-MenuItem recentItem;
-MenuItem importItem;
-MenuItem saveItem;
-MenuItem saveAsItem;
-MenuItem embosserSetupItem;
-MenuItem embosserPreviewItem;
-MenuItem embossInkPreviewItem;
-MenuItem embossNowItem;
-MenuItem embossInkNowItem;
-MenuItem printPageSetupItem;
-MenuItem printPreviewItem;
-MenuItem printItem;
-MenuItem languageItem;
-MenuItem closeItem;
-MenuItem exitItem;
-MenuItem undoItem;
-MenuItem redoItem;
-MenuItem cutItem;
-MenuItem copyItem;
-MenuItem pasteItem;
-MenuItem searchItem;
-MenuItem replaceItem;
-MenuItem spellCheckItem;
-MenuItem boldToggleItem;
-MenuItem italicToggleItem;
-MenuItem underlineToggleItem;
-MenuItem zoomImageItem;
-MenuItem selectAllItem;
-MenuItem createStyleItem;
-MenuItem nextElementItem;
-MenuItem assocSelectionItem;
-MenuItem lockSelectionItem;
-MenuItem unlockSelectionItem;
-MenuItem editLockedItem;
-MenuItem keybdBrlToggleItem;
-MenuItem cursorFollowItem;
-MenuItem dragCursorItem;
-MenuItem increaseFontSizeItem;
-MenuItem decreaseFontSizeItem;
-MenuItem increaseContrastItem;
-MenuItem decreaseContrastItem;
-MenuItem showOutlineItem;
-MenuItem braillePresentationItem;
-MenuItem formatLikeBrailleItem;
-MenuItem showPageBreaksItem;
-MenuItem xtranslateItem;
-MenuItem backTranslateItem;
-MenuItem translationTemplatesItem;
-MenuItem inLineMathItem;
-MenuItem displayedMathItem;
-MenuItem inLineGraphicItem;
-MenuItem displayedGraphicItem;
-MenuItem tableItem;
-MenuItem brlFormatItem;
-MenuItem brailleASCIIItem;
-MenuItem showTranslationTemplatesItem;
-MenuItem showFormatTemplatesItem;
-MenuItem changeSettingsItem;
-MenuItem readManualItem;
-MenuItem helpInfoItem;
-MenuItem tutorialsItem;
-MenuItem checkUpdatesItem;
-MenuItem aboutItem;
-
-BBMenu (final DocumentManager dm) {
-LocaleHandler lh = new LocaleHandler();
-
-/* Note that the values in the setText methods are keys for
-* localization. They are not intended to be seen by the user.
-* Capitalization should follow the convention for names in Java, but
-* this is not always consistent. Values, with proper capitalization, are
-* shown in the files in the dist/programData/lang subdirectory.
-*/
-
-// Set up menu bar
-menuBar = new Menu (dm.documentWindow, SWT.BAR);
-MenuItem fileItem = new MenuItem (menuBar, SWT.CASCADE);
-fileItem.setText (lh.localValue("&File"));
-MenuItem editItem = new MenuItem (menuBar, SWT.CASCADE);
-editItem.setText (lh.localValue("&Edit"));
-MenuItem viewItem = new MenuItem (menuBar, SWT.CASCADE);
-viewItem.setText (lh.localValue("&View"));
-MenuItem translateItem = new MenuItem (menuBar, SWT.CASCADE);
-translateItem.setText (lh.localValue("&Translate"));
-MenuItem insertItem = new MenuItem (menuBar, SWT.CASCADE);
-insertItem.setText (lh.localValue("&Insert"));
-MenuItem advancedItem = new MenuItem (menuBar, SWT.CASCADE);
-advancedItem.setText (lh.localValue("&Advanced"));
-MenuItem helpItem = new MenuItem (menuBar, SWT.CASCADE);
-helpItem.setText (lh.localValue("&Help"));
-
-// Set up file menu
-Menu fileMenu = new Menu (dm.documentWindow, SWT.DROP_DOWN);
-newItem = new MenuItem (fileMenu, SWT.PUSH);
-newItem.setText (lh.localValue("&New"));
-newItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-if (BBIni.debugging()) {
-dm.setReturn (WP.NewDocument);
-}
-else {
-dm.fileNew();
-}
-}
-});
-openItem = new MenuItem (fileMenu, SWT.PUSH);
-openItem.setText (lh.localValue("&Open"));
-openItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-if (BBIni.debugging()) {
-dm.setReturn (WP.OpenDocumentGetFile);
-} else {
-dm.fileOpen();
-}
-}
-});
-recentItem = new MenuItem (fileMenu, SWT.PUSH);
-recentItem.setText (lh.localValue("&Recent"));
-recentItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.recentDocuments();
-}
-});
-importItem = new MenuItem (fileMenu, SWT.PUSH);
-importItem.setText (lh.localValue("&Import"));
-importItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-saveItem = new MenuItem (fileMenu, SWT.PUSH);
-saveItem.setText (lh.localValue("&Save"));
-saveItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-saveAsItem = new MenuItem (fileMenu, SWT.PUSH);
-saveAsItem.setText (lh.localValue("Save&As"));
-saveAsItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.fileSaveAs();
-}
-});
-embosserSetupItem = new MenuItem (fileMenu, SWT.PUSH);
-embosserSetupItem.setText (lh.localValue("&EmbosserSetup"));
-embosserSetupItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-embosserPreviewItem = new MenuItem (fileMenu, SWT.PUSH);
-embosserPreviewItem.setText (lh.localValue("Embosser&Preview"));
-embosserPreviewItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-embossInkPreviewItem = new MenuItem (fileMenu, SWT.PUSH);
-embossInkPreviewItem.setText (lh.localValue("Emboss&InkPreview"));
-embossInkPreviewItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-embossNowItem = new MenuItem (fileMenu, SWT.PUSH);
-embossNowItem.setText (lh.localValue("Emboss&Now!"));
-embossNowItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.fileEmbossNow();
-}
-});
-embossInkNowItem = new MenuItem (fileMenu, SWT.PUSH);
-embossInkNowItem.setText (lh.localValue("EmbossInkN&ow"));
-embossInkNowItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-printPageSetupItem = new MenuItem (fileMenu, SWT.PUSH);
-printPageSetupItem.setText (lh.localValue("PrintPageS&etup"));
-printPageSetupItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-printPreviewItem = new MenuItem (fileMenu, SWT.PUSH);
-printPreviewItem.setText (lh.localValue("PrintP&review"));
-printPreviewItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-printItem = new MenuItem (fileMenu, SWT.PUSH);
-printItem.setText (lh.localValue("&Print"));
-printItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-languageItem = new MenuItem (fileMenu, SWT.PUSH);
-languageItem.setText (lh.localValue("&Language"));
-languageItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-closeItem = new MenuItem (fileMenu, SWT.PUSH);
-closeItem.setText (lh.localValue("&close"));
-closeItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-if (BBIni.debugging()) {
-dm.setReturn (WP.DocumentClosed);
-}
-else {
-dm.setReturn (WP.BBClosed);
-}
-}
-});
-if (!BBIni.getPlatformName().equals("cocoa")) {
-exitItem = new MenuItem (fileMenu, SWT.PUSH);
-exitItem.setText (lh.localValue("e&xit"));
-exitItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.setReturn (WP.BBClosed);
-}
-});
-}
-fileItem.setMenu (fileMenu);
-
-// Set up edit menu
-Menu editMenu = new Menu (dm.documentWindow, SWT.DROP_DOWN);
-undoItem = new MenuItem (editMenu, SWT.PUSH);
-undoItem.setText (lh.localValue("&Undo"));
-undoItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-if (BBIni.debugging()) {
-dm.setReturn (WP.SwitchDocuments);
-} else {
-dm.placeholder();
-}
-}
-});
-redoItem = new MenuItem (editMenu, SWT.PUSH);
-redoItem.setText (lh.localValue("&Redo"));
-redoItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-cutItem = new MenuItem (editMenu, SWT.PUSH);
-cutItem.setText (lh.localValue("&Cut"));
-cutItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-copyItem = new MenuItem (editMenu, SWT.PUSH);
-copyItem.setText (lh.localValue("c&Opy"));
-copyItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-pasteItem = new MenuItem (editMenu, SWT.PUSH);
-pasteItem.setText (lh.localValue("&Paste"));
-pasteItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-searchItem = new MenuItem (editMenu, SWT.PUSH);
-searchItem.setText (lh.localValue("&Search"));
-searchItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-replaceItem = new MenuItem (editMenu, SWT.PUSH);
-replaceItem.setText (lh.localValue("&Replace"));
-replaceItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-spellCheckItem = new MenuItem (editMenu, SWT.PUSH);
-spellCheckItem.setText (lh.localValue("&SpellCheck"));
-spellCheckItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-boldToggleItem = new MenuItem (editMenu, SWT.PUSH);
-boldToggleItem.setText (lh.localValue("&BoldToggle"));
-boldToggleItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-italicToggleItem = new MenuItem (editMenu, SWT.PUSH);
-italicToggleItem.setText (lh.localValue("&ItalicToggle"));
-italicToggleItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-underlineToggleItem = new MenuItem (editMenu, SWT.PUSH);
-underlineToggleItem.setText (lh.localValue("&UnderlineToggle"));
-underlineToggleItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-zoomImageItem = new MenuItem (editMenu, SWT.PUSH);
-zoomImageItem.setText (lh.localValue("&ZoomImage"));
-zoomImageItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-selectAllItem = new MenuItem (editMenu, SWT.PUSH);
-selectAllItem.setText (lh.localValue("&SelectAll"));
-selectAllItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-createStyleItem = new MenuItem (editMenu, SWT.PUSH);
-createStyleItem.setText (lh.localValue("&CreateStyle"));
-createStyleItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-nextElementItem = new MenuItem (editMenu, SWT.PUSH);
-nextElementItem.setText (lh.localValue("&NexstElement"));
-nextElementItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-assocSelectionItem = new MenuItem (editMenu, SWT.PUSH);
-assocSelectionItem.setText (lh.localValue("&AssocSelection"));
-assocSelectionItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-lockSelectionItem = new MenuItem (editMenu, SWT.PUSH);
-lockSelectionItem.setText (lh.localValue("&LockSelection"));
-lockSelectionItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-unlockSelectionItem = new MenuItem (editMenu, SWT.PUSH);
-unlockSelectionItem.setText (lh.localValue("&UnlockSelection"));
-unlockSelectionItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-editLockedItem = new MenuItem (editMenu, SWT.PUSH);
-editLockedItem.setText (lh.localValue("&EditLocked"));
-editLockedItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-keybdBrlToggleItem = new MenuItem (editMenu, SWT.PUSH);
-keybdBrlToggleItem.setText (lh.localValue("&KeybdBrlToggle"));
-keybdBrlToggleItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-cursorFollowItem = new MenuItem (editMenu, SWT.PUSH);
-cursorFollowItem.setText (lh.localValue("&CursorFollow"));
-cursorFollowItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-dragCursorItem = new MenuItem (editMenu, SWT.PUSH);
-dragCursorItem.setText (lh.localValue("&DragCursor"));
-dragCursorItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-editItem.setMenu (editMenu);
-
-// Set up view menu
-Menu viewMenu = new Menu (dm.documentWindow, SWT.DROP_DOWN);
-increaseFontSizeItem = new MenuItem (viewMenu, SWT.PUSH);
-increaseFontSizeItem.setText (lh.localValue("&IncreaseFontSize"));
-increaseFontSizeItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-decreaseFontSizeItem = new MenuItem (viewMenu, SWT.PUSH);
-decreaseFontSizeItem.setText (lh.localValue("&DecreaseFintSize"));
-decreaseFontSizeItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-increaseContrastItem = new MenuItem (viewMenu, SWT.PUSH);
-increaseContrastItem.setText (lh.localValue("&IncreaseContrast"));
-increaseContrastItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-decreaseContrastItem = new MenuItem (viewMenu, SWT.PUSH);
-decreaseContrastItem.setText (lh.localValue("&DecreaseContrast"));
-decreaseContrastItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-showOutlineItem = new MenuItem (viewMenu, SWT.PUSH);
-showOutlineItem.setText (lh.localValue("&ShowOutline"));
-showOutlineItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-braillePresentationItem = new MenuItem (viewMenu, SWT.PUSH);
-braillePresentationItem.setText (lh.localValue("&BraillePresentation"));
-braillePresentationItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-formatLikeBrailleItem = new MenuItem (viewMenu, SWT.PUSH);
-formatLikeBrailleItem.setText (lh.localValue("&FormatLikeBraille"));
-formatLikeBrailleItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-showPageBreaksItem = new MenuItem (viewMenu, SWT.PUSH);
-showPageBreaksItem.setText (lh.localValue("&ShowPageBreaks"));
-showPageBreaksItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-viewItem.setMenu (viewMenu);
-
-// Set up translate menu
-Menu translateMenu = new Menu (dm.documentWindow, SWT.DROP_DOWN);
-xtranslateItem = new MenuItem (translateMenu, SWT.PUSH);
-xtranslateItem.setText (lh.localValue("&Translate"));
-xtranslateItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.translate();
-}
-});
-backTranslateItem = new MenuItem (translateMenu, SWT.PUSH);
-backTranslateItem.setText
-(lh.localValue("&BackTranslate"));
-backTranslateItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-translationTemplatesItem = new MenuItem (translateMenu,
-SWT.PUSH);
-translationTemplatesItem.setText
-(lh.localValue("&TranslationTemplates"));
-translationTemplatesItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-translateItem.setMenu (translateMenu);
-
-// Set up insert menu
-Menu insertMenu = new Menu (dm.documentWindow, SWT.DROP_DOWN);
-inLineMathItem = new MenuItem (insertMenu, SWT.PUSH);
-inLineMathItem.setText (lh.localValue("&InLineMath"));
-inLineMathItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-displayedMathItem = new MenuItem (insertMenu, SWT.PUSH);
-displayedMathItem.setText (lh.localValue("&DisplayedMath"));
-displayedMathItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-inLineGraphicItem = new MenuItem (insertMenu, SWT.PUSH);
-inLineGraphicItem.setText (lh.localValue("&InLineGraphic"));
-inLineGraphicItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-displayedGraphicItem = new MenuItem (insertMenu, SWT.PUSH);
-displayedGraphicItem.setText (lh.localValue("&DisplayedGraphic"));
-displayedGraphicItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-tableItem = new MenuItem (insertMenu, SWT.PUSH);
-tableItem.setText (lh.localValue("&Table"));
-tableItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-insertItem.setMenu (insertMenu);
-
-// Set up advanced menu
-Menu advancedMenu = new Menu (dm.documentWindow, SWT.DROP_DOWN);
-brlFormatItem = new MenuItem (advancedMenu, SWT.PUSH);
-brlFormatItem.setText (lh.localValue("&BrailleFormat"));
-brlFormatItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-brailleASCIIItem = new MenuItem (advancedMenu, SWT.PUSH);
-brailleASCIIItem.setText (lh.localValue("&brailleASCIITable"));
-brailleASCIIItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-showTranslationTemplatesItem = new MenuItem (advancedMenu,
-SWT.PUSH);
-showTranslationTemplatesItem.setText
-(lh.localValue("&ShowTranslationTemplates"));
-showTranslationTemplatesItem.addSelectionListener (new
-SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-showFormatTemplatesItem = new MenuItem (advancedMenu,
-SWT.PUSH);
-showFormatTemplatesItem.setText (lh.localValue("&ShowFormatTemplates"));
-showFormatTemplatesItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-dm.placeholder();
-}
-});
-changeSettingsItem = new MenuItem (advancedMenu,
-SWT.PUSH);
-changeSettingsItem.setText (lh.localValue("&changeSettings"));
-changeSettingsItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-new SettingsDialog().open();
-}
-});
-advancedItem.setMenu (advancedMenu);
-
-// Set up help menu
-Menu helpMenu = new Menu (dm.documentWindow, SWT.DROP_DOWN);
-aboutItem = new MenuItem (helpMenu, SWT.PUSH);
-aboutItem.setText (lh.localValue("&About"));
-aboutItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-new UserHelp(WP.AboutBB);
-}
-});
-helpInfoItem = new MenuItem (helpMenu, SWT.PUSH);
-helpInfoItem.setText (lh.localValue("&helpInfo"));
-helpInfoItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-new UserHelp(WP.HelpInfo);
-}
-});
-tutorialsItem = new MenuItem (helpMenu, SWT.PUSH);
-tutorialsItem.setText (lh.localValue("&Tutorials"));
-tutorialsItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-new UserHelp(WP.ReadTutorial);
-}
-});
-readManualItem = new MenuItem (helpMenu, SWT.PUSH);
-readManualItem.setText (lh.localValue("&ReadManuals"));
-readManualItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-new UserHelp(WP.ReadManuals);
-}
-});
-checkUpdatesItem = new MenuItem (helpMenu, SWT.PUSH);
-checkUpdatesItem.setText (lh.localValue("&CheckUpdates"));
-checkUpdatesItem.addSelectionListener (new SelectionAdapter() {
-public void widgetSelected (SelectionEvent e) {
-new UserHelp (WP.CheckUpdates);
-}
-});
-helpItem.setMenu (helpMenu);
-
-// Activate menus when documentWindow shell is opened
-dm.documentWindow.setMenuBar (menuBar);
-}
+    /**
+     * This class contains all the menus.
+     */
+
+    final Menu menuBar;
+
+    /* All the menu items are member fields so they can be accessed outside
+ * the constructor. This might be done for example with setEnabled(false)
+     * to indicate that a menu item is unavailable.
+     */
+    MenuItem newItem;
+    MenuItem openItem;
+    MenuItem recentItem;
+    MenuItem importItem;
+    MenuItem saveItem;
+    MenuItem saveAsItem;
+    MenuItem embosserSetupItem;
+    MenuItem embosserPreviewItem;
+    MenuItem embossInkPreviewItem;
+    MenuItem embossNowItem;
+    MenuItem embossInkNowItem;
+    MenuItem printPageSetupItem;
+    MenuItem printPreviewItem;
+    MenuItem printItem;
+    MenuItem languageItem;
+    MenuItem closeItem;
+    MenuItem exitItem;
+    MenuItem undoItem;
+    MenuItem redoItem;
+    MenuItem cutItem;
+    MenuItem copyItem;
+    MenuItem pasteItem;
+    MenuItem searchItem;
+    MenuItem replaceItem;
+    MenuItem spellCheckItem;
+    MenuItem boldToggleItem;
+    MenuItem italicToggleItem;
+    MenuItem underlineToggleItem;
+    MenuItem zoomImageItem;
+    MenuItem selectAllItem;
+    MenuItem createStyleItem;
+    MenuItem nextElementItem;
+    MenuItem assocSelectionItem;
+    MenuItem lockSelectionItem;
+    MenuItem unlockSelectionItem;
+    MenuItem editLockedItem;
+    MenuItem keybdBrlToggleItem;
+    MenuItem cursorFollowItem;
+    MenuItem dragCursorItem;
+    MenuItem increaseFontSizeItem;
+    MenuItem decreaseFontSizeItem;
+    MenuItem increaseContrastItem;
+    MenuItem decreaseContrastItem;
+    MenuItem showOutlineItem;
+    MenuItem braillePresentationItem;
+    MenuItem formatLikeBrailleItem;
+    MenuItem showPageBreaksItem;
+    MenuItem xtranslateItem;
+    MenuItem backTranslateItem;
+    MenuItem translationTemplatesItem;
+    MenuItem inLineMathItem;
+    MenuItem displayedMathItem;
+    MenuItem inLineGraphicItem;
+    MenuItem displayedGraphicItem;
+    MenuItem tableItem;
+    MenuItem brlFormatItem;
+    MenuItem brailleASCIIItem;
+    MenuItem showTranslationTemplatesItem;
+    MenuItem showFormatTemplatesItem;
+    MenuItem changeSettingsItem;
+    MenuItem readManualItem;
+    MenuItem helpInfoItem;
+    MenuItem tutorialsItem;
+    MenuItem checkUpdatesItem;
+    MenuItem aboutItem;
+
+    //5/3
+    MenuItem swtichItem;
+
+    BBMenu (final DocumentManager dm) {
+        LocaleHandler lh = new LocaleHandler();
+
+        /* Note that the values in the setText methods are keys for
+         * localization. They are not intended to be seen by the user.
+ * Capitalization should follow the convention for names in Java, but + * this is not always consistent. Values, with proper capitalization, are
+         * shown in the files in the dist/programData/lang subdirectory.
+         */
+
+        // Set up menu bar
+        menuBar = new Menu (dm.documentWindow, SWT.BAR);
+        MenuItem fileItem = new MenuItem (menuBar, SWT.CASCADE);
+        fileItem.setText (lh.localValue("&File"));
+        MenuItem editItem = new MenuItem (menuBar, SWT.CASCADE);
+        editItem.setText (lh.localValue("&Edit"));
+        MenuItem viewItem = new MenuItem (menuBar, SWT.CASCADE);
+        viewItem.setText (lh.localValue("&View"));
+        MenuItem translateItem = new MenuItem (menuBar, SWT.CASCADE);
+        translateItem.setText (lh.localValue("&Translate"));
+        MenuItem insertItem = new MenuItem (menuBar, SWT.CASCADE);
+        insertItem.setText (lh.localValue("&Insert"));
+        MenuItem advancedItem = new MenuItem (menuBar, SWT.CASCADE);
+        advancedItem.setText (lh.localValue("&Advanced"));
+        MenuItem helpItem = new MenuItem (menuBar, SWT.CASCADE);
+        helpItem.setText (lh.localValue("&Help"));
+
+        // Set up file menu
+        Menu fileMenu = new Menu (dm.documentWindow, SWT.DROP_DOWN);
+        newItem = new MenuItem (fileMenu, SWT.PUSH);
+        newItem.setText (lh.localValue("&New"));
+        newItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                if (BBIni.debugging()) {
+                    dm.setReturn (WP.NewDocument);
+                }
+                else {
+                    dm.fileNew();
+                }
+            }
+        });
+        openItem = new MenuItem (fileMenu, SWT.PUSH);
+        openItem.setText (lh.localValue("&Open"));
+        openItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                if (BBIni.debugging()) {
+                    dm.setReturn (WP.OpenDocumentGetFile);
+                } else {
+                    dm.fileOpen();
+                }
+            }
+        });
+
+        //5/3 just a tmp place to test the switch function
+        swtichItem = new MenuItem (fileMenu, SWT.PUSH);
+        swtichItem.setText (lh.localValue("S&wtich"));
+        swtichItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.setReturn(WP.SwitchDocuments);
+            }
+        });
+
+        recentItem = new MenuItem (fileMenu, SWT.PUSH);
+        recentItem.setText (lh.localValue("&Recent"));
+        recentItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.recentDocuments();
+            }
+        });
+        importItem = new MenuItem (fileMenu, SWT.PUSH);
+        importItem.setText (lh.localValue("&Import"));
+        importItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        saveItem = new MenuItem (fileMenu, SWT.PUSH);
+        saveItem.setText (lh.localValue("&Save"));
+        saveItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        saveAsItem = new MenuItem (fileMenu, SWT.PUSH);
+        saveAsItem.setText (lh.localValue("Save&As"));
+        saveAsItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.fileSaveAs();
+            }
+        });
+        embosserSetupItem = new MenuItem (fileMenu, SWT.PUSH);
+        embosserSetupItem.setText (lh.localValue("&EmbosserSetup"));
+        embosserSetupItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        embosserPreviewItem = new MenuItem (fileMenu, SWT.PUSH);
+        embosserPreviewItem.setText (lh.localValue("Embosser&Preview"));
+        embosserPreviewItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        embossInkPreviewItem = new MenuItem (fileMenu, SWT.PUSH);
+        embossInkPreviewItem.setText (lh.localValue("Emboss&InkPreview"));
+        embossInkPreviewItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        embossNowItem = new MenuItem (fileMenu, SWT.PUSH);
+        embossNowItem.setText (lh.localValue("Emboss&Now!"));
+        embossNowItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.fileEmbossNow();
+            }
+        });
+        embossInkNowItem = new MenuItem (fileMenu, SWT.PUSH);
+        embossInkNowItem.setText (lh.localValue("EmbossInkN&ow"));
+        embossInkNowItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        printPageSetupItem = new MenuItem (fileMenu, SWT.PUSH);
+        printPageSetupItem.setText (lh.localValue("PrintPageS&etup"));
+        printPageSetupItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        printPreviewItem = new MenuItem (fileMenu, SWT.PUSH);
+        printPreviewItem.setText (lh.localValue("PrintP&review"));
+        printPreviewItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        printItem = new MenuItem (fileMenu, SWT.PUSH);
+        printItem.setText (lh.localValue("&Print"));
+        printItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        languageItem = new MenuItem (fileMenu, SWT.PUSH);
+        languageItem.setText (lh.localValue("&Language"));
+        languageItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        closeItem = new MenuItem (fileMenu, SWT.PUSH);
+        closeItem.setText (lh.localValue("&close"));
+        closeItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                    dm.setReturn (WP.DocumentClosed);
+            }
+        });
+        if (!BBIni.getPlatformName().equals("cocoa")) {
+            exitItem = new MenuItem (fileMenu, SWT.PUSH);
+            exitItem.setText (lh.localValue("e&xit"));
+            exitItem.addSelectionListener (new SelectionAdapter() {
+                public void widgetSelected (SelectionEvent e) {
+                    dm.setReturn (WP.BBClosed);
+                }
+            });
+        }
+        fileItem.setMenu (fileMenu);
+
+        // Set up edit menu
+        Menu editMenu = new Menu (dm.documentWindow, SWT.DROP_DOWN);
+        undoItem = new MenuItem (editMenu, SWT.PUSH);
+        undoItem.setText (lh.localValue("&Undo"));
+        undoItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                if (BBIni.debugging()) {
+                    dm.setReturn (WP.SwitchDocuments);
+                } else {
+                    dm.placeholder();
+                }
+            }
+        });
+        redoItem = new MenuItem (editMenu, SWT.PUSH);
+        redoItem.setText (lh.localValue("&Redo"));
+        redoItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        cutItem = new MenuItem (editMenu, SWT.PUSH);
+        cutItem.setText (lh.localValue("&Cut"));
+        cutItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        copyItem = new MenuItem (editMenu, SWT.PUSH);
+        copyItem.setText (lh.localValue("c&Opy"));
+        copyItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        pasteItem = new MenuItem (editMenu, SWT.PUSH);
+        pasteItem.setText (lh.localValue("&Paste"));
+        pasteItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        searchItem = new MenuItem (editMenu, SWT.PUSH);
+        searchItem.setText (lh.localValue("&Search"));
+        searchItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        replaceItem = new MenuItem (editMenu, SWT.PUSH);
+        replaceItem.setText (lh.localValue("&Replace"));
+        replaceItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        spellCheckItem = new MenuItem (editMenu, SWT.PUSH);
+        spellCheckItem.setText (lh.localValue("&SpellCheck"));
+        spellCheckItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        boldToggleItem = new MenuItem (editMenu, SWT.PUSH);
+        boldToggleItem.setText (lh.localValue("&BoldToggle"));
+        boldToggleItem.addSelectionListener (new SelectionAdapter() {
+            public void widgetSelected (SelectionEvent e) {
+                dm.placeholder();
+            }
+        });
+        italicToggleItem = new MenuItem (editMenu, SWT.PUSH);
+        italicToggleItem.setText (lh.localValue("&ItalicToggle"));
***The diff for this file has been truncated for email.***
=======================================
--- /src/main/org/brailleblaster/wordprocessor/DocumentManager.java Wed May 2 03:17:34 2012 +++ /src/main/org/brailleblaster/wordprocessor/DocumentManager.java Fri May 4 01:12:16 2012
@@ -30,6 +30,7 @@

 import org.eclipse.swt.*;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Event;
@@ -52,7 +53,7 @@
 import javax.print.PrintException;
 import org.eclipse.swt.widgets.Listener;
 import org.brailleblaster.settings.Welcome;
-
+import org.eclipse.swt.widgets.MessageBox;
 class DocumentManager {

     /**
@@ -89,6 +90,10 @@
     int mode = 0;
     UTD utd;
     String buffer;
+    boolean finished = false;
+    private volatile boolean stopRequested = false;
+    static final boolean[] flags = new boolean[WPManager.getMaxNumDocs()];
+

     /**
      * Constructor that sets things up for a new document.
@@ -103,6 +108,12 @@
         tempPath = BBIni.getTempFilesPath() + BBIni.getFileSep();
         louisutdml = liblouisutdml.getInstance();
         documentWindow = new Shell (display, SWT.SHELL_TRIM);
+        documentWindow.addListener(SWT.Close, new Listener(){
+            public void handleEvent(Event event) {
+                setReturn(WP.DocumentClosed);
+ //this way clicking close box is equivalent to the 'close' item on the menu
+            }
+        });
         layout = new FormLayout();
         documentWindow.setLayout (layout);
         rd= new RecentDocuments();
@@ -121,7 +132,7 @@
             }
         });
         documentWindow.open();
-        setWindowTitle ("untitled");
+        setWindowTitle (" untitled");
         if (documentNumber == 0) {
             new Welcome(); // This then calls the settings dialogs.
         }
@@ -131,24 +142,22 @@
             openFirstDocument();
         }
         utd = new UTD();
-        while (!documentWindow.isDisposed() && returnReason == 0) {
+
+        boolean stop = false;
+ while (!documentWindow.isDisposed() && (!stop)&&(returnReason == 0)) {
             if (!display.readAndDispatch())
                 display.sleep();
-        }
-        if (!BBIni.debugging()) {
-            documentWindow.dispose();
-            return;
-        }
-        switch (returnReason) {
-        case WP.DocumentClosed:
-        case WP.BBClosed:
-            finish();
-            break;
-        default:
-            //documentWindow.setVisible (false);
-            break;
-        }
-    }
+            for(boolean b:flags){
+                stop |= b;
+            }
+        }
+        //get here iff the window is disposed, or someone has a reason
+        if(flags[documentNumber]){
+            WPManager.setCurDoc(documentNumber);
+            flags[documentNumber] =false; //all should be false now
+        }
+        //Then back to WPManager
+     }

     /**
      * This nested class encapsulates hnadling of the Universal
@@ -438,6 +447,7 @@
      */
     void finish() {
         documentWindow.dispose();
+        finished = true;
     }

     /**
@@ -448,9 +458,12 @@
         switch (reason) {
         case WP.SwitchDocuments:
             if (WPManager.haveOtherDocuments()) {
+                //System.out.println("Switching to next");
                 returnReason = reason;
+                flags[documentNumber] = true;//this fires the interrupt
                 return true;
             }
+            new Notify("There is only one document.");
             return false;
         case WP.NewDocument:
             returnReason = reason;
@@ -467,6 +480,8 @@
         default:
             break;
         }
+        //WPManager.setCurDoc(documentNumber);
+        flags[documentNumber] = true;//this fires the interrupt
         return true;
     }

@@ -478,7 +493,14 @@
         if (documentWindow.isDisposed())
             return;
         documentWindow.forceActive();
-        returnReason = 0;
+        boolean stop = false;
+        while (!documentWindow.isDisposed() && (!stop)) {
+            if (!documentWindow.getDisplay().readAndDispatch())
+                documentWindow.getDisplay().sleep();
+            for(boolean b:DocumentManager.getflags()){
+                stop |= b;
+            }
+        }
     }

     void openFirstDocument() {
@@ -523,8 +545,10 @@
     int numChars;

     void fileOpen () {
-        if (BBIni.debugging() && doc != null) {
+        //        if (BBIni.debugging() && doc != null) {
+        if (doc != null){
             returnReason = WP.OpenDocumentGetFile;
+            flags[documentNumber] = true;
             return;
         }
         Shell shell = new Shell (display, SWT.DIALOG_TRIM);
@@ -561,7 +585,9 @@
         //Use threading to keep the control of the window
         new Thread() {
             public void run() {
+                while (!stopRequested) {
                 walkTree (rootElement);
+                }
             }
         }
         .start();
@@ -593,6 +619,7 @@
                 }
             }
         }
+        stopRequested = true;
     }

     void fileSave() {
@@ -724,6 +751,9 @@
         }
     }

+    int getCount(){
+        return documentNumber;
+    }
     void fileEmbossNow () {
         if (translatedFileName == null) {
             translate();
@@ -752,9 +782,30 @@
         new Notify ("This menu item is not yet implemented. Sorry.");
     }

+    boolean isFinished(){
+       return finished;
+    }
+
     void recentDocuments(){
         rd.open();
     }
+
+    //5/3
+    void switchDocuments(){
+
+    }
+
+    static boolean[] getflags(){
+        return flags;
+    }
+
+    static void setflags(int i,boolean b){
+        flags[i] = b;
+    }
+
+    static void printflags(){
+        for(boolean b:flags)    System.out.print (b+", ");
+    }

 }

=======================================
--- /src/main/org/brailleblaster/wordprocessor/RecentDocuments.java Mon Apr 30 20:55:37 2012 +++ /src/main/org/brailleblaster/wordprocessor/RecentDocuments.java Fri May 4 01:12:16 2012
@@ -27,6 +27,7 @@
  */

 package org.brailleblaster.wordprocessor;
+
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
@@ -35,7 +36,6 @@
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.ArrayList;
-
 import org.eclipse.swt.*;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -47,29 +47,28 @@
 import org.brailleblaster.BBIni;
 import org.brailleblaster.util.Notify;

-
 /**
  * Pick a document from those recently opened and return its absolute
  * path.
  */
-public class RecentDocuments {
+class RecentDocuments {
     Shell shell;
     Combo combo;
ArrayList<String> recentDocsList;//this contains the full path and name of recent files String[] recentDocsArr;//this contains only the name of a file if there's no duplicates of it
     File file;
-    private String userSettings;
+    private String recentFiles;
     private static final int MAX_NUM_FILES=50;
     private String fileSep;

     RecentDocuments() {
-        userSettings = BBIni.getRecentDocs();
+        recentFiles = BBIni.getRecentDocs();
         fileSep = BBIni.getFileSep();
-        file = new File(userSettings);
+        file = new File(recentFiles);
         readList();
     }

-    public void open(){
+    void open() {
         readList();
         processDocsList();
         Display display = BBIni.getDisplay();
@@ -84,7 +83,7 @@
         data.minimumWidth = 300;
         data.grabExcessHorizontalSpace = true;
         combo.setLayoutData(data);
-        combo.addSelectionListener(new SelectionAdapter(){
+        combo.addSelectionListener(new SelectionAdapter() {
             public void widgetSelected(SelectionEvent e) {
                 int key = combo.getSelectionIndex();
                 String value = combo.getText();
@@ -107,39 +106,39 @@
         shell.dispose();
     }

-    private void processDocsList(){
+    private void processDocsList() {
recentDocsArr = recentDocsList.toArray(new String[recentDocsList.size()]);
         boolean[] dupArr = new boolean[recentDocsArr.length];
         for(boolean b:dupArr) b=false;
-        for( int i=0; (i < recentDocsArr.length-1)&&(!dupArr[i]);i++){
+        for( int i=0; (i < recentDocsArr.length-1)&&(!dupArr[i]);i++) {
             String s1 = recentDocsArr[i];
             int index = s1.lastIndexOf(fileSep);
             if (index>=0) s1 = s1.substring(index);
-            for(int j=i+1; (j< recentDocsArr.length)&&(!dupArr[j]); j++){
+            for(int j=i+1; (j< recentDocsArr.length)&&(!dupArr[j]); j++) {
                 String s2 = recentDocsArr[j];
                 index = s2.lastIndexOf(fileSep);
                 if (index>=0) s2 = s2.substring(index);
-                if(s1.equals(s2)){
+                if(s1.equals(s2)) {
                     dupArr[i]=true;
                     dupArr[j]=true;
                 }
             }
         }
-        for(int i=0; i<recentDocsArr.length;i++){
+        for(int i=0; i<recentDocsArr.length;i++) {
             if(!dupArr[i])
recentDocsArr[i] = recentDocsArr[i].substring(recentDocsArr[i].lastIndexOf(fileSep)+1);
         }
     }

-    public void addDocument(String document){
-        if(document!=null){
+    void addDocument(String document) {
+        if(document!=null) {
         recentDocsList.remove(document);
         recentDocsList.add(0, document);
if(recentDocsList.size()>MAX_NUM_FILES) recentDocsList.remove(MAX_NUM_FILES);
         storeList();}
     }

-    private void storeList(){
+    private void storeList() {
         BufferedWriter writer = null;
         try {
             writer = new BufferedWriter(new FileWriter(file));
@@ -147,7 +146,7 @@
             new Notify(e.getMessage());
         }
         try {
-            for( String s:recentDocsList){
+            for( String s:recentDocsList) {
                 writer.write(s);
                 writer.newLine();
             }
@@ -163,7 +162,7 @@

     }

-    private void readList(){
+    private void readList() {
         //May need to set Charset when there are special characters
         //Charset charset = Charset.forName("US-ASCII");
         BufferedReader reader = null;
=======================================
--- /src/main/org/brailleblaster/wordprocessor/WPManager.java Tue Nov 22 17:05:56 2011 +++ /src/main/org/brailleblaster/wordprocessor/WPManager.java Fri May 4 01:12:16 2012
@@ -1,30 +1,30 @@
 /* BrailleBlaster Braille Transcription Application
-  *
-  * Copyright (C) 2010, 2012
-  * ViewPlus Technologies, Inc. www.viewplus.com
-  * and
-  * Abilitiessoft, Inc. www.abilitiessoft.com
-  * All rights reserved
-  *
-  * This file may contain code borrowed from files produced by various
-  * Java development teams. These are gratefully acknoledged.
-  *
-  * This file is free software; you can redistribute it and/or modify it
-  * under the terms of the Apache 2.0 License, as given at
-  * http://www.apache.org/licenses/
-  *
-  * This file is distributed in the hope that it will be useful, but
-  * WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
-  * See the Apache 2.0 License for more details.
-  *
-  * You should have received a copy of the Apache 2.0 License along with
-  * this program; see the file LICENSE.
-  * If not, see
-  * http://www.apache.org/licenses/
-  *
-  * Maintained by John J. Boyer john.boyer@xxxxxxxxxxxxxxxxx
-*/
+ *
+ * Copyright (C) 2010, 2012
+ * ViewPlus Technologies, Inc. www.viewplus.com
+ * and
+ * Abilitiessoft, Inc. www.abilitiessoft.com
+ * All rights reserved
+ *
+ * This file may contain code borrowed from files produced by various
+ * Java development teams. These are gratefully acknoledged.
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the Apache 2.0 License, as given at
+ * http://www.apache.org/licenses/
+ *
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
+ * See the Apache 2.0 License for more details.
+ *
+ * You should have received a copy of the Apache 2.0 License along with
+ * this program; see the file LICENSE.
+ * If not, see
+ * http://www.apache.org/licenses/
+ *
+ * Maintained by John J. Boyer john.boyer@xxxxxxxxxxxxxxxxx
+ */

 package org.brailleblaster.wordprocessor;

@@ -35,130 +35,176 @@
 import org.brailleblaster.util.YesNoChoice;
 import org.brailleblaster.util.ShowBriefly;
 import org.brailleblaster.util.Notify;
+import java.util.ArrayList;

 public class WPManager {

-/**
- * This is the controller for the whole word processing operation. It is the
- * entry point for the word processor, and therefore the only public class.
- */
-
-String fileName = null;
-int action;
-private Display display;
-private static DocumentManager[] documents = new DocumentManager[8];
-private static int documentIndex;
-
-/**
- * This constructor is the entry point to the word prodessor. It gets
- * things set up, handles multiple documents, etc.
- */
-
-public WPManager(String fileName) {
-this.fileName = fileName;
-if (fileName != null) {
-action = WP.DocumentFromCommandLine;
-} else {
-action = WP.NewDocument;
-}
-display = BBIni.getDisplay();
-if (display == null) {
-System.out.println ("Could not find graphical interface environment");
-System.exit(1);
-}
-checkLiblouisutdml();
-documentIndex = 0;
-DocumentManager curDoc;
-curDoc = documents[documentIndex] = new DocumentManager(display,
-documentIndex, action, fileName);
-if (!BBIni.debugging()) {
-return;
-}
-do {
-switch (curDoc.returnReason) {
-case WP.DocumentClosed:
-documents[documentIndex] = null;
-int moveIndex = documentIndex;
-while (documents[moveIndex + 1] != null) {
-documents[documentIndex] = documents[moveIndex++];
-}
-if (documents[documentIndex] == null) {
-documentIndex = 0;
-}
-if (documents[documentIndex] == null) {
-return;
-}
-curDoc = documents[documentIndex];
-curDoc.resume();
-break;
-case WP.SwitchDocuments:
-documentIndex++;
-if (documents[documentIndex] != null) {
-curDoc = documents[documentIndex];
-curDoc.resume();
-} else {
-documentIndex = 0;
-curDoc = documents[documentIndex];
-curDoc.resume();
-}
-break;
-case WP.NewDocument:
-documentIndex++;
-if (documentIndex >= documents.length) {
-new Notify ("Too many documents");
-curDoc.resume();
-break;
-}
-curDoc = documents[documentIndex] = new DocumentManager(display,
-documentIndex, WP.NewDocument, fileName);
-break;
-case WP.OpenDocumentGetFile:
-documentIndex++;
-if (documentIndex >= documents.length) {
-new Notify ("Too many documents");
-curDoc.resume();
-break;
-}
-curDoc = documents[documentIndex] = new DocumentManager(display,
-documentIndex, WP.OpenDocumentGetFile, fileName);
-break;
-case WP.BBClosed:
-for (documentIndex = 0; documentIndex < documents.length;
-documentIndex++) {
-if (documents[documentIndex] != null) {
-documents[documentIndex].finish();
-}
-documents[documentIndex] = null;
-}
-return;
-default:
-break;
-}
-} while (curDoc.returnReason != WP.BBClosed);
-}
-
-void checkLiblouisutdml() {
-if (BBIni.haveLiblouisutdml()) {
-return;
-}
-if (new YesNoChoice
-("The Braille facility is not usable." + " See the log."
-+ " Do you wish to continue?")
-.result == SWT.NO) {
-System.exit(1);
-}
-}
-
-/**
-* Cjheck to see if there are other documents.
-*/
-static boolean haveOtherDocuments() {
-for (int checkIndex = 0; checkIndex < documents.length; checkIndex++) {
-if (checkIndex != documentIndex && documents[checkIndex] != null) {
-return true;
-}
-}
-return false;
-}
-
-}
+    /**
+ * This is the controller for the whole word processing operation. It is the + * entry point for the word processor, and therefore the only public class.
+     */
+
+    String fileName = null;
+    int action;
+    private Display display;
+ private static final int MAX_NUM_DOCS = 4;//the max limit of total number of docs can have at the same time + private static DocumentManager[] documents = new DocumentManager[MAX_NUM_DOCS];
+    private static int documentIndex;
+    private static DocumentManager curDoc;
+
+    private static boolean isDeactiated = false;
+    private static DocumentManager prevDoc;
+    private static int prevIndex= -1;
+
+    /**
+     * This constructor is the entry point to the word prodessor. It gets
+     * things set up, handles multiple documents, etc.
+     */
+
+    public WPManager(String fileName) {
+        this.fileName = fileName;
+        if (fileName != null) {
+            action = WP.DocumentFromCommandLine;
+        } else {
+            action = WP.NewDocument;
+        }
+        display = BBIni.getDisplay();
+        if (display == null) {
+ System.out.println ("Could not find graphical interface environment");
+            System.exit(1);
+        }
+        checkLiblouisutdml();
+        documentIndex = 0;
+        curDoc = documents[0] =new DocumentManager(display,
+                documentIndex, action, fileName) ;
+        do {
+            findTrigger();
+            switch (curDoc.returnReason) {
+            case WP.DocumentClosed://6
+                documents[documentIndex].finish();
+ if (getNextAvailableDoc() == -1) return; //no more docs, exit
+                WPManager.resumeAll(documentIndex);
+                break;
+            case WP.SwitchDocuments://4
+                //
+ System.out.println("Swithcing...from "+ documentIndex+ "to" +getNextAvailableDoc() );
+                documentIndex = getNextAvailableDoc();
+                curDoc = documents[documentIndex];
+                curDoc.resume();
+                break;
+            case WP.NewDocument://1
+                if (getNextAvailablePos() == -1){
+                    new Notify ("Too many documents");
+                    curDoc.resume();
+                    break;
+                }
+                documentIndex = getNextAvailablePos();
+ curDoc = documents[documentIndex] = new DocumentManager(display,
+                        documentIndex, WP.NewDocument, fileName);
+                break;
+            case WP.OpenDocumentGetFile://2
+                if (getNextAvailablePos() == -1){
+                    new Notify ("Too many documents");
+                    curDoc.resume();
+                    break;
+                }
+                documentIndex = getNextAvailablePos();
+ curDoc = documents[documentIndex] = new DocumentManager(display,
+                        documentIndex, WP.OpenDocumentGetFile, fileName);
+                break;
+            case WP.BBClosed://7
+                while(getNextAvailableDoc()!= -1){
+                    documents[getNextAvailableDoc()].finish();
+                }
+                return;
+            default:
+                break;
+            }
+        } while (curDoc.returnReason != WP.BBClosed);
+    }
+
+    private static void findTrigger(){
+        int number = -1;
+        int i = 0;
+        for(boolean b:DocumentManager.getflags()){
+            if(b) {
+                number=i;
+                break;
+            }
+            i++;
+        }
+        if(number != -1)
+        {
+            DocumentManager.setflags(number, false);
+            documentIndex = number;
+            curDoc = documents[documentIndex];
+        }
+    }
+
+    //resume all the windows except the one with documentNumber
+    public static void resumeAll(int documentNumber){
+        for(int i = 0 ; i< documents.length; i++){
+            if(i != documentNumber) {
+                if(documents[i] != null) documents[i].resume();
+            }
+        }
+    }
+
+    static int getNextAvailableDoc(){
+        //search in higher index first for the next available index
+        //index-> MAX
+        for(int i = documentIndex+1; i <MAX_NUM_DOCS; i++){
+            if( documents[i] != null){
+                if(documents[i].isFinished())documents[i] = null;
+                else return i;
+            }
+        }
+        //0->index
+        for(int i = 0; i <= documentIndex; i++){
+            if( documents[i] != null){
+                if(documents[i].isFinished())documents[i] = null;
+                else return i;
+            }
+        }
+        //if no availabe doc
+        return -1;
+    }
+
+    int getNextAvailablePos(){
+ //see if there is available postion for one more document, -1 if it is full
+        for(int i = 0; i <MAX_NUM_DOCS; i++){
+            if( documents[i] == null) return i;
+ else if (documents[i].isFinished()){documents[i] = null; return i;}
+        }
+        return -1;
+    }
+
+    void checkLiblouisutdml() {
+        if (BBIni.haveLiblouisutdml()) {
+            return;
+        }
+        if (new YesNoChoice
+                ("The Braille facility is not usable." + " See the log."
+                        + " Do you wish to continue?")
+        .result == SWT.NO) {
+            System.exit(1);
+        }
+    }
+
+    static void setCurDoc(int documentNumber){
+ //System.out.println("Something triggers current doc to change, now documentIndex = " + documentNumber );
+        documentIndex = documentNumber;
+        curDoc = documents[documentIndex];;
+    }
+
+    /**
+     * Check to see if there are other documents.
+     */
+    static boolean haveOtherDocuments() {
+        return (getNextAvailableDoc()!= -1);
+    }
+
+    static int getMaxNumDocs(){
+        return MAX_NUM_DOCS;
+    }
+}

==============================================================================
Revision: 25d0c51b11cc
Author:   John Boyer <john.boyer@xxxxxxxxxxxxxxxxx>
Date:     Fri May  4 01:52:02 2012
Log:      making nested UTD class an independent class
http://code.google.com/p/brailleblaster/source/detail?r=25d0c51b11cc

Modified:
 /src/main/org/brailleblaster/wordprocessor/DocumentManager.java

=======================================
--- /src/main/org/brailleblaster/wordprocessor/DocumentManager.java Fri May 4 01:12:16 2012 +++ /src/main/org/brailleblaster/wordprocessor/DocumentManager.java Fri May 4 01:52:02 2012
@@ -73,6 +73,7 @@
     BBToolBar toolBar;
     BBMenu menu;
     RecentDocuments rd;
+    UTD utd;
     AbstractView activeView;
     DaisyView daisy;
     BrailleView braille;
@@ -88,7 +89,6 @@
     String logFile = "Translate.log";
     String configSettings = null;
     int mode = 0;
-    UTD utd;
     String buffer;
     boolean finished = false;
     private volatile boolean stopRequested = false;
@@ -117,6 +117,7 @@
         layout = new FormLayout();
         documentWindow.setLayout (layout);
         rd= new RecentDocuments();
+        utd = new UTD(this);
         menu = new BBMenu (this);
         toolBar = new BBToolBar (this);
         daisy = new DaisyView (documentWindow);
@@ -141,8 +142,6 @@
         } else if (action == WP.DocumentFromCommandLine) {
             openFirstDocument();
         }
-        utd = new UTD();
-
         boolean stop = false;
while (!documentWindow.isDisposed() && (!stop)&&(returnReason == 0)) {
             if (!display.readAndDispatch())
@@ -159,281 +158,6 @@
         //Then back to WPManager
      }

-    /**
-     * This nested class encapsulates hnadling of the Universal
-     * TactileDocument Markup Language (UTDML);
-     */
-    private class UTD {
-
-        int braillePageNumber; //number of braille pages
-        String firstTableName;
-        int dpi; // resolution
-        int paperWidth;
-        int paperHeight;
-        int leftMargin;
-        int rightMargin;
-        int topMargin;
-        int bottomMargin;
-        int currentBraillePageNumber;
-        int currentPrintPageNumber;
-        int[] brlIndex;
-        int brlIndexPos;
-        int[] brlonlyIndex;
-        int brlonlyIndexPos;
-        Node beforeBrlNode;
-        Node beforeBrlonlyNode;
-        private boolean firstPage;
-        private boolean firstLineOnPage;
-        StringBuilder brailleLine = new StringBuilder (100);
-        StringBuilder printLine = new StringBuilder (100);
-
-        void displayTranslatedFile() {
-            beforeBrlNode = null;
-            beforeBrlonlyNode = null;
-            brlIndex = null;
-            brlIndexPos = 0;
-            brlonlyIndex = null;
-            brlonlyIndexPos = 0;
-            firstPage = true;
-            firstLineOnPage = true;
-            braillePageNumber = 0; //number of braille pages
-            firstTableName = null;
-            dpi = 0; // resolution
-            paperWidth = 0;
-            paperHeight = 0;
-            leftMargin = 0;
-            rightMargin = 0;
-            topMargin = 0;
-            bottomMargin = 0;
-            currentBraillePageNumber = 0;
-            currentPrintPageNumber = 0;
-            Builder parser = new Builder();
-            try {
-                doc = parser.build (translatedFileName);
-            } catch (ParsingException e) {
-                new Notify ("Malformed document");
-                return;
-            }
-            catch (IOException e) {
-                new Notify ("Could not open " + translatedFileName);
-                return;
-            }
-            Element rootElement = doc.getRootElement();
-            findBrlNodes (rootElement);
-        }
-
-        private void findBrlNodes (Element node) {
-            Node newNode;
-            Element element;
-            String elementName;
-            for (int i = 0; i < node.getChildCount(); i++) {
-                newNode = node.getChild(i);
-                if (newNode instanceof Element) {
-                    element = (Element)newNode;
-                    elementName = element.getLocalName();
-                    if (elementName.equals ("meta")) {
-                        doUtdMeta (element);
-                    } else if (elementName.equals ("brl")) {
-                        if (i > 0) {
-                            beforeBrlNode = newNode.getChild(i - 1);
-                        } else {
-                            beforeBrlNode = null;
-                        }
-                        doBrlNode (element);
-                    } else {
-                        findBrlNodes (element);
-                    }
-                }
-            }
-        }
-
-        private void doUtdMeta (Element node) {
-            if (braillePageNumber != 0) {
-                return;
-            }
-            String metaContent;
-            metaContent = node.getAttributeValue ("name");
-            if (!(metaContent.equals ("utd"))) {
-                return;
-            }
-            metaContent = node.getAttributeValue ("content");
-            String[] keysValues = metaContent.split (" ", 20);
-            for (int i = 0; i < keysValues.length; i++) {
-                String keyValue[] = keysValues[i].split ("=", 2);
-                if (keyValue[0].equals ("BraillePageNumber"))
-                    braillePageNumber = Integer.parseInt (keyValue[1]);
-                else if (keyValue[0].equals ("firstTableName"))
-                    firstTableName = keyValue[1];
-                else if (keyValue[0].equals ("dpi"))
-                    dpi = Integer.parseInt (keyValue[1]);
-                else if (keyValue[0].equals ("paperWidth"))
-                    paperWidth = Integer.parseInt (keyValue[1]);
-                else if (keyValue[0].equals ("paperHeight"))
-                    paperHeight = Integer.parseInt (keyValue[1]);
-                else if (keyValue[0].equals ("leftMargin"))
-                    leftMargin = Integer.parseInt (keyValue[1]);
-                else if (keyValue[0].equals ("rightMargin"))
-                    rightMargin = Integer.parseInt (keyValue[1]);
-                else if (keyValue[0].equals ("topMargin"))
-                    topMargin = Integer.parseInt (keyValue[1]);
-                else if (keyValue[0].equals ("bottomMargin"))
-                    bottomMargin = Integer.parseInt (keyValue[1]);
-            }
-            return;
-        }
-
-        void showLines () {
-            brailleLine.append ("\n");
-            braille.view.append (brailleLine.toString());
-            brailleLine.delete (0, brailleLine.length());
-            printLine.append ("\n");
-            daisy.view.append (printLine.toString());
-            printLine.delete (0, printLine.length());
-        }
-
-        private void doBrlNode (Element node) {
- String[] indices = node.getAttributeValue ("index").split (" ", 20000);
-            if (indices != null) {
-                brlIndex = new int[indices.length];
-                for (int i = 0; i < indices.length; i++) {
-                    brlIndex[i] = Integer.parseInt (indices[i]);
-                }
-            }
-            brlIndexPos = 0;
-            indices = null;
-            Node newNode;
-            Element element;
-            String elementName;
-            for (int i = 0; i < node.getChildCount(); i++) {
-                newNode = node.getChild(i);
-                if (newNode instanceof Element) {
-                    element = (Element)newNode;
-                    elementName = element.getLocalName();
-                    if (elementName.equals ("newpage")) {
-                        doNewpage (element);
-                    } else if (elementName.equals ("newline")) {
-                        doNewline (element);
-                    } else if (elementName.equals ("span")) {
-                        doSpanNode (element);
-                    } else if (elementName.equals ("graphic")) {
-                        doGraphic (element);
-                    }
-                }
-                else if (newNode instanceof Text) {
-                    doTextNode (newNode);
-                }
-            }
-            finishBrlNode();
-            brlIndex = null;
-            brlIndexPos = 0;
-        }
-
-        private void doSpanNode (Element node) {
-            String whichSpan = node.getAttributeValue ("class");
-            if (whichSpan.equals ("brlonly")) {
-                doBrlonlyNode (node);
-            }
-            else if (whichSpan.equals ("locked")) {
-                doLockedNode (node);
-            }
-        }
-
-        private void doBrlonlyNode (Element node) {
-            Node newNode;
-            Element element;
-            String elementName;
-            for (int i = 0; i < node.getChildCount(); i++) {
-                newNode = node.getChild(i);
-                if (newNode instanceof Element) {
-                    element = (Element)newNode;
-                    elementName = element.getLocalName();
-                    if (elementName.equals ("brl")) {
-                        insideBrlonly (node);
-                    }
-                }
-                else if (newNode instanceof Text) {
-                    beforeBrlonlyNode = newNode;
-                }
-            }
-        }
-
-        private void insideBrlonly (Element node) {
- String[] indices = node.getAttributeValue ("index").split (" ", 20000);
-            if (indices != null) {
-                brlonlyIndex = new int[indices.length];
-                for (int i = 0; i < indices.length; i++) {
-                    brlonlyIndex[i] = Integer.parseInt (indices[i]);
-                }
-            }
-            brlonlyIndexPos = 0;
-            indices = null;
-            Node newNode;
-            Element element;
-            String elementName;
-            for (int i = 0; i < node.getChildCount(); i++) {
-                newNode = node.getChild(i);
-                if (newNode instanceof Element) {
-                    element = (Element)newNode;
-                    elementName = element.getLocalName();
-                    if (elementName.equals ("newpage")) {
-                        doNewpage (element);
-                    } else if (elementName.equals ("newline")) {
-                        doNewline (element);
-                    } else if (elementName.equals ("graphic")) {
-                        doGraphic (element);
-                    }
-                }
-                else if (newNode instanceof Text) {
-                    doBrlonlyTextNode (newNode);
-                }
-            }
-            brlonlyIndex = null;
-            brlonlyIndexPos = 0;
-        }
-
-        private void doLockedNode (Element node) {
-        }
-
-        private void doNewpage (Element node) {
-            String pageNumber = node.getAttributeValue ("brlnumber");
-            currentBraillePageNumber = Integer.parseInt (pageNumber);
-            pageNumber = node.getAttributeValue ("printnumber");
-            currentPrintPageNumber = Integer.parseInt (pageNumber);
-            firstLineOnPage = true;
-            if (firstPage) {
-                firstPage = false;
-                return;
-            }
-            showLines();
-        }
-
-        private void doNewline (Element node) {
- String[] horVertPos = node.getAttributeValue ("xy").split (",", 2);
-            if (firstLineOnPage) {
-                firstLineOnPage = false;
-                return;
-            }
-            showLines();
-        }
-
-        private void doTextNode (Node node) {
-            Text text = (Text)node;
-            brailleLine.append (text.getValue());
-        }
-
-        private void doBrlonlyTextNode (Node node) {
-            Text text = (Text)node;
-            brailleLine.append (text.getValue());
-        }
-
-        private void doGraphic (Element node) {
-        }
-
-        private void finishBrlNode() {
-            return;
-        }
-
-    }

     /**
      * Handle application shutdown signal from OS;

Other related posts:

  • » [brailleblaster] 2 new revisions pushed by john.bo...@xxxxxxxxxxxxxxxxx on 2012-05-04 08:53 GMT - brailleblaster