FINAL CUT
fdialoglistmenu.h
1 /***********************************************************************
2 * fdialoglistmenu.h - Widget FDialogListMenu *
3 * *
4 * This file is part of the FINAL CUT widget toolkit *
5 * *
6 * Copyright 2016-2023 Markus Gans *
7 * *
8 * FINAL CUT is free software; you can redistribute it and/or modify *
9 * it under the terms of the GNU Lesser General Public License as *
10 * published by the Free Software Foundation; either version 3 of *
11 * the License, or (at your option) any later version. *
12 * *
13 * FINAL CUT is distributed in the hope that it will be useful, but *
14 * WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public *
19 * License along with this program. If not, see *
20 * <http://www.gnu.org/licenses/>. *
21 ***********************************************************************/
22 
23 /* Inheritance diagram
24  * ═══════════════════
25  *
26  * ▕▔▔▔▔▔▔▔▔▔▏ ▕▔▔▔▔▔▔▔▔▔▏
27  * ▕ FVTerm ▏ ▕ FObject ▏
28  * ▕▁▁▁▁▁▁▁▁▁▏ ▕▁▁▁▁▁▁▁▁▁▏
29  * ▲ ▲
30  * │ │
31  * └─────┬─────┘
32  * │
33  * ▕▔▔▔▔▔▔▔▔▔▏
34  * ▕ FWidget ▏
35  * ▕▁▁▁▁▁▁▁▁▁▏
36  * ▲
37  * │
38  * ▕▔▔▔▔▔▔▔▔▔▏ ▕▔▔▔▔▔▔▔▔▔▔▔▏
39  * ▕ FWindow ▏ ▕ FMenuList ▏
40  * ▕▁▁▁▁▁▁▁▁▁▏ ▕▁▁▁▁▁▁▁▁▁▁▁▏
41  * ▲ ▲
42  * │ │
43  * └─────┬─────┘
44  * │
45  * ▕▔▔▔▔▔▔▔▏
46  * ▕ FMenu ▏
47  * ▕▁▁▁▁▁▁▁▏
48  * ▲
49  * │
50  * ▕▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏ ▕▔▔▔▔▔▔▔▔▔▔▔▏
51  * ▕ FDialogListMenu ▏- - - - - -▕ FMenuItem ▏
52  * ▕▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏1 1▕▁▁▁▁▁▁▁▁▁▁▁▏
53  */
54 
55 #ifndef FDIALOGLISTMENU_H
56 #define FDIALOGLISTMENU_H
57 #if !defined (USE_FINAL_H) && !defined (COMPILE_FINAL_CUT)
58  #error "Only <final/final.h> can be included directly."
59 #endif
60 
61 #include "final/menu/fmenu.h"
62 
63 namespace finalcut
64 {
65 
66 //----------------------------------------------------------------------
67 // class FDialogListMenu
68 //----------------------------------------------------------------------
69 
70 class FDialogListMenu : public FMenu
71 {
72  public:
73  // Constructors
74  explicit FDialogListMenu (FWidget* = nullptr);
75  explicit FDialogListMenu (FString&&, FWidget* = nullptr);
76 
77  // Destructor
78  ~FDialogListMenu() override;
79 
80  // Accessors
81  auto getClassName() const -> FString override;
82 
83  private:
84  // Enumeration
85  enum class Enable { No, Yes };
86 
87  // Method
88  void init();
89 
90  // Callback method
91  void cb_switchState (Enable);
92 };
93 
94 
95 // FDialogListMenu inline functions
96 //----------------------------------------------------------------------
97 inline auto FDialogListMenu::getClassName() const -> FString
98 { return "FDialogListMenu"; }
99 
100 } // namespace finalcut
101 
102 #endif // FDIALOGLISTMENU_H
Definition: fmenu.h:75
Definition: class_template.cpp:25
Definition: fdialoglistmenu.h:70
Definition: fstring.h:79
Definition: fwidget.h:129