FlightGear
next
FGNasalMenuBar.hxx
Go to the documentation of this file.
1
/*
2
* SPDX-FileName: NasalMenuBar.hxx
3
* SPDX-FileComment: XML-configured menu bar
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
* SPDX-FileCopyrightText: Copyright (C) 2023 James Turner
6
*/
7
8
#pragma once
9
10
#include <
GUI/menubar.hxx
>
11
12
// std
13
#include <memory>
14
#include <string>
15
#include <vector>
16
17
// SimGear
18
#include <simgear/nasal/cppbind/NasalHash.hxx>
19
#include <simgear/props/propsfwd.hxx>
20
21
30
class
FGNasalMenuBar
:
public
FGMenuBar
31
{
32
public
:
36
FGNasalMenuBar
();
37
virtual
~FGNasalMenuBar
() =
default
;
38
39
43
void
init
()
override
;
44
45
void
postinit
()
override
;
46
50
void
show
()
override
;
51
52
56
void
hide
()
override
;
57
58
62
bool
isVisible
()
const override
;
63
64
void
setHideIfOverlapsWindow
(
bool
hide
)
override
;
65
66
bool
getHideIfOverlapsWindow
()
const override
;
67
68
69
static
void
setupGhosts
(nasal::Hash& compatModule);
70
71
72
private
:
73
void
recomputeVisibility();
74
75
void
configure(SGPropertyNode_ptr config);
76
77
78
class
NasalMenuBarPrivate
;
79
std::shared_ptr<NasalMenuBarPrivate> _d;
80
};
FGMenuBar::FGMenuBar
FGMenuBar()
Definition
menubar.cxx:10
FGNasalMenuBar::NasalMenuBarPrivate
Definition
FGNasalMenuBar.cxx:312
FGNasalMenuBar::hide
void hide() override
Make the menu bar invisible.
Definition
FGNasalMenuBar.cxx:359
FGNasalMenuBar::show
void show() override
Make the menu bar visible.
Definition
FGNasalMenuBar.cxx:353
FGNasalMenuBar::FGNasalMenuBar
FGNasalMenuBar()
Constructor.
Definition
FGNasalMenuBar.cxx:326
FGNasalMenuBar::setHideIfOverlapsWindow
void setHideIfOverlapsWindow(bool hide) override
Request the menubar to be hidden if its display overlays the main window content.
Definition
FGNasalMenuBar.cxx:384
FGNasalMenuBar::~FGNasalMenuBar
virtual ~FGNasalMenuBar()=default
FGNasalMenuBar::setupGhosts
static void setupGhosts(nasal::Hash &compatModule)
Definition
FGNasalMenuBar.cxx:402
FGNasalMenuBar::isVisible
bool isVisible() const override
Test whether the menu bar is visible.
Definition
FGNasalMenuBar.cxx:379
FGNasalMenuBar::init
void init() override
Initialize the menu bar from $FG_ROOT/gui/menubar.xml.
Definition
FGNasalMenuBar.cxx:330
FGNasalMenuBar::getHideIfOverlapsWindow
bool getHideIfOverlapsWindow() const override
Definition
FGNasalMenuBar.cxx:390
FGNasalMenuBar::postinit
void postinit() override
Definition
FGNasalMenuBar.cxx:336
menubar.hxx
src
GUI
FGNasalMenuBar.hxx
Generated on Tue Jun 3 2025 12:58:39 for FlightGear by
1.13.2