UserCmdHistory.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef _GAZEBO_GUI_USERCOMMANDHISTORY_HH_
18 #define _GAZEBO_GUI_USERCOMMANDHISTORY_HH_
19 
20 #include <string>
21 #include <utility>
22 #include <vector>
23 
24 #include "gazebo/msgs/MessageTypes.hh"
25 
26 #include "gazebo/gui/qt.h"
27 #include "gazebo/util/system.hh"
28 
29 namespace gazebo
30 {
31  namespace gui
32  {
33  class UserCmdHistoryPrivate;
34 
36  class GZ_GUI_VISIBLE UserCmdHistory : public QObject
37  {
38  Q_OBJECT
39 
41  public: UserCmdHistory();
42 
44  public: virtual ~UserCmdHistory();
45 
48  public: void SetActive(const bool _active);
49 
52  public: bool Active() const;
53 
56  signals: void StatsSignal();
57 
59  private slots: void OnUndo();
60 
64  private slots: virtual void OnUndoCommand(QAction *_action);
65 
68  private slots: void OnUndoHovered(QAction *_action);
69 
72  private slots: virtual void OnUndoCmdHistory();
73 
75  private slots: void OnRedo();
76 
80  private slots: virtual void OnRedoCommand(QAction *_action);
81 
84  private slots: void OnRedoHovered(QAction *_action);
85 
88  private slots: virtual void OnRedoCmdHistory();
89 
92  private: virtual void OnCmdHistory(const bool _undo);
93 
96  private: virtual bool HasUndo() const;
97 
100  private: virtual bool HasRedo() const;
101 
104  private: virtual std::vector<std::pair<unsigned int, std::string>>
105  Cmds(const bool _undo) const;
106 
109  private slots: void OnStatsSlot();
110 
114  private: void OnUserCmdStatsMsg(ConstUserCmdStatsPtr &_msg);
115 
118  private: UserCmdHistoryPrivate *dataPtr;
119  };
120  }
121 }
122 #endif
123 
Class which manages user commands in the client side.
Definition: UserCmdHistory.hh:36