// Copyright (c) 2008-2022 the Urho3D project
// License: MIT
#include "../Precompiled.h"
#include "../Core/Context.h"
#include "../Input/InputEvents.h"
#include "../IO/Log.h"
#include "../UI/LineEdit.h"
#include "../UI/Menu.h"
#include "../UI/UI.h"
#include "../UI/UIEvents.h"
#include "../UI/Window.h"
#include "../DebugNew.h"
namespace Urho3D
{
const StringHash VAR_SHOW_POPUP("ShowPopup");
extern StringHash VAR_ORIGIN;
extern const char* UI_CATEGORY;
Menu::Menu(Context* context) :
Button(context),
popupOffset_(IntVector2::ZERO),
showPopup_(false),
acceleratorKey_(0),
acceleratorQualifiers_(0),
autoPopup_(true)
{
focusMode_ = FM_NOTFOCUSABLE;
SubscribeToEvent(this, E_PRESSED, URHO3D_HANDLER(Menu, HandlePressedReleased));
SubscribeToEvent(this, E_RELEASED, URHO3D_HANDLER(Menu, HandlePressedReleased));
SubscribeToEvent(E_UIMOUSECLICK, URHO3D_HANDLER(Menu, HandleFocusChanged));
SubscribeToEvent(E_FOCUSCHANGED, URHO3D_HANDLER(Menu, HandleFocusChanged));
}
Menu::~Menu()
{
if (popup_ && showPopup_)
ShowPopup(false);
}
void Menu::RegisterObject(Context* context)
{
context->RegisterFactory