Index: /branches/mavlink/tools/Controller/Mavlink/src/GuiFlair.cpp
===================================================================
--- /branches/mavlink/tools/Controller/Mavlink/src/GuiFlair.cpp	(revision 76)
+++ /branches/mavlink/tools/Controller/Mavlink/src/GuiFlair.cpp	(revision 77)
@@ -37,8 +37,4 @@
 }
 
-void GuiFlair::MissionInitialize() {
-	cout << "MavPlanner GuiFlair MissionInitialize" << endl;
-}
-
 void GuiFlair::MissionStart() {
 	cout << "MavPlanner GuiFlair MissionStart" << endl;
@@ -49,17 +45,9 @@
 }
 
-void GuiFlair::MissionKill() {
-	cout << "MavPlanner GuiFlair MissionKill" << endl;
+void GuiFlair::MissionResume() {
+	cout << "MavPlanner GuiFlair MissionResume" << endl;
 }
 
-void GuiFlair::WptSend() {
-	cout << "MavPlanner GuiFlair WptSend" << endl;
+void GuiFlair::MissionSend() {
+	cout << "MavPlanner GuiFlair MissionSend" << endl;
 }
-
-void GuiFlair::WptClear() {
-	cout << "MavPlanner GuiFlair WptClear" << endl;
-}
-
-void GuiFlair::WptLoopSend() {
-	cout << "MavPlanner GuiFlair WptLoopSend" << endl;
-}
Index: /branches/mavlink/tools/Controller/Mavlink/src/GuiFlair.h
===================================================================
--- /branches/mavlink/tools/Controller/Mavlink/src/GuiFlair.h	(revision 76)
+++ /branches/mavlink/tools/Controller/Mavlink/src/GuiFlair.h	(revision 77)
@@ -38,11 +38,8 @@
 protected:
 
-  virtual void MissionInitialize();
   virtual void MissionStart();
   virtual void MissionStop();
-  virtual void MissionKill();
-  virtual void WptSend();
-  virtual void WptClear();
-  virtual void WptLoopSend();
+  virtual void MissionResume();
+  virtual void MissionSend();
 };
 
Index: /branches/mavlink/tools/Controller/Mavlink/src/GuiGcs.cpp
===================================================================
--- /branches/mavlink/tools/Controller/Mavlink/src/GuiGcs.cpp	(revision 76)
+++ /branches/mavlink/tools/Controller/Mavlink/src/GuiGcs.cpp	(revision 77)
@@ -40,9 +40,4 @@
 }
 
-void GuiGcs::MissionInitialize() {
-  cout << "MavPlanner GuiGcs MissionInitialize" << endl;
-  outputSocket->SendMessage("MavPlanner GuiGcs MissionInitialize");
-}
-
 void GuiGcs::MissionStart() {
   cout << "MavPlanner GuiGcs MissionStart" << endl;
@@ -55,18 +50,10 @@
 }
 
-void GuiGcs::MissionKill() {
-  cout << "MavPlanner GuiGcs MissionKill" << endl;
-  outputSocket->SendMessage("MavPlanner GuiGcs MissionKill");
+void GuiGcs::MissionResume() {
+  cout << "MavPlanner GuiGcs MissionResume" << endl;
+  outputSocket->SendMessage("MavPlanner GuiGcs MissionResume");
 }
 
-void GuiGcs::WptSend() {
-  cout << "MavPlanner GuiGcs WptSend" << endl;
+void GuiGcs::MissionSend() {
+  cout << "MavPlanner GuiGcs MissionSend" << endl;
 }
-
-void GuiGcs::WptClear() {
-  cout << "MavPlanner GuiGcs WptClear" << endl;
-}
-
-void GuiGcs::WptLoopSend() {
-  cout << "MavPlanner GuiGcs WptLoopSend" << endl;
-}
Index: /branches/mavlink/tools/Controller/Mavlink/src/GuiGcs.h
===================================================================
--- /branches/mavlink/tools/Controller/Mavlink/src/GuiGcs.h	(revision 76)
+++ /branches/mavlink/tools/Controller/Mavlink/src/GuiGcs.h	(revision 77)
@@ -39,11 +39,8 @@
 protected:
 
-  virtual void MissionInitialize();
   virtual void MissionStart();
   virtual void MissionStop();
-  virtual void MissionKill();
-  virtual void WptSend();
-  virtual void WptClear();
-  virtual void WptLoopSend();
+  virtual void MissionResume();
+  virtual void MissionSend();
 
 private:
Index: /branches/mavlink/tools/Controller/Mavlink/src/GuiInterface.cpp
===================================================================
--- /branches/mavlink/tools/Controller/Mavlink/src/GuiInterface.cpp	(revision 76)
+++ /branches/mavlink/tools/Controller/Mavlink/src/GuiInterface.cpp	(revision 77)
@@ -29,4 +29,6 @@
 #include <GroupBox.h>
 #include <ListWidget.h>
+#include <Label.h>
+#include <ComboBox.h>
 
 #include <string>
@@ -48,33 +50,53 @@
   // Controls group
   controlsGroupBox = new GroupBox(settingsTab->NewRow(), "Controls");
-  btnInitialize = new PushButton(controlsGroupBox->LastRowLastCol(), "Initialize");
   btnStartMission = new PushButton(controlsGroupBox->LastRowLastCol(), "Start mission");
   btnStopMission = new PushButton(controlsGroupBox->LastRowLastCol(), "Stop mission");
-  btnKill = new PushButton(controlsGroupBox->LastRowLastCol(), "Kill");
+  btnResumeMission = new PushButton(controlsGroupBox->LastRowLastCol(), "Resume mission");
 
-  // Add wpt group
-  addWptGroupBox = new GroupBox(settingsTab->NewRow(), "Add waypoint");
-  latField = new DoubleSpinBox(addWptGroupBox->NewRow(), "Latitude",
-                                -90, 90, 0.001, 3, 3);
-  lonField = new DoubleSpinBox(addWptGroupBox->LastRowLastCol(), "Longitude",
-                                -180, 180, 0.001, 3, 3);
-  btnAddMissionWpt = new PushButton(addWptGroupBox->NewRow(), "Add mission wpt");
-  btnAddEntranceWpt = new PushButton(addWptGroupBox->LastRowLastCol(), "Add entrance wpt");
-  btnAddExitWpt = new PushButton(addWptGroupBox->LastRowLastCol(), "Add exit wpt");
+  // Add cmd group
+  addCmdGroupBox = new GroupBox(settingsTab->NewRow(), "Add mission command");
+  // commandLabel = new Label(addCmdGroupBox->NewRow(), "Command label");
+  // commandLabel->SetText("Command");
+  // param1Label = new Label(addCmdGroupBox->LastRowLastCol(), "Param1 label");
+  // commandLabel->SetText("Param1");
+  // param2Label = new Label(addCmdGroupBox->LastRowLastCol(), "Param2 label");
+  // commandLabel->SetText("Param2");
+  // param3Label = new Label(addCmdGroupBox->LastRowLastCol(), "Param3 label");
+  // commandLabel->SetText("Param3");
+  comboCmd = new ComboBox(addCmdGroupBox->NewRow(), "Select command");
+  // Fill the ComboBox
+  for (auto &command : commandsAvailable) {
+    comboCmd->AddItem(command);    
+  }
+  // comboCmd->AddItem("WAYPOINT");
+  // comboCmd->AddItem("TAKEOFF");
+  // comboCmd->AddItem("LAND");
+  // comboCmd->AddItem("RETURN");
+  // comboCmd->AddItem("JUMP");
+  param1Field = new DoubleSpinBox(addCmdGroupBox->NewRow(), "Param1",
+                                -90, 90, 0.5, 1, 3);
+  param2Field = new DoubleSpinBox(addCmdGroupBox->NewRow(), "Param2",
+                                -90, 90, 0.5, 1, 3);
+  param3Field = new DoubleSpinBox(addCmdGroupBox->NewRow(), "Param3",
+                                -90, 90, 0.5, 1, 3);
+  btnAddMissionCmd = new PushButton(addCmdGroupBox->NewRow(), "Add mission cmd");
+  btnDelMissionCmd = new PushButton(addCmdGroupBox->LastRowLastCol(), "Del mission cmd");
+  btnSendMission = new PushButton(addCmdGroupBox->LastRowLastCol(), "Send mission");
 
   // Show wpt group
-  showWptGroupBox = new GroupBox(settingsTab->NewRow(), "Show waypoints");
-  listMissionWpt = new ListWidget(showWptGroupBox->NewRow(), "Mission wpt");
-  listEntranceWpt = new ListWidget(showWptGroupBox->LastRowLastCol(), "Entrance wpt");
-  listExitWpt = new ListWidget(showWptGroupBox->LastRowLastCol(), "Exit wpt");
-  btnRemoveMissionWpt = new PushButton(showWptGroupBox->NewRow(), "Remove mission wpt");
-  btnRemoveEntranceWpt = new PushButton(showWptGroupBox->LastRowLastCol(), "Remove entrance wpt");
-  btnRemoveExitWpt = new PushButton(showWptGroupBox->LastRowLastCol(), "Remove exit wpt");
+  showItemsGroupBox = new GroupBox(settingsTab->NewRow(), "Show mission items");
+  listMissionItems = new ListWidget(showItemsGroupBox->NewRow(), "Mission cmd list");
 
-  // Action wpt group
-  actionWptGroupBox = new GroupBox(settingsTab->NewRow(), "Action");
-  btnSendWpt = new PushButton(actionWptGroupBox->NewRow(), "Send wpt");
-  btnClearWpt = new PushButton(actionWptGroupBox->LastRowLastCol(), "Clear wpt");
-  btnLoop = new PushButton(actionWptGroupBox->LastRowLastCol(), "Loop");
+  // listEntranceWpt = new ListWidget(showWptGroupBox->LastRowLastCol(), "Entrance wpt");
+  // listExitWpt = new ListWidget(showWptGroupBox->LastRowLastCol(), "Exit wpt");
+  // btnRemoveMissionWpt = new PushButton(showWptGroupBox->NewRow(), "Remove mission wpt");
+  // btnRemoveEntranceWpt = new PushButton(showWptGroupBox->LastRowLastCol(), "Remove entrance wpt");
+  // btnRemoveExitWpt = new PushButton(showWptGroupBox->LastRowLastCol(), "Remove exit wpt");
+
+  // // Action wpt group
+  // actionWptGroupBox = new GroupBox(settingsTab->NewRow(), "Action");
+  // btnSendWpt = new PushButton(actionWptGroupBox->NewRow(), "Send wpt");
+  // btnClearWpt = new PushButton(actionWptGroupBox->LastRowLastCol(), "Clear wpt");
+  // btnLoop = new PushButton(actionWptGroupBox->LastRowLastCol(), "Loop");
 
   //TODO IP & PORT from config.h file
@@ -97,26 +119,12 @@
     Thread::SleepMS(500);
     // Buttons to control GUI
-  	if (btnAddMissionWpt->Clicked()) {
-  		listMissionWpt->AddItem(GetWptLatLon());
+  	if (btnAddMissionCmd->Clicked()) {
+  		//TODO
+      listMissionItems->AddItem(MissionCmdGet());
     }
-  	if (btnAddEntranceWpt->Clicked()) {
-  		listEntranceWpt->AddItem(GetWptLatLon());
-    }
-  	if (btnAddExitWpt->Clicked()) {
-  		listExitWpt->AddItem(GetWptLatLon());
-    }
-    if (btnRemoveMissionWpt->Clicked()) {
-      listMissionWpt->RemoveItem();
-    }
-    if (btnRemoveEntranceWpt->Clicked()) {
-      listEntranceWpt->RemoveItem();
-    }
-    if (btnRemoveExitWpt->Clicked()) {
-      listExitWpt->RemoveItem();
+    if (btnDelMissionCmd->Clicked()) {
+      listMissionItems->RemoveItem();
     }
     // Buttons to send commands
-  	if (btnInitialize->Clicked()) {
-  		MissionInitialize();
-    }
   	if (btnStartMission->Clicked()) {
   		MissionStart();
@@ -125,25 +133,18 @@
   		MissionStop();
     }
-  	if (btnKill->Clicked()) {
-  		MissionKill();
+  	if (btnResumeMission->Clicked()) {
+  		MissionResume();
     }
-    if (btnSendWpt->Clicked()) {
-  		WptSend();
-    }
-  	if (btnClearWpt->Clicked()) {
-  		WptClear();
-    }
-  	if (btnLoop->Clicked()) {
-  		WptLoopSend();
+    if (btnSendMission->Clicked()) {
+  		MissionSend();
     }
   }
 }
 
-std::string GuiInterface::GetWptLatLon() {
+std::string GuiInterface::MissionCmdGet() {
   std::ostringstream stringStream;
-  stringStream.precision(3);
+  stringStream.precision(1);
   stringStream << fixed;
-  stringStream << latField->Value() << " - " << lonField->Value();
+  stringStream << commandsAvailable[comboCmd->CurrentIndex()] << "|" << param1Field->Value() << "|" << param2Field->Value() << "|" << param3Field->Value();
   return stringStream.str();
 }
-
Index: /branches/mavlink/tools/Controller/Mavlink/src/GuiInterface.h
===================================================================
--- /branches/mavlink/tools/Controller/Mavlink/src/GuiInterface.h	(revision 76)
+++ /branches/mavlink/tools/Controller/Mavlink/src/GuiInterface.h	(revision 77)
@@ -35,4 +35,5 @@
   class GroupBox;
   class ListWidget;
+  class Label;
 }
 }
@@ -47,15 +48,12 @@
   // reimplement the run of the Thread class
   void Run();
-
-  std::string GetWptLatLon();
   
   // First tab callbacks
-  virtual void MissionInitialize() = 0;
   virtual void MissionStart() = 0;
   virtual void MissionStop() = 0;
-  virtual void MissionKill() = 0;
-  virtual void WptSend() = 0;
-  virtual void WptClear() = 0;
-  virtual void WptLoopSend() = 0;
+  virtual void MissionResume() = 0;
+  virtual void MissionSend() = 0;
+
+  std::string MissionCmdGet();
 
   // Main GUI
@@ -66,31 +64,36 @@
   // Controls groupbox
   flair::gui::GroupBox* controlsGroupBox;
-  flair::gui::PushButton* btnInitialize;
   flair::gui::PushButton* btnStartMission;
   flair::gui::PushButton* btnStopMission;
-  flair::gui::PushButton* btnKill;
+  flair::gui::PushButton* btnResumeMission;
   
-  // Add wpt groupbox
-  flair::gui::GroupBox* addWptGroupBox;
-  flair::gui::DoubleSpinBox* latField;
-  flair::gui::DoubleSpinBox* lonField;
-  flair::gui::PushButton* btnAddMissionWpt;
-  flair::gui::PushButton* btnAddEntranceWpt;
-  flair::gui::PushButton* btnAddExitWpt;
+  // Add cmd groupbox
+  flair::gui::GroupBox* addCmdGroupBox;
+  // flair::gui::Label* commandLabel;
+  // flair::gui::Label* param1Label;
+  // flair::gui::Label* param2Label;
+  // flair::gui::Label* param3Label;
+  flair::gui::ComboBox* comboCmd; 
+  flair::gui::DoubleSpinBox* param1Field;
+  flair::gui::DoubleSpinBox* param2Field;
+  flair::gui::DoubleSpinBox* param3Field;  
+  flair::gui::PushButton* btnAddMissionCmd;
+  flair::gui::PushButton* btnDelMissionCmd;
+  flair::gui::PushButton* btnSendMission;
 
   // Show wpt groupbox
-  flair::gui::GroupBox* showWptGroupBox;
-  flair::gui::ListWidget* listMissionWpt;
-  flair::gui::ListWidget* listEntranceWpt;
-  flair::gui::ListWidget* listExitWpt;
-  flair::gui::PushButton* btnRemoveMissionWpt;
-  flair::gui::PushButton* btnRemoveEntranceWpt;
-  flair::gui::PushButton* btnRemoveExitWpt;  
+  flair::gui::GroupBox* showItemsGroupBox;
+  flair::gui::ListWidget* listMissionItems;
+  // flair::gui::ListWidget* listEntranceWpt;
+  // flair::gui::ListWidget* listExitWpt;
+  // flair::gui::PushButton* btnRemoveMissionWpt;
+  // flair::gui::PushButton* btnRemoveEntranceWpt;
+  // flair::gui::PushButton* btnRemoveExitWpt;  
 
   // Action wpt groupbox
-  flair::gui::GroupBox* actionWptGroupBox;
-  flair::gui::PushButton* btnSendWpt;
-  flair::gui::PushButton* btnClearWpt;
-  flair::gui::PushButton* btnLoop;
+  // flair::gui::GroupBox* actionWptGroupBox;
+  // flair::gui::PushButton* btnSendWpt;
+  // flair::gui::PushButton* btnClearWpt;
+  // flair::gui::PushButton* btnLoop;
 
   // Socket to send commands
@@ -98,4 +101,7 @@
 
   //TODO : think if useful to have private members
+  
+private:
+  const std::vector<std::string> commandsAvailable = {"WAYPOINT", "TAKEOFF", "LAND", "RETURN", "JUMP"};
 };
 
Index: /branches/mavlink/tools/Controller/Mavlink/src/main.cpp
===================================================================
--- /branches/mavlink/tools/Controller/Mavlink/src/main.cpp	(revision 76)
+++ /branches/mavlink/tools/Controller/Mavlink/src/main.cpp	(revision 77)
@@ -49,5 +49,5 @@
 
   FrameworkManager *manager;
-  manager = new FrameworkManager("mavlink");
+  manager = new FrameworkManager("MavPlanner");
   manager->SetupConnection(flairAddress, flairPort);
   manager->SetupUserInterface(xmlFile);
