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 COMBO_DIALOG_HXX
19#define COMBO_DIALOG_HXX
20
21class PopUpWidget;
22class EditTextWidget;
23class StaticTextWidget;
24class OSystem;
25
26#include "Dialog.hxx"
27#include "bspf.hxx"
28
29class ComboDialog : public Dialog
30{
31 public:
32 ComboDialog(GuiObject* boss, const GUI::Font& font, const VariantList& combolist);
33 virtual ~ComboDialog() = default;
34
35 /** Place the dialog onscreen and center it */
36 void show(Event::Type event, const string& name);
37
38 private:
39 void loadConfig() override;
40 void saveConfig() override;
41 void setDefaults() override;
42
43 void handleCommand(CommandSender* sender, int cmd, int data, int id) override;
44
45 private:
46 Event::Type myComboEvent;
47
48 PopUpWidget* myEvents[8];
49
50 private:
51 // Following constructors and assignment operators not supported
52 ComboDialog() = delete;
53 ComboDialog(const ComboDialog&) = delete;
54 ComboDialog(ComboDialog&&) = delete;
55 ComboDialog& operator=(const ComboDialog&) = delete;
56 ComboDialog& operator=(ComboDialog&&) = delete;
57};
58
59#endif
60