LP-56 - Better txpid option namings, fix tabs-spaces, tooltips. headers, variable...
[librepilot.git] / ground / openpilotgcs / src / plugins / coreplugin / basemode.cpp
blob93e1ec2cf8667ad949b196d3fa06720d8b03a460
1 /**
2 ******************************************************************************
4 * @file basemode.cpp
5 * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
6 * Parts by Nokia Corporation (qt-info@nokia.com) Copyright (C) 2009.
7 * @addtogroup GCSPlugins GCS Plugins
8 * @{
9 * @addtogroup CorePlugin Core Plugin
10 * @{
11 * @brief The Core GCS plugin
12 *****************************************************************************/
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 3 of the License, or
17 * (at your option) any later version.
19 * This program is distributed in the hope that it will be useful, but
20 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 * for more details.
24 * You should have received a copy of the GNU General Public License along
25 * with this program; if not, write to the Free Software Foundation, Inc.,
26 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 #include "basemode.h"
31 #include <extensionsystem/pluginmanager.h>
33 #include <QWidget>
35 using namespace Core;
37 /*!
38 \class BaseMode
39 \mainclass
40 \inheaderfile basemode.h
41 \brief A base implementation of the mode interface IMode.
43 The BaseMode class can be used directly for most IMode implementations. It has setter functions
44 for the mode properties and a convenience constructor.
46 The ownership of the widget is given to the BaseMode, so when the BaseMode is destroyed it
47 deletes its widget.
49 A typical use case is to do the following in the init method of a plugin:
50 \code
51 bool MyPlugin::init(QString *error_message)
53 [...]
54 addObject(new Core::BaseMode("mymode",
55 "MyPlugin.UniqueModeName",
56 icon,
57 50, // priority
58 new MyWidget));
59 [...]
61 \endcode
64 /*!
65 \fn BaseMode::BaseMode(QObject *parent)
67 Creates a mode with empty name, no icon, lowest priority and no widget. You should use the
68 setter functions to give the mode a meaning.
70 \a parent
72 BaseMode::BaseMode(QObject *parent) :
73 IMode(parent),
74 m_priority(0),
75 m_widget(0)
78 /*!
79 \fn BaseMode::~BaseMode()
81 BaseMode::~BaseMode()
83 delete m_widget;