Skip to content

Commit

Permalink
поддержка новых методов SVG
Browse files Browse the repository at this point in the history
alexeid committed Apr 22, 2024
1 parent 49625ad commit edc63e8
Showing 5 changed files with 93 additions and 0 deletions.
46 changes: 46 additions & 0 deletions samples/Сигнал текстом.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions src/MainWindow/MainWindowViewModel.cs
Original file line number Diff line number Diff line change
@@ -506,6 +506,24 @@ public bool IsTmStatusUnderCheckup(int idx)
}


public string GetTmStatusCustomFlagCaption(int idx, int level)
{
var tmStatus = TmStatuses.ElementAtOrDefault(idx);
if (tmStatus == null)
{
return "???";
}
return level switch
{
1 => tmStatus.Flag1Status,
2 => tmStatus.Flag2Status,
3 => tmStatus.Flag3Status,
4 => tmStatus.Flag4Status,
_ => "???"
};
}


public bool IsTmAnalogUnreliable(int idx)
{
var tmAnalog = TmAnalogs.ElementAtOrDefault(idx);
15 changes: 15 additions & 0 deletions src/Model/Element.cs
Original file line number Diff line number Diff line change
@@ -61,6 +61,7 @@ private Element(MainWindowViewModel owner,
.SetValue("isTmStatusUnderMaintenance", new Func<int, bool>(_owner.IsTmStatusUnderMaintenance))
.SetValue("isTmStatusUnderCheckup", new Func<int, bool>(_owner.IsTmStatusUnderCheckup))
.SetValue("isTmStatusOn", new Func<int, bool>(_owner.IsTmStatusOn))
.SetValue("getTmStatusCustomFlagCaption", new Func<int, int, string>(_owner.GetTmStatusCustomFlagCaption))
.SetValue("getTmAnalogValue", new Func<int, float>(_owner.GetTmAnalogValue))
.SetValue("getTmAnalogUnit", new Func<int, string>(_owner.GetTmAnalogUnit))
.SetValue("getTmAnalogValueString", new Func<int, string>(_owner.GetTmAnalogValueString))
@@ -88,24 +89,33 @@ private Element(MainWindowViewModel owner,
.SetValue("initClickStringCommand", new Action<int, string>(InitClickCommand))
.SetValue("initContextMenuStringCommand", new Action<int, string, string>(InitContextMenuCommand))
.SetValue("initEmptyContextMenuCommand", new Action(InitEmptyContextMenuCommand))
.SetValue("initContextMenuSeparator", new Action(InitContextMenuSeparator))
.SetValue("NONE", ElementCommandType.None)
.SetValue("OPEN_DOCUMENT_IN_THIS_TAB", ElementCommandType.OpenDocumentInThisTab)
.SetValue("OPEN_DOCUMENT_IN_NEW_TAB", ElementCommandType.OpenDocumentInNewTab)
.SetValue("OPEN_DOCUMENT_IN_UNIQUE_TAB", ElementCommandType.OpenDocumentInUniqueTab)
.SetValue("OPEN_DOCUMENT_IN_OVERVIEW", ElementCommandType.OpenDocumentInOverview)
.SetValue("SHOW_TM_STATUS", ElementCommandType.ShowTmStatus)
.SetValue("TELECONTROL", ElementCommandType.Telecontrol)
.SetValue("SWITCH_TM_STATUS_MANUALLY", ElementCommandType.SwitchTmStatusManually)
.SetValue("ACK_TM_STATUS", ElementCommandType.AckTmStatus)
.SetValue("OPEN_TM_STATUS_EVENTS_ARCHIVE", ElementCommandType.OpenTmStatusEventsArchive)
.SetValue("OPEN_TM_STATUS_REPORT", ElementCommandType.OpenTmStatusReport)
.SetValue("COPY_TM_STATUS_TO_CLIPBOARD", ElementCommandType.CopyTmStatusToClipboard)
.SetValue("COPY_TM_STATUS_NAME_TO_CLIPBOARD",ElementCommandType.CopyTmStatusNameToClipboard)
.SetValue("ADD_TM_STATUS_TO_QUICK_LIST", ElementCommandType.AddTmStatusToQuickList)
.SetValue("SHOW_TM_ANALOG", ElementCommandType.ShowTmAnalog)
.SetValue("TELEREGULATE", ElementCommandType.Teleregulation)
.SetValue("SET_TM_ANALOG_MANUALLY", ElementCommandType.SetTmAnalogManually)
.SetValue("OPEN_TM_ANALOG_TECH_PROPERTIES", ElementCommandType.OpenTmAnalogTechProperties)
.SetValue("OPEN_TM_ANALOG_ALARMS", ElementCommandType.OpenTmAnalogAlarms)
.SetValue("OPEN_TM_ANALOG_CHART", ElementCommandType.OpenTmAnalogChart)
.SetValue("OPEN_TM_ANALOG_EVENTS_ARCHIVE", ElementCommandType.OpenTmAnalogEventsArchive)
.SetValue("OPEN_TM_ANALOG_REPORT", ElementCommandType.OpenTmAnalogReport)
.SetValue("COPY_TM_ANALOG_NAME_TO_CLIPBOARD",ElementCommandType.CopyTmAnalogNameToClipboard)
.SetValue("COPY_TM_ANALOG_TO_CLIPBOARD", ElementCommandType.CopyTmAnalogToClipboard)
.SetValue("ADD_TM_ANALOG_TO_QUICK_LIST", ElementCommandType.AddTmAnalogToQuickList)
.SetValue("START_PROCESS", ElementCommandType.StartProcess)
.Execute(_script, new ParserOptions { Tolerant = true });
}
catch (Exception ex)
@@ -206,6 +216,11 @@ private void InitEmptyContextMenuCommand()
}


private void InitContextMenuSeparator()
{
}


private void InitContextMenuCommand(int type, int parameter, string caption = null)
{
}
8 changes: 8 additions & 0 deletions src/Model/ElementCommandType.cs
Original file line number Diff line number Diff line change
@@ -21,5 +21,13 @@ public enum ElementCommandType
OpenTmAnalogEventsArchive,
CopyTmAnalogToClipboard,
OpenDocumentInOverview,
StartProcess,
AddTmStatusToQuickList,
AddTmAnalogToQuickList,
OpenTmStatusReport,
OpenTmAnalogReport,
CopyTmStatusNameToClipboard,
CopyTmAnalogNameToClipboard,
OpenDocumentInUniqueTab,
}
}
6 changes: 6 additions & 0 deletions src/Model/TmStatus.cs
Original file line number Diff line number Diff line change
@@ -47,6 +47,12 @@ public TmStatusFlag Flag
public bool IsIntermediate => Flag.HasFlag(TmStatusFlag.Intermediate);
public bool IsUnderMaintenance => Flag.HasFlag(TmStatusFlag.IsUnderMaintenance);
public bool IsUnderCheckup => Flag.HasFlag(TmStatusFlag.IsUnderCheckup);

public string Flag1Status => !IsFlag1 ? "флаг 1 откл" : "флаг 1 вкл";
public string Flag2Status => !IsFlag2 ? "флаг 2 откл" : "флаг 2 вкл";
public string Flag3Status => !IsFlag3 ? "флаг 3 откл" : "флаг 3 вкл";
public string Flag4Status => !IsFlag4 ? "флаг 4 откл" : "флаг 4 вкл";



public TmStatus(int ch, int rtu, int point) : base(ch, rtu, point)

0 comments on commit edc63e8

Please sign in to comment.