Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

PatternManager.h

Go to the documentation of this file.
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

Generated on Mon Sep 3 22:29:04 2007 for SpikeStream Application by  doxygen 1.4.4