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 COMMAND_MENU_HXX
19#define COMMAND_MENU_HXX
20
21class Properties;
22class OSystem;
23
24#include "DialogContainer.hxx"
25
26/**
27 The base dialog for common commands in Stella.
28
29 @author Stephen Anthony
30*/
31class CommandMenu : public DialogContainer
32{
33 public:
34 /**
35 Create a new menu stack
36 */
37 explicit CommandMenu(OSystem& osystem);
38 virtual ~CommandMenu();
39
40 /**
41 Return (and possibly create) the bottom-most dialog of this container.
42 */
43 Dialog* baseDialog() override;
44
45 private:
46 Dialog* myBaseDialog;
47
48 private:
49 // Following constructors and assignment operators not supported
50 CommandMenu() = delete;
51 CommandMenu(const CommandMenu&) = delete;
52 CommandMenu(CommandMenu&&) = delete;
53 CommandMenu& operator=(const CommandMenu&) = delete;
54 CommandMenu& operator=(CommandMenu&&) = delete;
55};
56
57#endif
58