-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Applying the attached patch and adding the included file to the proper
directory will add new error messages when the are problem encountered
opening file.  the creation of this file makes me unhappy, but no one has
suggested anything better. (hint, hint)

           
                                sam th               
                                [EMAIL PROTECTED]
                                        
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE4hnlMt+kM0Mq9M/wRAvKvAKCd+n9KK1OqrhpKT0Zbxx4M0R2ldwCfQygX
IF2xDUCRDhK2aYyv94jMHvM=
=QTct
-----END PGP SIGNATURE-----
diff -ur -x CVS abi/src/af/util/xp/ut_types.h abi-notdone/src/af/util/xp/ut_types.h
--- abi/src/af/util/xp/ut_types.h       Tue Jan 18 17:26:16 2000
+++ abi-notdone/src/af/util/xp/ut_types.h       Wed Jan 19 19:16:16 2000
@@ -62,6 +62,7 @@
 */
 typedef                UT_sint32                       UT_ErrorCode;
 #define                UT_OK                           ((UT_ErrorCode) 0)
+#define         UT_ERROR                        ((UT_ErrorCode) -1) // VERY generic
 #define                UT_OUTOFMEM                     ((UT_ErrorCode) -100)
 #define         UT_SaveWriteError               ((UT_ErrorCode) -201)
 #define         UT_SaveNameError                ((UT_ErrorCode) -202)
@@ -69,11 +70,14 @@
 #define         UT_SaveOtherError               ((UT_ErrorCode) -200) // This should 
eventually dissapear.
 #define         UT_IE_FileNotFound              ((UT_ErrorCode) -301)
 #define         UT_IE_NoMemory                  ((UT_ErrorCode) -302)
-#define         UT_IE_UnknownType                ((UT_ErrorCode) -303)
+#define         UT_IE_UnknownType               ((UT_ErrorCode) -303)
 #define         UT_IE_BogusDocument             ((UT_ErrorCode) -304)
 #define         UT_IE_CouldNotOpen              ((UT_ErrorCode) -305)
 #define         UT_IE_CouldNotWrite             ((UT_ErrorCode) -306)
 #define         UT_IE_FakeType                  ((UT_ErrorCode) -307)
+#define         UT_InvalidFilename              ((UT_ErrorCode) -308)
+#define         UT_NoPieceTable                 ((UT_ErrorCode) -309)
+#define         UT_IE_AddListenerError          ((UT_ErrorCode) -310)
 #define         UT_IE_ImportError               ((UT_ErrorCode) -300) // The general 
case
 
 
diff -ur -x CVS abi/src/af/xap/unix/xap_UnixFrame.h 
abi-notdone/src/af/xap/unix/xap_UnixFrame.h
--- abi/src/af/xap/unix/xap_UnixFrame.h Wed Dec  1 17:51:01 1999
+++ abi-notdone/src/af/xap/unix/xap_UnixFrame.h Wed Jan 19 19:48:44 2000
@@ -55,7 +55,7 @@
                                                                                   
const char * szToolbarLabelSetKey, const char * szToolbarLabelSetDefaultValue);
 
        virtual XAP_Frame *                     cloneFrame(void)=0;
-       virtual UT_Bool                         loadDocument(const char * szFilename, 
int ieft)=0;
+       virtual UT_ErrorCode                    loadDocument(const char * szFilename, 
+int ieft)=0;
        virtual UT_Bool                         close(void);
        virtual UT_Bool                         raise(void);
        virtual UT_Bool                         show(void);
diff -ur -x CVS abi/src/af/xap/xp/xad_Document.h 
abi-notdone/src/af/xap/xp/xad_Document.h
--- abi/src/af/xap/xp/xad_Document.h    Mon Oct 18 09:00:57 1999
+++ abi-notdone/src/af/xap/xp/xad_Document.h    Wed Jan 19 19:43:13 2000
@@ -35,8 +35,8 @@
 
        const char *                    getFilename(void) const;
 
-       virtual UT_Bool                 readFromFile(const char * szFilename, int 
ieft) = 0;
-       virtual UT_Bool                 newDocument(void) = 0;
+       virtual UT_ErrorCode            readFromFile(const char * szFilename, int 
+ieft) = 0;
+       virtual UT_ErrorCode                    newDocument(void) = 0;
        virtual UT_Bool                 isDirty(void) const = 0;
 
        virtual UT_Bool                 canDo(UT_Bool bUndo) const = 0;
diff -ur -x CVS abi/src/af/xap/xp/xap_Frame.h abi-notdone/src/af/xap/xp/xap_Frame.h
--- abi/src/af/xap/xp/xap_Frame.h       Wed Dec  1 17:51:01 1999
+++ abi-notdone/src/af/xap/xp/xap_Frame.h       Wed Jan 19 19:46:21 2000
@@ -83,7 +83,7 @@
                                                                                   
const char * szToolbarLabelSetKey, const char * szToolbarLabelSetDefaultValue);
        
        virtual XAP_Frame *                     cloneFrame(void)=0;
-       virtual UT_Bool                         loadDocument(const char * szFilename, 
int ieft)=0;
+       virtual UT_ErrorCode                    loadDocument(const char * szFilename, 
+int ieft)=0;
        virtual UT_Bool                         close(void)=0;
        virtual UT_Bool                         raise(void)=0;
        virtual UT_Bool                         show(void)=0;
diff -ur -x CVS abi/src/text/ptbl/xp/pd_Document.cpp 
abi-notdone/src/text/ptbl/xp/pd_Document.cpp
--- abi/src/text/ptbl/xp/pd_Document.cpp        Mon Jan 17 15:45:41 2000
+++ abi-notdone/src/text/ptbl/xp/pd_Document.cpp        Wed Jan 19 20:17:58 2000
@@ -35,6 +35,8 @@
 #include "ie_exp.h"
 #include "pf_Frag_Strux.h"
 #include "pd_Style.h"
+#include "ap_EditMethods.h"
+
 
 //////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////
@@ -75,19 +77,19 @@
 //////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////
 
-UT_Bool PD_Document::readFromFile(const char * szFilename, int ieft)
+UT_ErrorCode PD_Document::readFromFile(const char * szFilename, int ieft)
 {
        if (!szFilename || !*szFilename)
        {
                UT_DEBUGMSG(("PD_Document::readFromFile -- invalid filename\n"));
-               return UT_FALSE;
+               return UT_InvalidFilename;
        }
 
        m_pPieceTable = new pt_PieceTable(this);
        if (!m_pPieceTable)
        {
                UT_DEBUGMSG(("PD_Document::readFromFile -- could not construct piece 
table\n"));
-               return UT_FALSE;
+               return UT_NoPieceTable;
        }
 
        IE_Imp * pie = NULL;
@@ -97,7 +99,7 @@
        if (ies != IES_OK)
        {
                UT_DEBUGMSG(("PD_Document::readFromFile -- could not construct 
importer\n"));
-               return UT_FALSE;
+               return toErrorCode(ies);
        }
 
        m_pPieceTable->setPieceTableState(PTS_Loading);
@@ -107,14 +109,14 @@
        if (ies != IES_OK)
        {
                UT_DEBUGMSG(("PD_Document::readFromFile -- could not import file\n"));
-               return UT_FALSE;
+               return toErrorCode(ies);
        }
        
        UT_ASSERT(!m_szFilename);
        if (!UT_cloneString((char *&)m_szFilename, szFilename))
        {
                UT_DEBUGMSG(("PD_Document::readFromFile -- no memory\n"));
-               return UT_FALSE;
+               return UT_IE_NoMemory;
        }
 
        // save out file type so future saves know the type imported as
@@ -125,13 +127,13 @@
        return UT_TRUE;
 }
 
-UT_Bool PD_Document::newDocument(void)
+UT_ErrorCode PD_Document::newDocument(void)
 {
        m_pPieceTable = new pt_PieceTable(this);
        if (!m_pPieceTable)
        {
                UT_DEBUGMSG(("PD_Document::newDocument -- could not construct piece 
table\n"));
-               return UT_FALSE;
+               return UT_NoPieceTable;
        }
 
        m_pPieceTable->setPieceTableState(PTS_Loading);
diff -ur -x CVS abi/src/text/ptbl/xp/pd_Document.h 
abi-notdone/src/text/ptbl/xp/pd_Document.h
--- abi/src/text/ptbl/xp/pd_Document.h  Fri Jan 14 01:44:30 2000
+++ abi-notdone/src/text/ptbl/xp/pd_Document.h  Tue Jan 18 23:21:56 2000
@@ -59,8 +59,8 @@
 public:
        PD_Document();
 
-       virtual UT_Bool                 readFromFile(const char * szFilename, int 
ieft);
-       virtual UT_Bool                 newDocument(void);
+       virtual UT_ErrorCode            readFromFile(const char * szFilename, int 
+ieft);
+       virtual UT_ErrorCode            newDocument(void);
        virtual UT_Bool                 isDirty(void) const;
 
        virtual UT_Bool                 canDo(UT_Bool bUndo) const;
diff -ur -x CVS abi/src/wp/ap/unix/ap_UnixFrame.cpp 
abi-notdone/src/wp/ap/unix/ap_UnixFrame.cpp
--- abi/src/wp/ap/unix/ap_UnixFrame.cpp Fri Dec  3 12:28:04 1999
+++ abi-notdone/src/wp/ap/unix/ap_UnixFrame.cpp Wed Jan 19 19:04:18 2000
@@ -67,18 +67,18 @@
        return ((AP_FrameData*)m_pData)->m_pG->getZoomPercentage();
 }
 
-UT_Bool AP_UnixFrame::_showDocument(UT_uint32 iZoom)
+UT_ErrorCode AP_UnixFrame::_showDocument(UT_uint32 iZoom)
 {
        if (!m_pDoc)
        {
                UT_DEBUGMSG(("Can't show a non-existent document\n"));
-               return UT_FALSE;
+               return UT_IE_FileNotFound;
        }
 
        if (!((AP_FrameData*)m_pData))
        {
                UT_ASSERT(UT_SHOULD_NOT_HAPPEN);
-               return UT_FALSE;
+               return UT_IE_ImportError;
        }
 
        GR_UnixGraphics * pG = NULL;
@@ -247,7 +247,7 @@
 
        ((AP_FrameData*)m_pData)->m_pStatusBar->draw();
        
-       return UT_TRUE;
+       return UT_OK;
 
 Cleanup:
        // clean up anything we created here
@@ -262,7 +262,7 @@
        UNREFP(m_pDoc);
        m_pDoc = ((AP_FrameData*)m_pData)->m_pDocLayout->getDocument();
 
-       return UT_FALSE;
+       return UT_IE_AddListenerError;
 }
 
 void AP_UnixFrame::setXScrollRange(void)
@@ -374,7 +374,7 @@
        m_pData = NULL;
 }
 
-UT_Bool AP_UnixFrame::_loadDocument(const char * szFilename, IEFileType ieft)
+UT_ErrorCode AP_UnixFrame::_loadDocument(const char * szFilename, IEFileType ieft)
 {
        // are we replacing another document?
        if (m_pDoc)
@@ -395,20 +395,21 @@
                m_iUntitled = _getNextUntitledNumber();
                goto ReplaceDocument;
        }
-
-       if (pNewDoc->readFromFile(szFilename, ieft))
+       UT_ErrorCode errorCode;
+       errorCode = pNewDoc->readFromFile(szFilename, ieft);
+       if (!errorCode)
                goto ReplaceDocument;
        
        UT_DEBUGMSG(("ap_Frame: could not open the file [%s]\n",szFilename));
        UNREFP(pNewDoc);
-       return UT_FALSE;
+       return errorCode;
 
 ReplaceDocument:
        getApp()->forgetClones(this);
 
        // NOTE: prior document is discarded in _showDocument()
        m_pDoc = pNewDoc;
-       return UT_TRUE;
+       return UT_OK;
 }
        
 XAP_Frame * AP_UnixFrame::cloneFrame(void)
@@ -437,7 +438,7 @@
        return NULL;
 }
 
-UT_Bool AP_UnixFrame::loadDocument(const char * szFilename, int ieft)
+UT_ErrorCode AP_UnixFrame::loadDocument(const char * szFilename, int ieft)
 {
        UT_Bool bUpdateClones;
        UT_Vector vClones;
@@ -448,14 +449,15 @@
        {
                pApp->getClones(&vClones, this);
        }
-
-       if (! _loadDocument(szFilename, (IEFileType) ieft))
+       UT_ErrorCode errorCode;
+       errorCode =  _loadDocument(szFilename, (IEFileType) ieft);
+       if (errorCode)
        {
                // we could not load the document.
                // we cannot complain to the user here, we don't know
                // if the app is fully up yet.  we force our caller
                // to deal with the problem.
-               return UT_FALSE;
+               return errorCode;
        }
 
        pApp->rememberFrame(this);
Only in abi-notdone/src/wp/ap/unix: ap_UnixFrame.cpp~
diff -ur -x CVS abi/src/wp/ap/unix/ap_UnixFrame.h 
abi-notdone/src/wp/ap/unix/ap_UnixFrame.h
--- abi/src/wp/ap/unix/ap_UnixFrame.h   Thu Dec  2 19:22:04 1999
+++ abi-notdone/src/wp/ap/unix/ap_UnixFrame.h   Wed Jan 19 19:52:25 2000
@@ -43,7 +43,7 @@
 
        virtual UT_Bool                         initialize(void);
        virtual XAP_Frame *                     cloneFrame(void);
-       virtual UT_Bool                         loadDocument(const char * szFilename, 
int ieft);
+       virtual UT_ErrorCode                    loadDocument(const char * szFilename, 
+int ieft);
        virtual UT_Bool                         initFrameData(void);
        virtual void                            killFrameData(void);
 
@@ -60,8 +60,8 @@
        virtual GtkWidget *                     _createDocumentWindow(void);
        virtual GtkWidget *                     _createStatusBarWindow(void);
        virtual void                            _setWindowIcon(void);
-       UT_Bool                                         _loadDocument(const char * 
szFilename, IEFileType ieft);
-       UT_Bool                                         _showDocument(UT_uint32 
iZoom=100);
+       UT_ErrorCode                            _loadDocument(const char * szFilename, 
+IEFileType ieft);
+       UT_ErrorCode                                    _showDocument(UT_uint32 
+iZoom=100);
        static void                                     _scrollFuncX(void * pData, 
UT_sint32 xoff, UT_sint32 xlimit);
        static void                                     _scrollFuncY(void * pData, 
UT_sint32 yoff, UT_sint32 ylimit);
        UT_Bool                                         _replaceDocument(AD_Document * 
pDoc);
diff -ur -x CVS abi/src/wp/ap/xp/ap_EditMethods.cpp 
abi-notdone/src/wp/ap/xp/ap_EditMethods.cpp
--- abi/src/wp/ap/xp/ap_EditMethods.cpp Tue Jan 18 17:26:16 2000
+++ abi-notdone/src/wp/ap/xp/ap_EditMethods.cpp Wed Jan 19 20:29:27 2000
@@ -47,6 +47,7 @@
 #include "ap_Dialog_Paragraph.h"
 #include "ap_Dialog_Options.h"
 #include "ap_Dialog_Spell.h"
+#include "ap_EditMethods.h"
 
 #include "xap_DialogFactory.h"
 #include "xap_Dlg_About.h"
@@ -65,6 +66,15 @@
 /*****************************************************************/
 /*****************************************************************/
 
+EV_EditMethodContainer * AP_GetEditMethods(void)
+{
+       // Construct a container for all of the methods this application
+       // knows about.
+
+       return new 
+EV_EditMethodContainer(NrElements(s_arrayEditMethods),s_arrayEditMethods);
+}
+
+
 /* abbreviations:
 **   BOL    beginning of line
 **   EOL    end of line
@@ -84,569 +94,6 @@
 **   fwd          forwards
 **/
 
-class ap_EditMethods
-{
-public:
-       static EV_EditMethod_Fn scrollPageDown;
-       static EV_EditMethod_Fn scrollPageUp;
-       static EV_EditMethod_Fn scrollPageLeft;
-       static EV_EditMethod_Fn scrollPageRight;
-       static EV_EditMethod_Fn scrollLineDown;
-       static EV_EditMethod_Fn scrollLineUp;
-       static EV_EditMethod_Fn scrollLineLeft;
-       static EV_EditMethod_Fn scrollLineRight;
-       static EV_EditMethod_Fn scrollToTop;
-       static EV_EditMethod_Fn scrollToBottom;
-
-       static EV_EditMethod_Fn warpInsPtToXY;
-       static EV_EditMethod_Fn warpInsPtLeft;
-       static EV_EditMethod_Fn warpInsPtRight;
-       static EV_EditMethod_Fn warpInsPtBOL;
-       static EV_EditMethod_Fn warpInsPtEOL;
-       static EV_EditMethod_Fn warpInsPtBOW;
-       static EV_EditMethod_Fn warpInsPtEOW;
-       static EV_EditMethod_Fn warpInsPtBOS;
-       static EV_EditMethod_Fn warpInsPtEOS;
-       static EV_EditMethod_Fn warpInsPtBOB;
-       static EV_EditMethod_Fn warpInsPtEOB;
-       static EV_EditMethod_Fn warpInsPtBOD;
-       static EV_EditMethod_Fn warpInsPtEOD;
-       static EV_EditMethod_Fn warpInsPtPrevLine;
-       static EV_EditMethod_Fn warpInsPtNextLine;
-
-       static EV_EditMethod_Fn cursorDefault;
-       static EV_EditMethod_Fn cursorIBeam;
-       static EV_EditMethod_Fn cursorRightArrow;
-       static EV_EditMethod_Fn cursorImage;
-       static EV_EditMethod_Fn cursorImageSize;
-
-       static EV_EditMethod_Fn contextMenu;
-       static EV_EditMethod_Fn contextText;
-       static EV_EditMethod_Fn contextMisspellText;
-
-       static EV_EditMethod_Fn spellSuggest_1;
-       static EV_EditMethod_Fn spellSuggest_2;
-       static EV_EditMethod_Fn spellSuggest_3;
-       static EV_EditMethod_Fn spellSuggest_4;
-       static EV_EditMethod_Fn spellSuggest_5;
-       static EV_EditMethod_Fn spellSuggest_6;
-       static EV_EditMethod_Fn spellSuggest_7;
-       static EV_EditMethod_Fn spellSuggest_8;
-       static EV_EditMethod_Fn spellSuggest_9;
-
-       static EV_EditMethod_Fn spellIgnoreAll;
-       static EV_EditMethod_Fn spellAdd;
-
-       static EV_EditMethod_Fn dragToXY;
-       static EV_EditMethod_Fn dragToXYword;
-       static EV_EditMethod_Fn endDrag;
-       static EV_EditMethod_Fn extSelToXY;
-       static EV_EditMethod_Fn extSelLeft;
-       static EV_EditMethod_Fn extSelRight;
-       static EV_EditMethod_Fn extSelBOL;
-       static EV_EditMethod_Fn extSelEOL;
-       static EV_EditMethod_Fn extSelBOW;
-       static EV_EditMethod_Fn extSelEOW;
-       static EV_EditMethod_Fn extSelBOS;
-       static EV_EditMethod_Fn extSelEOS;
-       static EV_EditMethod_Fn extSelBOB;
-       static EV_EditMethod_Fn extSelEOB;
-       static EV_EditMethod_Fn extSelBOD;
-       static EV_EditMethod_Fn extSelEOD;
-       static EV_EditMethod_Fn extSelPrevLine;
-       static EV_EditMethod_Fn extSelNextLine;
-       static EV_EditMethod_Fn extSelPageDown;
-       static EV_EditMethod_Fn extSelPageUp;
-       static EV_EditMethod_Fn selectAll;
-       static EV_EditMethod_Fn selectWord;
-       static EV_EditMethod_Fn selectLine;
-       static EV_EditMethod_Fn selectBlock;
-
-       static EV_EditMethod_Fn delLeft;
-       static EV_EditMethod_Fn delRight;
-       static EV_EditMethod_Fn delBOL;
-       static EV_EditMethod_Fn delEOL;
-       static EV_EditMethod_Fn delBOW;
-       static EV_EditMethod_Fn delEOW;
-       static EV_EditMethod_Fn delBOS;
-       static EV_EditMethod_Fn delEOS;
-       static EV_EditMethod_Fn delBOB;
-       static EV_EditMethod_Fn delEOB;
-       static EV_EditMethod_Fn delBOD;
-       static EV_EditMethod_Fn delEOD;
-
-       static EV_EditMethod_Fn insertData;
-       static EV_EditMethod_Fn insertTab;
-       static EV_EditMethod_Fn insertSoftBreak;
-       static EV_EditMethod_Fn insertParagraphBreak;
-       static EV_EditMethod_Fn insertSectionBreak;
-       static EV_EditMethod_Fn insertLineBreak;
-       static EV_EditMethod_Fn insertPageBreak;
-       static EV_EditMethod_Fn insertColumnBreak;
-
-       static EV_EditMethod_Fn insertSpace;
-       static EV_EditMethod_Fn insertNBSpace;
-
-       static EV_EditMethod_Fn insertGraveData; // for certain european keys
-       static EV_EditMethod_Fn insertAcuteData;
-       static EV_EditMethod_Fn insertCircumflexData;
-       static EV_EditMethod_Fn insertTildeData;
-       static EV_EditMethod_Fn insertMacronData;
-       static EV_EditMethod_Fn insertBreveData;
-       static EV_EditMethod_Fn insertAbovedotData;
-       static EV_EditMethod_Fn insertDiaeresisData;
-       static EV_EditMethod_Fn insertDoubleacuteData;
-       static EV_EditMethod_Fn insertCaronData;
-       static EV_EditMethod_Fn insertCedillaData;
-       static EV_EditMethod_Fn insertOgonekData;
-
-       // TODO add functions for all of the standard menu commands.
-       // TODO here are a few that i started.
-
-       static EV_EditMethod_Fn fileNew;
-       static EV_EditMethod_Fn fileOpen;
-       static EV_EditMethod_Fn fileSave;
-       static EV_EditMethod_Fn fileSaveAs;
-       static EV_EditMethod_Fn pageSetup;
-       static EV_EditMethod_Fn print;
-       static EV_EditMethod_Fn printTB;
-       static EV_EditMethod_Fn fileInsertGraphic;
-
-       static EV_EditMethod_Fn undo;
-       static EV_EditMethod_Fn redo;
-       static EV_EditMethod_Fn cut;
-       static EV_EditMethod_Fn copy;
-       static EV_EditMethod_Fn paste;
-       static EV_EditMethod_Fn pasteSelection;
-       static EV_EditMethod_Fn find;
-       static EV_EditMethod_Fn findAgain;
-       static EV_EditMethod_Fn go;
-       static EV_EditMethod_Fn replace;
-       static EV_EditMethod_Fn dlgOptions;
-
-       static EV_EditMethod_Fn viewStd;
-       static EV_EditMethod_Fn viewFormat;
-       static EV_EditMethod_Fn viewRuler;
-       static EV_EditMethod_Fn viewStatus;
-       static EV_EditMethod_Fn viewPara;
-       static EV_EditMethod_Fn viewHeadFoot;
-       static EV_EditMethod_Fn zoom;
-       static EV_EditMethod_Fn dlgZoom;
-
-       static EV_EditMethod_Fn insBreak;
-       static EV_EditMethod_Fn insPageNo;
-       static EV_EditMethod_Fn insDateTime;
-       static EV_EditMethod_Fn insField;
-       static EV_EditMethod_Fn insSymbol;
-
-       static EV_EditMethod_Fn dlgSpell;
-   
-       static EV_EditMethod_Fn dlgFont;
-       static EV_EditMethod_Fn dlgParagraph;
-       static EV_EditMethod_Fn dlgBullets;
-       static EV_EditMethod_Fn dlgBorders;
-       static EV_EditMethod_Fn dlgColumns;
-       static EV_EditMethod_Fn style;
-       static EV_EditMethod_Fn dlgStyle;
-       static EV_EditMethod_Fn dlgTabs;
-       static EV_EditMethod_Fn fontFamily;
-       static EV_EditMethod_Fn fontSize;
-       static EV_EditMethod_Fn toggleBold;
-       static EV_EditMethod_Fn toggleItalic;
-       static EV_EditMethod_Fn toggleUline;
-       static EV_EditMethod_Fn toggleOline;
-       static EV_EditMethod_Fn toggleStrike;
-       static EV_EditMethod_Fn toggleSuper;
-       static EV_EditMethod_Fn toggleSub;
-       static EV_EditMethod_Fn togglePlain;
-
-       static EV_EditMethod_Fn alignLeft;
-       static EV_EditMethod_Fn alignCenter;
-       static EV_EditMethod_Fn alignRight;
-       static EV_EditMethod_Fn alignJustify;
-
-       static EV_EditMethod_Fn paraBefore0;
-       static EV_EditMethod_Fn paraBefore12;
-
-       static EV_EditMethod_Fn sectColumns1;
-       static EV_EditMethod_Fn sectColumns2;
-       static EV_EditMethod_Fn sectColumns3;
-
-       static EV_EditMethod_Fn singleSpace;
-       static EV_EditMethod_Fn middleSpace;
-       static EV_EditMethod_Fn doubleSpace;
-
-       static EV_EditMethod_Fn openRecent_1;
-       static EV_EditMethod_Fn openRecent_2;
-       static EV_EditMethod_Fn openRecent_3;
-       static EV_EditMethod_Fn openRecent_4;
-       static EV_EditMethod_Fn openRecent_5;
-       static EV_EditMethod_Fn openRecent_6;
-       static EV_EditMethod_Fn openRecent_7;
-       static EV_EditMethod_Fn openRecent_8;
-       static EV_EditMethod_Fn openRecent_9;
-
-       static EV_EditMethod_Fn activateWindow_1;
-       static EV_EditMethod_Fn activateWindow_2;
-       static EV_EditMethod_Fn activateWindow_3;
-       static EV_EditMethod_Fn activateWindow_4;
-       static EV_EditMethod_Fn activateWindow_5;
-       static EV_EditMethod_Fn activateWindow_6;
-       static EV_EditMethod_Fn activateWindow_7;
-       static EV_EditMethod_Fn activateWindow_8;
-       static EV_EditMethod_Fn activateWindow_9;
-       static EV_EditMethod_Fn dlgMoreWindows;
-
-       static EV_EditMethod_Fn dlgAbout;
-
-       static EV_EditMethod_Fn newWindow;
-       static EV_EditMethod_Fn cycleWindows;
-       static EV_EditMethod_Fn cycleWindowsBck;
-       static EV_EditMethod_Fn closeWindow;
-       static EV_EditMethod_Fn querySaveAndExit;
-
-       static EV_EditMethod_Fn setEditVI;
-       static EV_EditMethod_Fn setInputVI;
-       static EV_EditMethod_Fn cycleInputMode;
-
-       static EV_EditMethod_Fn viCmd_A;
-       static EV_EditMethod_Fn viCmd_I;
-       static EV_EditMethod_Fn viCmd_J;
-       static EV_EditMethod_Fn viCmd_O;
-       static EV_EditMethod_Fn viCmd_P;
-       static EV_EditMethod_Fn viCmd_a;
-       static EV_EditMethod_Fn viCmd_o;
-       static EV_EditMethod_Fn viCmd_c24;
-       static EV_EditMethod_Fn viCmd_c28;
-       static EV_EditMethod_Fn viCmd_c29;
-       static EV_EditMethod_Fn viCmd_c5b;
-       static EV_EditMethod_Fn viCmd_c5d;
-       static EV_EditMethod_Fn viCmd_c5e;
-       static EV_EditMethod_Fn viCmd_cb;
-       static EV_EditMethod_Fn viCmd_cw;
-       static EV_EditMethod_Fn viCmd_d24;
-       static EV_EditMethod_Fn viCmd_d28;
-       static EV_EditMethod_Fn viCmd_d29;
-       static EV_EditMethod_Fn viCmd_d5b;
-       static EV_EditMethod_Fn viCmd_d5d;
-       static EV_EditMethod_Fn viCmd_d5e;
-       static EV_EditMethod_Fn viCmd_db;
-       static EV_EditMethod_Fn viCmd_dd;
-       static EV_EditMethod_Fn viCmd_dw;
-       static EV_EditMethod_Fn viCmd_y24;
-       static EV_EditMethod_Fn viCmd_y28;
-       static EV_EditMethod_Fn viCmd_y29;
-       static EV_EditMethod_Fn viCmd_y5b;
-       static EV_EditMethod_Fn viCmd_y5d;
-       static EV_EditMethod_Fn viCmd_y5e;
-       static EV_EditMethod_Fn viCmd_yb;
-       static EV_EditMethod_Fn viCmd_yw;
-       static EV_EditMethod_Fn viCmd_yy;
-
-       static EV_EditMethod_Fn noop;
-
-       // Test routines
-
-#if defined(PT_TEST) || defined(FMT_TEST) || defined(UT_TEST)
-       static EV_EditMethod_Fn Test_Dump;
-#endif
-};
-
-/*****************************************************************/
-/*****************************************************************/
-
-#define _D_                            EV_EMT_REQUIREDATA
-
-#define F(fn)                  ap_EditMethods::fn
-#define N(fn)                  #fn
-#define NF(fn)                 N(fn), F(fn)
-
-static EV_EditMethod s_arrayEditMethods[] =
-{
-       EV_EditMethod(NF(scrollPageDown),               0,      ""),
-       EV_EditMethod(NF(scrollPageUp),                 0,      ""),
-       EV_EditMethod(NF(scrollPageLeft),               0,      ""),
-       EV_EditMethod(NF(scrollPageRight),              0,      ""),
-       EV_EditMethod(NF(scrollLineDown),               0,      ""),
-       EV_EditMethod(NF(scrollLineUp),                 0,      ""),
-       EV_EditMethod(NF(scrollLineLeft),               0,      ""),
-       EV_EditMethod(NF(scrollLineRight),              0,      ""),
-       EV_EditMethod(NF(scrollToTop),                  0,      ""),
-       EV_EditMethod(NF(scrollToBottom),               0,      ""),
-
-       EV_EditMethod(NF(warpInsPtToXY),                0,      ""),
-       EV_EditMethod(NF(warpInsPtLeft),                0,      ""),
-       EV_EditMethod(NF(warpInsPtRight),               0,      ""),
-       EV_EditMethod(NF(warpInsPtBOL),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtEOL),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtBOW),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtEOW),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtBOS),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtEOS),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtBOB),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtEOB),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtBOD),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtEOD),                 0,      ""),
-       EV_EditMethod(NF(warpInsPtPrevLine),    0,      ""),
-       EV_EditMethod(NF(warpInsPtNextLine),    0,      ""),
-
-       EV_EditMethod(NF(cursorDefault),                0,      ""),
-       EV_EditMethod(NF(cursorIBeam),                  0,      ""),
-       EV_EditMethod(NF(cursorRightArrow),             0,      ""),
-       EV_EditMethod(NF(cursorImage),                  0,      ""),
-       EV_EditMethod(NF(cursorImageSize),              0,      ""),
-
-       EV_EditMethod(NF(contextMenu),                  0,      ""),
-       EV_EditMethod(NF(contextText),                  0,      ""),
-       EV_EditMethod(NF(contextMisspellText),  0,      ""),
-
-       EV_EditMethod(NF(spellSuggest_1),               0,      ""),
-       EV_EditMethod(NF(spellSuggest_2),               0,      ""),
-       EV_EditMethod(NF(spellSuggest_3),               0,      ""),
-       EV_EditMethod(NF(spellSuggest_4),               0,      ""),
-       EV_EditMethod(NF(spellSuggest_5),               0,      ""),
-       EV_EditMethod(NF(spellSuggest_6),               0,      ""),
-       EV_EditMethod(NF(spellSuggest_7),               0,      ""),
-       EV_EditMethod(NF(spellSuggest_8),               0,      ""),
-       EV_EditMethod(NF(spellSuggest_9),               0,      ""),
-
-       EV_EditMethod(NF(spellIgnoreAll),               0,      ""),
-       EV_EditMethod(NF(spellAdd),                             0,      ""),
-
-       EV_EditMethod(NF(dragToXY),                             0,      ""),
-       EV_EditMethod(NF(dragToXYword),                 0,      ""),
-       EV_EditMethod(NF(endDrag),                              0,      ""),
-       EV_EditMethod(NF(extSelToXY),                   0,      ""),
-       EV_EditMethod(NF(extSelLeft),                   0,      ""),
-       EV_EditMethod(NF(extSelRight),                  0,      ""),
-       EV_EditMethod(NF(extSelBOL),                    0,      ""),
-       EV_EditMethod(NF(extSelEOL),                    0,      ""),
-       EV_EditMethod(NF(extSelBOW),                    0,      ""),
-       EV_EditMethod(NF(extSelEOW),                    0,      ""),
-       EV_EditMethod(NF(extSelBOS),                    0,      ""),
-       EV_EditMethod(NF(extSelEOS),                    0,      ""),
-       EV_EditMethod(NF(extSelBOB),                    0,      ""),
-       EV_EditMethod(NF(extSelEOB),                    0,      ""),
-       EV_EditMethod(NF(extSelBOD),                    0,      ""),
-       EV_EditMethod(NF(extSelEOD),                    0,      ""),
-       EV_EditMethod(NF(extSelPrevLine),               0,      ""),
-       EV_EditMethod(NF(extSelNextLine),               0,      ""),
-       EV_EditMethod(NF(extSelPageDown),               0,      ""),
-       EV_EditMethod(NF(extSelPageUp),                 0,      ""),
-       EV_EditMethod(NF(selectAll),                    0,      ""),
-       EV_EditMethod(NF(selectWord),                   0,      ""),
-       EV_EditMethod(NF(selectLine),                   0,      ""),
-       EV_EditMethod(NF(selectBlock),                  0,      ""),
-
-       EV_EditMethod(NF(delLeft),                              0,      ""),
-       EV_EditMethod(NF(delRight),                             0,      ""),
-       EV_EditMethod(NF(delBOL),                               0,      ""),
-       EV_EditMethod(NF(delEOL),                               0,      ""),
-       EV_EditMethod(NF(delBOW),                               0,      ""),
-       EV_EditMethod(NF(delEOW),                               0,      ""),
-       EV_EditMethod(NF(delBOS),                               0,      ""),
-       EV_EditMethod(NF(delEOS),                               0,      ""),
-       EV_EditMethod(NF(delBOB),                               0,      ""),
-       EV_EditMethod(NF(delEOB),                               0,      ""),
-       EV_EditMethod(NF(delBOD),                               0,      ""),
-       EV_EditMethod(NF(delEOD),                               0,      ""),
-
-       EV_EditMethod(NF(insertData),                   _D_,    ""),
-       EV_EditMethod(NF(insertTab),                    0,      ""),
-       EV_EditMethod(NF(insertSoftBreak),              0,      ""),
-       EV_EditMethod(NF(insertParagraphBreak), 0,      ""),
-       EV_EditMethod(NF(insertSectionBreak),   0,      ""),
-       EV_EditMethod(NF(insertLineBreak),              0,      ""),
-       EV_EditMethod(NF(insertPageBreak),              0,      ""),
-       EV_EditMethod(NF(insertColumnBreak),    0,      ""),
-
-       EV_EditMethod(NF(insertSpace),                  0,      ""),
-       EV_EditMethod(NF(insertNBSpace),                0,      ""),
-
-       EV_EditMethod(NF(insertGraveData),              _D_,    ""),
-       EV_EditMethod(NF(insertAcuteData),              _D_,    ""),
-       EV_EditMethod(NF(insertCircumflexData), _D_,    ""),
-       EV_EditMethod(NF(insertTildeData),              _D_,    ""),
-       EV_EditMethod(NF(insertMacronData),             _D_,    ""),
-       EV_EditMethod(NF(insertBreveData),              _D_,    ""),
-       EV_EditMethod(NF(insertAbovedotData),   _D_,    ""),
-       EV_EditMethod(NF(insertDiaeresisData),  _D_,    ""),
-       EV_EditMethod(NF(insertDoubleacuteData),_D_,    ""),
-       EV_EditMethod(NF(insertCaronData),              _D_,    ""),
-       EV_EditMethod(NF(insertCedillaData),    _D_,    ""),
-       EV_EditMethod(NF(insertOgonekData),             _D_,    ""),
-
-       EV_EditMethod(NF(fileNew),                              0,      ""),
-       EV_EditMethod(NF(fileOpen),                             0,      ""),
-       EV_EditMethod(NF(fileSave),                             0,      ""),
-       EV_EditMethod(NF(fileSaveAs),                   0,      ""),
-       EV_EditMethod(NF(pageSetup),                    0,      ""),
-       EV_EditMethod(NF(print),                                0,      ""),
-       EV_EditMethod(NF(printTB),                              0,      ""), // avoid 
query if possible
-       EV_EditMethod(NF(fileInsertGraphic),    0,      ""),
-
-       EV_EditMethod(NF(undo),                                 0,      ""),
-       EV_EditMethod(NF(redo),                                 0,      ""),
-       EV_EditMethod(NF(cut),                                  0,      ""),
-       EV_EditMethod(NF(copy),                                 0,      ""),
-       EV_EditMethod(NF(paste),                                0,      ""),    // 
intended for ^V and Menu[Edit/Paste]
-       EV_EditMethod(NF(pasteSelection),               0,      ""),    // intended 
for X11 middle mouse
-       EV_EditMethod(NF(find),                                 0,      ""),
-       EV_EditMethod(NF(findAgain),                    0,      ""),    
-       EV_EditMethod(NF(go),                                   0,      ""),
-       EV_EditMethod(NF(replace),                              0,      ""),
-       EV_EditMethod(NF(dlgOptions),                   0,      ""),
-
-       EV_EditMethod(NF(viewStd),                              0,              ""),
-       EV_EditMethod(NF(viewFormat),                   0,              ""),
-       EV_EditMethod(NF(viewRuler),                    0,              ""),
-       EV_EditMethod(NF(viewStatus),                   0,              ""),
-       EV_EditMethod(NF(viewPara),                             0,              ""),
-       EV_EditMethod(NF(viewHeadFoot),                 0,              ""),
-       EV_EditMethod(NF(zoom),                                 0,              ""),
-       EV_EditMethod(NF(dlgZoom),                              0,              ""),
-
-       EV_EditMethod(NF(insBreak),                             0,              ""),
-       EV_EditMethod(NF(insPageNo),                    0,              ""),
-       EV_EditMethod(NF(insDateTime),                  0,              ""),
-       EV_EditMethod(NF(insField),                             0,              ""),
-       EV_EditMethod(NF(insSymbol),                    0,              ""),
-
-       EV_EditMethod(NF(dlgSpell),                     0,              ""),
-   
-       EV_EditMethod(NF(dlgFont),                              0,              ""),
-       EV_EditMethod(NF(dlgParagraph),                 0,              ""),
-       EV_EditMethod(NF(dlgBullets),                   0,              ""),
-       EV_EditMethod(NF(dlgBorders),                   0,              ""),
-       EV_EditMethod(NF(dlgColumns),                   0,              ""),
-       EV_EditMethod(NF(style),                                _D_,    ""),
-       EV_EditMethod(NF(dlgStyle),                             0,              ""),
-       EV_EditMethod(NF(dlgTabs),                              0,              ""),
-       EV_EditMethod(NF(fontFamily),                   _D_,    ""),
-       EV_EditMethod(NF(fontSize),                             _D_,    ""),
-       EV_EditMethod(NF(toggleBold),                   0,              ""),
-       EV_EditMethod(NF(toggleItalic),                 0,              ""),
-       EV_EditMethod(NF(toggleUline),                  0,              ""),
-       EV_EditMethod(NF(toggleOline),                  0,              ""),
-       EV_EditMethod(NF(toggleStrike),                 0,              ""),
-       EV_EditMethod(NF(toggleSuper),                  0,              ""),
-       EV_EditMethod(NF(toggleSub),                    0,              ""),
-       EV_EditMethod(NF(togglePlain),                  0,              ""),
-
-       EV_EditMethod(NF(alignLeft),                    0,              ""),
-       EV_EditMethod(NF(alignCenter),                  0,              ""),
-       EV_EditMethod(NF(alignRight),                   0,              ""),
-       EV_EditMethod(NF(alignJustify),                 0,              ""),
-
-       EV_EditMethod(NF(paraBefore0),                  0,              ""),
-       EV_EditMethod(NF(paraBefore12),                 0,              ""),
-
-       EV_EditMethod(NF(sectColumns1),                 0,              ""),
-       EV_EditMethod(NF(sectColumns2),                 0,              ""),
-       EV_EditMethod(NF(sectColumns3),                 0,              ""),
-       
-       EV_EditMethod(NF(singleSpace),                  0,              ""),
-       EV_EditMethod(NF(middleSpace),                  0,              ""),
-       EV_EditMethod(NF(doubleSpace),                  0,              ""),
-
-       EV_EditMethod(NF(openRecent_1),                 0,              ""),
-       EV_EditMethod(NF(openRecent_2),                 0,              ""),
-       EV_EditMethod(NF(openRecent_3),                 0,              ""),
-       EV_EditMethod(NF(openRecent_4),                 0,              ""),
-       EV_EditMethod(NF(openRecent_5),                 0,              ""),
-       EV_EditMethod(NF(openRecent_6),                 0,              ""),
-       EV_EditMethod(NF(openRecent_7),                 0,              ""),
-       EV_EditMethod(NF(openRecent_8),                 0,              ""),
-       EV_EditMethod(NF(openRecent_9),                 0,              ""),
-
-       EV_EditMethod(NF(activateWindow_1),             0,              ""),
-       EV_EditMethod(NF(activateWindow_2),             0,              ""),
-       EV_EditMethod(NF(activateWindow_3),             0,              ""),
-       EV_EditMethod(NF(activateWindow_4),             0,              ""),
-       EV_EditMethod(NF(activateWindow_5),             0,              ""),
-       EV_EditMethod(NF(activateWindow_6),             0,              ""),
-       EV_EditMethod(NF(activateWindow_7),             0,              ""),
-       EV_EditMethod(NF(activateWindow_8),             0,              ""),
-       EV_EditMethod(NF(activateWindow_9),             0,              ""),
-       EV_EditMethod(NF(dlgMoreWindows),               0,              ""),
-       
-       EV_EditMethod(NF(dlgAbout),                             0,              ""),
-
-       EV_EditMethod(NF(newWindow),                    0,      ""),
-       EV_EditMethod(NF(cycleWindows),                 0,      ""),
-       EV_EditMethod(NF(cycleWindowsBck),              0,      ""),
-       EV_EditMethod(NF(closeWindow),                  0,      ""),
-       EV_EditMethod(NF(querySaveAndExit),             0,      ""),
-
-       EV_EditMethod(NF(setEditVI),                    0,      ""),
-       EV_EditMethod(NF(setInputVI),                   0,      ""),
-       EV_EditMethod(NF(cycleInputMode),               0,      ""),
-
-       EV_EditMethod(NF(viCmd_A),              0,      ""),
-       EV_EditMethod(NF(viCmd_I),              0,      ""),
-       EV_EditMethod(NF(viCmd_J),              0,      ""),
-       EV_EditMethod(NF(viCmd_O),              0,      ""),
-       EV_EditMethod(NF(viCmd_P),              0,      ""),
-       EV_EditMethod(NF(viCmd_a),              0,      ""),
-       EV_EditMethod(NF(viCmd_o),              0,      ""),
-       EV_EditMethod(NF(viCmd_c24),    0,      ""),
-       EV_EditMethod(NF(viCmd_c28),    0,      ""),
-       EV_EditMethod(NF(viCmd_c29),    0,      ""),
-       EV_EditMethod(NF(viCmd_c5b),    0,      ""),
-       EV_EditMethod(NF(viCmd_c5d),    0,      ""),
-       EV_EditMethod(NF(viCmd_c5e),    0,      ""),
-       EV_EditMethod(NF(viCmd_cb),             0,      ""),
-       EV_EditMethod(NF(viCmd_cw),             0,      ""),
-       EV_EditMethod(NF(viCmd_d24),            0,      ""),
-       EV_EditMethod(NF(viCmd_d28),            0,      ""),
-       EV_EditMethod(NF(viCmd_d29),            0,      ""),
-       EV_EditMethod(NF(viCmd_d5b),            0,      ""),
-       EV_EditMethod(NF(viCmd_d5d),            0,      ""),
-       EV_EditMethod(NF(viCmd_d5e),            0,      ""),
-       EV_EditMethod(NF(viCmd_db),             0,      ""),
-       EV_EditMethod(NF(viCmd_dd),             0,      ""),
-       EV_EditMethod(NF(viCmd_dw),             0,      ""),
-       EV_EditMethod(NF(viCmd_y24),    0,      ""),
-       EV_EditMethod(NF(viCmd_y28),    0,      ""),
-       EV_EditMethod(NF(viCmd_y29),    0,      ""),
-       EV_EditMethod(NF(viCmd_y5b),    0,      ""),
-       EV_EditMethod(NF(viCmd_y5d),    0,      ""),
-       EV_EditMethod(NF(viCmd_y5e),    0,      ""),
-       EV_EditMethod(NF(viCmd_yb),             0,      ""),
-       EV_EditMethod(NF(viCmd_yw),             0,      ""),
-       EV_EditMethod(NF(viCmd_yy),             0,      ""),
-
-       EV_EditMethod(NF(noop),                                 0,      ""),
-
-#if defined(PT_TEST) || defined(FMT_TEST) || defined(UT_TEST)
-       EV_EditMethod(NF(Test_Dump),                    0,      "")
-#endif
-};
-
-
-
-EV_EditMethodContainer * AP_GetEditMethods(void)
-{
-       // Construct a container for all of the methods this application
-       // knows about.
-
-       return new 
EV_EditMethodContainer(NrElements(s_arrayEditMethods),s_arrayEditMethods);
-}
-
-#undef _D_
-#undef F
-#undef N
-#undef NF
-
-/*****************************************************************/
-/*****************************************************************/
-
-#define F(fn)          ap_EditMethods::fn
-#define Defun(fn)      UT_Bool F(fn)(AV_View*   pAV_View,   EV_EditMethodCallData *   
pCallData  )
-#define Defun0(fn)     UT_Bool F(fn)(AV_View* /*pAV_View*/, EV_EditMethodCallData * 
/*pCallData*/)
-#define Defun1(fn)     UT_Bool F(fn)(AV_View*   pAV_View,   EV_EditMethodCallData * 
/*pCallData*/)
-#define EX(fn)         F(fn)(pAV_View, pCallData)
-
 
 Defun1(scrollPageDown)
 {
@@ -731,7 +178,7 @@
                pFrame = pNewFrame;
 
        // the IEFileType here doesn't really matter, since the name is NULL
-       UT_Bool bRet = pFrame->loadDocument(NULL, IEFT_Unknown);
+       UT_ErrorCode bRet = pFrame->loadDocument(NULL, IEFT_Unknown);
 
        if (pNewFrame)
                pNewFrame->show();
@@ -1184,7 +631,7 @@
        return (ans);
 }
 
-static UT_Bool _fileOpen(XAP_Frame * pFrame, const char * pNewFile, IEFileType ieft)
+static UT_ErrorCode _fileOpen(XAP_Frame * pFrame, const char * pNewFile, IEFileType 
+ieft)
 {
        UT_DEBUGMSG(("fileOpen: loading [%s]\n",pNewFile));
        XAP_App * pApp = pFrame->getApp();
@@ -1193,7 +640,7 @@
        UT_ASSERT(pPrefs);
 
        XAP_Frame * pNewFrame = NULL;
-       UT_Bool bRes = UT_FALSE;
+       // not needed UT_Bool bRes = UT_FALSE;
        UT_ErrorCode errorCode = UT_IE_ImportError;
 
        // see if requested file is already open in another frame
@@ -1208,8 +655,8 @@
                {
                        // re-load the document in pNewFrame
 
-                       bRes = pNewFrame->loadDocument(pNewFile, ieft);
-                       if (bRes)
+                       errorCode = pNewFrame->loadDocument(pNewFile, ieft);
+                       if (!errorCode)
                        {
                                pNewFrame->show();
                                pPrefs->addRecent(pNewFile);
@@ -1222,10 +669,10 @@
                else
                {
                        // cancel the FileOpen.
-                       bRes = UT_TRUE;         // don't remove from recent list
+                       errorCode = UT_OK;              // don't remove from recent 
+list
                }
                
-               return bRes;
+               return errorCode;
        }
 
        // We generally open documents in a new frame, which keeps the
@@ -1248,8 +695,8 @@
                        return UT_FALSE;
                }
                
-               bRes = pNewFrame->loadDocument(pNewFile, ieft);
-               if (bRes)
+               errorCode = pNewFrame->loadDocument(pNewFile, ieft);
+               if (!errorCode)
                {
                        pNewFrame->show();
                        pPrefs->addRecent(pNewFile);
@@ -1278,13 +725,13 @@
                        // TODO to take an 'UT_Bool bShowWindow' argument....
 
                        // the IEFileType here doesn't really matter since the file 
name is NULL
-                       bRes = pNewFrame->loadDocument(NULL, IEFT_Unknown);
-                       if (bRes)
+                       errorCode = pNewFrame->loadDocument(NULL, IEFT_Unknown);
+                       if (!errorCode)
                                pNewFrame->show();
                        s_CouldNotLoadFileMessage(pNewFrame,pNewFile, errorCode);
                }
                
-               return bRes;
+               return errorCode;
        }
 
        // we are replacing the single-view, unmodified, untitled document.
@@ -1292,8 +739,8 @@
        // and return -- we do not replace this untitled document with a
        // new untitled document.
 
-       bRes = pFrame->loadDocument(pNewFile, ieft);
-       if (bRes)
+       errorCode = pFrame->loadDocument(pNewFile, ieft);
+       if (!errorCode)
        {
                pFrame->show();
                pPrefs->addRecent(pNewFile);
@@ -1303,7 +750,7 @@
                s_CouldNotLoadFileMessage(pFrame,pNewFile, errorCode);
        }
 
-       return bRes;
+       return errorCode;
 }
 
 Defun1(fileOpen)
@@ -1316,8 +763,8 @@
        UT_Bool bOK = s_AskForPathname(pFrame,UT_FALSE,NULL,&pNewFile,&ieft);
 
        if (!bOK || !pNewFile)
-               return UT_FALSE;
-
+         return UT_FALSE;
+       
        // we own storage for pNewFile and must free it.
 
        UT_Bool bRes = _fileOpen(pFrame, pNewFile, ieft);
Only in abi-notdone/src/wp/ap/xp: ap_EditMethods.h
Only in abi-notdone/src/wp/ap/xp: ap_EditMethods.h~
/* AbiWord
 * Copyright (C) 1998 AbiSource, Inc.
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * 
 * This program 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
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  
 * 02111-1307, USA.
 */

#ifndef AP_EDITMETHODS_H
#define AP_EDITMETHODS_H

// some of the following are unneccessary

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "ut_debugmsg.h"
#include "ut_string.h"
#include "ut_bytebuf.h"
#include "ev_EditMethod.h"
#include "xav_View.h"
#include "fv_View.h"
#include "fl_DocLayout.h"
#include "fg_Graphic.h"
#include "pd_Document.h"
#include "gr_Graphics.h"
#include "xap_App.h"
#include "xap_Frame.h"
#include "xap_EditMethods.h"
#include "xap_Menu_Layouts.h"
#include "xap_Prefs.h"
#include "ap_Strings.h"
#include "ap_LoadBindings.h"
#include "ap_FrameData.h"
#include "ap_Prefs.h"

#include "ap_Dialog_Id.h"
#include "ap_Dialog_Replace.h"
#include "ap_Dialog_Goto.h"
#include "ap_Dialog_Break.h"
#include "ap_Dialog_Paragraph.h"
#include "ap_Dialog_Options.h"
#include "ap_Dialog_Spell.h"

#include "xap_DialogFactory.h"
#include "xap_Dlg_About.h"
#include "xap_Dlg_MessageBox.h"
#include "xap_Dlg_FileOpenSaveAs.h"
#include "xap_Dlg_FontChooser.h"
#include "xap_Dlg_Print.h"
#include "xap_Dlg_WindowMore.h"
#include "xap_Dlg_Zoom.h"

#include "ie_imp.h"
#include "ie_impGraphic.h"
#include "ie_exp.h"
#include "ie_types.h"

class ap_EditMethods
{
public:
        static EV_EditMethod_Fn scrollPageDown;
        static EV_EditMethod_Fn scrollPageUp;
        static EV_EditMethod_Fn scrollPageLeft;
        static EV_EditMethod_Fn scrollPageRight;
        static EV_EditMethod_Fn scrollLineDown;
        static EV_EditMethod_Fn scrollLineUp;
        static EV_EditMethod_Fn scrollLineLeft;
        static EV_EditMethod_Fn scrollLineRight;
        static EV_EditMethod_Fn scrollToTop;
        static EV_EditMethod_Fn scrollToBottom;

        static EV_EditMethod_Fn warpInsPtToXY;
        static EV_EditMethod_Fn warpInsPtLeft;
        static EV_EditMethod_Fn warpInsPtRight;
        static EV_EditMethod_Fn warpInsPtBOL;
        static EV_EditMethod_Fn warpInsPtEOL;
        static EV_EditMethod_Fn warpInsPtBOW;
        static EV_EditMethod_Fn warpInsPtEOW;
        static EV_EditMethod_Fn warpInsPtBOS;
        static EV_EditMethod_Fn warpInsPtEOS;
        static EV_EditMethod_Fn warpInsPtBOB;
        static EV_EditMethod_Fn warpInsPtEOB;
        static EV_EditMethod_Fn warpInsPtBOD;
        static EV_EditMethod_Fn warpInsPtEOD;
        static EV_EditMethod_Fn warpInsPtPrevLine;
        static EV_EditMethod_Fn warpInsPtNextLine;

        static EV_EditMethod_Fn cursorDefault;
        static EV_EditMethod_Fn cursorIBeam;
        static EV_EditMethod_Fn cursorRightArrow;
        static EV_EditMethod_Fn cursorImage;
        static EV_EditMethod_Fn cursorImageSize;

        static EV_EditMethod_Fn contextMenu;
        static EV_EditMethod_Fn contextText;
        static EV_EditMethod_Fn contextMisspellText;

        static EV_EditMethod_Fn spellSuggest_1;
        static EV_EditMethod_Fn spellSuggest_2;
        static EV_EditMethod_Fn spellSuggest_3;
        static EV_EditMethod_Fn spellSuggest_4;
        static EV_EditMethod_Fn spellSuggest_5;
        static EV_EditMethod_Fn spellSuggest_6;
        static EV_EditMethod_Fn spellSuggest_7;
        static EV_EditMethod_Fn spellSuggest_8;
        static EV_EditMethod_Fn spellSuggest_9;

        static EV_EditMethod_Fn spellIgnoreAll;
        static EV_EditMethod_Fn spellAdd;

        static EV_EditMethod_Fn dragToXY;
        static EV_EditMethod_Fn dragToXYword;
        static EV_EditMethod_Fn endDrag;
        static EV_EditMethod_Fn extSelToXY;
        static EV_EditMethod_Fn extSelLeft;
        static EV_EditMethod_Fn extSelRight;
        static EV_EditMethod_Fn extSelBOL;
        static EV_EditMethod_Fn extSelEOL;
        static EV_EditMethod_Fn extSelBOW;
        static EV_EditMethod_Fn extSelEOW;
        static EV_EditMethod_Fn extSelBOS;
        static EV_EditMethod_Fn extSelEOS;
        static EV_EditMethod_Fn extSelBOB;
        static EV_EditMethod_Fn extSelEOB;
        static EV_EditMethod_Fn extSelBOD;
        static EV_EditMethod_Fn extSelEOD;
        static EV_EditMethod_Fn extSelPrevLine;
        static EV_EditMethod_Fn extSelNextLine;
        static EV_EditMethod_Fn extSelPageDown;
        static EV_EditMethod_Fn extSelPageUp;
        static EV_EditMethod_Fn selectAll;
        static EV_EditMethod_Fn selectWord;
        static EV_EditMethod_Fn selectLine;
        static EV_EditMethod_Fn selectBlock;

        static EV_EditMethod_Fn delLeft;
        static EV_EditMethod_Fn delRight;
        static EV_EditMethod_Fn delBOL;
        static EV_EditMethod_Fn delEOL;
        static EV_EditMethod_Fn delBOW;
        static EV_EditMethod_Fn delEOW;
        static EV_EditMethod_Fn delBOS;
        static EV_EditMethod_Fn delEOS;
        static EV_EditMethod_Fn delBOB;
        static EV_EditMethod_Fn delEOB;
        static EV_EditMethod_Fn delBOD;
        static EV_EditMethod_Fn delEOD;

        static EV_EditMethod_Fn insertData;
        static EV_EditMethod_Fn insertTab;
        static EV_EditMethod_Fn insertSoftBreak;
        static EV_EditMethod_Fn insertParagraphBreak;
        static EV_EditMethod_Fn insertSectionBreak;
        static EV_EditMethod_Fn insertLineBreak;
        static EV_EditMethod_Fn insertPageBreak;
        static EV_EditMethod_Fn insertColumnBreak;

        static EV_EditMethod_Fn insertSpace;
        static EV_EditMethod_Fn insertNBSpace;

        static EV_EditMethod_Fn insertGraveData; // for certain european keys
        static EV_EditMethod_Fn insertAcuteData;
        static EV_EditMethod_Fn insertCircumflexData;
        static EV_EditMethod_Fn insertTildeData;
        static EV_EditMethod_Fn insertMacronData;
        static EV_EditMethod_Fn insertBreveData;
        static EV_EditMethod_Fn insertAbovedotData;
        static EV_EditMethod_Fn insertDiaeresisData;
        static EV_EditMethod_Fn insertDoubleacuteData;
        static EV_EditMethod_Fn insertCaronData;
        static EV_EditMethod_Fn insertCedillaData;
        static EV_EditMethod_Fn insertOgonekData;

        // TODO add functions for all of the standard menu commands.
        // TODO here are a few that i started.

        static EV_EditMethod_Fn fileNew;
        static EV_EditMethod_Fn fileOpen;
        static EV_EditMethod_Fn fileSave;
        static EV_EditMethod_Fn fileSaveAs;
        static EV_EditMethod_Fn pageSetup;
        static EV_EditMethod_Fn print;
        static EV_EditMethod_Fn printTB;
        static EV_EditMethod_Fn fileInsertGraphic;

        static EV_EditMethod_Fn undo;
        static EV_EditMethod_Fn redo;
        static EV_EditMethod_Fn cut;
        static EV_EditMethod_Fn copy;
        static EV_EditMethod_Fn paste;
        static EV_EditMethod_Fn pasteSelection;
        static EV_EditMethod_Fn find;
        static EV_EditMethod_Fn findAgain;
        static EV_EditMethod_Fn go;
        static EV_EditMethod_Fn replace;
        static EV_EditMethod_Fn dlgOptions;

        static EV_EditMethod_Fn viewStd;
        static EV_EditMethod_Fn viewFormat;
        static EV_EditMethod_Fn viewRuler;
        static EV_EditMethod_Fn viewStatus;
        static EV_EditMethod_Fn viewPara;
        static EV_EditMethod_Fn viewHeadFoot;
        static EV_EditMethod_Fn zoom;
        static EV_EditMethod_Fn dlgZoom;

        static EV_EditMethod_Fn insBreak;
        static EV_EditMethod_Fn insPageNo;
        static EV_EditMethod_Fn insDateTime;
        static EV_EditMethod_Fn insField;
        static EV_EditMethod_Fn insSymbol;

        static EV_EditMethod_Fn dlgSpell;
   
        static EV_EditMethod_Fn dlgFont;
        static EV_EditMethod_Fn dlgParagraph;
        static EV_EditMethod_Fn dlgBullets;
        static EV_EditMethod_Fn dlgBorders;
        static EV_EditMethod_Fn dlgColumns;
        static EV_EditMethod_Fn style;
        static EV_EditMethod_Fn dlgStyle;
        static EV_EditMethod_Fn dlgTabs;
        static EV_EditMethod_Fn fontFamily;
        static EV_EditMethod_Fn fontSize;
        static EV_EditMethod_Fn toggleBold;
        static EV_EditMethod_Fn toggleItalic;
        static EV_EditMethod_Fn toggleUline;
        static EV_EditMethod_Fn toggleOline;
        static EV_EditMethod_Fn toggleStrike;
        static EV_EditMethod_Fn toggleSuper;
        static EV_EditMethod_Fn toggleSub;
        static EV_EditMethod_Fn togglePlain;

        static EV_EditMethod_Fn alignLeft;
        static EV_EditMethod_Fn alignCenter;
        static EV_EditMethod_Fn alignRight;
        static EV_EditMethod_Fn alignJustify;

        static EV_EditMethod_Fn paraBefore0;
        static EV_EditMethod_Fn paraBefore12;

        static EV_EditMethod_Fn sectColumns1;
        static EV_EditMethod_Fn sectColumns2;
        static EV_EditMethod_Fn sectColumns3;

        static EV_EditMethod_Fn singleSpace;
        static EV_EditMethod_Fn middleSpace;
        static EV_EditMethod_Fn doubleSpace;

        static EV_EditMethod_Fn openRecent_1;
        static EV_EditMethod_Fn openRecent_2;
        static EV_EditMethod_Fn openRecent_3;
        static EV_EditMethod_Fn openRecent_4;
        static EV_EditMethod_Fn openRecent_5;
        static EV_EditMethod_Fn openRecent_6;
        static EV_EditMethod_Fn openRecent_7;
        static EV_EditMethod_Fn openRecent_8;
        static EV_EditMethod_Fn openRecent_9;

        static EV_EditMethod_Fn activateWindow_1;
        static EV_EditMethod_Fn activateWindow_2;
        static EV_EditMethod_Fn activateWindow_3;
        static EV_EditMethod_Fn activateWindow_4;
        static EV_EditMethod_Fn activateWindow_5;
        static EV_EditMethod_Fn activateWindow_6;
        static EV_EditMethod_Fn activateWindow_7;
        static EV_EditMethod_Fn activateWindow_8;
        static EV_EditMethod_Fn activateWindow_9;
        static EV_EditMethod_Fn dlgMoreWindows;

        static EV_EditMethod_Fn dlgAbout;

        static EV_EditMethod_Fn newWindow;
        static EV_EditMethod_Fn cycleWindows;
        static EV_EditMethod_Fn cycleWindowsBck;
        static EV_EditMethod_Fn closeWindow;
        static EV_EditMethod_Fn querySaveAndExit;

        static EV_EditMethod_Fn setEditVI;
        static EV_EditMethod_Fn setInputVI;
        static EV_EditMethod_Fn cycleInputMode;

        static EV_EditMethod_Fn viCmd_A;
        static EV_EditMethod_Fn viCmd_I;
        static EV_EditMethod_Fn viCmd_J;
        static EV_EditMethod_Fn viCmd_O;
        static EV_EditMethod_Fn viCmd_P;
        static EV_EditMethod_Fn viCmd_a;
        static EV_EditMethod_Fn viCmd_o;
        static EV_EditMethod_Fn viCmd_c24;
        static EV_EditMethod_Fn viCmd_c28;
        static EV_EditMethod_Fn viCmd_c29;
        static EV_EditMethod_Fn viCmd_c5b;
        static EV_EditMethod_Fn viCmd_c5d;
        static EV_EditMethod_Fn viCmd_c5e;
        static EV_EditMethod_Fn viCmd_cb;
        static EV_EditMethod_Fn viCmd_cw;
        static EV_EditMethod_Fn viCmd_d24;
        static EV_EditMethod_Fn viCmd_d28;
        static EV_EditMethod_Fn viCmd_d29;
        static EV_EditMethod_Fn viCmd_d5b;
        static EV_EditMethod_Fn viCmd_d5d;
        static EV_EditMethod_Fn viCmd_d5e;
        static EV_EditMethod_Fn viCmd_db;
        static EV_EditMethod_Fn viCmd_dd;
        static EV_EditMethod_Fn viCmd_dw;
        static EV_EditMethod_Fn viCmd_y24;
        static EV_EditMethod_Fn viCmd_y28;
        static EV_EditMethod_Fn viCmd_y29;
        static EV_EditMethod_Fn viCmd_y5b;
        static EV_EditMethod_Fn viCmd_y5d;
        static EV_EditMethod_Fn viCmd_y5e;
        static EV_EditMethod_Fn viCmd_yb;
        static EV_EditMethod_Fn viCmd_yw;
        static EV_EditMethod_Fn viCmd_yy;

        static EV_EditMethod_Fn noop;

        // Test routines

#if defined(PT_TEST) || defined(FMT_TEST) || defined(UT_TEST)
        static EV_EditMethod_Fn Test_Dump;
#endif
};

/*****************************************************************/
/*****************************************************************/

#define _D_                             EV_EMT_REQUIREDATA

#define F(fn)                   ap_EditMethods::fn
#define N(fn)                   #fn
#define NF(fn)                  N(fn), F(fn)

static EV_EditMethod s_arrayEditMethods[] =
{
        EV_EditMethod(NF(scrollPageDown),               0,      ""),
        EV_EditMethod(NF(scrollPageUp),                 0,      ""),
        EV_EditMethod(NF(scrollPageLeft),               0,      ""),
        EV_EditMethod(NF(scrollPageRight),              0,      ""),
        EV_EditMethod(NF(scrollLineDown),               0,      ""),
        EV_EditMethod(NF(scrollLineUp),                 0,      ""),
        EV_EditMethod(NF(scrollLineLeft),               0,      ""),
        EV_EditMethod(NF(scrollLineRight),              0,      ""),
        EV_EditMethod(NF(scrollToTop),                  0,      ""),
        EV_EditMethod(NF(scrollToBottom),               0,      ""),

        EV_EditMethod(NF(warpInsPtToXY),                0,      ""),
        EV_EditMethod(NF(warpInsPtLeft),                0,      ""),
        EV_EditMethod(NF(warpInsPtRight),               0,      ""),
        EV_EditMethod(NF(warpInsPtBOL),                 0,      ""),
        EV_EditMethod(NF(warpInsPtEOL),                 0,      ""),
        EV_EditMethod(NF(warpInsPtBOW),                 0,      ""),
        EV_EditMethod(NF(warpInsPtEOW),                 0,      ""),
        EV_EditMethod(NF(warpInsPtBOS),                 0,      ""),
        EV_EditMethod(NF(warpInsPtEOS),                 0,      ""),
        EV_EditMethod(NF(warpInsPtBOB),                 0,      ""),
        EV_EditMethod(NF(warpInsPtEOB),                 0,      ""),
        EV_EditMethod(NF(warpInsPtBOD),                 0,      ""),
        EV_EditMethod(NF(warpInsPtEOD),                 0,      ""),
        EV_EditMethod(NF(warpInsPtPrevLine),    0,      ""),
        EV_EditMethod(NF(warpInsPtNextLine),    0,      ""),

        EV_EditMethod(NF(cursorDefault),                0,      ""),
        EV_EditMethod(NF(cursorIBeam),                  0,      ""),
        EV_EditMethod(NF(cursorRightArrow),             0,      ""),
        EV_EditMethod(NF(cursorImage),                  0,      ""),
        EV_EditMethod(NF(cursorImageSize),              0,      ""),

        EV_EditMethod(NF(contextMenu),                  0,      ""),
        EV_EditMethod(NF(contextText),                  0,      ""),
        EV_EditMethod(NF(contextMisspellText),  0,      ""),

        EV_EditMethod(NF(spellSuggest_1),               0,      ""),
        EV_EditMethod(NF(spellSuggest_2),               0,      ""),
        EV_EditMethod(NF(spellSuggest_3),               0,      ""),
        EV_EditMethod(NF(spellSuggest_4),               0,      ""),
        EV_EditMethod(NF(spellSuggest_5),               0,      ""),
        EV_EditMethod(NF(spellSuggest_6),               0,      ""),
        EV_EditMethod(NF(spellSuggest_7),               0,      ""),
        EV_EditMethod(NF(spellSuggest_8),               0,      ""),
        EV_EditMethod(NF(spellSuggest_9),               0,      ""),

        EV_EditMethod(NF(spellIgnoreAll),               0,      ""),
        EV_EditMethod(NF(spellAdd),                             0,      ""),

        EV_EditMethod(NF(dragToXY),                             0,      ""),
        EV_EditMethod(NF(dragToXYword),                 0,      ""),
        EV_EditMethod(NF(endDrag),                              0,      ""),
        EV_EditMethod(NF(extSelToXY),                   0,      ""),
        EV_EditMethod(NF(extSelLeft),                   0,      ""),
        EV_EditMethod(NF(extSelRight),                  0,      ""),
        EV_EditMethod(NF(extSelBOL),                    0,      ""),
        EV_EditMethod(NF(extSelEOL),                    0,      ""),
        EV_EditMethod(NF(extSelBOW),                    0,      ""),
        EV_EditMethod(NF(extSelEOW),                    0,      ""),
        EV_EditMethod(NF(extSelBOS),                    0,      ""),
        EV_EditMethod(NF(extSelEOS),                    0,      ""),
        EV_EditMethod(NF(extSelBOB),                    0,      ""),
        EV_EditMethod(NF(extSelEOB),                    0,      ""),
        EV_EditMethod(NF(extSelBOD),                    0,      ""),
        EV_EditMethod(NF(extSelEOD),                    0,      ""),
        EV_EditMethod(NF(extSelPrevLine),               0,      ""),
        EV_EditMethod(NF(extSelNextLine),               0,      ""),
        EV_EditMethod(NF(extSelPageDown),               0,      ""),
        EV_EditMethod(NF(extSelPageUp),                 0,      ""),
        EV_EditMethod(NF(selectAll),                    0,      ""),
        EV_EditMethod(NF(selectWord),                   0,      ""),
        EV_EditMethod(NF(selectLine),                   0,      ""),
        EV_EditMethod(NF(selectBlock),                  0,      ""),

        EV_EditMethod(NF(delLeft),                              0,      ""),
        EV_EditMethod(NF(delRight),                             0,      ""),
        EV_EditMethod(NF(delBOL),                               0,      ""),
        EV_EditMethod(NF(delEOL),                               0,      ""),
        EV_EditMethod(NF(delBOW),                               0,      ""),
        EV_EditMethod(NF(delEOW),                               0,      ""),
        EV_EditMethod(NF(delBOS),                               0,      ""),
        EV_EditMethod(NF(delEOS),                               0,      ""),
        EV_EditMethod(NF(delBOB),                               0,      ""),
        EV_EditMethod(NF(delEOB),                               0,      ""),
        EV_EditMethod(NF(delBOD),                               0,      ""),
        EV_EditMethod(NF(delEOD),                               0,      ""),

        EV_EditMethod(NF(insertData),                   _D_,    ""),
        EV_EditMethod(NF(insertTab),                    0,      ""),
        EV_EditMethod(NF(insertSoftBreak),              0,      ""),
        EV_EditMethod(NF(insertParagraphBreak), 0,      ""),
        EV_EditMethod(NF(insertSectionBreak),   0,      ""),
        EV_EditMethod(NF(insertLineBreak),              0,      ""),
        EV_EditMethod(NF(insertPageBreak),              0,      ""),
        EV_EditMethod(NF(insertColumnBreak),    0,      ""),

        EV_EditMethod(NF(insertSpace),                  0,      ""),
        EV_EditMethod(NF(insertNBSpace),                0,      ""),

        EV_EditMethod(NF(insertGraveData),              _D_,    ""),
        EV_EditMethod(NF(insertAcuteData),              _D_,    ""),
        EV_EditMethod(NF(insertCircumflexData), _D_,    ""),
        EV_EditMethod(NF(insertTildeData),              _D_,    ""),
        EV_EditMethod(NF(insertMacronData),             _D_,    ""),
        EV_EditMethod(NF(insertBreveData),              _D_,    ""),
        EV_EditMethod(NF(insertAbovedotData),   _D_,    ""),
        EV_EditMethod(NF(insertDiaeresisData),  _D_,    ""),
        EV_EditMethod(NF(insertDoubleacuteData),_D_,    ""),
        EV_EditMethod(NF(insertCaronData),              _D_,    ""),
        EV_EditMethod(NF(insertCedillaData),    _D_,    ""),
        EV_EditMethod(NF(insertOgonekData),             _D_,    ""),

        EV_EditMethod(NF(fileNew),                              0,      ""),
        EV_EditMethod(NF(fileOpen),                             0,      ""),
        EV_EditMethod(NF(fileSave),                             0,      ""),
        EV_EditMethod(NF(fileSaveAs),                   0,      ""),
        EV_EditMethod(NF(pageSetup),                    0,      ""),
        EV_EditMethod(NF(print),                                0,      ""),
        EV_EditMethod(NF(printTB),                              0,      ""), // avoid 
query if possible
        EV_EditMethod(NF(fileInsertGraphic),    0,      ""),

        EV_EditMethod(NF(undo),                                 0,      ""),
        EV_EditMethod(NF(redo),                                 0,      ""),
        EV_EditMethod(NF(cut),                                  0,      ""),
        EV_EditMethod(NF(copy),                                 0,      ""),
        EV_EditMethod(NF(paste),                                0,      ""),    // 
intended for ^V and Menu[Edit/Paste]
        EV_EditMethod(NF(pasteSelection),               0,      ""),    // intended 
for X11 middle mouse
        EV_EditMethod(NF(find),                                 0,      ""),
        EV_EditMethod(NF(findAgain),                    0,      ""),    
        EV_EditMethod(NF(go),                                   0,      ""),
        EV_EditMethod(NF(replace),                              0,      ""),
        EV_EditMethod(NF(dlgOptions),                   0,      ""),

        EV_EditMethod(NF(viewStd),                              0,              ""),
        EV_EditMethod(NF(viewFormat),                   0,              ""),
        EV_EditMethod(NF(viewRuler),                    0,              ""),
        EV_EditMethod(NF(viewStatus),                   0,              ""),
        EV_EditMethod(NF(viewPara),                             0,              ""),
        EV_EditMethod(NF(viewHeadFoot),                 0,              ""),
        EV_EditMethod(NF(zoom),                                 0,              ""),
        EV_EditMethod(NF(dlgZoom),                              0,              ""),

        EV_EditMethod(NF(insBreak),                             0,              ""),
        EV_EditMethod(NF(insPageNo),                    0,              ""),
        EV_EditMethod(NF(insDateTime),                  0,              ""),
        EV_EditMethod(NF(insField),                             0,              ""),
        EV_EditMethod(NF(insSymbol),                    0,              ""),

        EV_EditMethod(NF(dlgSpell),                     0,              ""),
   
        EV_EditMethod(NF(dlgFont),                              0,              ""),
        EV_EditMethod(NF(dlgParagraph),                 0,              ""),
        EV_EditMethod(NF(dlgBullets),                   0,              ""),
        EV_EditMethod(NF(dlgBorders),                   0,              ""),
        EV_EditMethod(NF(dlgColumns),                   0,              ""),
        EV_EditMethod(NF(style),                                _D_,    ""),
        EV_EditMethod(NF(dlgStyle),                             0,              ""),
        EV_EditMethod(NF(dlgTabs),                              0,              ""),
        EV_EditMethod(NF(fontFamily),                   _D_,    ""),
        EV_EditMethod(NF(fontSize),                             _D_,    ""),
        EV_EditMethod(NF(toggleBold),                   0,              ""),
        EV_EditMethod(NF(toggleItalic),                 0,              ""),
        EV_EditMethod(NF(toggleUline),                  0,              ""),
        EV_EditMethod(NF(toggleOline),                  0,              ""),
        EV_EditMethod(NF(toggleStrike),                 0,              ""),
        EV_EditMethod(NF(toggleSuper),                  0,              ""),
        EV_EditMethod(NF(toggleSub),                    0,              ""),
        EV_EditMethod(NF(togglePlain),                  0,              ""),

        EV_EditMethod(NF(alignLeft),                    0,              ""),
        EV_EditMethod(NF(alignCenter),                  0,              ""),
        EV_EditMethod(NF(alignRight),                   0,              ""),
        EV_EditMethod(NF(alignJustify),                 0,              ""),

        EV_EditMethod(NF(paraBefore0),                  0,              ""),
        EV_EditMethod(NF(paraBefore12),                 0,              ""),

        EV_EditMethod(NF(sectColumns1),                 0,              ""),
        EV_EditMethod(NF(sectColumns2),                 0,              ""),
        EV_EditMethod(NF(sectColumns3),                 0,              ""),
        
        EV_EditMethod(NF(singleSpace),                  0,              ""),
        EV_EditMethod(NF(middleSpace),                  0,              ""),
        EV_EditMethod(NF(doubleSpace),                  0,              ""),

        EV_EditMethod(NF(openRecent_1),                 0,              ""),
        EV_EditMethod(NF(openRecent_2),                 0,              ""),
        EV_EditMethod(NF(openRecent_3),                 0,              ""),
        EV_EditMethod(NF(openRecent_4),                 0,              ""),
        EV_EditMethod(NF(openRecent_5),                 0,              ""),
        EV_EditMethod(NF(openRecent_6),                 0,              ""),
        EV_EditMethod(NF(openRecent_7),                 0,              ""),
        EV_EditMethod(NF(openRecent_8),                 0,              ""),
        EV_EditMethod(NF(openRecent_9),                 0,              ""),

        EV_EditMethod(NF(activateWindow_1),             0,              ""),
        EV_EditMethod(NF(activateWindow_2),             0,              ""),
        EV_EditMethod(NF(activateWindow_3),             0,              ""),
        EV_EditMethod(NF(activateWindow_4),             0,              ""),
        EV_EditMethod(NF(activateWindow_5),             0,              ""),
        EV_EditMethod(NF(activateWindow_6),             0,              ""),
        EV_EditMethod(NF(activateWindow_7),             0,              ""),
        EV_EditMethod(NF(activateWindow_8),             0,              ""),
        EV_EditMethod(NF(activateWindow_9),             0,              ""),
        EV_EditMethod(NF(dlgMoreWindows),               0,              ""),
        
        EV_EditMethod(NF(dlgAbout),                             0,              ""),

        EV_EditMethod(NF(newWindow),                    0,      ""),
        EV_EditMethod(NF(cycleWindows),                 0,      ""),
        EV_EditMethod(NF(cycleWindowsBck),              0,      ""),
        EV_EditMethod(NF(closeWindow),                  0,      ""),
        EV_EditMethod(NF(querySaveAndExit),             0,      ""),

        EV_EditMethod(NF(setEditVI),                    0,      ""),
        EV_EditMethod(NF(setInputVI),                   0,      ""),
        EV_EditMethod(NF(cycleInputMode),               0,      ""),

        EV_EditMethod(NF(viCmd_A),              0,      ""),
        EV_EditMethod(NF(viCmd_I),              0,      ""),
        EV_EditMethod(NF(viCmd_J),              0,      ""),
        EV_EditMethod(NF(viCmd_O),              0,      ""),
        EV_EditMethod(NF(viCmd_P),              0,      ""),
        EV_EditMethod(NF(viCmd_a),              0,      ""),
        EV_EditMethod(NF(viCmd_o),              0,      ""),
        EV_EditMethod(NF(viCmd_c24),    0,      ""),
        EV_EditMethod(NF(viCmd_c28),    0,      ""),
        EV_EditMethod(NF(viCmd_c29),    0,      ""),
        EV_EditMethod(NF(viCmd_c5b),    0,      ""),
        EV_EditMethod(NF(viCmd_c5d),    0,      ""),
        EV_EditMethod(NF(viCmd_c5e),    0,      ""),
        EV_EditMethod(NF(viCmd_cb),             0,      ""),
        EV_EditMethod(NF(viCmd_cw),             0,      ""),
        EV_EditMethod(NF(viCmd_d24),            0,      ""),
        EV_EditMethod(NF(viCmd_d28),            0,      ""),
        EV_EditMethod(NF(viCmd_d29),            0,      ""),
        EV_EditMethod(NF(viCmd_d5b),            0,      ""),
        EV_EditMethod(NF(viCmd_d5d),            0,      ""),
        EV_EditMethod(NF(viCmd_d5e),            0,      ""),
        EV_EditMethod(NF(viCmd_db),             0,      ""),
        EV_EditMethod(NF(viCmd_dd),             0,      ""),
        EV_EditMethod(NF(viCmd_dw),             0,      ""),
        EV_EditMethod(NF(viCmd_y24),    0,      ""),
        EV_EditMethod(NF(viCmd_y28),    0,      ""),
        EV_EditMethod(NF(viCmd_y29),    0,      ""),
        EV_EditMethod(NF(viCmd_y5b),    0,      ""),
        EV_EditMethod(NF(viCmd_y5d),    0,      ""),
        EV_EditMethod(NF(viCmd_y5e),    0,      ""),
        EV_EditMethod(NF(viCmd_yb),             0,      ""),
        EV_EditMethod(NF(viCmd_yw),             0,      ""),
        EV_EditMethod(NF(viCmd_yy),             0,      ""),

        EV_EditMethod(NF(noop),                                 0,      ""),

#if defined(PT_TEST) || defined(FMT_TEST) || defined(UT_TEST)
        EV_EditMethod(NF(Test_Dump),                    0,      "")
#endif
};



EV_EditMethodContainer * AP_GetEditMethods(void);

#undef _D_
#undef F
#undef N
#undef NF

/*****************************************************************/
/*****************************************************************/

#define F(fn)           ap_EditMethods::fn
#define Defun(fn)       UT_Bool F(fn)(AV_View*   pAV_View,   EV_EditMethodCallData *   
pCallData  )
#define Defun0(fn)      UT_Bool F(fn)(AV_View* /*pAV_View*/, EV_EditMethodCallData * 
/*pCallData*/)
#define Defun1(fn)      UT_Bool F(fn)(AV_View*   pAV_View,   EV_EditMethodCallData * 
/*pCallData*/)
#define EX(fn)          F(fn)(pAV_View, pCallData)

UT_ErrorCode toErrorCode(IEStatus IES);

#endif /* AP_EDITMETHODS_H */

Reply via email to