1 /**************************************************************
3 Copyright (C) 1997 Oskar Swida
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 NOTE: This software is using the free software license of
23 the QT library v.1.30 from Troll Tech AS.
24 See the file LICENSE.QT.
27 To contact the author, write:
28 e-mail: swida@aragorn.pb.bialystok.pl
30 ************************************************************/
35 #include <QtGui/QMainWindow>
36 #include <QtGui/QListWidget>
37 #include <QtGui/QTextEdit>
38 #include <QtCore/QSocketNotifier>
45 #define REMOTE_PATH "REMOTE"
47 #define MAXINSTANCES 256
60 /** Interpreter identifier */
62 /** Defines if interpreter is remote or not */
70 QSocketNotifier *notify;
71 /* IDs of my remote INT modules */
72 int RInstances[MAXINSTANCES];
73 /* Parent interpreter info */
84 ConnectEntry(char *s) {
93 class QKernel : public QMainWindow {
107 virtual void resizeEvent(QResizeEvent *ev);
109 void WriteMessage(char* msg);
121 void UnlockConsole();
122 void MessageToNode();
125 void IntMessage(int);
126 void KillInterpreter();
133 virtual void closeEvent (QCloseEvent * e);
136 QList<InterpEntry*> Interpreters;
137 QList<ConnectEntry*> ConnectList;
138 QListWidget *connections;
141 * number of working interpreters
142 * @attention Currently not in use
147 * number of connected VLPs
149 int ActiveConnections;
151 * Indicates state of the Kernel Program. Is it locked or not.
157 QAction * toolsEditorAction;
158 QAction * toolsOptionsAction;
159 QAction * toolsInfoAction;
160 QAction * programExecuteAction;
161 QAction * programKillAction;
162 QAction * machineMessageAction;
163 QAction * machineConnectAction;
164 QAction * machineDisconnectAction;
165 QAction * machineInfoAction;
166 QAction * toolsLockAction;
167 QAction * toolsUnlockAction;
168 QAction * quitAction;
172 QSocketNotifier *Net_Notify;
176 void LoadConfig(char *);
177 void RunGraphModule(char*);
179 InterpEntry *findINTbySocket(int);
180 InterpEntry *findINTbyID(int);
181 InterpEntry *RunIntModule(char *ss, int r);
182 void RemoteInstance(InterpEntry*, int);
183 void CloseInstances(InterpEntry*);
186 * Sets QKernel menu entries to the given status
187 * @param locked status which will be set on the menu entries.
189 void setLocked(bool locked);
192 #endif /* VLP_KERNEL_H */