1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-17 02:52:12 +01:00

OP-39 Start and End pages added. Placeholder text added.

This commit is contained in:
Fredrik Arvidsson 2012-07-11 01:00:41 +02:00
parent 532fc3071a
commit 559be15142
11 changed files with 252 additions and 14 deletions

View File

@ -0,0 +1,15 @@
#include "endpage.h"
#include "ui_endpage.h"
EndPage::EndPage(QWidget *parent) :
QWizardPage(parent),
ui(new Ui::EndPage)
{
setFinalPage(true);
ui->setupUi(this);
}
EndPage::~EndPage()
{
delete ui;
}

View File

@ -0,0 +1,22 @@
#ifndef ENDPAGE_H
#define ENDPAGE_H
#include <QWizardPage>
namespace Ui {
class EndPage;
}
class EndPage : public QWizardPage
{
Q_OBJECT
public:
explicit EndPage(QWidget *parent = 0);
~EndPage();
private:
Ui::EndPage *ui;
};
#endif // ENDPAGE_H

View File

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>EndPage</class>
<widget class="QWizardPage" name="EndPage">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<height>400</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>600</width>
<height>400</height>
</size>
</property>
<property name="windowTitle">
<string>WizardPage</string>
</property>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>550</width>
<height>141</height>
</rect>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Setup complete&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;The wizard have now gathered enough information to create a baseline configuration for your OpenPilot controller board to use with your vehicle.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;You now have two choices:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;- Upload configuration directly to the currently connected OpenPilot controller board.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;- Save the configuration to a file for later uploading using the configuration import plugin in GCS.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
<widget class="QPushButton" name="saveButton">
<property name="geometry">
<rect>
<x>420</x>
<y>290</y>
<width>125</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Save configuration...</string>
</property>
</widget>
<widget class="QPushButton" name="uploadButton">
<property name="geometry">
<rect>
<x>420</x>
<y>340</y>
<width>125</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Uppload configuration</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,14 @@
#include "startpage.h"
#include "ui_startpage.h"
StartPage::StartPage(QWidget *parent) :
QWizardPage(parent),
ui(new Ui::StartPage)
{
ui->setupUi(this);
}
StartPage::~StartPage()
{
delete ui;
}

View File

@ -0,0 +1,22 @@
#ifndef STARTPAGE_H
#define STARTPAGE_H
#include <QWizardPage>
namespace Ui {
class StartPage;
}
class StartPage : public QWizardPage
{
Q_OBJECT
public:
explicit StartPage(QWidget *parent = 0);
~StartPage();
private:
Ui::StartPage *ui;
};
#endif // STARTPAGE_H

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>StartPage</class>
<widget class="QWizardPage" name="StartPage">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>640</width>
<height>400</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>640</width>
<height>400</height>
</size>
</property>
<property name="windowTitle">
<string>WizardPage</string>
</property>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>550</width>
<height>350</height>
</rect>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to the OpenPilot Setup Wizard&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This wizard will guide you through the basic steps of setting up your OpenPilot controller board. The following pages contains simple questions about your vehicle and its characteristics. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;From the information &lt;/span&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;gathered&lt;/span&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt; the wizard will create a baseline configuration that should be good enough for you to get a quick start using your OpenPilot product.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;The baseline configuration can, if desired, be uploaded to the OpenPilot Controller board at the end of this wizard.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This wizard does not contain the full range of settings available in the GCS Config plugin. All configuration parameters can be changed at later by using the GCS Config plugin.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Ok, lets start the configuration by clicking on the 'Next' button below.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -7,7 +7,7 @@
* @{
* @addtogroup Setup Wizard Plugin
* @{
* @brief A Wizards to make the initial setup easy for everyone.
* @brief A Wizard to make the initial setup easy for everyone.
*****************************************************************************/
/*
* This program is free software; you can redistribute it and/or modify
@ -26,12 +26,29 @@
*/
#include "setupwizard.h"
#include "pages/startpage.h"
#include "pages/endpage.h"
SetupWizard::SetupWizard(QWidget *parent) : QWizard(parent)
{
setWindowTitle("GCS Setup Wizard");
QWizardPage* page = new QWizardPage();
page->setFixedSize(300, 300);
addPage(page);
setWindowTitle("OpenPilot Setup Wizard");
createPages();
}
int SetupWizard::nextId() const
{
switch (currentId()) {
case PAGE_START:
return PAGE_END;
default:
return -1;
}
}
void SetupWizard::createPages()
{
setPage(PAGE_START, new StartPage());
setPage(PAGE_END, new EndPage());
setStartId(PAGE_START);
}

View File

@ -32,10 +32,14 @@
class SetupWizard : public QWizard
{
Q_OBJECT
Q_OBJECT
public:
SetupWizard(QWidget *parent = 0);
SetupWizard(QWidget *parent = 0);
int nextId() const;
private:
enum {PAGE_START, PAGE_END};
void createPages();
};
#endif // SETUPWIZARD_H

View File

@ -6,8 +6,16 @@ include(../../openpilotgcsplugin.pri)
include(../../plugins/coreplugin/coreplugin.pri)
HEADERS += setupwizardplugin.h \
setupwizard.h
setupwizard.h \
pages/startpage.h \
pages/endpage.h
SOURCES += setupwizardplugin.cpp \
setupwizard.cpp
setupwizard.cpp \
pages/startpage.cpp \
pages/endpage.cpp
OTHER_FILES += SetupWizard.pluginspec
OTHER_FILES += SetupWizard.pluginspec
FORMS += \
pages/startpage.ui \
pages/endpage.ui

View File

@ -5,7 +5,7 @@
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
* @addtogroup GCSPlugins GCS Plugins
* @{
* @addtogroup SetupWizardPlugin Do Nothing Plugin
* @addtogroup SetupWizardPlugin
* @{
* @brief A Setup Wizard Plugin
*****************************************************************************/
@ -59,7 +59,7 @@ bool SetupWizardPlugin::initialize(const QStringList& args, QString *errMsg)
QList<int>() <<
Core::Constants::C_GLOBAL_ID);
cmd->setDefaultKeySequence(QKeySequence("Ctrl+W"));
cmd->action()->setText(tr("GCS Setup Wizard"));
cmd->action()->setText(tr("OpenPilot Setup Wizard"));
ac->menu()->addSeparator();
ac->appendGroup("Wizard");

View File

@ -5,9 +5,9 @@
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
* @addtogroup GCSPlugins GCS Plugins
* @{
* @addtogroup DoNothingPlugin Do Nothing Plugin
* @addtogroup SetupWizardPlugin
* @{
* @brief A minimal example plugin
* @brief A Setup Wizard Plugin
*****************************************************************************/
/*
* This program is free software; you can redistribute it and/or modify