diff options
Diffstat (limited to 'win32caml/inria.h')
| -rw-r--r-- | win32caml/inria.h | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/win32caml/inria.h b/win32caml/inria.h deleted file mode 100644 index afa252404c..0000000000 --- a/win32caml/inria.h +++ /dev/null @@ -1,115 +0,0 @@ -/***********************************************************************/ -/* */ -/* Objective Caml */ -/* */ -/* Developed by Jacob Navia. */ -/* Copyright 2001 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* $Id$ */ - -/*------------------------------------------------------------------------ - Module: D:\lcc\inria\inria.h - Author: Jacob - Project: - State: - Creation Date: June 2001 - Description: The user interface works as follows: - 1: At startup it will look for the path to the - ocaml interpreter in the registry using the - key HKEY_CURRENT_USER\SOFTWARE\ocaml. If not - found will prompt the user. - 2: It will start the ocaml interpreter with - its standard output and standard input - connected to two pipes in a dedicated thread. - 3: It will open a window containing an edit - field. The output from the interpreter will be - shown in the edit field, and the input of the - user in the edit field will be sent to the - interpreter when the user types return. - 4: Line editing is provided by moving to the - desired line with the arrows, then pressing - return; If we aren't in the last input line, - the input will be copied to the last line and - sent to the interpreter. - 5: The GUI ensures that when we exit the ocaml - interpreter is stopped by sending the - character string "#quit;;\nCtrl-Z" - 6: A history of all lines sent to the interpreter - is maintained in a simple linked list. The - History dialog box shows that, and allows the - user to choose a given input line. - 7: Memory limits. The edit buffer can be of an - arbitrary length, i.e. maybe 7-8MB or more, - there are no fixed limits. The History list - will always grow too, so memory consumption - could be "high" after several days of - uninterrupted typing at the keyboard. For that - cases it is recommended to stop the GUI and - get some sleep... - 9: The GUI will start a timer, looking 4 times a - second if the interpreter has written - something in the pipe. This is enough for most - applications. -------------------------------------------------------------------------*/ - -#include <windows.h> - -// In this structure should go eventually all global variables scattered -// through the program. -typedef struct _programParams { - HFONT hFont; // The handle of the current font - COLORREF TextColor; // The text color - char CurrentWorkingDir[MAX_PATH];// The current directory -} PROGRAM_PARAMS; - -//**************** Global variables *********************** -extern PROGRAM_PARAMS ProgramParams; - -extern COLORREF BackColor; // The background color -extern HBRUSH BackgroundBrush; // A brush built with the background color -extern char LibDir[]; // The lib directory -extern char OcamlPath[]; // The Path to ocaml.exe -extern HANDLE hInst; // The instance handle for this application -extern HWND hwndSession; // The current session window handle -extern LOGFONT CurrentFont; // The current font characteristics -extern HWND hwndMain,hwndMDIClient; // Window handles of frame and mdi window - -// ***************** Function prototypes ****************** -int WriteToPipe(char *data); // Writes to the pipe -int ReadFromPipe(char *data,int len);// Reads from the pipe -int AskYesOrNo(char *msg); //Ditto! -int BrowseForFile(char *fname,char *path); -void GotoEOF(void); // Positions the cursor at the end of the text -void ShowDbgMsg(char *msg); // Shows an error message -void HandleCommand(HWND hwnd, WPARAM wParam,LPARAM lParam); -int GetOcamlPath(void); // Finds where ocaml.exe is -void ForceRepaint(void); // Ditto. -void AddLineToControl(char *buf); -char *GetHistoryLine(int n); // Gets the nth history line base 1. -int StartOcaml(void); -// **************** User defined window messages ************* -#define WM_NEWLINE (WM_USER+6000) -#define WM_TIMERTICK (WM_USER+6001) -#define WM_QUITOCAML (WM_USER+6002) -// ********************** Structures *********************** -typedef struct tagPosition { - int line; - int col; -} POSITION; - -// Simple linked list for holding the history lines -typedef struct tagHistory { - struct tagHistory *Next; - char *Text; -} HISTORYLINE; - -extern void *SafeMalloc(int); -extern HISTORYLINE *History; // The root of the history lines - -#define IDEDITCONTROL 15432 - |
