00001 /*************************************************************************** 00002 * SpikeStream Application * 00003 * Copyright (C) 2007 by David Gamez * 00004 * david@davidgamez.eu * 00005 * Version 0.1 * 00006 * * 00007 * This program is free software; you can redistribute it and/or modify * 00008 * it under the terms of the GNU General Public License as published by * 00009 * the Free Software Foundation; either version 2 of the License, or * 00010 * (at your option) any later version. * 00011 * * 00012 * This program 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 * 00015 * GNU General Public License for more details. * 00016 * * 00017 * You should have received a copy of the GNU General Public License * 00018 * along with this program; if not, write to the * 00019 * Free Software Foundation, Inc., * 00020 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 00021 ***************************************************************************/ 00022 00023 #ifndef PATTERNMANAGER_H 00024 #define PATTERNMANAGER_H 00025 00026 //SpikeStream includes 00027 #include "DBInterface.h" 00028 00029 //Qt includes 00030 #include <qstring.h> 00031 00032 00033 //--------------------------- Pattern Manager ------------------------------ 00034 /*! Controlled by the PatternDialog and adds patterns into the pattern 00035 database, so that they can be applied to any part of the neuron 00036 simulation. Also deletes patterns from the pattern database. */ 00037 //-------------------------------------------------------------------------- 00038 00039 class PatternManager { 00040 00041 public: 00042 PatternManager(DBInterface*); 00043 ~PatternManager(); 00044 bool addPattern(QString fileName); 00045 bool deletePattern(unsigned int pattID); 00046 00047 00048 private: 00049 //============================ VARIABLES ============================= 00050 /*! Reference to class for handling database.*/ 00051 DBInterface *patternDBInterface; 00052 00053 00054 //============================ METHODS =============================== 00055 /*! Declare copy constructor private so it cannot be used inadvertently.*/ 00056 PatternManager (const PatternManager&); 00057 00058 /*! Declare assignment private so it cannot be used inadvertently.*/ 00059 PatternManager operator = (const PatternManager&); 00060 00061 bool patternAlreadyStored(QString); 00062 void storePatternCount(unsigned int patternGrpID, int patternCount); 00063 bool storePatternData(unsigned int, QString); 00064 int storePatternDescription(QString description, unsigned short patternType, unsigned int width, unsigned int length, QString fileName); 00065 00066 }; 00067 00068 00069 #endif //PATTERNMANAGER_H
1.4.4