Files
wg_cpso/CPSO/Forms/01_Edit/ViewCommand.cs

90 lines
3.0 KiB
C#
Raw Normal View History

2026-03-25 18:20:24 +08:00
using System;
using System.ComponentModel;
using CaeGlobals;
using CPSO.Commands;
namespace CPSO.Settings
{
[Serializable]
public class ViewCommand
{
// Variables
private int _id;
private Command _command;
// Properties
[Category("Data")]
[OrderedDisplayName(0, 10, "Id")]
[Description("The id of the command.")]
public int Id { get { return _id; } }
//
[Category("Data")]
[OrderedDisplayName(1, 10, "Date/Time")]
[Description("The date/time of the command creation.")]
public string DateTime { get { return _command.GetDateTime(); } }
//
[Category("Data")]
[OrderedDisplayName(2, 10, "Name")]
[Description("The name of the command.")]
public string Name { get { return _command.Name; } }
//
[Category("Data")]
[OrderedDisplayName(3, 10, "Type")]
[Description("The type of the command.")]
public string Type
{
get
{
if (_command is IFileCommand) return "File";
else if (_command is PreprocessCommand) return "Pre-process";
else if (_command is AnalysisCommand) return "Analysis";
else if (_command is PostprocessCommand) return "Post-process";
else throw new NotSupportedException();
}
}
//
[Category("Data")]
[OrderedDisplayName(4, 10, "Data")]
[Description("Data of the command.")]
public string Data { get { return _command.GetCommandString().Remove(0, _command.GetBaseCommandString().Length); } }
//
[Category("Data")]
[OrderedDisplayName(5, 10, "Time [s]")]
[Description("Execution time of the command.")]
public string ExecutionTimeString
{
get
{
string time = ExecutionTime.ToString();
string[] tmp = time.Split('.');
if (tmp.Length == 2)
{
for (int i = 0; i < 4 - tmp[1].Length; i++) tmp[1] += "0";
time = tmp[0] + "." + tmp[1];
}
else
{
time = tmp[0] + ".0000";
}
//
return time;
}
}
//
[Browsable(false)]
public double ExecutionTime { get { return Math.Round(_command.TimeSpan.TotalSeconds, 4); } }
[Browsable(false)]
public Command Command { get { return _command; } }
// Constructors
public ViewCommand(int id, Command command)
{
_id = id;
_command = command;
}
}
}