![]() |
TinkerCell Core 1.0
TinkerCell's Core library providing all basic functionalities
|
00001 /**************************************************************************** 00002 Copyright (c) 2008 Deepak Chandran 00003 Contact: Deepak Chandran (dchandran1@gmail.com) 00004 See COPYRIGHT.TXT 00005 00006 The two classes defined in this file provide the C API for the TinkerCellCore 00007 library. Each plug-in can provide its own C API using this same procedure. Of course, 00008 the API provided by this file is probably much larger than individual plug-in APIs. 00009 00010 ****************************************************************************/ 00011 00012 #ifndef TINKERCELL_CORECAPI_H 00013 #define TINKERCELL_CORECAPI_H 00014 00015 #include <QObject> 00016 #include <QWidget> 00017 #include <QLibrary> 00018 #include <QSemaphore> 00019 #include <QList> 00020 #include <QString> 00021 #include <QStringList> 00022 #include <QColor> 00023 #include <QGraphicsItem> 00024 #include <QListWidget> 00025 #include <QListWidgetItem> 00026 #include <QFile> 00027 #include <QFileInfo> 00028 #include <QLabel> 00029 #include "DataTable.h" 00030 #include "TC_structs.h" 00031 00032 namespace Tinkercell 00033 { 00034 class ConsoleWindow; 00035 class NetworkHandle; 00036 class GraphicsScene; 00037 class MainWindow; 00038 class ItemHandle; 00039 class CThread; 00040 class NodeGraphicsItem; 00041 00042 typedef void (*MatrixInputFunction)(tc_matrix); 00043 00045 class TINKERCELLCOREEXPORT Core_FtoS : public QObject 00046 { 00047 Q_OBJECT 00048 00049 signals: 00050 void allItems(QSemaphore*,QList<ItemHandle*>*); 00051 void selectedItems(QSemaphore*,QList<ItemHandle*>*); 00052 void itemsOfFamily(QSemaphore*,QList<ItemHandle*>*,const QString&); 00053 void itemsOfFamily(QSemaphore*,QList<ItemHandle*>*,const QList<ItemHandle*>&,const QString&); 00054 void find(QSemaphore*,ItemHandle**,const QString&); 00055 void findItems(QSemaphore*,QList<ItemHandle*>*,const QStringList&); 00056 void findItemsUsingRegex(QSemaphore*,QList<ItemHandle*>*,const QString&); 00057 void select(QSemaphore*,ItemHandle*); 00058 void deselect(QSemaphore*); 00059 void removeItem(QSemaphore*,ItemHandle* ); 00060 void insertItem(QSemaphore*, ItemHandle** item, const QString& name, const QString& family); 00061 void insertConnection(QSemaphore*,ItemHandle** item,const QList<ItemHandle*>&,const QString&, const QString&); 00062 void getConnectedNodes(QSemaphore*,QList<ItemHandle*>*,ItemHandle*); 00063 void getConnections(QSemaphore*,QList<ItemHandle*>*,ItemHandle*); 00064 void setPos(QSemaphore*,ItemHandle* ,qreal ,qreal ); 00065 void setPos(QSemaphore*,const QList<ItemHandle*>& , DataTable<qreal>&); 00066 void getPos(QSemaphore*,const QList<ItemHandle*>& , DataTable<qreal>*); 00067 void getY(QSemaphore*,qreal*,ItemHandle* ); 00068 void getX(QSemaphore*,qreal*,ItemHandle* ); 00069 void moveSelected(QSemaphore*,qreal ,qreal ); 00070 void getFamily(QSemaphore*,QString*,ItemHandle* ); 00071 void getName(QSemaphore*,QString*,ItemHandle* ); 00072 void getUniqueName(QSemaphore*,QString*,ItemHandle* ); 00073 void setName(QSemaphore*,ItemHandle*,const QString&); 00074 void getNames(QSemaphore*,QStringList*,const QList<ItemHandle*>&); 00075 void getUniqueNames(QSemaphore*,QStringList*,const QList<ItemHandle*>&); 00076 void isA(QSemaphore*,int*,ItemHandle*, const QString&); 00077 void outputText(QSemaphore*,const QString&); 00078 void errorReport(QSemaphore*,const QString&); 00079 void printFile(QSemaphore*,const QString&); 00080 void clearText(QSemaphore*); 00081 void outputTable(QSemaphore*,const DataTable<qreal>&); 00082 void createInputWindow(QSemaphore*,const DataTable<qreal>&, const QString&,const QString&); 00083 void createInputWindow(QSemaphore*,long, const DataTable<qreal>&, const QString &, MatrixInputFunction); 00084 void createSliders(QSemaphore*,CThread*, const DataTable<qreal>&, MatrixInputFunction); 00085 void addInputWindowOptions(QSemaphore*, const QString&, int i, int j, const QStringList&); 00086 void addInputWindowCheckbox(QSemaphore*, const QString&, int i, int j); 00087 void openNewWindow(QSemaphore*,const QString&); 00088 void isWindows(QSemaphore*,int*); 00089 void isMac(QSemaphore*,int*); 00090 void isLinux(QSemaphore*,int*); 00091 void appDir(QSemaphore*,QString*); 00092 void homeDir(QSemaphore*,QString*); 00093 void zoom(QSemaphore*,qreal); 00094 void viewWindow(QSemaphore *, const QString&); 00095 00096 void getNumericalDataNames(QSemaphore*,QStringList*,ItemHandle*); 00097 void getTextDataNames(QSemaphore*,QStringList*,ItemHandle*); 00098 00099 void getNumericalData(QSemaphore*,DataTable<qreal>*,ItemHandle*,const QString&); 00100 void setNumericalData(QSemaphore*,ItemHandle*,const QString&,const DataTable<qreal>&); 00101 void getTextData(QSemaphore*,DataTable<QString>*,ItemHandle*,const QString&); 00102 void setTextData(QSemaphore*,ItemHandle*,const QString&,const DataTable<QString>&); 00103 00104 void getChildren(QSemaphore*,QList<ItemHandle*>*,ItemHandle*); 00105 void getParent(QSemaphore*,ItemHandle**,ItemHandle*); 00106 00107 void getString(QSemaphore*,QString*,const QString&); 00108 void getFilename(QSemaphore*,QString*); 00109 void getSelectedString(QSemaphore*,int*,const QString&,const QStringList&,const QString&); 00110 void getNumber(QSemaphore*,qreal*,const QString&); 00111 void getNumbers(QSemaphore*,const QStringList&,DataTable<qreal>*); 00112 00113 void askQuestion(QSemaphore*,const QString&,int*); 00114 void messageDialog(QSemaphore*,const QString&); 00115 void openFile(QSemaphore*,const QString&); 00116 void saveToFile(QSemaphore*,const QString&); 00117 00118 void setSize(QSemaphore*, ItemHandle*,double,double,int); 00119 void getWidth(QSemaphore*, ItemHandle*, double*); 00120 void getHeight(QSemaphore*, ItemHandle*,double*); 00121 void setAngle(QSemaphore*, ItemHandle*,double,int); 00122 void getColor(QSemaphore*,QString*,ItemHandle*); 00123 void setColor(QSemaphore*,ItemHandle*,const QString&,int); 00124 00125 void changeGraphics(QSemaphore*,ItemHandle*,const QString&); 00126 void changeArrowHead(QSemaphore*,ItemHandle*,const QString&); 00127 00128 void screenshot(QSemaphore*, const QString&, int, int); 00129 void screenHeight(QSemaphore*, int*); 00130 void screenWidth(QSemaphore*, int*); 00131 void screenX(QSemaphore*, int*); 00132 void screenY(QSemaphore*, int*); 00133 00134 void annotations(QSemaphore*, QString*); 00135 void insertAnnotation(QSemaphore*, const QString&, double, double); 00136 00137 void setNumericalValues(QSemaphore*, const DataTable<qreal>&); 00138 void setNumericalValue(QSemaphore*, const QString&, double); 00139 void setTextValues(QSemaphore*, const TextDataTable&); 00140 void setTextValue(QSemaphore*, const QString&, const QString&); 00141 00142 void getNumericalValue(QSemaphore*, const QString&, double*); 00143 void getTextValue(QSemaphore*, const QString&, QString*); 00144 void getNumericalValueUsingRegex(QSemaphore*,const QString&, DataTable<qreal>*); 00145 void getTextValueUsingRegex(QSemaphore*,const QString&, DataTable<QString>*); 00146 00147 void getControlPointX(QSemaphore*,qreal*,ItemHandle*,ItemHandle*,int); 00148 void getControlPointY(QSemaphore*,qreal*,ItemHandle*,ItemHandle*,int); 00149 void setControlPoint(QSemaphore*,ItemHandle*,ItemHandle*,int,qreal,qreal); 00150 void getCenterPointX(QSemaphore*,qreal*,ItemHandle*); 00151 void getCenterPointY(QSemaphore*,qreal*,ItemHandle*); 00152 void setCenterPoint(QSemaphore*,ItemHandle*,qreal,qreal); 00153 void setLineWidth(QSemaphore*,ItemHandle*,qreal,int); 00154 void setStraight(QSemaphore*,ItemHandle*,int); 00155 void setAllStraight(QSemaphore*,int); 00156 00157 public: 00158 void zoom(double); 00159 void viewWindow(const char*); 00160 tc_items allItems(); 00161 tc_items itemsOfFamily(const char*); 00162 tc_items itemsOfFamily(const char*, tc_items); 00163 tc_items selectedItems(); 00164 long find(const char*); 00165 tc_items findItems(tc_strings); 00166 tc_items findItemsUsingRegex(const char *); 00167 void select(long); 00168 void deselect(); 00169 const char* getName(long); 00170 const char* getUniqueName(long); 00171 void setName(long,const char*); 00172 tc_strings getNames(tc_items); 00173 tc_strings getUniqueNames(tc_items); 00174 const char* getFamily(long); 00175 int isA(long,const char*); 00176 void removeItem(long); 00177 long insertItem(const char* , const char* ); 00178 long insertConnection(tc_items, const char*, const char*); 00179 tc_items getConnectedNodes(long); 00180 tc_items getConnections(long); 00181 00182 void setPos(long,double ,double ); 00183 00184 void setPos(tc_items,tc_matrix); 00185 tc_matrix getPos(tc_items); 00186 00187 double getY(long); 00188 double getX(long); 00189 void moveSelected(double ,double ); 00190 void outputTable(tc_matrix m); 00191 void outputText(const char*); 00192 void errorReport(const char*); 00193 void clearText(); 00194 void printFile(const char*); 00195 void createInputWindow(tc_matrix, const char*, const char*); 00196 void createInputWindow(long, tc_matrix, const char*, MatrixInputFunction); 00197 void createSliders(long, tc_matrix, MatrixInputFunction); 00198 void addInputWindowOptions(const char*, int i, int j, tc_strings); 00199 void addInputWindowCheckbox(const char*, int i, int j); 00200 void openNewWindow(const char*); 00201 int isWindows(); 00202 int isMac(); 00203 int isLinux(); 00204 const char* appDir(); 00205 const char* homeDir(); 00206 00207 tc_strings getNumericalDataNames(long); 00208 tc_strings getTextDataNames(long); 00209 00210 tc_matrix getNumericalData(long,const char*); 00211 void setNumericalData(long,const char*, tc_matrix); 00212 00213 tc_table getTextData(long,const char*); 00214 void setTextData(long,const char*,tc_table); 00215 00216 tc_items getChildren(long); 00217 long getParent(long); 00218 00219 const char* getString(const char*); 00220 const char* getFilename(); 00221 int getSelectedString(const char*, tc_strings,const char*); 00222 double getNumber(const char*); 00223 tc_matrix getNumbers(tc_strings); 00224 00225 int askQuestion(const char*); 00226 void messageDialog(const char*); 00227 void openFile(const char*); 00228 void saveToFile(const char*); 00229 00230 void setSize(long,double,double,int); 00231 double getWidth(long); 00232 double getHeight(long); 00233 void setAngle(long,double,int); 00234 const char* getColor(long); 00235 void setColor(long,const char*,int); 00236 00237 void changeGraphics(long,const char*); 00238 void changeArrowHead(long,const char*); 00239 00240 void screenshot(const char*, int, int); 00241 int screenHeight(); 00242 int screenWidth(); 00243 int screenX(); 00244 int screenY(); 00245 00246 const char * annotation(); 00247 void insertAnnotation(const char *, double, double); 00248 00249 void setNumericalValues(tc_matrix); 00250 void setNumericalValue(const char *, double); 00251 void setTextValues(tc_table); 00252 void setTextValue(const char *, const char *); 00253 00254 double getNumericalValue(const char*); 00255 const char* getTextValue(const char*); 00256 tc_matrix getNumericalValueUsingRegex(const char*); 00257 tc_table getTextValueUsingRegex(const char*); 00258 00259 double getControlPointX(long a0,long a1,int a2); 00260 double getControlPointY(long a0,long a1,int a2); 00261 void setControlPoint(long a0,long a1,int i,double a2,double a3); 00262 void setCenterPoint(long a0,double a1,double a2); 00263 double getCenterPointX(long); 00264 double getCenterPointY(long); 00265 void setStraight(long,int); 00266 void setAllStraight(int); 00267 void setLineWidth(long,double,int); 00268 }; 00269 00274 class C_API_Slots : public QObject 00275 { 00276 Q_OBJECT 00277 00278 public: 00279 C_API_Slots(MainWindow * ); 00280 signals: 00281 void saveNetwork(const QString&); 00282 private: 00283 00284 static Core_FtoS * fToS; 00285 00286 MainWindow * mainWindow; 00287 ConsoleWindow * console() const; 00288 NetworkHandle * currentNetwork() const; 00289 GraphicsScene * currentScene() const; 00290 00291 static void _zoom(double); 00292 static void _viewWindow(const char*); 00293 static tc_items _allItems(); 00294 static tc_items _itemsOfFamily(const char*); 00295 static tc_items _itemsOfFamily2(const char*, tc_items); 00296 static tc_items _selectedItems(); 00297 static long _find(const char*); 00298 static tc_items _findItems(tc_strings); 00299 static tc_items _findItemsUsingRegex(const char *); 00300 static void _select(long); 00301 static void _deselect(); 00302 static const char* _getName(long); 00303 static const char* _getUniqueName(long); 00304 static void _setName(long,const char*); 00305 static tc_strings _getNames(tc_items); 00306 static tc_strings _getUniqueNames(tc_items); 00307 static const char* _getFamily(long); 00308 static int _isA(long,const char*); 00309 static void _removeItem(long); 00310 static long _insertItem(const char* , const char* ); 00311 static long _insertConnection(tc_items, const char*, const char*); 00312 static tc_items _getConnectedNodes(long); 00313 static tc_items _getConnections(long); 00314 static void _setPos(long,double ,double ); 00315 00316 static void _setPos2(tc_items,tc_matrix); 00317 static tc_matrix _getPos(tc_items); 00318 00319 static double _getY(long); 00320 static double _getX(long); 00321 static void _moveSelected(double ,double ); 00322 static void _outputTable(tc_matrix m); 00323 static void _outputText(const char*); 00324 static void _errorReport(const char*); 00325 static void _clearText(); 00326 static void _printFile(const char*); 00327 00328 static void _createInputWindow1(tc_matrix, const char*, const char*); 00329 static void _createInputWindow2(long, tc_matrix, const char*, MatrixInputFunction); 00330 static void _createSliders(long, tc_matrix, MatrixInputFunction); 00331 static void _addInputWindowOptions(const char*, int i, int j, tc_strings); 00332 static void _addInputWindowCheckbox(const char*, int i, int j); 00333 static void _openNewWindow(const char*); 00334 static int _isWindows(); 00335 static int _isMac(); 00336 static int _isLinux(); 00337 static const char* _appDir(); 00338 static const char* _homeDir(); 00339 00340 static tc_strings _getNumericalDataNames(long); 00341 static tc_strings _getTextDataNames(long); 00342 static tc_matrix _getNumericalData(long,const char*); 00343 static void _setNumericalData(long, const char *, tc_matrix); 00344 static tc_table _getTextData(long,const char*); 00345 static void _setTextData(long, const char *, tc_table); 00346 static tc_items _getChildren(long); 00347 00348 static long _getParent(long); 00349 00350 static const char* _getString(const char*); 00351 static int _getSelectedString(const char*, tc_strings,const char*); 00352 static double _getNumber(const char*); 00353 static tc_matrix _getNumbers(tc_strings); 00354 static const char* _getFilename(); 00355 static void _setSize(long,double,double,int); 00356 static double _getWidth(long); 00357 static double _getHeight(long); 00358 static void _setAngle(long,double,int); 00359 static const char* _getColor(long); 00360 static void _setColor(long,const char *,int); 00361 static void _changeGraphics(long,const char*); 00362 static void _changeArrowHead(long,const char*); 00363 static int _askQuestion(const char*); 00364 static void _messageDialog(const char*); 00365 static void _openFile(const char *); 00366 static void _saveToFile(const char *); 00367 00368 static void _screenshot(const char*, int, int); 00369 static int _screenHeight(); 00370 static int _screenWidth(); 00371 static int _screenX(); 00372 static int _screenY(); 00373 00374 static const char * _annotations(); 00375 static void _insertAnnotation(const char *, double, double); 00376 00377 static void _setNumericalValues(tc_matrix); 00378 static void _setNumericalValue(const char *, double); 00379 static void _setTextValues(tc_table); 00380 static void _setTextValue(const char *, const char *); 00381 00382 static double _getNumericalValue(const char*); 00383 static const char* _getTextValue(const char*); 00384 static tc_matrix _getNumericalValueUsingRegex(const char*); 00385 static tc_table _getTextValueUsingRegex(const char*); 00386 00387 static void _openUrl(const char*); 00388 00389 static double _getControlPointX(long ,long ,int ); 00390 static double _getControlPointY(long ,long ,int ); 00391 static void _setControlPoint(long ,long ,int i, double ,double ); 00392 static double _getCenterPointX(long); 00393 static double _getCenterPointY(long); 00394 static void _setCenterPoint(long,double,double); 00395 static void _setStraight(long,int); 00396 static void _setAllStraight(int); 00397 static void _setLineWidth(long,double,int); 00398 00402 QDialog * getStringDialog; 00406 QListWidget getStringList; 00410 int getStringListNumber; 00414 QStringList getStringListText; 00418 QLabel getStringListLabel; 00422 void connectTCFunctions(); 00423 00424 private slots: 00430 void setupFunctionPointers(QLibrary * library); 00436 void escapeSlot ( const QWidget * ); 00443 void zoom(QSemaphore*,qreal); 00451 void itemName(QSemaphore*,QString*,ItemHandle*); 00459 void uniqueName(QSemaphore*,QString*,ItemHandle*); 00467 void setName(QSemaphore*,ItemHandle*,const QString&); 00475 void itemNames(QSemaphore*,QStringList*,const QList<ItemHandle*>&); 00483 void uniqueNames(QSemaphore*,QStringList*,const QList<ItemHandle*>&); 00491 void itemFamily(QSemaphore*,QString*,ItemHandle*); 00500 void isA(QSemaphore*,int*,ItemHandle*,const QString& ); 00508 void findItem(QSemaphore*,ItemHandle**,const QString& name); 00516 void findItems(QSemaphore*,QList<ItemHandle*>*,const QStringList& name); 00524 void findItemsUsingRegex(QSemaphore*,QList<ItemHandle*>*,const QString& regex); 00531 void select(QSemaphore*,ItemHandle* item); 00537 void deselect(QSemaphore*); 00544 void selectedItems(QSemaphore*,QList<ItemHandle*>*); 00551 void allItems(QSemaphore*,QList<ItemHandle*>*); 00559 void itemsOfFamily(QSemaphore*,QList<ItemHandle*>*,const QString&); 00568 void itemsOfFamily(QSemaphore*,QList<ItemHandle*>*,const QList<ItemHandle*>&,const QString&); 00577 void setPos(QSemaphore*,ItemHandle* item, qreal X, qreal Y); 00585 void setPos(QSemaphore*,const QList<ItemHandle*>& items, DataTable<qreal>& pos); 00593 void getX(QSemaphore*,qreal*,ItemHandle* item); 00601 void getY(QSemaphore*,qreal*,ItemHandle* item); 00609 void getPos(QSemaphore*,const QList<ItemHandle*>& item, DataTable<qreal>* pos); 00616 void removeItem(QSemaphore*,ItemHandle* item); 00624 void insertItem(QSemaphore*, ItemHandle** item, const QString& name, const QString& family); 00629 void insertConnection(QSemaphore*,ItemHandle** ,const QList<ItemHandle*>&,const QString&, const QString&); 00633 void getConnectedNodes(QSemaphore*,QList<ItemHandle*>*,ItemHandle*); 00637 void getConnections(QSemaphore*,QList<ItemHandle*>* list,ItemHandle*); 00645 void moveSelected(QSemaphore*,qreal x, qreal y); 00651 void outputText(QSemaphore*,const QString&); 00657 void clearText(QSemaphore* sem); 00663 void errorReport(QSemaphore*,const QString&); 00669 void printFile(QSemaphore*,const QString&); 00675 void outputTable(QSemaphore*,const DataTable<qreal>&); 00681 void createInputWindow(QSemaphore*,const DataTable<qreal>&,const QString&,const QString&); 00687 void createInputWindow(QSemaphore*,long, const DataTable<qreal>&,const QString&,MatrixInputFunction); 00693 void createSliders(QSemaphore*, CThread * , const DataTable<qreal>&, MatrixInputFunction); 00699 void addInputWindowOptions(QSemaphore*,const QString& name, int i, int j, const QStringList&); 00705 void addInputWindowCheckbox(QSemaphore*,const QString& name, int i, int j); 00713 void openNewWindow(QSemaphore*,const QString&); 00720 void isWindows(QSemaphore*,int*); 00727 void isMac(QSemaphore*,int*); 00734 void isLinux(QSemaphore*,int*); 00741 void appDir(QSemaphore*,QString*); 00748 void homeDir(QSemaphore*,QString*); 00756 void getNumericalDataNames(QSemaphore*,QStringList*,ItemHandle*); 00764 void getTextDataNames(QSemaphore*,QStringList*,ItemHandle*); 00773 void getNumericalData(QSemaphore*,DataTable<qreal>*,ItemHandle*,const QString&); 00782 void setNumericalData(QSemaphore* sem,ItemHandle* item,const QString& tool, const DataTable<qreal>& dat); 00791 void getTextData(QSemaphore*,DataTable<QString>*,ItemHandle*,const QString&); 00800 void setTextData(QSemaphore* sem,ItemHandle* item,const QString& tool, const DataTable<QString>& dat); 00801 00809 void getChildren(QSemaphore*,QList<ItemHandle*>*,ItemHandle*); 00817 void getParent(QSemaphore*,ItemHandle**,ItemHandle*); 00821 void getStringListItemSelected(QListWidgetItem *); 00825 void getStringListRowChanged(int); 00829 void getStringListCanceled(); 00833 void getStringSearchTextEdited(const QString & text); 00837 void getString(QSemaphore*,QString*,const QString&); 00841 void getSelectedString(QSemaphore*, int*, const QString&, const QStringList&, const QString&); 00845 void getNumber(QSemaphore*,qreal*,const QString&); 00849 void getNumbers(QSemaphore*,const QStringList&,DataTable<qreal>*); 00853 void getFilename(QSemaphore*,QString*); 00854 void askQuestion(QSemaphore*, const QString&, int *); 00855 void messageDialog(QSemaphore*, const QString&); 00856 void openFile(QSemaphore*,const QString&); 00857 void saveToFile(QSemaphore*,const QString&); 00858 void setSize(QSemaphore*, ItemHandle*,double,double,int); 00859 void getWidth(QSemaphore*, ItemHandle*, double*); 00860 void getHeight(QSemaphore*, ItemHandle*,double*); 00861 void setAngle(QSemaphore*, ItemHandle*,double,int); 00862 void getColor(QSemaphore*,QString*,ItemHandle*); 00863 void setColor(QSemaphore*,ItemHandle*,const QString&,int); 00864 void changeGraphics(QSemaphore*,ItemHandle*,const QString&); 00865 void changeArrowHead(QSemaphore*,ItemHandle*,const QString&); 00866 void screenshot(QSemaphore*, const QString &, int, int); 00867 void screenHeight(QSemaphore*, int*); 00868 void screenWidth(QSemaphore*, int*); 00869 void screenX(QSemaphore*, int*); 00870 void screenY(QSemaphore*, int*); 00871 void annotations(QSemaphore*, QString*); 00872 void insertAnnotation(QSemaphore*, const QString&, double, double); 00873 void setNumericalValues(QSemaphore*, const DataTable<qreal>&); 00874 void setNumericalValue(QSemaphore*, const QString&, double); 00875 void setTextValues(QSemaphore*, const TextDataTable&); 00876 void setTextValue(QSemaphore*, const QString&, const QString&); 00877 00878 void getNumericalValue(QSemaphore*, const QString&, double*); 00879 void getTextValue(QSemaphore*, const QString&, QString*); 00880 void getNumericalValueUsingRegex(QSemaphore*,const QString&, DataTable<qreal>*); 00881 void getTextValueUsingRegex(QSemaphore*,const QString&, DataTable<QString>*); 00882 00883 void getControlPointX(QSemaphore*,qreal*,ItemHandle*,ItemHandle*,int); 00884 void getControlPointY(QSemaphore*,qreal*,ItemHandle*,ItemHandle*,int); 00885 void setControlPoint(QSemaphore*,ItemHandle*,ItemHandle*,int,qreal,qreal); 00886 void setCenterPoint(QSemaphore*,ItemHandle*,qreal,qreal); 00887 void getCenterPointX(QSemaphore*,qreal*, ItemHandle*); 00888 void getCenterPointY(QSemaphore*,qreal*, ItemHandle*); 00889 void setStraight(QSemaphore*,ItemHandle*,int); 00890 void setAllStraight(QSemaphore*,int); 00891 void setLineWidth(QSemaphore* sem,ItemHandle* h,qreal value,int permanent); 00892 00893 void viewWindow(QSemaphore*, const QString&); 00894 00895 private: 00896 QList<QGraphicsItem*> temporarilyColorChanged; 00897 QList< QPair<NodeGraphicsItem*,QPointF> > temporarilyChangedSize; 00898 QList< QPair<NodeGraphicsItem*,double> > temporarilyChangedAngle; 00899 QList<QGraphicsItem*> createNewNode(GraphicsScene *, const QPointF& point, const QString& name, const QString& family, const QStringList& usedNames = QStringList()); 00900 }; 00901 } 00902 #endif 00903