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 CARTRIDGE4A50_WIDGET_HXX
19#define CARTRIDGE4A50_WIDGET_HXX
20
21class Cartridge4A50;
22class PopUpWidget;
23
24#include "CartDebugWidget.hxx"
25
26class Cartridge4A50Widget : public CartDebugWidget
27{
28 public:
29 Cartridge4A50Widget(GuiObject* boss, const GUI::Font& lfont,
30 const GUI::Font& nfont,
31 int x, int y, int w, int h,
32 Cartridge4A50& cart);
33 virtual ~Cartridge4A50Widget() = default;
34
35 private:
36 Cartridge4A50& myCart;
37 PopUpWidget *myROMLower, *myRAMLower;
38 PopUpWidget *myROMMiddle, *myRAMMiddle;
39 PopUpWidget *myROMHigh, *myRAMHigh;
40
41 enum {
42 kROMLowerChanged = 'rmLW',
43 kRAMLowerChanged = 'raLW',
44 kROMMiddleChanged = 'rmMD',
45 kRAMMiddleChanged = 'raMD',
46 kROMHighChanged = 'rmHI',
47 kRAMHighChanged = 'raHI'
48 };
49
50 private:
51 void loadConfig() override;
52 void handleCommand(CommandSender* sender, int cmd, int data, int id) override;
53
54 string bankState() override;
55
56 // Following constructors and assignment operators not supported
57 Cartridge4A50Widget() = delete;
58 Cartridge4A50Widget(const Cartridge4A50Widget&) = delete;
59 Cartridge4A50Widget(Cartridge4A50Widget&&) = delete;
60 Cartridge4A50Widget& operator=(const Cartridge4A50Widget&) = delete;
61 Cartridge4A50Widget& operator=(Cartridge4A50Widget&&) = delete;
62};
63
64#endif
65