Qucs-GUI  0.0.19
/home/travis/build/Qucs/qucs/qucs/qucs/main.h
Go to the documentation of this file.
00001 /***************************************************************************
00002                                   main.h
00003                                  --------
00004     begin                : Mon May 24  2004
00005     copyright            : (C) 2003 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  ***************************************************************************/
00022 #ifndef QUCS_MAIN_H
00023 #define QUCS_MAIN_H
00024 
00025 #include <QFont>
00026 #include <QColor>
00027 #include <QStringList>
00028 #include <QDir>
00029 
00030 #include "wire.h"
00031 #include "node.h"
00032 #include "diagrams/diagram.h"
00033 
00034 class QucsApp;
00035 class Component;
00036 
00037 static const double pi = 3.1415926535897932384626433832795029;  /* pi   */
00038 
00039 struct tQucsSettings {
00040   int x, y, dx, dy;    // position and size of main window
00041   QFont font;
00042   float largeFontSize;
00043   QColor BGColor;      // background color of view area
00044   QString Language;
00045 
00046   // syntax highlighting
00047   QColor Comment, String, Integer, Real, Character, Type,
00048     Attribute, Directive, Task;
00049 
00050   unsigned int maxUndo;    // size of undo stack
00051   QString Editor;
00052   QString Qucsator;
00053   QString Qucsconv;
00054   QString BinDir;
00055   QString LangDir;
00056   QString LibDir;
00057   QString OctaveDir;  // m-files location
00058   QString ExamplesDir;
00059   QString DocDir;
00060 
00061   unsigned int NodeWiring;
00062   QDir QucsWorkDir;
00063   QDir QucsHomeDir;
00064   QDir AdmsXmlBinDir;  // dir of admsXml executable
00065   QDir AscoBinDir;     // dir of asco executable
00066   QDir OctaveBinDir;   // dir of octave executable
00067 
00068   // registered filename extensions with program to open the file
00069   QStringList FileTypes;
00070 
00071   // List of extensions used for spice files
00072   QStringList spiceExtensions;
00073 
00074   unsigned int numRecentDocs;
00075   QStringList RecentDocs;
00076 
00077   bool IgnoreFutureVersion;
00078   bool GraphAntiAliasing;
00079   bool TextAntiAliasing;
00080 };
00081 
00082 extern tQucsSettings QucsSettings;  // extern because nearly everywhere used
00083 extern QucsApp *QucsMain;  // the Qucs application itself
00084 extern QString lastDir;    // to remember last directory for several dialogs
00085 extern QStringList qucsPathList;
00086 
00087 bool loadSettings();
00088 bool saveApplSettings();
00089 void qucsMessageOutput(QtMsgType type, const char *msg);
00090 
00091 #endif // ifndef QUCS_MAIN_H
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines