PCB Environment 2
Loading...
Searching...
No Matches
ActionTab.hpp
1
2#ifndef GYM_PCB_UI_ACTIONTAB_H
3#define GYM_PCB_UI_ACTIONTAB_H
4
5#include "Py.hpp"
6#include <QWidget>
7#include <set>
8
9class Window;
10class UIActions;
11class Pin;
12class Component;
13class PCBoard;
14
15class QCheckBox;
16class QComboBox;
17class QListWidget;
18class QPushButton;
19class QProgressBar;
20class QSpinBox;
21class QDoubleSpinBox;
22class QToolButton;
23
24// Actions:
25// Autoroute Selection + Timeout
26// Unroute Selection
27// Autoroute Connection
28// Route To Point + Preview
29// Segment To Point + Preview
30// None
31// SetLayer
32// Unroute
33
34class ActionTab : public QWidget
35{
36 Q_OBJECT
37public:
38 bool init();
39 void connect(Window&, UIActions&);
40 uint getLayer() const;
41 uint64_t getTimeoutMS() const;
42 void setBoard(const PCBoard *);
43 void setNumLayers(uint N);
44 void setPins(const Pin *, const Pin *);
45 void setProgress(uint);
46 void setActiveTool(char);
47 void newSelections();
48private:
49 UIActions *mActions{0};
50 QCheckBox *mPreview;
51 QCheckBox *mStepLock;
52 QComboBox *mLayerChoice;
53 QComboBox *mTimeoutUnit;
54 QComboBox *mSelectType;
55 QComboBox *mSelectZ;
56 QListWidget *mSelection;
57 QSpinBox *mTimeoutSpin;
58 QDoubleSpinBox *mViaCost;
59 QProgressBar *mProgress;
60 QPushButton *mAutoroute;
61 QPushButton *mConnect;
62 QPushButton *mInterrupt;
63 QPushButton *mUnrouteX;
64 QPushButton *mUnrouteS;
65 QPushButton *mExit;
66 QToolButton *mTools[2];
67 QToolButton *mUndoTool;
68 QToolButton *mNextStep;
69private:
70 void onClickTool(char c, Window&);
71};
72
73#endif // GYM_PCB_UI_ACTIONTAB_H
Definition ActionTab.hpp:35
Definition Component.hpp:18
Definition PCBoard.hpp:36
Definition Pin.hpp:18
WARNING: The non-async UIActions functions are expected to be non-concurrent.
Definition Actions.hpp:48
Definition Window.hpp:21