1#include "robodktools.h"
5bool ItemValid(
const Item item){
6 return item !=
nullptr;
11QDockWidget* AddDockWidget(QMainWindow *mw, QWidget *widget,
const QString &strtitle, Qt::DockWidgetAreas allowed, Qt::DockWidgetArea add_where,
bool closable,
bool delete_on_close){
12 QDockWidget *dockwidget =
new QDockWidget(strtitle, mw);
13 dockwidget->setObjectName(strtitle);
15 dockwidget->setFeatures(QDockWidget::AllDockWidgetFeatures);
17 dockwidget->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable);
20 dockwidget->setWidget(widget);
22 dockwidget->setAttribute(Qt::WA_DeleteOnClose);
24 dockwidget->setAllowedAreas(allowed);
25 qDebug() <<
"Adding new docked window: " << strtitle;
26 mw->addDockWidget(add_where, dockwidget);
27 if (add_where == Qt::NoDockWidgetArea){
28 dockwidget->setFloating(
true);
31 dockwidget->setVisible(
true);
35void string_2_doubles(
const QString &str,
double *values,
int *size_inout,
const QString &separator){
39 QRegExp rx(separator);
41 QStringList strfloats = line.split(rx,QString::SkipEmptyParts);
42 *size_inout = qMin(strfloats.size(), *size_inout);
44 for (
int i=0; i<strfloats.size(); i++){
45 strnum = strfloats.at(i);
46 strnum = strnum.trimmed();
47 double aux = strnum.toDouble(&isok);
49 values[countok] = aux;
50 countok = countok + 1;
52 if (countok >= *size_inout){
53 *size_inout = countok;
57 *size_inout = countok;
60QString doubles_2_string(
const double *array,
int size,
int precision,
const QString &separator){
62 for (
int i=0; i<size-1; i++){
63 QString num_str = QString::number(array[i],
'f',precision);
65 txt.append(separator);
67 QString num_str = QString::number(array[size-1],
'f',precision);
The Item class represents an item in RoboDK station. An item can be a robot, a frame,...