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
9 class Window;
10 class UIActions;
11 class Pin;
12 class Component;
13 class PCBoard;
14
15 class QCheckBox;
16 class QComboBox;
17 class QListWidget;
18 class QPushButton;
19 class QProgressBar;
20 class QSpinBox;
21 class QDoubleSpinBox;
22 class 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
34 class ActionTab : public QWidget
35{
36 Q_OBJECT
37 public:
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();
48 private:
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;
69 private:
70 void onClickTool(char c, Window&);
71};
72
73#endif // GYM_PCB_UI_ACTIONTAB_H
ActionTab
Definition ActionTab.hpp:35
Component
Definition Component.hpp:18
PCBoard
Definition PCBoard.hpp:36
Pin
Definition Pin.hpp:18
UIActions
WARNING: The non-async UIActions functions are expected to be non-concurrent.
Definition Actions.hpp:48
Window
Definition Window.hpp:21