git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@578 0109f412-320b-0410-ab79-c3e0c5ffbbe6
869 lines
17 KiB
C++
869 lines
17 KiB
C++
//-------------------------------------------------------------------------
|
|
// Desc: GEDCOM editor - definitions.
|
|
// Tabs: 3
|
|
//
|
|
// Copyright (c) 1998-2006 Novell, Inc. All Rights Reserved.
|
|
//
|
|
// This program is free software; you can redistribute it and/or
|
|
// modify it under the terms of version 2 of the GNU General Public
|
|
// License as published by the Free Software Foundation.
|
|
//
|
|
// 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, contact Novell, Inc.
|
|
//
|
|
// To contact Novell about this file by physical or electronic mail,
|
|
// you may find current contact information at www.novell.com
|
|
//
|
|
// $Id: flm_edit.h 12334 2006-01-23 12:45:35 -0700 (Mon, 23 Jan 2006) dsanders $
|
|
//-------------------------------------------------------------------------
|
|
|
|
#ifndef FLM_EDIT_H
|
|
#define FLM_EDIT_H
|
|
|
|
#include "flaim.h"
|
|
|
|
class F_RecEditor;
|
|
|
|
#define F_RECEDIT_BUF_SIZE 0x0000FFFF
|
|
#define F_RECEDIT_MAX_TITLE_SIZE 64
|
|
|
|
#define F_RECEDIT_SYSTEM_FIELD 0x0000
|
|
#define F_RECEDIT_CONTROL_INFO_FIELD 0x0001
|
|
#define F_RECEDIT_FLAGS_FIELD 0x0002
|
|
#define F_RECEDIT_VAL_VIEW_FIELD 0x0003
|
|
#define F_RECEDIT_VISIBLE_FIELD 0x0004
|
|
#define F_RECEDIT_CONVTYPE_FIELD 0x0005
|
|
#define F_RECEDIT_REFNODE_FIELD 0x0006
|
|
#define F_RECEDIT_VIEWTYPE_FIELD 0x0007
|
|
#define F_RECEDIT_COMMENT_FIELD 0x0008
|
|
#define F_RECEDIT_LINK_DEST_FIELD 0x0009
|
|
#define F_RECEDIT_VALANNO_FIELD 0x000A
|
|
#define F_RECEDIT_APPDEF_FIELD 0x000B // Application-specific field
|
|
#define F_RECEDIT_INVISIBLE_CNT_FIELD 0x000C
|
|
|
|
/*
|
|
System flags
|
|
*/
|
|
|
|
#define F_RECEDIT_FLAG_FLDMOD 0x00000001
|
|
#define F_RECEDIT_FLAG_RECMOD 0x00000002
|
|
#define F_RECEDIT_FLAG_LIST_ITEM 0x00000004
|
|
#define F_RECEDIT_FLAG_HIDE_TAG 0x00000008
|
|
#define F_RECEDIT_FLAG_HIDE_LEVEL 0x00000010
|
|
#define F_RECEDIT_FLAG_HIDE_SOURCE 0x00000020
|
|
#define F_RECEDIT_FLAG_READ_ONLY 0x00000040
|
|
#define F_RECEDIT_FLAG_SELECTED 0x00000080
|
|
#define F_RECEDIT_FLAG_NEWFLD 0x00000100
|
|
#define F_RECEDIT_FLAG_NO_DELETE 0x00000200
|
|
#define F_RECEDIT_FLAG_COLLAPSED 0x00000400
|
|
|
|
/*
|
|
Index selection flags
|
|
*/
|
|
|
|
#define F_RECEDIT_ISEL_NOIX 0x0001 // Show "no index" as an option
|
|
|
|
/*
|
|
Configuration options
|
|
*/
|
|
|
|
#define F_RECEDIT_CONFIG_STATS_START 0x0001
|
|
#define F_RECEDIT_CONFIG_STATS_STOP 0x0002
|
|
#define F_RECEDIT_CONFIG_STATS_RESET 0x0003
|
|
|
|
enum eEventType
|
|
{
|
|
F_RECEDIT_EVENT_RECREAD,
|
|
F_RECEDIT_EVENT_RECINSERT,
|
|
F_RECEDIT_EVENT_GETDISPVAL,
|
|
F_RECEDIT_EVENT_GETNEXTNODE,
|
|
F_RECEDIT_EVENT_GETPREVNODE,
|
|
F_RECEDIT_EVENT_IEDIT, // Interactive editor invoked
|
|
F_RECEDIT_EVENT_REFRESH, // Called prior to refresh
|
|
F_RECEDIT_EVENT_NAME_TABLE
|
|
};
|
|
|
|
typedef struct
|
|
{
|
|
FLMUINT uiContainer;
|
|
FLMUINT uiDrn;
|
|
NODE * pRec;
|
|
} DBE_REC_INFO;
|
|
|
|
typedef struct
|
|
{
|
|
NODE * pNd;
|
|
char * pucBuf;
|
|
FLMUINT uiBufLen;
|
|
FLMUINT uiConvType;
|
|
FLMBOOL bIsSystemNd;
|
|
} DBE_VAL_INFO;
|
|
|
|
typedef struct
|
|
{
|
|
/*
|
|
Input
|
|
*/
|
|
|
|
NODE * pCurNd;
|
|
|
|
/*
|
|
Output
|
|
*/
|
|
|
|
NODE * pNd;
|
|
FLMBOOL bUseNd;
|
|
} DBE_NODE_INFO;
|
|
|
|
typedef struct
|
|
{
|
|
F_NameTable * pNameTable;
|
|
FLMBOOL bInitialized;
|
|
} DBE_NAME_TABLE_INFO;
|
|
|
|
typedef struct
|
|
{
|
|
char pucString[ 128];
|
|
FLMUINT uiCol;
|
|
eColorType foreground;
|
|
eColorType background;
|
|
} DBE_DISP_COLUMN;
|
|
|
|
/*
|
|
Callbacks
|
|
*/
|
|
|
|
typedef RCODE (* F_RECEDIT_DISP_HOOK)(
|
|
F_RecEditor * pRecEditor,
|
|
NODE * pNd,
|
|
void * UserData,
|
|
DBE_DISP_COLUMN * pDispVals,
|
|
FLMUINT * puiNumVals);
|
|
|
|
typedef RCODE (* F_RECEDIT_LINK_HOOK)(
|
|
F_RecEditor * pRecEditor,
|
|
NODE * pLinkNd,
|
|
void * UserData,
|
|
FLMUINT uiLinkKey);
|
|
|
|
typedef RCODE (* F_RECEDIT_KEY_HOOK)(
|
|
F_RecEditor * pRecEditor,
|
|
NODE * pCurNd,
|
|
FLMUINT uiKeyIn,
|
|
void * UserData,
|
|
FLMUINT * puiKeyOut);
|
|
|
|
typedef RCODE (* F_RECEDIT_HELP_HOOK)(
|
|
F_RecEditor * pRecEditor,
|
|
F_RecEditor * pHelpEditor,
|
|
F_Pool * pPool,
|
|
void * UserData,
|
|
NODE ** ppRootNd);
|
|
|
|
typedef RCODE (* F_RECEDIT_EVENT_HOOK)(
|
|
F_RecEditor * pRecEditor,
|
|
eEventType eEventType,
|
|
void * EventData,
|
|
void * UserData);
|
|
|
|
/*
|
|
Class definitions
|
|
*/
|
|
|
|
class F_RecEditor : public F_Object
|
|
{
|
|
private:
|
|
|
|
IF_FileSystem * m_pFileSystem;
|
|
char * m_pucTmpBuf;
|
|
F_NameTable * m_pNameTable;
|
|
NODE * m_pTree;
|
|
NODE * m_pCurNd;
|
|
NODE * m_pScrFirstNd;
|
|
F_Pool m_scratchPool;
|
|
F_Pool m_treePool;
|
|
HFDB m_hDefaultDb;
|
|
FLMUINT m_uiDefaultCont;
|
|
FLMUINT m_uiDefaultStore;
|
|
FLMUINT m_uiLastKey;
|
|
char m_pucTitle[ F_RECEDIT_MAX_TITLE_SIZE + 1];
|
|
FLMUINT m_uiCurRow;
|
|
FLMUINT m_uiEditCanvasRows;
|
|
char m_pucAdHocQuery[ 1024];
|
|
FLMUINT m_uiULX;
|
|
FLMUINT m_uiULY;
|
|
FLMUINT m_uiLRX;
|
|
FLMUINT m_uiLRY;
|
|
FLMBOOL m_bReadOnly;
|
|
FLMBOOL m_bSetupCalled;
|
|
FLMBOOL * m_pbShutdown;
|
|
FLMBOOL m_bOwnNameTable;
|
|
FLMBOOL m_bMonochrome;
|
|
FTX_SCREEN * m_pScreen;
|
|
FTX_WINDOW * m_pEditWindow;
|
|
FTX_WINDOW * m_pEditStatusWin;
|
|
F_RecEditor * m_pParent;
|
|
F_RecEditor * m_pNameList;
|
|
F_RECEDIT_DISP_HOOK m_pDisplayHook;
|
|
void * m_DisplayData;
|
|
F_RECEDIT_LINK_HOOK m_pLinkHook;
|
|
void * m_LinkData;
|
|
F_RECEDIT_KEY_HOOK m_pKeyHook;
|
|
void * m_KeyData;
|
|
F_RECEDIT_HELP_HOOK m_pHelpHook;
|
|
void * m_HelpData;
|
|
F_RECEDIT_EVENT_HOOK m_pEventHook;
|
|
void * m_EventData;
|
|
|
|
/*
|
|
Methods
|
|
*/
|
|
|
|
RCODE refreshEditWindow(
|
|
NODE ** ppFirstNd,
|
|
NODE * pCursorNd,
|
|
FLMUINT * puiCurRow);
|
|
|
|
RCODE refreshRow(
|
|
FLMUINT uiRow,
|
|
NODE * pNd,
|
|
FLMBOOL bSelected);
|
|
|
|
RCODE clearSelections( void);
|
|
|
|
RCODE editNode(
|
|
FLMUINT uiNdRow,
|
|
NODE * pNd);
|
|
|
|
RCODE editTextNode(
|
|
FTX_WINDOW * pWindow,
|
|
NODE * pNd,
|
|
FLMBOOL * pbModified);
|
|
|
|
RCODE editNumberNode(
|
|
FTX_WINDOW * pWindow,
|
|
NODE * pNd,
|
|
FLMBOOL * pbModified);
|
|
|
|
RCODE editContextNode(
|
|
FTX_WINDOW * pWindow,
|
|
NODE * pNd,
|
|
FLMBOOL * pbModified);
|
|
|
|
RCODE editBinaryNode(
|
|
FTX_WINDOW * pWindow,
|
|
NODE * pNd,
|
|
FLMBOOL * pbModified);
|
|
|
|
RCODE createSystemNode(
|
|
NODE * pCurNd,
|
|
FLMUINT uiTagNum,
|
|
NODE ** ppSystemNd);
|
|
|
|
RCODE getControlNode(
|
|
NODE * pCurNd,
|
|
FLMBOOL bCreate,
|
|
NODE ** ppControlNd);
|
|
|
|
RCODE addAltView(
|
|
NODE * pCurNd,
|
|
FLMUINT uiViewType);
|
|
|
|
FLMBOOL canEditRecord(
|
|
NODE * pCurNd);
|
|
|
|
FLMBOOL canEditNode(
|
|
NODE * pCurNd);
|
|
|
|
FLMBOOL canDeleteRecord(
|
|
NODE * pCurNd);
|
|
|
|
FLMBOOL canDeleteNode(
|
|
NODE * pCurNd);
|
|
|
|
RCODE addRecordToDb(
|
|
NODE * pCurNd,
|
|
FLMUINT uiContainer,
|
|
FLMBOOL bAddInBackground,
|
|
FLMBOOL bStartThread,
|
|
FLMUINT * pudDrn);
|
|
|
|
RCODE deleteRecordFromDb(
|
|
NODE * pCurNd);
|
|
|
|
RCODE deleteRecordFromDb(
|
|
HFDB hSourceDb,
|
|
FLMUINT uiSourceCont,
|
|
FLMUINT uiSourceDrn);
|
|
|
|
RCODE modifyRecordInDb(
|
|
NODE * pCurNd,
|
|
FLMBOOL bAddInBackground,
|
|
FLMBOOL bStartThread);
|
|
|
|
FLMBOOL isExiting( void);
|
|
|
|
RCODE createNewField(
|
|
FLMBOOL bAllocSource,
|
|
NODE ** ppNewField);
|
|
|
|
RCODE refreshNameTable( void);
|
|
|
|
RCODE followLink(
|
|
NODE * pLinkNd,
|
|
FLMUINT uiLinkKey);
|
|
|
|
RCODE _insertRecord(
|
|
NODE * pRecord,
|
|
NODE * pStartNd = NULL);
|
|
|
|
RCODE selectContainer(
|
|
FLMUINT * puiContainer,
|
|
FLMUINT * puiTermChar);
|
|
|
|
RCODE selectIndex(
|
|
FLMUINT uiContainer,
|
|
FLMUINT uiFlags,
|
|
FLMUINT * puiIndex,
|
|
FLMUINT * puiContainer,
|
|
FLMUINT * puiTermChar);
|
|
|
|
RCODE showHelp(
|
|
FLMUINT * puiKeyRV = NULL);
|
|
|
|
RCODE adHocQuery(
|
|
FLMBOOL bRetrieve = TRUE,
|
|
FLMBOOL bPurge = FALSE);
|
|
|
|
public:
|
|
|
|
F_RecEditor( void);
|
|
~F_RecEditor( void);
|
|
|
|
void reset( void);
|
|
|
|
RCODE Setup(
|
|
FTX_SCREEN * pScreen);
|
|
|
|
void setParent(
|
|
F_RecEditor * pParent);
|
|
|
|
F_RecEditor * getParentEditor( void);
|
|
|
|
RCODE setDefaultSource(
|
|
HFDB hDb,
|
|
FLMUINT uiContainer);
|
|
|
|
RCODE setTree(
|
|
NODE * pTree,
|
|
NODE ** ppNewNd = NULL);
|
|
|
|
RCODE pruneTree(
|
|
NODE * pCurNd);
|
|
|
|
RCODE appendTree(
|
|
NODE * pTree,
|
|
NODE ** ppNewRoot);
|
|
|
|
RCODE insertRecord(
|
|
NODE * pRecord,
|
|
NODE ** ppNewRoot,
|
|
NODE * pStartNd = NULL);
|
|
|
|
RCODE retrieveRecordFromDb(
|
|
FLMUINT uiContainer,
|
|
FLMUINT uiDrn);
|
|
|
|
RCODE markRecordModified(
|
|
NODE * pCurNd);
|
|
|
|
FLMBOOL isRecordModified(
|
|
NODE * pCurNd);
|
|
|
|
RCODE clearRecordModified(
|
|
NODE * pCurNd);
|
|
|
|
NODE * getTree( void);
|
|
|
|
RCODE setTitle(
|
|
const char * pucTitle);
|
|
|
|
RCODE setCurrentAtTop( void);
|
|
|
|
RCODE setCurrentAtBottom( void);
|
|
|
|
void setReadOnly(
|
|
FLMBOOL bReadOnly);
|
|
|
|
RCODE copyCleanRecord(
|
|
F_Pool * pPool,
|
|
NODE * pRecNd,
|
|
NODE ** ppCopiedRec);
|
|
|
|
RCODE copyCleanTree(
|
|
F_Pool * pPool,
|
|
NODE * pTreeNd,
|
|
NODE ** ppCopiedTree);
|
|
|
|
RCODE interactiveEdit(
|
|
FLMUINT uiULX = 0,
|
|
FLMUINT uiULY = 0,
|
|
FLMUINT uiLRX = 0,
|
|
FLMUINT uiLRY = 0,
|
|
FLMBOOL bBorder = TRUE,
|
|
FLMBOOL bStatus = TRUE);
|
|
|
|
FTX_SCREEN * getScreen( void);
|
|
|
|
FLMBOOL isMonochrome( void);
|
|
|
|
NODE * getPrevNode(
|
|
NODE * pCurNd,
|
|
FLMBOOL bUseCallback = TRUE);
|
|
|
|
NODE * getNextNode(
|
|
NODE * pCurNd,
|
|
FLMBOOL bUseCallback = TRUE);
|
|
|
|
NODE * getPrevRecord(
|
|
NODE * pCurNd);
|
|
|
|
NODE * getNextRecord(
|
|
NODE * pCurNd);
|
|
|
|
NODE * getRootNode(
|
|
NODE * pCurNd);
|
|
|
|
NODE * getChildNode(
|
|
NODE * pCurNd);
|
|
|
|
NODE * getCurrentNode( void);
|
|
|
|
NODE * getFirstNode( void);
|
|
|
|
FLMUINT getCursorRow( void);
|
|
|
|
FLMUINT getNumRows( void);
|
|
|
|
RCODE getDisplayValue(
|
|
NODE * pNd,
|
|
FLMUINT uiConvType,
|
|
#define F_RECEDIT_DEFAULT_TYPE 0x0000
|
|
#define F_RECEDIT_TEXT_TYPE 0x0001
|
|
#define F_RECEDIT_BINARY_TYPE 0x0002
|
|
char * pucBuf,
|
|
FLMUINT uiBufSize);
|
|
|
|
NODE * findRecord(
|
|
FLMUINT uiContainer,
|
|
FLMUINT uiDrn,
|
|
NODE * pStartNd = NULL);
|
|
|
|
FLMBOOL isNodeVisible(
|
|
NODE * pCurNd);
|
|
|
|
FLMBOOL isSystemNode(
|
|
NODE * pCurNd);
|
|
|
|
void setShutdown(
|
|
FLMBOOL * pbShutdown);
|
|
|
|
FLMBOOL * getShutdown( void);
|
|
|
|
RCODE setCurrentNode(
|
|
NODE * pCurNd);
|
|
|
|
RCODE setFirstNode(
|
|
NODE * pNd);
|
|
|
|
RCODE setControlFlags(
|
|
NODE * pCurNd,
|
|
FLMUINT uiFlags);
|
|
|
|
RCODE setNameTable(
|
|
F_NameTable * pNameTable);
|
|
|
|
RCODE getControlFlags(
|
|
NODE * pCurNd,
|
|
FLMUINT * puiFlags);
|
|
|
|
void setDisplayHook(
|
|
F_RECEDIT_DISP_HOOK pDispHook,
|
|
void * DispData);
|
|
|
|
void setLinkHook(
|
|
F_RECEDIT_LINK_HOOK pLinkHook,
|
|
void * LinkData);
|
|
|
|
void setKeyHook(
|
|
F_RECEDIT_KEY_HOOK pKeyHook,
|
|
void * KeyData);
|
|
|
|
void setHelpHook(
|
|
F_RECEDIT_HELP_HOOK pHelpHook,
|
|
void * HelpData);
|
|
|
|
void setEventHook(
|
|
F_RECEDIT_EVENT_HOOK pEventHook,
|
|
void * EventData);
|
|
|
|
HFDB getDb( void);
|
|
|
|
FLMUINT getContainer( void);
|
|
|
|
FLMUINT getLastKey( void);
|
|
|
|
IF_FileSystem * getFileSystem( void);
|
|
|
|
RCODE getNumber(
|
|
const char * pucBuf,
|
|
FLMUINT * puiValue,
|
|
FLMINT * piValue);
|
|
|
|
RCODE getDictionaryName(
|
|
FLMUINT uiNum,
|
|
char * pucName);
|
|
|
|
RCODE getFieldType(
|
|
FLMUINT uiFieldNum,
|
|
FLMUINT * puiFieldType);
|
|
|
|
RCODE getFieldNumber(
|
|
const char * pucFieldName,
|
|
FLMUINT * puiFieldNum);
|
|
|
|
RCODE getContainerNumber(
|
|
const char * pucContainerName,
|
|
FLMUINT * puiContainerNum);
|
|
|
|
RCODE getIndexNumber(
|
|
const char * pucIndexName,
|
|
FLMUINT * puiIndexNum);
|
|
|
|
RCODE addComment(
|
|
NODE * pCurNd,
|
|
FLMBOOL bVisible,
|
|
const char * pucFormat, ...);
|
|
|
|
RCODE addAnnotation(
|
|
NODE * pCurNd,
|
|
const char * pucFormat, ...);
|
|
|
|
RCODE setLinkDestination(
|
|
NODE * pCurNd,
|
|
FLMUINT uiContainer,
|
|
FLMUINT uiDrn);
|
|
|
|
RCODE getLinkDestination(
|
|
NODE * pCurNd,
|
|
FLMUINT * puiContainer,
|
|
FLMUINT * puiDrn);
|
|
|
|
FLMBOOL areRecordsEqual(
|
|
NODE * pRootA,
|
|
NODE * pRootB);
|
|
|
|
RCODE retrieveRecordsFromDb(
|
|
FLMUINT uiContainer,
|
|
FLMUINT uiFirstDrn,
|
|
FLMUINT uiLastDrn);
|
|
|
|
RCODE getSystemNode(
|
|
NODE * pCurNd,
|
|
FLMUINT uiTagNum,
|
|
FLMUINT uiNth,
|
|
NODE ** ppSystemNd);
|
|
|
|
RCODE indexList( void);
|
|
|
|
RCODE fileManager(
|
|
const char * pucTitle,
|
|
FLMUINT uiModeFlags,
|
|
#define F_RECEDIT_FSEL_PROMPT 0x00000001
|
|
char * pszInitialPath,
|
|
char * pszSelectedPath,
|
|
FLMUINT * puiTermChar);
|
|
|
|
RCODE fileViewer(
|
|
const char * pucTitle,
|
|
const char * pszFilePath,
|
|
FLMUINT * puiTermChar);
|
|
|
|
RCODE requestInput(
|
|
const char * pucMessage,
|
|
char * pucResponse,
|
|
FLMUINT uiMaxRespLen,
|
|
FLMUINT * puiTermChar);
|
|
|
|
RCODE copyBuffer(
|
|
F_Pool * pPool,
|
|
NODE * pStartNd,
|
|
NODE ** ppNewTree);
|
|
|
|
RCODE displayMessage(
|
|
const char * pucMessage,
|
|
RCODE rcOfMessage,
|
|
FLMUINT * puiTermChar,
|
|
eColorType background,
|
|
eColorType foreground);
|
|
|
|
RCODE globalConfig(
|
|
FLMUINT uiOption);
|
|
|
|
RCODE createStatusWindow(
|
|
const char * pucTitle,
|
|
eColorType back,
|
|
eColorType fore,
|
|
FLMUINT * puiCols,
|
|
FLMUINT * puiRows,
|
|
FTX_WINDOW ** ppWindow);
|
|
|
|
RCODE asciiUCMixToUC(
|
|
char * pucAscii,
|
|
FLMUNICODE * puzUnicode,
|
|
FLMUINT uiMaxUniChars);
|
|
|
|
RCODE UCToAsciiUCMix(
|
|
FLMUNICODE * puzUnicode,
|
|
char * pucAscii,
|
|
FLMUINT uiMaxAsciiChars);
|
|
|
|
RCODE expandNode(
|
|
NODE * pNode,
|
|
FLMBOOL * pbExpanded);
|
|
|
|
RCODE collapseNode(
|
|
NODE * pNode,
|
|
FLMBOOL * pbCollapsed);
|
|
|
|
FLMUINT getULX( void);
|
|
|
|
FLMUINT getULY( void);
|
|
|
|
RCODE openNewDb();
|
|
};
|
|
|
|
FINLINE void F_RecEditor::setShutdown(
|
|
FLMBOOL * pbShutdown)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
m_pbShutdown = pbShutdown;
|
|
}
|
|
|
|
FINLINE FLMBOOL * F_RecEditor::getShutdown( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_pbShutdown);
|
|
}
|
|
|
|
FINLINE FLMBOOL F_RecEditor::isExiting( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
if( m_pbShutdown && *m_pbShutdown)
|
|
{
|
|
return( TRUE);
|
|
}
|
|
|
|
return( FALSE);
|
|
}
|
|
|
|
FINLINE FLMBOOL F_RecEditor::isMonochrome( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_bMonochrome);
|
|
}
|
|
|
|
FINLINE RCODE F_RecEditor::setNameTable(
|
|
F_NameTable * pNameTable)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
|
|
if( m_pNameTable && m_bOwnNameTable)
|
|
{
|
|
m_pNameTable->Release();
|
|
m_pNameTable = NULL;
|
|
}
|
|
m_pNameTable = pNameTable;
|
|
m_bOwnNameTable = FALSE;
|
|
|
|
return( FERR_OK);
|
|
}
|
|
|
|
FINLINE void F_RecEditor::setParent(
|
|
F_RecEditor * pParent)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
m_pParent = pParent;
|
|
}
|
|
|
|
FINLINE F_RecEditor * F_RecEditor::getParentEditor( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_pParent);
|
|
}
|
|
|
|
FINLINE void F_RecEditor::setReadOnly(
|
|
FLMBOOL bReadOnly)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
m_bReadOnly = bReadOnly;
|
|
}
|
|
|
|
FINLINE NODE * F_RecEditor::getTree( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_pTree);
|
|
}
|
|
|
|
FINLINE NODE * F_RecEditor::getCurrentNode( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_pCurNd);
|
|
}
|
|
|
|
FINLINE NODE * F_RecEditor::getFirstNode( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_pScrFirstNd);
|
|
}
|
|
|
|
FINLINE FLMUINT F_RecEditor::getCursorRow( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_uiCurRow);
|
|
}
|
|
|
|
FINLINE FLMUINT F_RecEditor::getNumRows( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE && m_pEditWindow != NULL);
|
|
return( m_uiEditCanvasRows);
|
|
}
|
|
|
|
FINLINE HFDB F_RecEditor::getDb( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_hDefaultDb);
|
|
}
|
|
|
|
FINLINE FLMUINT F_RecEditor::getContainer( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_uiDefaultCont);
|
|
}
|
|
|
|
FINLINE FTX_SCREEN * F_RecEditor::getScreen( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_pScreen);
|
|
}
|
|
|
|
FINLINE FLMUINT F_RecEditor::getLastKey( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_uiLastKey);
|
|
}
|
|
|
|
FINLINE FLMUINT F_RecEditor::getULX( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_uiULX);
|
|
}
|
|
|
|
FINLINE FLMUINT F_RecEditor::getULY( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_uiULY);
|
|
}
|
|
|
|
FINLINE IF_FileSystem * F_RecEditor::getFileSystem( void)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
return( m_pFileSystem);
|
|
}
|
|
|
|
FINLINE void F_RecEditor::setDisplayHook(
|
|
F_RECEDIT_DISP_HOOK pDispHook,
|
|
void * DispData)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
m_pDisplayHook = pDispHook;
|
|
m_DisplayData = DispData;
|
|
}
|
|
|
|
FINLINE void F_RecEditor::setLinkHook(
|
|
F_RECEDIT_LINK_HOOK pLinkHook,
|
|
void * LinkData)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
m_pLinkHook = pLinkHook;
|
|
m_LinkData = LinkData;
|
|
}
|
|
|
|
FINLINE void F_RecEditor::setKeyHook(
|
|
F_RECEDIT_KEY_HOOK pKeyHook,
|
|
void * KeyData)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
m_pKeyHook = pKeyHook;
|
|
m_KeyData = KeyData;
|
|
}
|
|
|
|
FINLINE void F_RecEditor::setHelpHook(
|
|
F_RECEDIT_HELP_HOOK pHelpHook,
|
|
void * HelpData)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
m_pHelpHook = pHelpHook;
|
|
m_HelpData = HelpData;
|
|
}
|
|
|
|
FINLINE void F_RecEditor::setEventHook(
|
|
F_RECEDIT_EVENT_HOOK pEventHook,
|
|
void * EventData)
|
|
{
|
|
flmAssert( m_bSetupCalled == TRUE);
|
|
m_pEventHook = pEventHook;
|
|
m_EventData = EventData;
|
|
}
|
|
|
|
RCODE f_RecEditorDefaultDispHook(
|
|
F_RecEditor * pRecEditor,
|
|
NODE * pNd,
|
|
void * UserData,
|
|
DBE_DISP_COLUMN * pDispVals,
|
|
FLMUINT * puiNumVals);
|
|
|
|
RCODE f_RecEditorDefaultLinkHook(
|
|
F_RecEditor * pRecEditor,
|
|
NODE * pLinkNd,
|
|
void * UserData,
|
|
FLMUINT uiLinkKey);
|
|
|
|
RCODE f_RecEditorViewOnlyKeyHook(
|
|
F_RecEditor * pRecEditor,
|
|
NODE * pCurNd,
|
|
FLMUINT uiKeyIn,
|
|
void * UserData,
|
|
FLMUINT * puiKeyOut);
|
|
|
|
RCODE f_RecEditorSelectionKeyHook(
|
|
F_RecEditor * pRecEditor,
|
|
NODE * pCurNd,
|
|
FLMUINT uiKeyIn,
|
|
void * UserData,
|
|
FLMUINT * puiKeyOut);
|
|
|
|
RCODE f_RecEditorFileKeyHook(
|
|
F_RecEditor * pRecEditor,
|
|
NODE * pCurNd,
|
|
FLMUINT uiKeyIn,
|
|
void * UserData,
|
|
FLMUINT * puiKeyOut);
|
|
|
|
#endif // FLM_EDIT_H
|