This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
fte/o_messages.h

91 lines
2.1 KiB
C
Raw Permalink Normal View History

/* o_messages.h
*
* Copyright (c) 1994-1996, Marko Macek
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
*/
#ifndef __MESSAGES_H__
#define __MESSAGES_H__
#ifdef CONFIG_OBJ_MESSAGES
typedef struct {
char *file;
int line;
char *msg;
char *text;
EBuffer *Buf;
} Error;
struct aDir
{
aDir* next;
char* name;
};
class EMessages: public EList {
public:
char *Command;
char *Directory;
int ErrCount;
Error **ErrList;
int Running;
int BufLen;
int BufPos;
int PipeId;
int ReturnCode;
int MatchCount;
char MsgBuf[4096];
aDir* curr_dir; // top of dir stack.
EMessages(int createFlags, EModel **ARoot, char *Dir, char *ACommand);
~EMessages();
void freeDirStack();
virtual void NotifyDelete(EModel *Deleting);
void FindErrorFiles();
void FindErrorFile(int err);
void AddFileError(EBuffer *B, int err);
void FindFileErrors(EBuffer *B);
virtual int GetContext() { return CONTEXT_MESSAGES; }
virtual EEventMap *GetEventMap();
virtual int ExecCommand(int Command, ExState &State);
void AddError(Error *p);
void AddError(char *file, int line, char *msg, const char *text);
void FreeErrors();
int GetLine(char *Line, int maxim);
void GetErrors();
int Compile(char *Command);
void ShowError(EView *V, int err);
void DrawLine(PCell B, int Line, int Col, ChColor color, int Width);
char* FormatLine(int Line);
void UpdateList();
int Activate(int No);
int CanActivate(int Line);
void NotifyPipe(int APipeId);
virtual void GetName(char *AName, int MaxLen);
virtual void GetInfo(char *AInfo, int MaxLen);
virtual void GetPath(char *APath, int MaxLen);
virtual void GetTitle(char *ATitle, int MaxLen, char *ASTitle, int SMaxLen);
int RunPipe(char *Dir, char *Command);
int CompilePrevError(EView *V);
int CompileNextError(EView *V);
};
extern EMessages *CompilerMsgs;
void FreeCRegexp();
#endif
#endif