JUCEのComboBoxのPopupMenuがGUIの後ろに隠れてしまい、on topに表示されない問題がある場合、この情報をもとにLookAndFeelのメソッドをoverrideすると、うまくon topに表示出来て、またドラッグ動作の際 parent componentと一緒に動く挙動を実装出来ます。
Component* getParentComponentForMenuOptions (const PopupMenu::Options& options) override
{
if (auto* comp = options.getParentComponent())
return comp;
if (auto* targetComp = options.getTargetComponent())
{
if (auto* editor = targetComp->findParentComponentOfClass<AudioProcessorEditor>())
return editor;
}
return LookAndFeel_V4::getParentComponentForMenuOptions (options);
}
AudioProcessorEdito
rをparentとすることで、ComboBoxのpopupが全てのWindowよりもfrontに来るように出来ます。