00001 #ifndef QTGUI_QTGUICALLBACKS_H
00002 #define QTGUI_QTGUICALLBACKS_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <rebecca/CallBacks.h>
00027
00028
00029 #include <iostream>
00030
00031
00032 #include <QTextEdit>
00033 #include <QScrollBar>
00034 #include <QObject>
00035
00036 namespace qtgui
00037 {
00038
00039 using namespace rebecca;
00040 using namespace std;
00041
00055 class QtGuiCallBacks : public QObject, public CallBacks
00056 {
00057 Q_OBJECT
00058
00059 public:
00060
00073 void storeGossip(const char * const gossip)
00074 {
00075 QString output;
00076 output += "[Gossip: ";
00077 output += gossip;
00078 output += " ]";
00079 emit addText(output);
00080 }
00081
00093 void categoryLoaded()
00094 {
00095 static int i = 0;
00096 const int numberOfCategories = 5000;
00097
00098
00099
00100
00101
00102
00103 if(++i % numberOfCategories == 0)
00104 {
00105 QString num;
00106 num.setNum(i);
00107 QString output;
00108 output += "[";
00109 output += num;
00110 output += " categories loaded]";
00111 emit addText(output);
00112 }
00113 }
00114
00120 void filePreLoad(const char *const fileName)
00121 {
00122 QString output;
00123 output += "[Loading ";
00124 output += fileName;
00125 output += "]";
00126 emit addText(output);
00127 }
00128
00134 void filePostLoad(const char *const fileName)
00135 {
00136 QString output;
00137 output += "[Done loading ";
00138 output += fileName;
00139 output += "]";
00140 emit addText(output);
00141 }
00142
00154 void symbolicReduction(const char *const symbol)
00155 {
00156 QString output;
00157 output += "Symbolic reduction: ";
00158 output += symbol;
00159 emit addText(output);
00160 }
00161
00170 void infiniteSymbolicReduction()
00171 {
00172 emit addText("[Infinite Symbolic reduction detected]");
00173 }
00174
00183 virtual void XMLParseError(const char * const message)
00184 {
00185 emit addText(message);
00186 }
00187
00196 virtual void XMLParseWarning(const char * const message)
00197 {
00198 emit addText(message);
00199 }
00200
00209 virtual void XMLParseFatalError(const char * const message)
00210 {
00211 emit addText(message);
00212 }
00213
00220 virtual void thatStarTagSizeExceeded()
00221 {
00222 emit addText("[Warning thatStar Tag Size Exceeded]");
00223 }
00224
00231 virtual void topicStarTagSizeExceeded()
00232 {
00233 emit addText("[Warning topicStar Tag Size Exceeded]");
00234 }
00235
00242 virtual void starTagSizeExceeded()
00243 {
00244 emit addText("[Warning star Tag Size Exceeded]");
00245 }
00246
00254 virtual void inputTagNumericConversionError(const char * const message)
00255 {
00256 QString output("inputTagNuermicConversionError:");
00257 output += message;
00258 emit addText(message);
00259 }
00260
00267 virtual void inputTagSizeExceeded()
00268 {
00269 emit addText("[Warning input Tag Size Exceeded]");
00270 }
00271
00279 virtual void starTagNumericConversionError(const char * const message)
00280 {
00281 QString output("starTagNuermicConversionError:");
00282 output += message;
00283 emit addText(message);
00284 }
00285
00292 virtual void thatTagSizeExceeded()
00293 {
00294 emit addText("thatTag Size exceeded");
00295 }
00296
00304 virtual void thatTagNumericConversionError(const char * const message)
00305 {
00306 QString output("thatTagNumericConversionError:");
00307 output += message;
00308 emit addText(output);
00309 }
00310
00318 virtual void topicStarTagNumericConversionError(const char * const message)
00319 {
00320 QString output("topicStarTagNumericConversionError:");
00321 output += message;
00322 emit addText(output);
00323 }
00324
00332 virtual void thatStarTagNumericConversionError(const char * const message)
00333 {
00334 QString output("thatStarTagNumericConversionError:");
00335 output += message;
00336 emit addText(output);
00337 }
00338
00339 signals:
00340
00347 void addText(const QString &text);
00348 };
00349
00350 }
00351
00352 #endif