subcircuits.h

00001 /***************************************************************************
00002  *   Copyright (C) 2004 by David Saxton                                    *
00003  *   david@bluehaze.org                                                    *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  ***************************************************************************/
00010 
00011 #ifndef SUBCIRCUITS_H
00012 #define SUBCIRCUITS_H
00013 
00014 #include <qobject.h>
00015 
00016 class CircuitDocument;
00017 class ECSubcircuit;
00018 class Subcircuits;
00019 inline Subcircuits *subcircuits();
00020 
00025 class Subcircuits : public QObject
00026 {
00027 Q_OBJECT
00028 public:
00029         ~Subcircuits();
00035         static ECSubcircuit* createSubcircuit( int id, CircuitDocument *circuitDocument, bool newItem, const char *newId );
00039         static void initECSubcircuit( int subcircuitId, ECSubcircuit *ecSubcircuit );
00044         static void loadSubcircuits();
00049         static void addSubcircuit( const QString &name, const QString &subcircuitXml );
00054         static QString genFileName( const int nextId );
00058         static void updateComponentSelector( int id, const QString &name );
00059         
00060 protected slots:
00061         void slotItemRemoved( const QString &id );
00062         
00063 private:
00064         Subcircuits();
00065         
00066         friend Subcircuits* subcircuits();
00067 };
00068 
00069 
00070 inline Subcircuits* subcircuits()
00071 {
00072         static Subcircuits *_subcircuits = new Subcircuits();
00073         return _subcircuits;
00074 }
00075 
00076 #endif

Generated on Tue May 8 17:05:32 2007 for KTechLab by  doxygen 1.5.1