Qucs-GUI  0.0.19
/home/travis/build/Qucs/qucs/qucs/qucs/components/vhdlfile.h
Go to the documentation of this file.
00001 /***************************************************************************
00002                                 vhdlfile.h
00003                                ------------
00004     begin                : Sat Apr 15 2006
00005     copyright            : (C) 2006 by Michael Margraf
00006     email                : michael.margraf@alumni.tu-berlin.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef VHDLFILE_H
00019 #define VHDLFILE_H
00020 
00021 #include "component.h"
00022 
00023 class QTextStream;
00024 class QString;
00025 
00026 
00027 class VHDL_File : public MultiViewComponent  {
00028 public:
00029   VHDL_File();
00030  ~VHDL_File() {};
00031   Component* newOne();
00032   static Element* info(QString&, char* &, bool getNewOne=false);
00033 
00034   bool createSubNetlist(QTextStream *);
00035   QString getErrorText() { return ErrText; }
00036   QString getSubcircuitFile();
00037 
00038 protected:
00039   QString vhdlCode(int);
00040   void createSymbol();
00041   QString loadFile();
00042 
00043   QString EntityName;
00044   QString ErrText;
00045   QString TypeNames;
00046   QString GenTypes;
00047   QString GenNames;
00048   QString GenDefs;
00049 };
00050 
00051 class VHDL_File_Info {
00052 public:
00053   VHDL_File_Info();
00054   VHDL_File_Info(QString, bool isfile = false);
00055  ~VHDL_File_Info() {};
00056   QString parsePorts(QString, int);
00057   QString parseGenerics(QString, int);
00058 
00059 public:
00060   QString EntityName;
00061   QString PortNames;
00062   QString TypeNames;
00063   QString GenTypes;
00064   QString GenNames;
00065   QString GenDefs;
00066 };
00067 
00068 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines