RoboDK Plug-In Interface
Loading...
Searching...
No Matches
robodktools.cpp
1#include "robodktools.h"
2#include <QDebug>
3
4
5bool ItemValid(const Item item){
6 return item != nullptr;
7}
8
9
10
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);//"Robot properties view"
13 dockwidget->setObjectName(strtitle); // added on 2018-08-24
14 if (closable){
15 dockwidget->setFeatures(QDockWidget::AllDockWidgetFeatures);//{ DockWidgetClosable, DockWidgetMovable, DockWidgetFloatable, DockWidgetVerticalTitleBar, AllDockWidgetFeatures, NoDockWidgetFeatures }
16 } else {
17 dockwidget->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable);
18 }
19
20 dockwidget->setWidget(widget);
21 if (delete_on_close){
22 dockwidget->setAttribute(Qt::WA_DeleteOnClose);
23 }
24 dockwidget->setAllowedAreas(allowed);
25 qDebug() << "Adding new docked window: " << strtitle; //<< add_where;
26 mw->addDockWidget(add_where, dockwidget);
27 if (add_where == Qt::NoDockWidgetArea){
28 dockwidget->setFloating(true);
29 dockwidget->show();
30 }
31 dockwidget->setVisible(true);
32 return dockwidget;
33}
34
35void string_2_doubles(const QString &str, double *values, int *size_inout, const QString &separator){
36 bool isok;
37 QString line;
38 QString strnum;
39 QRegExp rx(separator);
40 line = str.trimmed();
41 QStringList strfloats = line.split(rx,QString::SkipEmptyParts);
42 *size_inout = qMin(strfloats.size(), *size_inout);
43 int countok = 0;
44 for (int i=0; i<strfloats.size(); i++){
45 strnum = strfloats.at(i);
46 strnum = strnum.trimmed();
47 double aux = strnum.toDouble(&isok);
48 if (isok){
49 values[countok] = aux;
50 countok = countok + 1;
51 }
52 if (countok >= *size_inout){
53 *size_inout = countok;
54 return;
55 }
56 }
57 *size_inout = countok;
58}
59
60QString doubles_2_string(const double *array, int size, int precision, const QString &separator){
61 QString txt;
62 for (int i=0; i<size-1; i++){
63 QString num_str = QString::number(array[i],'f',precision);
64 txt.append(num_str);
65 txt.append(separator);
66 }
67 QString num_str = QString::number(array[size-1],'f',precision);
68 txt.append(num_str);
69 return txt;
70}
71
72
The Item class represents an item in RoboDK station. An item can be a robot, a frame,...
Definition iitem.h:14