From 83e4ba260865836457039ad1068fcbd06c27e247 Mon Sep 17 00:00:00 2001
From: roangel <roangel@student.ethz.ch>
Date: Thu, 18 May 2017 17:53:43 +0200
Subject: [PATCH] starting the link process

---
 .../GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user   |  2 +-
 .../CrazyFlyGUI/include/mainguiwindow.h       |  2 +-
 .../GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp  | 25 +++++-
 .../GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui   | 79 ++++++++++++++-----
 4 files changed, 85 insertions(+), 23 deletions(-)

diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user
index 30784615..b27b50c7 100755
--- a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user
+++ b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.0.2, 2017-05-18T12:14:24. -->
+<!-- Written by QtCreator 4.0.2, 2017-05-18T17:53:08. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/include/mainguiwindow.h b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/include/mainguiwindow.h
index 3dd695d3..9948bc66 100755
--- a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/include/mainguiwindow.h
+++ b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/include/mainguiwindow.h
@@ -70,7 +70,7 @@ private slots:
     #ifdef CATKIN_MAKE
     #endif
 
-    void set_tabs(int n);
+    void doNumCrazyFlyZonesChanged(int n);
     void transitionToMode(int mode);
     void on_removeTable_clicked();
 
diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp
index 6bf79942..2fe743f5 100755
--- a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp
+++ b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp
@@ -51,8 +51,9 @@ MainGUIWindow::~MainGUIWindow()
     delete ui;
 }
 
-void MainGUIWindow::set_tabs(int n)
+void MainGUIWindow::doNumCrazyFlyZonesChanged(int n)
 {
+    // tabs number management, maybe do it in a different way so we dont have to remove and add everything?
     ui->tabWidget->clear();
     for (int i = 0; i < n; i++)
     {
@@ -62,6 +63,26 @@ void MainGUIWindow::set_tabs(int n)
         ui->tabWidget->addTab(widget, qstr);
         connect(widget, SIGNAL(centerButtonClickedSignal(int)), this, SLOT(centerViewIndex(int)));
     }
+
+    // add options to QComboBox of CFZones
+    int current_count = ui->comboBoxCFZones->count();
+    if(n > current_count)
+    {
+        for(int i = current_count; i < n; i++)
+        {
+            QString qstr = "CrazyFlyZone ";
+            qstr.append(QString::number(i+1));
+            ui->comboBoxCFZones->addItem(qstr);
+        }
+    }
+    else if(n < current_count)
+    {
+        for(int i = current_count; i >= n; i--)
+        {
+            ui->comboBoxCFZones->removeItem(i);
+        }
+    }
+
 }
 
 void MainGUIWindow::_init()
@@ -85,7 +106,7 @@ void MainGUIWindow::_init()
     ui->graphicsView->setScene(scene);
 
     QObject::connect(ui->tabWidget, SIGNAL(tabCloseRequested(int)), scene, SLOT(removeCrazyFlyZone(int)));
-    QObject::connect(scene, SIGNAL(numCrazyFlyZonesChanged(int)), this, SLOT(set_tabs(int)));
+    QObject::connect(scene, SIGNAL(numCrazyFlyZonesChanged(int)), this, SLOT(doNumCrazyFlyZonesChanged(int)));
     QObject::connect(ui->tabWidget, SIGNAL(currentChanged(int)), scene, SLOT(setSelectedCrazyFlyZone(int)));
     QObject::connect(scene, SIGNAL(crazyFlyZoneSelected(int)), ui->tabWidget, SLOT(setCurrentIndex(int)));
     QObject::connect(scene, SIGNAL(modeChanged(int)), this, SLOT(transitionToMode(int)));
diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui
index 67673fb3..dbbf62da 100755
--- a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui
+++ b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1043</width>
-    <height>658</height>
+    <width>866</width>
+    <height>563</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -98,19 +98,6 @@
          </layout>
         </widget>
        </item>
-       <item row="0" column="0" rowspan="2">
-        <widget class="myGraphicsView" name="graphicsView">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="mouseTracking">
-          <bool>true</bool>
-         </property>
-        </widget>
-       </item>
        <item row="1" column="1">
         <widget class="QGroupBox" name="groupBox_2">
          <property name="title">
@@ -231,14 +218,25 @@
          </layout>
         </widget>
        </item>
+       <item row="0" column="0" rowspan="2">
+        <widget class="myGraphicsView" name="graphicsView">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="mouseTracking">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
       </layout>
       <zorder>graphicsView</zorder>
       <zorder>removeTable</zorder>
       <zorder>groupBox</zorder>
       <zorder>groupBox_2</zorder>
       <zorder>pushButton_fitAll</zorder>
-      <zorder>frame_3</zorder>
-      <zorder>tabWidget</zorder>
      </widget>
     </item>
     <item row="0" column="1">
@@ -255,6 +253,49 @@
       <property name="frameShadow">
        <enum>QFrame::Raised</enum>
       </property>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QTabWidget" name="tabWidget_2">
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <widget class="QWidget" name="links_tab">
+          <attribute name="title">
+           <string>Links</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout">
+           <item row="4" column="1">
+            <widget class="QPushButton" name="pushButton">
+             <property name="text">
+              <string>Link!</string>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="1">
+            <widget class="QComboBox" name="comboBoxCFs"/>
+           </item>
+           <item row="3" column="1">
+            <widget class="QComboBox" name="comboBoxCFZones"/>
+           </item>
+           <item row="0" column="1">
+            <widget class="QLabel" name="label_2">
+             <property name="text">
+              <string>Choose CF to link:</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="1">
+            <widget class="QLabel" name="label_3">
+             <property name="text">
+              <string>Choose CF Zone to link:</string>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
+      </layout>
      </widget>
     </item>
     <item row="1" column="0" colspan="2">
@@ -301,7 +342,7 @@
     <rect>
      <x>0</x>
      <y>0</y>
-     <width>1043</width>
+     <width>866</width>
      <height>19</height>
     </rect>
    </property>
@@ -311,7 +352,7 @@
     <enum>TopToolBarArea</enum>
    </attribute>
    <attribute name="toolBarBreak">
-    <bool>true</bool>
+    <bool>false</bool>
    </attribute>
   </widget>
   <widget class="QStatusBar" name="statusBar"/>
-- 
GitLab