1//============================================================================
2//
3// SSSS tt lll lll
4// SS SS tt ll ll
5// SS tttttt eeee ll ll aaaa
6// SSSS tt ee ee ll ll aa
7// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
8// SS SS tt ee ll ll aa aa
9// SSSS ttt eeeee llll llll aaaaa
10//
11// Copyright (c) 1995-2019 by Bradford W. Mott, Stephen Anthony
12// and the Stella Team
13//
14// See the file "License.txt" for information on usage and redistribution of
15// this file, and for a DISCLAIMER OF ALL WARRANTIES.
16//============================================================================
17
18#ifndef DATA_GRID_OPS_WIDGET_HXX
19#define DATA_GRID_OPS_WIDGET_HXX
20
21#include "Widget.hxx"
22#include "Command.hxx"
23
24// DataGridWidget operations
25enum {
26 kDGZeroCmd = 'DGze',
27 kDGInvertCmd = 'DGiv',
28 kDGNegateCmd = 'DGng',
29 kDGIncCmd = 'DGic',
30 kDGDecCmd = 'DGdc',
31 kDGShiftLCmd = 'DGls',
32 kDGShiftRCmd = 'DGrs'
33};
34
35class DataGridOpsWidget : public Widget, public CommandSender
36{
37 public:
38 DataGridOpsWidget(GuiObject* boss, const GUI::Font& font, int x, int y);
39 virtual ~DataGridOpsWidget() = default;
40
41 void setTarget(CommandReceiver* target);
42 void setEnabled(bool e);
43
44 private:
45 ButtonWidget* _zeroButton;
46 ButtonWidget* _invButton;
47 ButtonWidget* _negButton;
48 ButtonWidget* _incButton;
49 ButtonWidget* _decButton;
50 ButtonWidget* _shiftLeftButton;
51 ButtonWidget* _shiftRightButton;
52
53 private:
54 // Following constructors and assignment operators not supported
55 DataGridOpsWidget() = delete;
56 DataGridOpsWidget(const DataGridOpsWidget&) = delete;
57 DataGridOpsWidget(DataGridOpsWidget&&) = delete;
58 DataGridOpsWidget& operator=(const DataGridOpsWidget&) = delete;
59 DataGridOpsWidget& operator=(DataGridOpsWidget&&) = delete;
60};
61
62#endif
63