Up: GEOS SDK TechDocs | Up | Prev: InitFileRevert() ... | Next: InkFolderGetNumChildren() ...

InkDBGetDisplayInfo()

void 	InkDBGetDisplayInfo(
        InkDBDisplayInfo *		retVal,
        VMFileHandle 		fh);

This routine returns the dword ID of the note or folder which is presently being displayed by the Ink Database. It also returns the ID of the parent folder, and the page number, if applicable.

Structures: It returns this information by filling in an InkDBDisplayInfo structure:

typedef struct {
	dword 	IDBDI_currentDisplay;
	dword 	IDBDI_parentFolder;
	word 	IDBDI_pageNumber;
} InkDBDisplayInfo;

Include: pen.goh

InkDBGetHeadFolder()

dword 	InkDBGetHeadFolder(
        VMFileHandle 		fh);

This routine returns the dword ID of the head folder of an Ink Database file.

Include: pen.goh

InkDBInit()

void 	InkDBInit(
        VMFileHandle 		fh);

This routine takes a new Ink Database file. It initializes the file for use, creating all needed maps and a top-level folder.

Include: pen.goh

InkDBSetDisplayInfo()

void 	InkDBSetDisplayInfo(
        VMFileHandle 		fh,
        dword 		ofh,		/* Parent Folder dword ID# */
        dword		note,		/* ID# of note or folder to display */
        word		page); 		/* If displaying note, page # to display*/

This routine sets the display information for an Ink Database file. This routine sets the user's location in the database. The caller must supply the dword ID number of the note or folder to display, the parent folder (0 if displaying the top level folder), and the page number to display if displaying a note.

Include: pen.goh

InkFolderCreateSubFolder()

dword 	InkFolderCreateSubFolder(
        dword 		tag, 	/* ID# of parent folder (0 for top-level) */
        VMFileHandle 		fh); 	/* Handle of Ink DB file */

This routine creates a subfolder within the passed folder. The new folder is automatically added to it's parent's chunk array. The return value is new folder's dword ID number.

Include: pen.goh

InkFolderDelete()

void 	InkFolderDelete(
        dword 		tag,		/* ID# of folder */
        VMFileHandle 		fh);		/* Handle of Ink DB file */

This routine removes an Ink Database folder.

Include: pen.goh

InkFolderDepthFirstTraverse()

word 	InkFolderDepthFirstTraverse(
        dword 		rfldr,		/* ID# of folder at root of search tree */
        VMFileHandle		fh, 		/* Handle of Ink DB file */
        Boolean 	_pascal	(*callback)( /* far ptr to callback routine */
			dword				fldr,
			VMFileHandle 				fh,
			word *				info),
        word *		info);		/* Extra data to pass to callback */

This routine does a depth-first traversal of a folder tree. The callback routine, which must be declared _pascal, can halt the search by returning true , in which case the search routine will immediately return true ; otherwise the search will return false .

Include: pen.goh

InkFolderDisplayChildInList()

void 	InkFolderDisplayChildInList(
        dword 		fldr, 		/* ID# of folder */
        VMFileHandle 		fh,		/* Handle of Ink DB file */
        optr 		list, 		/* GenDynamicList */
        word		entry, 		/* entry number of child to display */
        Boolean		displayFolders); /* Include monikers in count,
							* return their monikers */

This routine requests that a dynamic list display the name of one of a folder's children. It is normally called in an applications GDLI_queryMsg handler.

Include: pen.goh

InkFolderGetChildInfo()

Boolean 	InkFolderDisplayChildInfo( /* true if folder; else note */
        dword 		fldr, 		/* ID# of folder */
        VMFileHandle 		fh,		/* Handle of Ink DB file */
        word		entry, 		/* entry number of child */
        dword *		childID);	/* Pointer to returned child ID # */

This routine returns information about one of a folder's children. The explicit return value will be true if the child is a folder, false if the child is a note. In addition, the passed dword pointer will point to the child's dword ID number.

Include: pen.goh

InkFolderGetChildNumber()

word 	InkFolderDisplayChildInList( 
        dword 		fldr, 		/* ID# of folder */
        VMFileHandle 		fh,		/* Handle of Ink DB file */
        dword		note); 		/* ID# of child note or folder */

This routine returns the passed note or folder's entry number within its passed parent folder.

Include: pen.goh

InkFolderGetContents()

DBGroupAndItem 	InkFolderGetContents(
        dword 		tag, 				/* ID# of folder */
        VMFileHandle 		fh,				/* Handle of Ink DB file */
        DBGroupAndItem *		subFolders); 		/* pointer to return value */);

This routine returns the contents of a folder. It returns two chunk arrays, each of which is filled with dword ID numbers of the folder's children. The explicitly returned array holds the numbers of the folder's child notes. The routine also fills in a pointer with a DB item holding a chunk array with the ID numbers of the subfolders.

Include: pen.goh


Up: GEOS SDK TechDocs | Up | Prev: InitFileRevert() ... | Next: InkFolderGetNumChildren() ...