diff --git a/src/widgets/movementwidget.h b/src/widgets/movementwidget.h index 7c8b651..c916dd1 100644 --- a/src/widgets/movementwidget.h +++ b/src/widgets/movementwidget.h @@ -1,48 +1,94 @@ /* AtCore Test Client Copyright (C) <2018> Author: Chris Rizzitello - rizzitello@kde.org This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include #include #include #include "atcorewidgets_export.h" /* Usage: * - * Create a instance of the movement widget. This widget will provide Basic Movement + * Create a instance of the movement widget. This widget will provide Basic Movement Controls. Create it with "showHomeAndDisableWidgets" false if your client provides its own actions for homing and disabling the motors. */ class ATCOREWIDGETS_EXPORT MovementWidget : public QWidget { Q_OBJECT public: + /** + * @brief Create a Movement Widget + * @param showHomeAndDisableWidgets: set False to hide the Home and Disable Motors buttons [default = true] + * @param parent: Parent of this widget. + */ MovementWidget(bool showHomeAndDisableWidgets = true, QWidget *parent = nullptr); signals: + /** + * @brief The Home All button was clicked. + * This should be connected to AtCore::home() + */ void homeAllPressed(); + + /** + * @brief The Home X button was clicked. + * This should be connected to AtCore::home(AtCore::X) + */ void homeXPressed(); + + /** + * @brief The Home Y button was clicked. + * This should be connected to AtCore::home(AtCore::Y) + */ void homeYPressed(); + + /** + * @brief The Home Z button was clicked. + * This should be connected to AtCore::home(AtCore::Z) + */ void homeZPressed(); + + /** + * @brief The Disable Motors button was clicked. + * This should be connected to AtCore::disableMotors(0) + */ + void disableMotorsPressed(); + + /** + * @brief An absoluteMove was requested + * This should be connected to AtCore::move(axis,value) + * @param axis: the axis to move + * @param value: where to move + */ void absoluteMove(const QLatin1Char &axis, const double &value); + + /** + * @brief A relativeMove was requested. + * This should connect to a function that does the following + * AtCore::setRelativePosition() + * AtCore::move(axis, value) + * AtCore::setAbsolutePosition() + * @param axis: the axis to move. + * @param value: the value to move it by. + */ void relativeMove(const QLatin1Char &axis, const double &value); - void disableMotorsPressed(); private: QComboBox *comboMoveAxis = nullptr; QDoubleSpinBox *sbMoveAxis = nullptr; };