hivemind 1.0.0
Loading...
Searching...
No Matches
agent_controls.h
Go to the documentation of this file.
1#pragma once
2
3#include "core/types.h"
4#include "gui/color_box.h"
5
6#include <QComboBox>
7#include <QFrame>
8#include <QGridLayout>
9#include <QPushButton>
10
11namespace Gui
12{
13
14 class AgentControls : public QFrame
15 {
16 Q_OBJECT
17 public:
18 explicit AgentControls(QWidget* parent = nullptr);
19
20 signals:
21 void AddAgent();
22 void AgentChanged(std::pair<std::vector<Core::Agent>::iterator,
23 std::vector<Core::Agent>::iterator>);
25
26 public slots:
27 void UpdateAgents(std::pair<std::vector<Core::Agent>::iterator,
28 std::vector<Core::Agent>::iterator>);
29 void SetActiveAgentIndex(int index);
30 void SyncColor();
31
32 private slots:
33 void SetAgentColor(QColor color);
34
35 private:
36 QGridLayout* m_Layout;
37
40 QPushButton* m_NewAgentButton;
41
43
44 std::pair<std::vector<Core::Agent>::iterator,
45 std::vector<Core::Agent>::iterator>
47 };
48
49} // namespace Gui
QComboBox * m_ActiveAgentComboBox
QPushButton * m_NewAgentButton
void UpdateAgents(std::pair< std::vector< Core::Agent >::iterator, std::vector< Core::Agent >::iterator >)
void ActiveAgentChanged(int)
void SetAgentColor(QColor color)
void AgentChanged(std::pair< std::vector< Core::Agent >::iterator, std::vector< Core::Agent >::iterator >)
std::pair< std::vector< Core::Agent >::iterator, std::vector< Core::Agent >::iterator > m_Agents
QGridLayout * m_Layout
ColorBox * m_ActiveAgentColorBox
void SetActiveAgentIndex(int index)
Definition: action.h:6