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 CARTRIDGEMDM_WIDGET_HXX
19#define CARTRIDGEMDM_WIDGET_HXX
20
21class CartridgeMDM;
22class CheckboxWidget;
23class PopUpWidget;
24
25#include "CartDebugWidget.hxx"
26
27class CartridgeMDMWidget : public CartDebugWidget
28{
29 public:
30 CartridgeMDMWidget(GuiObject* boss, const GUI::Font& lfont,
31 const GUI::Font& nfont,
32 int x, int y, int w, int h,
33 CartridgeMDM& cart);
34 virtual ~CartridgeMDMWidget() = default;
35
36 private:
37 CartridgeMDM& myCart;
38 PopUpWidget* myBank;
39 CheckboxWidget* myBankDisabled;
40
41 enum { kBankChanged = 'bkCH', kBankDisabled = 'bkDI' };
42
43 private:
44 void loadConfig() override;
45 void handleCommand(CommandSender* sender, int cmd, int data, int id) override;
46
47 string bankState() override;
48
49 // Following constructors and assignment operators not supported
50 CartridgeMDMWidget() = delete;
51 CartridgeMDMWidget(const CartridgeMDMWidget&) = delete;
52 CartridgeMDMWidget(CartridgeMDMWidget&&) = delete;
53 CartridgeMDMWidget& operator=(const CartridgeMDMWidget&) = delete;
54 CartridgeMDMWidget& operator=(CartridgeMDMWidget&&) = delete;
55};
56
57#endif
58