86 lines
4.0 KiB
C#
86 lines
4.0 KiB
C#
//
|
|
// UnrealPackageImportPropertiesDialog.cs - provides a UWT-based CustomDialog for editing the properties of an import in an Unreal Engine package
|
|
//
|
|
// Author:
|
|
// Michael Becker <alcexhim@gmail.com>
|
|
//
|
|
// Copyright (c) 2019-2020 Mike Becker's Software
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
using System;
|
|
using MBS.Framework.UserInterface;
|
|
using MBS.Framework.UserInterface.Controls;
|
|
using UniversalEditor.ObjectModels.UnrealEngine;
|
|
|
|
namespace UniversalEditor.Plugins.UnrealEngine.UserInterface.Dialogs.Unreal.Package
|
|
{
|
|
/// <summary>
|
|
/// Provides a UWT-based <see cref="CustomDialog" /> for editing the properties of an import in an Unreal Engine package.
|
|
/// </summary>
|
|
[ContainerLayout("~/Editors/Unreal/Package/Dialogs/UnrealPackageEntryPropertiesDialog.glade")]
|
|
public class UnrealPackageEntryPropertiesDialog : CustomDialog
|
|
{
|
|
private TextBox txtObjectName;
|
|
private ComboBox cboClassName;
|
|
private ComboBox cboPackageName;
|
|
private TextBox txtSourceData;
|
|
private Button cmdSourceDataBrowse;
|
|
|
|
private GroupBox fraFlags;
|
|
private CheckBox chkFlagTransactional, chkFlagUnreachable, chkFlagPublic, chkFlagSourceModified, chkFlagGarbageCollect;
|
|
private CheckBox chkFlagImporting, chkFlagExporting, chkFlagRequireLoad, chkFlagHighlightNameEliminateObject, chkFlagRemappedNameSingularFunction, chkFlagSuppressedStateChanged;
|
|
|
|
public ImportTableEntry ImportTableEntry { get; set; } = null;
|
|
public ExportTableEntry ExportTableEntry { get; set; } = null;
|
|
|
|
protected override void OnCreated(EventArgs e)
|
|
{
|
|
base.OnCreated(e);
|
|
|
|
if (ImportTableEntry != null)
|
|
{
|
|
txtObjectName.Text = ImportTableEntry.ObjectName.Name;
|
|
cboClassName.Text = ImportTableEntry.ClassName.Name;
|
|
cboPackageName.Text = ImportTableEntry.PackageName.Name;
|
|
|
|
fraFlags.Visible = false;
|
|
|
|
Text = "Import Table Entry Properties";
|
|
}
|
|
else if (ExportTableEntry != null)
|
|
{
|
|
txtObjectName.Text = ExportTableEntry.Name?.Name;
|
|
cboClassName.Text = ExportTableEntry.ObjectClass?.Name?.Name;
|
|
cboPackageName.Text = ExportTableEntry.ObjectParent?.Name?.Name;
|
|
|
|
fraFlags.Visible = true;
|
|
chkFlagTransactional.Checked = ((ExportTableEntry.Flags & ObjectFlags.Transactional) == ObjectFlags.Transactional);
|
|
chkFlagUnreachable.Checked = ((ExportTableEntry.Flags & ObjectFlags.Unreachable) == ObjectFlags.Unreachable);
|
|
chkFlagPublic.Checked = ((ExportTableEntry.Flags & ObjectFlags.Public) == ObjectFlags.Public);
|
|
chkFlagSourceModified.Checked = ((ExportTableEntry.Flags & ObjectFlags.SourceModified) == ObjectFlags.SourceModified);
|
|
chkFlagGarbageCollect.Checked = ((ExportTableEntry.Flags & ObjectFlags.GarbageCollect) == ObjectFlags.GarbageCollect);
|
|
chkFlagImporting.Checked = ((ExportTableEntry.Flags & ObjectFlags.Importing) == ObjectFlags.Importing);
|
|
chkFlagExporting.Checked = ((ExportTableEntry.Flags & ObjectFlags.Exporting) == ObjectFlags.Exporting);
|
|
chkFlagRequireLoad.Checked = ((ExportTableEntry.Flags & ObjectFlags.RequireLoad) == ObjectFlags.RequireLoad);
|
|
chkFlagHighlightNameEliminateObject.Checked = ((ExportTableEntry.Flags & ObjectFlags.HighlightedName) == ObjectFlags.HighlightedName);
|
|
chkFlagRemappedNameSingularFunction.Checked = ((ExportTableEntry.Flags & ObjectFlags.RemappedName) == ObjectFlags.RemappedName);
|
|
chkFlagSuppressedStateChanged.Checked = ((ExportTableEntry.Flags & ObjectFlags.Suppressed) == ObjectFlags.Suppressed);
|
|
|
|
Text = "Export Table Entry Properties";
|
|
}
|
|
}
|
|
}
|
|
}
|