91 lines
2.1 KiB
C++
91 lines
2.1 KiB
C++
/* 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
|