openMSX
|
#include <ImGuiManager.hh>
Public Member Functions | |
ImGuiManager (Reactor &reactor_) | |
ImGuiManager (const ImGuiManager &)=delete | |
ImGuiManager (ImGuiManager &&)=delete | |
ImGuiManager & | operator= (const ImGuiManager &)=delete |
ImGuiManager & | operator= (ImGuiManager &&)=delete |
~ImGuiManager () | |
void | registerPart (ImGuiPartInterface *part) |
void | unregisterPart (ImGuiPartInterface *part) |
Reactor & | getReactor () |
Shortcuts & | getShortcuts () |
Interpreter & | getInterpreter () |
CliComm & | getCliComm () |
std::optional< TclObject > | execute (TclObject command) |
void | executeDelayed (std::function< void()> action) |
void | executeDelayed (TclObject command, const std::function< void(const TclObject &)> &ok, const std::function< void(const std::string &)> &error) |
void | executeDelayed (TclObject command, const std::function< void(const TclObject &)> &ok={}) |
void | printError (std::string_view message) |
template<typename... Ts> | |
void | printError (Ts &&... ts) |
void | preNewFrame () |
void | paintImGui () |
void | storeWindowPosition (gl::ivec2 pos) |
gl::ivec2 | retrieveWindowPosition () const |
Public Member Functions inherited from openmsx::ImGuiPartInterface | |
virtual void | loadStart () |
virtual void | showMenu (MSXMotherBoard *) |
virtual void | paint (MSXMotherBoard *) |
Definition at line 61 of file ImGuiManager.hh.
|
explicit |
Definition at line 160 of file ImGuiManager.cc.
References openmsx::Subject< T >::attach(), bitmap, openmsx::BREAK, breakPoints, character, cheatFinder, connector, console, debugger, diskManipulator, openmsx::FILE_DROP, fontMonoFilename, fontMonoSize, fontPropFilename, fontPropSize, openmsx::Reactor::getEventDistributor(), help, openmsx::EventDistributor::IMGUI, openmsx::IMGUI_DELAYED_ACTION, ImHashStr(), openmsx::KEY_DOWN, openmsx::KEY_UP, keyboard, machine, openmsx::MACHINE_LOADED, media, messages, openmsx::MOUSE_BUTTON_DOWN, openmsx::MOUSE_BUTTON_UP, openmsx::MOUSE_MOTION, openmsx::MOUSE_WHEEL, openFile, osdIcons, palette, openmsx::EventDistributor::registerEventListener(), reverseBar, sccViewer, settings, soundChip, sprite, symbols, openmsx::TEXT, tools, trainer, vdpRegs, watchExpr, waveViewer, and openmsx::WINDOW.
|
delete |
|
delete |
openmsx::ImGuiManager::~ImGuiManager | ( | ) |
Definition at line 245 of file ImGuiManager.cc.
References openmsx::BREAK, openmsx::Subject< T >::detach(), openmsx::FILE_DROP, fontMonoFilename, fontMonoSize, fontPropFilename, fontPropSize, openmsx::Reactor::getEventDistributor(), openmsx::IMGUI_DELAYED_ACTION, openmsx::KEY_DOWN, openmsx::KEY_UP, openmsx::MACHINE_LOADED, openmsx::MOUSE_BUTTON_DOWN, openmsx::MOUSE_BUTTON_UP, openmsx::MOUSE_MOTION, openmsx::MOUSE_WHEEL, openmsx::TEXT, openmsx::EventDistributor::unregisterEventListener(), and openmsx::WINDOW.
Definition at line 343 of file ImGuiManager.cc.
References openmsx::TclObject::executeCommand(), and getInterpreter().
Referenced by openmsx::ImGuiMedia::displayNameForDriveContent(), openmsx::ImGuiKeyboard::paint(), openmsx::ImGuiTrainer::paint(), paintImGui(), openmsx::parseAllConfigFiles(), openmsx::ImGuiReverseBar::showMenu(), and openmsx::ImGuiTools::showMenu().
void openmsx::ImGuiManager::executeDelayed | ( | std::function< void()> | action | ) |
Definition at line 353 of file ImGuiManager.cc.
References openmsx::EventDistributor::distributeEvent(), and openmsx::Reactor::getEventDistributor().
Referenced by executeDelayed(), executeDelayed(), openmsx::ImGuiMedia::getTestResult(), openmsx::ImGuiConsole::paint(), openmsx::ImGuiTools::paint(), paintImGui(), openmsx::ImGuiConnector::showMenu(), openmsx::ImGuiMachine::showMenu(), openmsx::ImGuiReverseBar::showMenu(), and openmsx::ImGuiTools::showMenu().
void openmsx::ImGuiManager::executeDelayed | ( | TclObject | command, |
const std::function< void(const TclObject &)> & | ok, | ||
const std::function< void(const std::string &)> & | error | ||
) |
Definition at line 359 of file ImGuiManager.cc.
References openmsx::TclObject::executeCommand(), executeDelayed(), and getInterpreter().
void openmsx::ImGuiManager::executeDelayed | ( | TclObject | command, |
const std::function< void(const TclObject &)> & | ok = {} |
||
) |
Definition at line 373 of file ImGuiManager.cc.
References executeDelayed(), and printError().
CliComm & openmsx::ImGuiManager::getCliComm | ( | ) |
Definition at line 338 of file ImGuiManager.cc.
References openmsx::Reactor::getCliComm().
Referenced by printError().
Interpreter & openmsx::ImGuiManager::getInterpreter | ( | ) |
Definition at line 333 of file ImGuiManager.cc.
References openmsx::Reactor::getInterpreter().
Referenced by execute(), executeDelayed(), openmsx::ImGuiConsole::ImGuiConsole(), openmsx::ImGuiOsdIcons::paint(), and openmsx::ImGuiMedia::showMenu().
|
inline |
Definition at line 74 of file ImGuiManager.hh.
Referenced by openmsx::ImGuiMedia::displayNameForRom(), openmsx::ImGuiMedia::getTestResult(), openmsx::ImGuiMessages::ImGuiMessages(), openmsx::ImGuiBreakPoints::loadStart(), openmsx::ImGuiConsole::paint(), openmsx::ImGuiTrainer::paint(), openmsx::ImGuiMachine::showMenu(), openmsx::ImGuiReverseBar::showMenu(), openmsx::ImGuiSettings::showMenu(), openmsx::ImGuiTools::showMenu(), and openmsx::ImGuiMessages::~ImGuiMessages().
|
inline |
Definition at line 75 of file ImGuiManager.hh.
References openmsx::Reactor::getShortcuts().
|
delete |
|
delete |
void openmsx::ImGuiManager::paintImGui | ( | ) |
Definition at line 491 of file ImGuiManager.cc.
References openmsx::calculateFade(), openmsx::EventDistributor::distributeEvent(), execute(), executeDelayed(), openmsx::RomDatabase::fetchRomInfo(), openmsx::MSXMotherBoard::getCurrentTime(), openmsx::Reactor::getEventDistributor(), openmsx::FileOperations::getExtension(), openmsx::Reactor::getFilePool(), openmsx::Reactor::getMotherBoard(), openmsx::RomInfo::getRomType(), openmsx::FilePool::getSha1Sum(), openmsx::Reactor::getSoftwareDatabase(), openmsx::FileOperations::isDirectory(), im::ListBox(), im::MainMenuBar(), openmsx::makeTclList(), openmsx::ImGuiOpenFile::MANAGER, media, im::MenuBar(), menuFade, openFile, im::Popup(), openmsx::ImGuiMedia::printDatabase(), openmsx::RomInfo::romTypeToName(), openmsx::ImGuiMedia::selectMapperType(), openmsx::simpleToolTip(), statusBarVisible, strCat(), im::StyleVar(), im::Table(), ImGui::TextUnformatted(), im::TextWrapPos(), tmpStrCat(), openmsx::UNKNOWN, and im::Window().
void openmsx::ImGuiManager::preNewFrame | ( | ) |
Definition at line 469 of file ImGuiManager.cc.
References loadIniFile, and needReloadFont.
void openmsx::ImGuiManager::printError | ( | std::string_view | message | ) |
Definition at line 380 of file ImGuiManager.cc.
References getCliComm(), and openmsx::CliComm::printError().
Referenced by executeDelayed(), and printError().
|
inline |
Definition at line 87 of file ImGuiManager.hh.
References printError(), and tmpStrCat().
void openmsx::ImGuiManager::registerPart | ( | ImGuiPartInterface * | part | ) |
Definition at line 263 of file ImGuiManager.cc.
References contains().
Referenced by openmsx::ImGuiPart::ImGuiPart().
|
inline |
Definition at line 95 of file ImGuiManager.hh.
Referenced by openmsx::Display::retrieveWindowPosition().
|
inline |
Definition at line 94 of file ImGuiManager.hh.
Referenced by openmsx::Display::storeWindowPosition().
void openmsx::ImGuiManager::unregisterPart | ( | ImGuiPartInterface * | part | ) |
Definition at line 270 of file ImGuiManager.cc.
References ranges::find().
Referenced by openmsx::ImGuiPart::~ImGuiPart().
std::unique_ptr<ImGuiBitmapViewer> openmsx::ImGuiManager::bitmap |
Definition at line 144 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiDebugger::showMenu().
std::unique_ptr<ImGuiBreakPoints> openmsx::ImGuiManager::breakPoints |
Definition at line 141 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiDebugger::showMenu().
std::unique_ptr<ImGuiCharacter> openmsx::ImGuiManager::character |
Definition at line 145 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiDebugger::showMenu().
std::unique_ptr<ImGuiCheatFinder> openmsx::ImGuiManager::cheatFinder |
Definition at line 159 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiTools::showMenu().
std::unique_ptr<ImGuiConnector> openmsx::ImGuiManager::connector |
Definition at line 154 of file ImGuiManager.hh.
Referenced by ImGuiManager().
std::unique_ptr<ImGuiConsole> openmsx::ImGuiManager::console |
Definition at line 164 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiTools::showMenu().
std::unique_ptr<ImGuiDebugger> openmsx::ImGuiManager::debugger |
Definition at line 140 of file ImGuiManager.hh.
Referenced by ImGuiManager().
std::unique_ptr<ImGuiDiskManipulator> openmsx::ImGuiManager::diskManipulator |
Definition at line 160 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiTools::showMenu().
ImFont* openmsx::ImGuiManager::fontMono = nullptr |
Definition at line 137 of file ImGuiManager.hh.
Referenced by openmsx::DebuggableEditor::paint(), openmsx::ImGuiBitmapViewer::paint(), and openmsx::ImGuiConsole::paint().
FilenameSetting openmsx::ImGuiManager::fontMonoFilename |
Definition at line 133 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and ~ImGuiManager().
IntegerSetting openmsx::ImGuiManager::fontMonoSize |
Definition at line 135 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and ~ImGuiManager().
ImFont* openmsx::ImGuiManager::fontProp = nullptr |
Definition at line 136 of file ImGuiManager.hh.
FilenameSetting openmsx::ImGuiManager::fontPropFilename |
Definition at line 132 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and ~ImGuiManager().
IntegerSetting openmsx::ImGuiManager::fontPropSize |
Definition at line 134 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and ~ImGuiManager().
std::unique_ptr<ImGuiHelp> openmsx::ImGuiManager::help |
Definition at line 150 of file ImGuiManager.hh.
Referenced by ImGuiManager().
std::unique_ptr<ImGuiKeyboard> openmsx::ImGuiManager::keyboard |
Definition at line 163 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiTools::showMenu().
std::string openmsx::ImGuiManager::loadIniFile |
Definition at line 170 of file ImGuiManager.hh.
Referenced by preNewFrame(), and openmsx::ImGuiSettings::showMenu().
std::unique_ptr<ImGuiMachine> openmsx::ImGuiManager::machine |
Definition at line 139 of file ImGuiManager.hh.
Referenced by ImGuiManager().
std::unique_ptr<ImGuiMedia> openmsx::ImGuiManager::media |
Definition at line 153 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and paintImGui().
bool openmsx::ImGuiManager::menuFade = true |
Definition at line 167 of file ImGuiManager.hh.
Referenced by paintImGui(), and openmsx::ImGuiSettings::showMenu().
std::unique_ptr<ImGuiMessages> openmsx::ImGuiManager::messages |
Definition at line 165 of file ImGuiManager.hh.
Referenced by ImGuiManager(), openmsx::ImGuiSettings::showMenu(), and openmsx::ImGuiTools::showMenu().
bool openmsx::ImGuiManager::needReloadFont = false |
Definition at line 168 of file ImGuiManager.hh.
Referenced by preNewFrame().
std::unique_ptr<ImGuiOpenFile> openmsx::ImGuiManager::openFile |
Definition at line 152 of file ImGuiManager.hh.
Referenced by ImGuiManager(), openmsx::ImGuiSymbols::paint(), and paintImGui().
std::unique_ptr<ImGuiOsdIcons> openmsx::ImGuiManager::osdIcons |
Definition at line 151 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiSettings::showMenu().
std::unique_ptr<ImGuiPalette> openmsx::ImGuiManager::palette |
Definition at line 148 of file ImGuiManager.hh.
Referenced by ImGuiManager(), openmsx::ImGuiBitmapViewer::paint(), openmsx::ImGuiCharacter::paint(), openmsx::ImGuiSpriteViewer::paint(), and openmsx::ImGuiDebugger::showMenu().
std::unique_ptr<ImGuiReverseBar> openmsx::ImGuiManager::reverseBar |
Definition at line 149 of file ImGuiManager.hh.
Referenced by ImGuiManager().
std::unique_ptr<ImGuiSCCViewer> openmsx::ImGuiManager::sccViewer |
Definition at line 157 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiTools::showMenu().
std::unique_ptr<ImGuiSettings> openmsx::ImGuiManager::settings |
Definition at line 161 of file ImGuiManager.hh.
Referenced by ImGuiManager().
std::unique_ptr<ImGuiSoundChip> openmsx::ImGuiManager::soundChip |
Definition at line 162 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiSettings::showMenu().
std::unique_ptr<ImGuiSpriteViewer> openmsx::ImGuiManager::sprite |
Definition at line 146 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiDebugger::showMenu().
bool openmsx::ImGuiManager::statusBarVisible = false |
Definition at line 169 of file ImGuiManager.hh.
Referenced by paintImGui(), and openmsx::ImGuiSettings::showMenu().
std::unique_ptr<ImGuiSymbols> openmsx::ImGuiManager::symbols |
Definition at line 142 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiDebugger::showMenu().
std::unique_ptr<ImGuiTools> openmsx::ImGuiManager::tools |
Definition at line 155 of file ImGuiManager.hh.
Referenced by ImGuiManager().
std::unique_ptr<ImGuiTrainer> openmsx::ImGuiManager::trainer |
Definition at line 156 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiTools::showMenu().
std::unique_ptr<ImGuiVdpRegs> openmsx::ImGuiManager::vdpRegs |
Definition at line 147 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiDebugger::showMenu().
std::unique_ptr<ImGuiWatchExpr> openmsx::ImGuiManager::watchExpr |
Definition at line 143 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiDebugger::showMenu().
std::unique_ptr<ImGuiWaveViewer> openmsx::ImGuiManager::waveViewer |
Definition at line 158 of file ImGuiManager.hh.
Referenced by ImGuiManager(), and openmsx::ImGuiTools::showMenu().