#include <qscan345controller.h>

Public Types | |
| typedef Command | inherited |
Public Slots | |
| void | initialize () |
| void | erase () |
| void | scan () |
| void | changeMode2300 () |
| void | changeMode2000 () |
| void | changeMode1600 () |
| void | changeMode1200 () |
| void | changeMode3450 () |
| void | changeMode3000 () |
| void | changeMode2400 () |
| void | changeMode1800 () |
| void | restart_scanner () |
| void | change_scanner_number (int n) |
| int | poll_status () |
| void | setWorkingDirectory (QString d) |
| void | setFileRoot (QString root) |
| void | execute_command (QString cmd) |
| void | log_spy_message (QString msg) |
Signals | |
| void | scan_completed () |
| void | scanner_number_changed (int) |
| void | scan_mode_changed (int) |
Public Member Functions | |
| QScan345Controller (QScan345MainWindow *win, QScan345Server *srv, QObject *parent=0) | |
| ~QScan345Controller () | |
| void | updateScannerMenu () |
Private Member Functions | |
| void | changeMode (int n) |
| void | updateActions () |
| void | check_scanner_number () |
Private Attributes | |
| QMutex | m_Mutex |
| QTimer * | m_Timer |
| QScan345MainWindow * | m_MainWindow |
| QScan345Server * | m_Server |
| QList< int > | m_SerialNumbers |
Definition at line 12 of file qscan345controller.h.
| typedef Command QScan345Controller::inherited |
Reimplemented from Command.
Definition at line 18 of file qscan345controller.h.
| QScan345Controller::QScan345Controller | ( | QScan345MainWindow * | win, |
| QScan345Server * | srv, | ||
| QObject * | parent = 0 |
||
| ) |
Definition at line 22 of file qscan345controller.cpp.
References timeout.
: inherited(parent), m_MainWindow(win), m_Server(srv) { openlog("qscan354", 0, LOG_LOCAL0); log_spy_message("starting"); m_MainWindow -> setScanController(this); connect (this, SIGNAL(scanner_number_changed(int)), m_MainWindow, SLOT(update_scanner_menu())); check_scanner_number(); setWorkingDirectory("."); setFileRoot("junk"); m_Timer = new QTimer(this); connect(m_Timer, SIGNAL(timeout()), this, SLOT(poll_status())); connect (m_MainWindow->actionInitialize, SIGNAL(triggered()), this, SLOT(initialize())); connect (m_MainWindow->actionErase, SIGNAL(triggered()), this, SLOT(erase())); connect (m_MainWindow->actionScan, SIGNAL(triggered()), this, SLOT(scan())); connect (m_MainWindow->actionMode2300, SIGNAL(triggered()), this, SLOT(changeMode2300())); connect (m_MainWindow->actionMode2000, SIGNAL(triggered()), this, SLOT(changeMode2000())); connect (m_MainWindow->actionMode1600, SIGNAL(triggered()), this, SLOT(changeMode1600())); connect (m_MainWindow->actionMode1200, SIGNAL(triggered()), this, SLOT(changeMode1200())); connect (m_MainWindow->actionMode3450, SIGNAL(triggered()), this, SLOT(changeMode3450())); connect (m_MainWindow->actionMode3000, SIGNAL(triggered()), this, SLOT(changeMode3000())); connect (m_MainWindow->actionMode2400, SIGNAL(triggered()), this, SLOT(changeMode2400())); connect (m_MainWindow->actionMode1800, SIGNAL(triggered()), this, SLOT(changeMode1800())); connect (this, SIGNAL(print_message(QString)), m_MainWindow, SLOT(display_message(QString))); connect (this, SIGNAL(spy_message(QString)), m_MainWindow, SLOT(display_spy_message(QString))); connect (this, SIGNAL(spy_message(QString)), this, SLOT(log_spy_message(QString))); connect (m_Server, SIGNAL(execute_command(QString)), this, SLOT(execute_command(QString))); connect (this, SIGNAL(scan_finished()), m_Server, SLOT(scan_finished())); connect (this, SIGNAL(erase_finished()), m_Server, SLOT(erase_finished())); connect (m_MainWindow, SIGNAL(scanner_changed()), this, SLOT(restart_scanner())); scan345_main(0, NULL); m_Timer->start(10); updateActions(); }
| QScan345Controller::~QScan345Controller | ( | ) |
Definition at line 84 of file qscan345controller.cpp.
References log_spy_message().
{
log_spy_message("shutting down");
closelog();
}
| void QScan345Controller::change_scanner_number | ( | int | n | ) | [slot] |
Definition at line 109 of file qscan345controller.cpp.
References restart_scanner(), scanner_number_changed(), and QScan345Settings::setMarscannernumber().
{
QScan345Settings s;
s.setMarscannernumber(n);
restart_scanner();
emit scanner_number_changed(n);
}
| void QScan345Controller::changeMode | ( | int | n | ) | [private] |
Definition at line 222 of file qscan345controller.cpp.
References Command::exec_command(), QScan345Settings::setMarscannermode(), and updateActions().
Referenced by changeMode1200(), changeMode1600(), changeMode1800(), changeMode2000(), changeMode2300(), changeMode2400(), changeMode3000(), changeMode3450(), and initialize().
{
QScan345Settings s;
s.setMarscannermode(n);
exec_command(qPrintable(tr("MODE %1").arg(n)));
updateActions();
}
| void QScan345Controller::changeMode1200 | ( | ) | [slot] |
| void QScan345Controller::changeMode1600 | ( | ) | [slot] |
| void QScan345Controller::changeMode1800 | ( | ) | [slot] |
| void QScan345Controller::changeMode2000 | ( | ) | [slot] |
| void QScan345Controller::changeMode2300 | ( | ) | [slot] |
| void QScan345Controller::changeMode2400 | ( | ) | [slot] |
| void QScan345Controller::changeMode3000 | ( | ) | [slot] |
| void QScan345Controller::changeMode3450 | ( | ) | [slot] |
| void QScan345Controller::check_scanner_number | ( | ) | [private] |
Definition at line 121 of file qscan345controller.cpp.
References m_Mutex, m_SerialNumbers, QScan345Settings::marscannernumber(), QScan345Settings::martabledir(), scanner_number_changed(), and QScan345Settings::setMarscannernumber().
{
QMutexLocker lock(&m_Mutex);
QScan345Settings s;
QDir d(s.martabledir());
m_SerialNumbers.clear();
QStringList l = d.entryList(QStringList("config.[0-9][0-9][0-9]"));
printf("NFiles: %d\n", l.count());
QString nm;
foreach(nm,l) {
QRegExp rr("config.([0-9]+)");
if (rr.exactMatch(nm)) {
printf("Scanner %s\n", qPrintable(rr.cap(1)));
bool ok;
int n = rr.cap(1).toInt(&ok);
if (ok) {
m_SerialNumbers.append(n);
}
} else {
printf("%s\n", qPrintable(nm));
}
}
int n = s.marscannernumber();
QFile f0(d.filePath(tr("config.%1").arg(n,3,10,QLatin1Char('0'))));
QFile f1(d.filePath(tr("mar2300.%1").arg(n,3,10,QLatin1Char('0'))));
QFile f2(d.filePath(tr("mar3450.%1").arg(n,3,10,QLatin1Char('0'))));
printf("f0 : %s\n", qPrintable(f0.fileName()));
printf("f1 : %s\n", qPrintable(f1.fileName()));
printf("f2 : %s\n", qPrintable(f2.fileName()));
if (f0.exists() && f1.exists() && f2.exists()) {
printf("Scanner %d is valid\n", n);
} else {
printf("Calibration Tables for Scanner %d not available\n", n);
if (m_SerialNumbers.count()>0) {
n = m_SerialNumbers.at(0);
s.setMarscannernumber(n);
printf("Scanner %d used instead\n", n);
} else {
printf("No scanner calibration tables available\n");
}
}
emit scanner_number_changed(n);
}
| void QScan345Controller::erase | ( | ) | [slot] |
Definition at line 209 of file qscan345controller.cpp.
References Command::exec_command().
{
exec_command("comm erase");
}
| void QScan345Controller::execute_command | ( | QString | cmd | ) | [slot] |
Definition at line 313 of file qscan345controller.cpp.
References Command::exec_command().
{
exec_command(qPrintable(cmd));
}
| void QScan345Controller::initialize | ( | ) | [slot] |
Definition at line 177 of file qscan345controller.cpp.
References changeMode(), and QScan345Settings::marscannermode().
{
QScan345Settings s;
changeMode(s.marscannermode());
}
| void QScan345Controller::log_spy_message | ( | QString | msg | ) | [slot] |
Definition at line 319 of file qscan345controller.cpp.
Referenced by ~QScan345Controller().
{
syslog(LOG_LOCAL0 + LOG_INFO, "%s", qPrintable(msg.trimmed()));
}
| int QScan345Controller::poll_status | ( | ) | [slot] |
Definition at line 281 of file qscan345controller.cpp.
References i, MarNet::net_data(), MarNet::net_msg(), MarNet::net_stat(), and netcontrol.
{
int i, status=0;
if (netcontrol) {
i = net_data();
while (1) {
status = net_stat();
if (status < 200) break;
}
i = net_msg();
}
return status;
}
| void QScan345Controller::restart_scanner | ( | ) | [slot] |
Definition at line 185 of file qscan345controller.cpp.
References MarStartup::marStartup(), and MarHW::restart().
Referenced by change_scanner_number().
{
restart();
marStartup();
}
| void QScan345Controller::scan | ( | ) | [slot] |
Definition at line 215 of file qscan345controller.cpp.
References Command::exec_command().
{
exec_command("root testscan");
exec_command("comm scan");
}
| void QScan345Controller::scan_completed | ( | ) | [signal] |
| void QScan345Controller::scan_mode_changed | ( | int | ) | [signal] |
| void QScan345Controller::scanner_number_changed | ( | int | ) | [signal] |
Referenced by change_scanner_number(), and check_scanner_number().
| void QScan345Controller::setFileRoot | ( | QString | root | ) | [slot] |
Definition at line 307 of file qscan345controller.cpp.
References com_root.
| void QScan345Controller::setWorkingDirectory | ( | QString | d | ) | [slot] |
Definition at line 301 of file qscan345controller.cpp.
References com_dir.
| void QScan345Controller::updateActions | ( | ) | [private] |
Definition at line 192 of file qscan345controller.cpp.
References m_MainWindow, and QScan345Settings::marscannermode().
Referenced by changeMode().
{
QScan345Settings s;
int m = s.marscannermode();
m_MainWindow->actionMode2300->setChecked(m==0);
m_MainWindow->actionMode2000->setChecked(m==1);
m_MainWindow->actionMode1600->setChecked(m==2);
m_MainWindow->actionMode1200->setChecked(m==3);
m_MainWindow->actionMode3450->setChecked(m==4);
m_MainWindow->actionMode3000->setChecked(m==5);
m_MainWindow->actionMode2400->setChecked(m==6);
m_MainWindow->actionMode1800->setChecked(m==7);
}
| void QScan345Controller::updateScannerMenu | ( | ) |
Definition at line 91 of file qscan345controller.cpp.
References m_MainWindow, m_Mutex, and m_SerialNumbers.
Referenced by QScan345MainWindow::update_scanner_menu().
{
QMutexLocker lock(&m_Mutex);
int n;
m_MainWindow -> menuScanner_Number -> clear();
foreach(n,m_SerialNumbers) {
QScan345SelectAction *a = new QScan345SelectAction(n, this);
m_MainWindow -> menuScanner_Number->addAction(a);
connect(a, SIGNAL(triggered()),
a, SLOT(select_scanner()));
}
}
Definition at line 61 of file qscan345controller.h.
Referenced by updateActions(), and updateScannerMenu().
QMutex QScan345Controller::m_Mutex [private] |
Definition at line 59 of file qscan345controller.h.
Referenced by check_scanner_number(), and updateScannerMenu().
QList<int> QScan345Controller::m_SerialNumbers [private] |
Definition at line 63 of file qscan345controller.h.
Referenced by check_scanner_number(), and updateScannerMenu().
QScan345Server* QScan345Controller::m_Server [private] |
Definition at line 62 of file qscan345controller.h.
QTimer* QScan345Controller::m_Timer [private] |
Definition at line 60 of file qscan345controller.h.
1.7.3