edelib
2.0.0
|
00001 /* 00002 * $Id: String.h 2839 2009-09-28 11:36:20Z karijes $ 00003 * 00004 * Fl_Text_Editor enhacement for scheme editing 00005 * Copyright (c) 2005-2012 edelib authors 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public License 00018 * along with this library. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 #ifndef __EDELIB_SCHEME_EDITOR_H__ 00022 #define __EDELIB_SCHEME_EDITOR_H__ 00023 00024 #include "edelib-global.h" 00025 00026 #include <FL/Fl_Text_Editor.H> 00027 #include <FL/Fl_Text_Buffer.H> 00028 00029 EDELIB_NS_BEGIN 00030 00050 class SchemeEditor : public Fl_Text_Editor { 00051 private: 00052 Fl_Text_Buffer *stylebuf, *textbuf; 00053 bool pmatch; 00054 public: 00056 SchemeEditor(int X, int Y, int W, int H, const char *l = 0); 00057 00059 void textsize(int sz); 00060 00062 virtual int handle(int e); 00063 00065 Fl_Text_Buffer *style_buffer(void) { return stylebuf; } 00066 00081 void object_color(int id, int color); 00082 00084 void object_color(int id, const char *color); 00085 00087 void match_parenthesis(bool m) { pmatch = m; } 00088 }; 00089 00090 EDELIB_NS_END 00091 #endif