/home/enzo/treballs/fib/pfc/nanocomp/src/ruleDiskManager.hpp

Go to the documentation of this file.
00001 /*
00002  *                                                                         *
00003  *   This program is free software; you can redistribute it and/or modify  *
00004  *   it under the terms of the GNU General Public License as published by  *
00005  *   the Free Software Foundation; either version 2 of the License, or     *
00006  *   (at your option) any later version.                                   *
00007  *                                                                         *
00008  *   This program is distributed in the hope that it will be useful,       *
00009  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00010  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00011  *   GNU General Public License for more details.                          *
00012  *                                                                         *
00013  *   You should have received a copy of the GNU General Public License     *
00014  *   along with this program; if not, write to the                         *
00015  *   Free Software Foundation, Inc.,                                       *
00016  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00017                                                                           */
00018 
00028 #ifndef RULEDISKMANAGER_HPP_
00029 #define RULEDISKMANAGER_HPP_
00030 
00031 #define LINE_SPACE 2
00032 #define CELL_SPACE 3
00033 
00034 #include "FlexLexer.h"
00035 #include <list>
00036 #include "ruleManager.hpp"
00037 #include "wx/textfile.h"
00038 
00039 using namespace std;
00040 
00041 class RuleManager;
00042 
00043 class RuleDiskManager
00044 {
00045 public:
00046         RuleDiskManager(RuleManager *controller);
00047         virtual ~RuleDiskManager();
00048     bool saveRules(list<Rule*> rules, wxString fileName);
00049     bool openRules(wxString fileName);
00050     
00051 private:
00053     RuleManager *controller;
00055     wxTextFile file;
00056     bool saveRuleList(list<Rule*> rules);
00057     bool saveRule(Rule *rule);
00058     bool saveGrid(Grid grid);
00059     bool readRule(int width, int height, list<Rule *> *ruleList, FlexLexer *lexer);
00060     void returnRules(list<Rule *> *ruleList);
00061 };
00062 
00063 #endif /*RULEDISKMANAGER_HPP_*/

Generated on Fri Sep 1 23:55:14 2006 for NanoComp by  doxygen 1.4.6