Пример #1
0
        protected override void CustomRender()
        {
            if (_openRequested)
            {
                ImGui.OpenPopup(PopupLabel);
                _isOpen        = true;
                _openRequested = false;
            }

            var wasOpen = _isOpen;

            ImGui.SetNextWindowSize(new Vector2(700, 500));
            if (ImGui.BeginPopupModal(PopupLabel, ref _isOpen, ImGuiWindowFlags.Modal))
            {
                ImGui.TextWrapped(_message);
                ImGui.NewLine();

                ImGui.Separator();

                if (ImGui.Button("Close"))
                {
                    _isOpen = false;
                    ImGui.CloseCurrentPopup();
                }

                ImGui.EndPopup();
            }

            if (wasOpen && !_isOpen)
            {
                ModalClosed?.Invoke(this, EventArgs.Empty);
            }
        }
Пример #2
0
 public void CloseModal(bool isDismissed, TResult result)
 {
     ModalClosed?.Invoke(new ModalResult <TResult>(isDismissed, result));
 }