You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/ScriptCanvas/Code/Editor/View/Dialogs/UnsavedChangesDialog.h

50 lines
1.1 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#pragma once
#if !defined(Q_MOC_RUN)
#include <AzCore/Memory/SystemAllocator.h>
#include <QDialog>
#endif
namespace Ui
{
class UnsavedChangesDialog;
}
namespace ScriptCanvasEditor
{
enum class UnsavedChangesOptions
{
SAVE,
CONTINUE_WITHOUT_SAVING,
CANCEL_WITHOUT_SAVING,
INVALID
};
class UnsavedChangesDialog
: public QDialog
{
Q_OBJECT
public:
AZ_CLASS_ALLOCATOR(UnsavedChangesDialog, AZ::SystemAllocator, 0);
UnsavedChangesDialog(const QString& filename, QWidget* pParent = nullptr);
UnsavedChangesOptions GetResult() const { return m_result; }
protected:
void OnSaveButton(bool clicked);
void OnContinueWithoutSavingButton(bool clicked);
void OnCancelWithoutSavingButton(bool clicked);
Ui::UnsavedChangesDialog* ui;
UnsavedChangesOptions m_result = UnsavedChangesOptions::INVALID;
};
}