void CQTSSAResultSubWidget::displayResult() { assert(CCopasiRootContainer::getDatamodelList()->size() > 0); pTSSATask = dynamic_cast<CTSSATask *>((*(*CCopasiRootContainer::getDatamodelList())[0]->getTaskList())["Time Scale Separation Analysis"]); if (!pTSSATask) return; pProblem = dynamic_cast<CTSSAProblem*>(pTSSATask->getProblem()); pModel = pProblem->getModel(); pMethod = dynamic_cast<CTSSAMethod*>(pTSSATask->getMethod()); QString a = FROM_UTF8(pModel->getTimeUnitName()); mpSlider->setRange(1, pProblem->getStepNumber()); mpSlider->setValue(mpSlider->minimum()); mpBox1->clear(); unsigned C_INT i; for (i = 0; i < pMethod->getTableName().size(); i++) { mpBox1->insertItem(0, FROM_UTF8(pMethod->getTableName()[i])); } mpArrayWidget->switchToTable(); mpSlider->setDisabled(false); changeInterval(); }
setIntervalTimer changeInterval(setIntervalTimer timer, long ms, setIntervalFunction *callback, void *userData) { setIntervalTimer r = changeInterval(timer, ms); if (r != SET_INTERVAL_ERROR) { setIntervalTable[timer].callback = callback; setIntervalTable[timer].userData = userData; } return r; }
int QTimer::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: timeout(); break; case 1: start((*reinterpret_cast< int(*)>(_a[1]))); break; case 2: start(); break; case 3: stop(); break; case 4: changeInterval((*reinterpret_cast< int(*)>(_a[1]))); break; case 5: { int _r = start((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; } break; } _id -= 6; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = isSingleShot(); break; case 1: *reinterpret_cast< int*>(_v) = interval(); break; case 2: *reinterpret_cast< bool*>(_v) = isActive(); break; } _id -= 3; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setSingleShot(*reinterpret_cast< bool*>(_v)); break; case 1: setInterval(*reinterpret_cast< int*>(_v)); break; } _id -= 3; } else if (_c == QMetaObject::ResetProperty) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 3; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 3; } #endif // QT_NO_PROPERTIES return _id; }
int main(int argc, char **argv) { printf("Dummy TM client for GRASP, version %s\n",version); printf("Press '?' for runtime help\n"); fflush(stdout); // default to localhost const char *server_name= DEFAULT_SERVER; u16 port = DEFAULT_PORT; int retval; u32 addr; int socket_type = SOCK_STREAM; struct sockaddr_in server; WSADATA wsaData; SOCKET conn_socket; if (argc >1) { for(int i=1; i<argc; i++) { if ((argv[i][0] == '-') || (argv[i][0] == '/')) { switch(tolower(argv[i][1])) { case 'n': server_name = argv[++i]; break; case 'p': port = atoi(argv[++i]); break; default: Usage(argv[0]); break; } } else Usage(argv[0]); } } if ((retval = WSAStartup(0x202, &wsaData)) != 0) { fprintf(stderr,"Client: WSAStartup() failed with error %d\n", retval); fprintf(stderr, "Press <Return> to continue. " ); _getch(); WSACleanup(); return -1; } else { printf("Client: WSAStartup() is OK.\n"); fflush(stdout); } if (port == 0) { Usage(argv[0]); } { // Convert nnn.nnn address to a usable one addr = inet_addr(server_name); if(addr==INADDR_NONE) { fprintf(stderr,"Client: problem interpreting IP address.\n"); fprintf(stderr, "Press <Return> to continue. " ); _getch(); WSACleanup(); exit(1); } } // Copy the resolved information into the sockaddr_in structure memset(&server, 0, sizeof(server)); memcpy(&(server.sin_addr), &addr, 4); server.sin_family = AF_INET; server.sin_port = htons(port); conn_socket = socket(AF_INET, socket_type, 0); /* Open a socket */ if (conn_socket <0 ) { fprintf(stderr,"Client: Error Opening socket: Error %d\n", WSAGetLastError()); fprintf(stderr, "Press <Return> to continue. " ); _getch(); WSACleanup(); return -1; } else { printf("Client: socket() is OK.\n"); fflush(stdout); } // Set TCP_NODELAY to reduce jitter s32 flag = 1; setsockopt(conn_socket, /* socket affected */ IPPROTO_TCP, /* set option at TCP level */ TCP_NODELAY, /* name of option */ (sz *) &flag, /* the cast is historical cruft */ sizeof(s32)); /* length of option value */ printf("Client: Client connecting to: %s.\n", server_name); fflush(stdout); if (connect(conn_socket, (struct sockaddr*)&server, sizeof(server)) == SOCKET_ERROR) { fprintf(stderr,"Client: connect() failed: %d\n", WSAGetLastError()); fprintf(stderr, "Press <Return> to continue. " ); _getch(); WSACleanup(); return -1; } else { printf("Client: connect() is OK.\n"); fflush(stdout); } // Initialize timer stuff QueryPerformanceFrequency(&pfreq); QueryPerformanceCounter(&ptime); hk_expiry = ptime.QuadPart; rt_expiry = ptime.QuadPart; cam_expiry = ptime.QuadPart; timeBeginPeriod(1); // Increase windows timer resolution while(!exit_req) { if( _kbhit() ) { int c = _getch(); switch(c) { case 'h': case 'H': if(manual_mode) { sendHK(conn_socket); } else { auto_hk=!auto_hk; printf("Housekeeping TM is %s\n",auto_hk ? "ON" : "OFF"); fflush(stdout); if(auto_hk) { hk_expiry = ptime.QuadPart; } } break; case 'r': case 'R': if(manual_mode) { sendRT(conn_socket); } else { auto_rt=!auto_rt; printf("Real time TM is %s\n",auto_rt ? "ON" : "OFF"); fflush(stdout); if(auto_rt) { rt_expiry = ptime.QuadPart; } } break; case 'c': case 'C': if(manual_mode) { sendCam(conn_socket); } else { auto_cam=!auto_cam; printf("CAM trigger transmission is %s\n",auto_cam ? "ON" : "OFF"); fflush(stdout); if(auto_cam) { cam_expiry = ptime.QuadPart; } } break; case 's': case 'S': printStatus(); break; case 'm': case 'M': manual_mode=!manual_mode; printf("Mode is %s\n",manual_mode ? "MANUAL" : "AUTO"); fflush(stdout); hk_expiry= ptime.QuadPart; rt_expiry= ptime.QuadPart; cam_expiry= ptime.QuadPart; break; case 'i': case 'I': changeInterval(); QueryPerformanceCounter(&ptime); hk_expiry= ptime.QuadPart; rt_expiry= ptime.QuadPart; cam_expiry= ptime.QuadPart; break; case 'v': case 'V': verbosity = (verbosity+1)%4; printf("Verbosity level is %u\n",verbosity); fflush(stdout); break; case 'q': case 'Q': exit_req=true; break; default: printHelp(); break; } } // Update current time QueryPerformanceCounter(&ptime); if(!manual_mode) { // Transmit auto generated packets if their time is due if(auto_hk && (hk_expiry<=ptime.QuadPart)) { sendHK(conn_socket); hk_expiry += (LONGLONG)(hk_period * pfreq.QuadPart); } if(auto_rt && (rt_expiry<=ptime.QuadPart)) { sendRT(conn_socket); rt_expiry += (LONGLONG)(rt_period * pfreq.QuadPart); } if(auto_cam && (cam_expiry<=ptime.QuadPart)) { sendCam(conn_socket); cam_expiry += (LONGLONG)(cam_period * pfreq.QuadPart); } } Sleep(1); } // Clean up timeEndPeriod(1U); closesocket(conn_socket); WSACleanup(); return 0; }
void LifeTimer::setSpeed( int speed ) { interval = MAXSPEED - speed; if ( isActive() ) changeInterval( interval ); }