TinkerCell Core 1.0
TinkerCell's Core library providing all basic functionalities
C_API_Slots.h
Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines