#ifndef __TextEdit_h #define __TextEdit_h #pragma interface #include #include #include #include struct TextEditor: EditWin, TextBrowser { TextEditor(StringList *model = 0); ~TextEditor(); void key(int); void cmd(int); void addch(char); void insch(char); void delch(); void insertln(int); void deleteln(int); void clrtoeol(); //void restoreLine(); // undo changes to current line void reform(bool = FALSE); private: struct TextList: TextArray { StringList &txt; const char *operator[](int i) { if (i < 0 || i >= txt.size()) return 0; return txt[i].chars(); } int size() { return txt.size(); } TextList(StringList &r): txt(r) { } }; TextEditor(const TextEditor &); TextEditor&operator=(const TextEditor &); protected: TextList view; StringList &txt; int wrapmargin; }; #endif