GUIFramework 1.1.0
Framework for desktop GUI applications in C++.
Loading...
Searching...
No Matches
IMenuItem.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace gui_framework
6{
7 namespace interfaces
8 {
11 {
12 protected:
13 std::wstring text;
14 std::string type;
15 HMENU parent;
16 uint32_t index;
17
18 public:
19 IMenuItem(const std::wstring& text, const std::string& type);
20
21 virtual void processMessage() = 0;
22
25 virtual std::tuple<uint32_t, uint64_t> getCreationData() const = 0;
26
27 virtual void createMenuItem(HMENU parent) final;
28
29 virtual void setParent(HMENU parent) final;
30
31 virtual void setIndex(uint32_t index) final;
32
33 virtual const std::wstring& getText() const final;
34
35 virtual const std::string& getType() const final;
36
37 virtual json::JSONBuilder getStructure() const override;
38
39 virtual ~IMenuItem();
40 };
41 }
42}
#define GUI_FRAMEWORK_API
Interface for all menu items.
Definition IMenuItem.h:11
virtual std::tuple< uint32_t, uint64_t > getCreationData() const =0
Provides interface for serializable to JSON format.