UseCaseSelectorItem.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5  *
6  * ArmarX is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * ArmarX is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * @package ArmarX
19  * @author Mirko Waechter( mirko.waechter at kit dot edu)
20  * @date 2016
21  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22  * GNU General Public License
23  */
24 #pragma once
25 
26 #include <QWidget>
27 
28 namespace armarx::Ui
29 {
30  class UseCaseSelectorItem;
31 }
32 
33 namespace armarx
34 {
35  class UseCaseSelectorItem : public QWidget
36  {
37  Q_OBJECT
38 
39  public:
40  explicit UseCaseSelectorItem(const QString& title,
41  const QString& description,
42  const QString& configFilePath,
43  const QString& packageName,
44  QString iconPath,
45  QWidget* parent = 0);
46  ~UseCaseSelectorItem() override;
47  QString getConfigFilePath() const;
48  bool isHighlighted() const;
49  const int pixmapSize = 64;
50  public slots:
51  void highlight(bool highlight);
52  signals:
53  void selected(QString filepath);
54  void doubleClicked();
55 
56  private:
57  Ui::UseCaseSelectorItem* ui;
58  QString configFilePath;
59  // QWidget interface
60  protected:
61  void mouseReleaseEvent(QMouseEvent*) override;
62  void mouseDoubleClickEvent(QMouseEvent*) override;
64  };
65 
66 
67 } // namespace armarx
armarx::UseCaseSelectorItem::UseCaseSelectorItem
UseCaseSelectorItem(const QString &title, const QString &description, const QString &configFilePath, const QString &packageName, QString iconPath, QWidget *parent=0)
Definition: UseCaseSelectorItem.cpp:39
armarx::Ui
Definition: GuiUseCaseSelector.h:33
armarx::UseCaseSelectorItem::isHighlighted
bool isHighlighted() const
Definition: UseCaseSelectorItem.cpp:104
armarx::UseCaseSelectorItem::getConfigFilePath
QString getConfigFilePath() const
Definition: UseCaseSelectorItem.cpp:98
armarx::UseCaseSelectorItem::~UseCaseSelectorItem
~UseCaseSelectorItem() override
Definition: UseCaseSelectorItem.cpp:92
armarx::UseCaseSelectorItem::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *) override
Definition: UseCaseSelectorItem.cpp:133
armarx::UseCaseSelectorItem
Definition: UseCaseSelectorItem.h:35
armarx::UseCaseSelectorItem::selected
void selected(QString filepath)
armarx::UseCaseSelectorItem::highlighted
bool highlighted
Definition: UseCaseSelectorItem.h:63
armarx::UseCaseSelectorItem::mouseDoubleClickEvent
void mouseDoubleClickEvent(QMouseEvent *) override
Definition: UseCaseSelectorItem.cpp:127
armarx::UseCaseSelectorItem::doubleClicked
void doubleClicked()
armarx::UseCaseSelectorItem::highlight
void highlight(bool highlight)
Definition: UseCaseSelectorItem.cpp:110
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::UseCaseSelectorItem::pixmapSize
const int pixmapSize
Definition: UseCaseSelectorItem.h:49