diff options
Diffstat (limited to 'src/edit.h')
-rw-r--r-- | src/edit.h | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/src/edit.h b/src/edit.h deleted file mode 100644 index 4ad884f..0000000 --- a/src/edit.h +++ /dev/null @@ -1,255 +0,0 @@ -// * This file is part of the COLOBOT source code
-// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
-// *
-// * This program is free software: you can redistribute it and/or modify
-// * it under the terms of the GNU General Public License as published by
-// * the Free Software Foundation, either version 3 of the License, or
-// * (at your option) any later version.
-// *
-// * This program is distributed in the hope that it will be useful,
-// * but WITHOUT ANY WARRANTY; without even the implied warranty of
-// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// * GNU General Public License for more details.
-// *
-// * You should have received a copy of the GNU General Public License
-// * along with this program. If not, see http://www.gnu.org/licenses/.
-
-// edit.h
-
-#ifndef _EDIT_H_
-#define _EDIT_H_
-
-
-#include "struct.h"
-#include "control.h"
-
-
-class CD3DEngine;
-class CScroll;
-
-
-
-#define EDITSTUDIOMAX 20000 // maximum number of characters in CBOT edit
-#define EDITLINEMAX 1000 // maximum total number of lines
-#define EDITIMAGEMAX 50 // maximum total number of lines with images
-#define EDITLINKMAX 100 // maximum number of links
-#define EDITHISTORYMAX 50 // max number of levels preserves
-
-#define EDITUNDOMAX 20 // max number of successive undo
-
-typedef struct
-{
- char* text; // original text
- int len; // length of the text
- int cursor1; // offset cursor
- int cursor2; // offset cursor
- int lineFirst; // the first line displayed.
-
-}
-EditUndo;
-
-enum OperUndo
-{
- OPERUNDO_SPEC = 0, // special operation
- OPERUNDO_INSERT = 1, // inserting characters
- OPERUNDO_DELETE = 2, // deleting characters
-};
-
-typedef struct
-{
- char name[40]; // name of the image (without diagram \)
- float offset; // vertical offset (v texture)
- float height; // height of the part (dv texture)
- float width; // width
-}
-ImageLine;
-
-typedef struct
-{
- char name[40]; // text file name (without help \)
- char marker[20]; // name of the marker
-}
-HyperLink;
-
-typedef struct
-{
- char name[20]; // name of the marker
- int pos; // position in the text
-}
-HyperMarker;
-
-typedef struct
-{
- char filename[50]; // full file name text
- int firstLine; // rank of the first displayed line
-}
-HyperHistory;
-
-
-
-
-class CEdit : public CControl
-{
-public:
- CEdit(CInstanceManager* iMan);
- virtual ~CEdit();
-
- BOOL Create(FPOINT pos, FPOINT dim, int icon, EventMsg eventMsg);
-
- void SetPos(FPOINT pos);
- void SetDim(FPOINT dim);
-
- BOOL EventProcess(const Event &event);
- void Draw();
-
- void SetText(char *text, BOOL bNew=TRUE);
- void GetText(char *buffer, int max);
- char* RetText();
- int RetTextLength();
-
- BOOL ReadText(char *filename, int addSize=0);
- BOOL WriteText(char *filename);
-
- void SetMaxChar(int max);
- int RetMaxChar();
-
- void SetEditCap(BOOL bMode);
- BOOL RetEditCap();
-
- void SetHiliteCap(BOOL bEnable);
- BOOL RetHiliteCap();
-
- void SetInsideScroll(BOOL bInside);
- BOOL RetInsideScroll();
-
- void SetSoluceMode(BOOL bSoluce);
- BOOL RetSoluceMode();
-
- void SetGenericMode(BOOL bGeneric);
- BOOL RetGenericMode();
-
- void SetAutoIndent(BOOL bMode);
- BOOL RetAutoIndent();
-
- void SetCursor(int cursor1, int cursor2);
- void GetCursor(int &cursor1, int &cursor2);
-
- void SetFirstLine(int rank);
- int RetFirstLine();
- void ShowSelect();
-
- void SetDisplaySpec(BOOL bDisplay);
- BOOL RetDisplaySpec();
-
- void SetMultiFont(BOOL bMulti);
- BOOL RetMultiFont();
-
- BOOL Cut();
- BOOL Copy();
- BOOL Paste();
- BOOL Undo();
-
- void HyperFlush();
- void HyperHome(char *filename);
- BOOL HyperTest(EventMsg event);
- BOOL HyperGo(EventMsg event);
-
- void SetFontSize(float size);
-
- BOOL ClearFormat();
- BOOL SetFormat(int cursor1, int cursor2, int format);
-
-protected:
- void SendModifEvent();
- BOOL IsLinkPos(FPOINT pos);
- void MouseDoubleClick(FPOINT mouse);
- void MouseClick(FPOINT mouse);
- void MouseMove(FPOINT mouse);
- void MouseRelease(FPOINT mouse);
- int MouseDetect(FPOINT mouse);
- void MoveAdjust();
-
- void HyperJump(char *name, char *marker);
- BOOL HyperAdd(char *filename, int firstLine);
-
- void DrawImage(FPOINT pos, char *name, float width, float offset, float height, int nbLine);
- void DrawBack(FPOINT pos, FPOINT dim);
- void DrawPart(FPOINT pos, FPOINT dim, int icon);
-
- void FreeImage();
- void LoadImage(char *name);
- void Scroll(int pos, BOOL bAdjustCursor);
- void Scroll();
- void MoveChar(int move, BOOL bWord, BOOL bSelect);
- void MoveLine(int move, BOOL bWord, BOOL bSelect);
- void MoveHome(BOOL bWord, BOOL bSelect);
- void MoveEnd(BOOL bWord, BOOL bSelect);
- void ColumnFix();
- void Insert(char character);
- void InsertOne(char character);
- void Delete(int dir);
- void DeleteOne(int dir);
- int IndentCompute();
- int IndentTabCount();
- void IndentTabAdjust(int number);
- BOOL Shift(BOOL bLeft);
- BOOL MinMaj(BOOL bMaj);
- void Justif();
- int RetCursorLine(int cursor);
-
- void UndoFlush();
- void UndoMemorize(OperUndo oper);
- BOOL UndoRecall();
-
-protected:
- CScroll* m_scroll; // vertical scrollbar on the right
-
- int m_maxChar; // max length of the buffer m_text
- char* m_text; // text (without zero terminator)
- char* m_format; // format characters
- int m_len; // length used in m_text
- int m_cursor1; // offset cursor
- int m_cursor2; // offset cursor
-
- BOOL m_bMulti; // TRUE -> multi-line
- BOOL m_bEdit; // TRUE -> editable
- BOOL m_bHilite; // TRUE -> hilitable
- BOOL m_bInsideScroll; // TRUE -> lift as part
- BOOL m_bDisplaySpec; // TRUE -> displays the special characters
- BOOL m_bMultiFont; // TRUE -> more fonts possible
- BOOL m_bSoluce; // TRUE -> shows the links-solution
- BOOL m_bGeneric; // TRUE -> generic that defile
- BOOL m_bAutoIndent; // TRUE -> automatic indentation
- float m_lineHeight; // height of a row
- float m_lineAscent; // height above the baseline
- float m_lineDescent; // height below the baseline
- int m_lineVisible; // total number of viewable lines
- int m_lineFirst; // the first line displayed
- int m_lineTotal; // number lines used (in m_lineOffset)
- int m_lineOffset[EDITLINEMAX];
- char m_lineIndent[EDITLINEMAX];
- int m_imageTotal;
- ImageLine m_image[EDITIMAGEMAX];
- HyperLink m_link[EDITLINKMAX];
- int m_markerTotal;
- HyperMarker m_marker[EDITLINKMAX];
- int m_historyTotal;
- int m_historyCurrent;
- HyperHistory m_history[EDITHISTORYMAX];
- float m_time; // absolute time
- float m_timeBlink;
- float m_timeLastClick;
- float m_timeLastScroll;
- FPOINT m_mouseFirstPos;
- FPOINT m_mouseLastPos;
- float m_column;
-
- BOOL m_bCapture;
-
- BOOL m_bUndoForce;
- OperUndo m_undoOper;
- EditUndo m_undo[EDITUNDOMAX];
-};
-
-
-#endif //_EDIT_H_
|