2022-06-30 23:53:08 +00:00
|
|
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
|
|
using Newtonsoft.Json;
|
2022-01-27 13:40:04 +00:00
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
namespace MSFSPopoutPanelManager.Model
|
|
|
|
|
{
|
2022-06-30 23:53:08 +00:00
|
|
|
|
public class PanelConfig : ObservableObject
|
2022-01-27 13:40:04 +00:00
|
|
|
|
{
|
|
|
|
|
public int PanelIndex { get; set; }
|
|
|
|
|
|
|
|
|
|
public string PanelName { get; set; }
|
|
|
|
|
|
|
|
|
|
public PanelType PanelType { get; set; }
|
|
|
|
|
|
|
|
|
|
public int Top { get; set; }
|
|
|
|
|
|
|
|
|
|
public int Left { get; set; }
|
|
|
|
|
|
|
|
|
|
public int Width { get; set; }
|
|
|
|
|
|
|
|
|
|
public int Height { get; set; }
|
|
|
|
|
|
|
|
|
|
public bool AlwaysOnTop { get; set; }
|
|
|
|
|
|
|
|
|
|
public bool HideTitlebar { get; set; }
|
|
|
|
|
|
2022-04-18 19:52:39 +00:00
|
|
|
|
public bool FullScreen { get; set; }
|
|
|
|
|
|
2022-06-13 03:49:56 +00:00
|
|
|
|
public bool TouchEnabled { get; set; }
|
|
|
|
|
|
2022-01-27 13:40:04 +00:00
|
|
|
|
[JsonIgnore]
|
|
|
|
|
public bool IsCustomPopout { get { return PanelType == PanelType.CustomPopout; } }
|
|
|
|
|
|
|
|
|
|
[JsonIgnore]
|
|
|
|
|
public IntPtr PanelHandle { get; set; }
|
2022-06-13 03:49:56 +00:00
|
|
|
|
|
|
|
|
|
[JsonIgnore]
|
|
|
|
|
public bool IsLockable
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
switch (PanelType)
|
|
|
|
|
{
|
|
|
|
|
case PanelType.CustomPopout:
|
|
|
|
|
case PanelType.BuiltInPopout:
|
|
|
|
|
case PanelType.MSFSTouchPanel:
|
|
|
|
|
return true;
|
|
|
|
|
default:
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[JsonIgnore]
|
|
|
|
|
public bool HasTouchableEvent
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
switch (PanelType)
|
|
|
|
|
{
|
|
|
|
|
case PanelType.CustomPopout:
|
|
|
|
|
case PanelType.BuiltInPopout:
|
|
|
|
|
return true;
|
|
|
|
|
default:
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-01-27 13:40:04 +00:00
|
|
|
|
}
|
|
|
|
|
}
|