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 TOGGLE_BIT_WIDGET_HXX
19#define TOGGLE_BIT_WIDGET_HXX
20
21#include "ToggleWidget.hxx"
22
23/* ToggleBitWidget */
24class ToggleBitWidget : public ToggleWidget
25{
26 public:
27 ToggleBitWidget(GuiObject* boss, const GUI::Font& font,
28 int x, int y, int cols, int rows, int colchars = 1);
29 virtual ~ToggleBitWidget() = default;
30
31 void setList(const StringList& off, const StringList& on);
32 void setState(const BoolArray& state, const BoolArray& changed);
33
34 protected:
35 void drawWidget(bool hilite) override;
36
37 protected:
38 StringList _offList;
39 StringList _onList;
40
41 private:
42 // Following constructors and assignment operators not supported
43 ToggleBitWidget() = delete;
44 ToggleBitWidget(const ToggleBitWidget&) = delete;
45 ToggleBitWidget(ToggleBitWidget&&) = delete;
46 ToggleBitWidget& operator=(const ToggleBitWidget&) = delete;
47 ToggleBitWidget& operator=(ToggleBitWidget&&) = delete;
48};
49
50#endif
51