252 lines
6.7 KiB
C
252 lines
6.7 KiB
C
|
/*===========================================================================*/
|
||
|
/* Copyright (c) 1987 - 1988, Future Soft Engineering, Inc. */
|
||
|
/* Houston, Texas */
|
||
|
/*===========================================================================*/
|
||
|
|
||
|
#define NOLSTRING TRUE /* jtf win3 mod */
|
||
|
#include <windows.h>
|
||
|
#include "port1632.h"
|
||
|
#include "dcrc.h"
|
||
|
#include "dynacomm.h"
|
||
|
#include "fileopen.h"
|
||
|
#include "task.h"
|
||
|
#include <direct.h> /* adding this for getcwd prototype - sdj */
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
/* File Document Data Routines [mbb] */
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
|
||
|
VOID getFileDocData(FILEDOCTYPE fileDocType, BYTE *filePath, BYTE *fileName,
|
||
|
BYTE *fileExt, BYTE *title)
|
||
|
{
|
||
|
if(filePath != NULL)
|
||
|
strcpy(filePath, fileDocData[fileDocType].filePath);
|
||
|
if(fileName != NULL)
|
||
|
strcpy(fileName, fileDocData[fileDocType].fileName);
|
||
|
if(fileExt != NULL)
|
||
|
strcpy(fileExt, fileDocData[fileDocType].fileExt);
|
||
|
if(title != NULL)
|
||
|
strcpy(title, fileDocData[fileDocType].title);
|
||
|
}
|
||
|
|
||
|
|
||
|
VOID setFileDocData(FILEDOCTYPE fileDocType, BYTE *filePath, BYTE *fileName,
|
||
|
BYTE *fileExt, BYTE *title)
|
||
|
{
|
||
|
if(filePath != NULL)
|
||
|
strcpy(fileDocData[fileDocType].filePath, filePath);
|
||
|
if(fileName != NULL)
|
||
|
strcpy(fileDocData[fileDocType].fileName, fileName);
|
||
|
if(fileExt != NULL)
|
||
|
strcpy(fileDocData[fileDocType].fileExt, fileExt);
|
||
|
if(title != NULL)
|
||
|
{
|
||
|
if(strlen(title) >= FO_MAXPATHLENGTH)
|
||
|
title[FO_MAXPATHLENGTH-1] = 0;
|
||
|
strcpy(fileDocData[fileDocType].title, title);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
VOID getDataPath(FILEDOCTYPE fileDocType, BYTE *filePath, BYTE *fileName)
|
||
|
{
|
||
|
BYTE savePath[FO_MAXPATHLENGTH];
|
||
|
|
||
|
if(setPath(fileDocData[fileDocType].filePath, FALSE, savePath))
|
||
|
{
|
||
|
setFilePath(fileName);
|
||
|
#ifdef ORGCODE
|
||
|
_getcwd(filePath);
|
||
|
#else
|
||
|
_getcwd(filePath,PATHLEN);
|
||
|
#endif
|
||
|
|
||
|
setPath(savePath, FALSE, NULL);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
/* dbFileType() - [mbb] */
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
|
||
|
BOOL APIENTRY dbFileType(HWND hDlg, UINT message, WPARAM wParam, LONG lParam)
|
||
|
//HWND hDlg;
|
||
|
//UINT message;
|
||
|
//WPARAM wParam;
|
||
|
//LONG lParam;
|
||
|
{
|
||
|
updateTimer();
|
||
|
|
||
|
switch(message)
|
||
|
{
|
||
|
case WM_INITDIALOG:
|
||
|
initDlgPos(hDlg);
|
||
|
|
||
|
switch(saveFileType)
|
||
|
{
|
||
|
case FILE_NDX_SETTINGS:
|
||
|
wParam = ITMSETTINGS;
|
||
|
break;
|
||
|
}
|
||
|
return(TRUE);
|
||
|
|
||
|
case WM_COMMAND:
|
||
|
switch(GET_WM_COMMAND_ID(wParam, lParam))
|
||
|
{
|
||
|
case IDOK:
|
||
|
switch(whichGrpButton(hDlg, ITMSETTINGS, ITMMEMO))
|
||
|
{
|
||
|
case ITMSETTINGS:
|
||
|
wParam = FILE_NDX_SETTINGS;
|
||
|
break;
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case IDCANCEL:
|
||
|
wParam = FALSE;
|
||
|
break;
|
||
|
|
||
|
default:
|
||
|
return(TRUE);
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
default:
|
||
|
return(FALSE);
|
||
|
}
|
||
|
|
||
|
EndDialog(hDlg, wParam);
|
||
|
return(TRUE);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
/* doFileNew() - [mbb] */
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
|
||
|
|
||
|
VOID doFileNew()
|
||
|
{
|
||
|
INT fileType;
|
||
|
BYTE szTitle[MINRESSTR];
|
||
|
|
||
|
fileType = FILE_NDX_SETTINGS;
|
||
|
|
||
|
if(childZoomStatus(0x0001, 0))
|
||
|
childZoomStatus(0, 0x8000);
|
||
|
|
||
|
LoadString(hInst, STR_TERMINAL, szTitle, MINRESSTR);
|
||
|
termFile(fileDocData[fileType].filePath, NULL_STR, fileDocData[fileType].fileExt,
|
||
|
(*fileDocData[fileType].title == 0) ? szTitle : fileDocData[fileType].title,
|
||
|
(*fileDocData[fileType].title == 0) ? TF_DEFTITLE : 0);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
/* doFileOpen() - [mbb] */
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
|
||
|
INT_PTR APIENTRY FO_FileOpenType(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||
|
{
|
||
|
INT fileType;
|
||
|
|
||
|
switch(message)
|
||
|
{
|
||
|
case WM_INITDIALOG:
|
||
|
switch(pFOData->nType = saveFileType)
|
||
|
{
|
||
|
case FILE_NDX_SETTINGS:
|
||
|
wParam = FO_IDSETTINGS;
|
||
|
break;
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case WM_COMMAND:
|
||
|
switch(GET_WM_COMMAND_ID(wParam, lParam))
|
||
|
{
|
||
|
case FO_IDSETTINGS:
|
||
|
fileType = FILE_NDX_SETTINGS;
|
||
|
break;
|
||
|
default:
|
||
|
return(TRUE);
|
||
|
}
|
||
|
if(pFOData->nType == fileType)
|
||
|
return(TRUE);
|
||
|
pFOData->nType = fileType;
|
||
|
break;
|
||
|
|
||
|
case WM_NULL:
|
||
|
if(wParam)
|
||
|
saveFileType = pFOData->nType;
|
||
|
return(FALSE);
|
||
|
}
|
||
|
|
||
|
return(FALSE);
|
||
|
}
|
||
|
|
||
|
|
||
|
VOID doFileOpen()
|
||
|
{
|
||
|
BYTE filePath[FO_MAXPATHLENGTH];
|
||
|
BYTE fileName[FO_MAXFILELENGTH];
|
||
|
BYTE fileExt[FO_MAXEXTLENGTH];
|
||
|
BYTE szTitle[MINRESSTR];
|
||
|
|
||
|
*filePath = 0;
|
||
|
*fileName = 0;
|
||
|
*fileExt = 0;
|
||
|
|
||
|
strcpy(fileName, "*.TRM");
|
||
|
strcpy(fileExt, "TRM");
|
||
|
|
||
|
if(termData.filePath[strlen(termData.filePath) - 1] != '\\')
|
||
|
strcat(termData.filePath, "\\");
|
||
|
|
||
|
if(FileOpen(termData.filePath, fileName, NULL, fileExt, NULL, FO_DBFILETYPE,
|
||
|
FO_FileOpenType, FO_FILEEXIST | FO_FORCEEXTENT))
|
||
|
{
|
||
|
strcpy(fileDocData[saveFileType].filePath, filePath);
|
||
|
strcpy(fileDocData[saveFileType].fileName, fileName);
|
||
|
|
||
|
if(childZoomStatus(0x0001, 0))
|
||
|
childZoomStatus(0, 0x8000);
|
||
|
|
||
|
LoadString(hInst, STR_TERMINAL, szTitle, MINRESSTR);
|
||
|
termFile(termData.filePath, fileName, fileDocData[FILE_NDX_SETTINGS].fileExt,
|
||
|
(*fileDocData[FILE_NDX_SETTINGS].title == 0) ? szTitle : fileDocData[FILE_NDX_SETTINGS].title,
|
||
|
(*fileDocData[FILE_NDX_SETTINGS].title == 0) ? TF_DEFTITLE : 0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
/* doFileClose() - [mbb] */
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
|
||
|
VOID doFileClose()
|
||
|
{
|
||
|
termCloseFile();
|
||
|
}
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
/* doFileSave() - [mbb] */
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
|
||
|
VOID doFileSave()
|
||
|
{
|
||
|
termSaveFile(FALSE);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
/* doFileSaveAs() - [mbb] */
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
|
||
|
VOID doFileSaveAs()
|
||
|
{
|
||
|
termSaveFile(TRUE);
|
||
|
}
|