Add script status toolbar item
This commit is contained in:
parent
e1cc716606
commit
891e004a31
|
@ -3,6 +3,7 @@
|
|||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
|
||||
<plugIn identifier="com.apple.WebKit2IBPlugin" version="21701"/>
|
||||
<capability name="Image references" minToolsVersion="12.0"/>
|
||||
<capability name="NSView safe area layout guides" minToolsVersion="12.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
|
@ -419,7 +420,7 @@
|
|||
<scene sceneID="ktg-sd-7li">
|
||||
<objects>
|
||||
<windowController id="JKR-xj-8kh" customClass="MainWindow" sceneMemberID="viewController">
|
||||
<window key="window" title="Cauldron" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" frameAutosaveName="" animationBehavior="default" tabbingMode="preferred" id="d7K-Gm-g9N">
|
||||
<window key="window" title="Cauldron" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" frameAutosaveName="" animationBehavior="default" tabbingMode="preferred" toolbarStyle="unified" id="d7K-Gm-g9N">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" fullSizeContentView="YES"/>
|
||||
<rect key="contentRect" x="211" y="264" width="749" height="445"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/>
|
||||
|
@ -428,7 +429,7 @@
|
|||
<rect key="frame" x="0.0" y="0.0" width="749" height="445"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</view>
|
||||
<toolbar key="toolbar" implicitIdentifier="09D11707-F4A3-4FD5-970E-AC5832E91C2B" showsBaselineSeparator="NO" displayMode="iconOnly" sizeMode="regular" id="c7l-9K-zGH">
|
||||
<toolbar key="toolbar" implicitIdentifier="09D11707-F4A3-4FD5-970E-AC5832E91C2B" centeredItem="bj4-Kg-7Qc" showsBaselineSeparator="NO" displayMode="iconOnly" sizeMode="regular" id="c7l-9K-zGH">
|
||||
<allowedToolbarItems>
|
||||
<toolbarItem implicitItemIdentifier="CC6DE1A4-9FD5-4729-8CD5-0960D99018C8" explicitItemIdentifier="toggleSidebar" label="Show Sidebar" paletteLabel="Show Sidebar" tag="-1" image="sidebar.leading" catalog="system" bordered="YES" sizingBehavior="auto" autovalidates="NO" id="a3w-Fk-xXU">
|
||||
<connections>
|
||||
|
@ -444,10 +445,33 @@
|
|||
<action selector="NewTabClicked:" target="JKR-xj-8kh" id="x1O-6U-svq"/>
|
||||
</connections>
|
||||
</toolbarItem>
|
||||
<toolbarItem implicitItemIdentifier="1FDD22AF-AF38-4957-AC69-1E8377E11C5D" label="Script Status" paletteLabel="Script Status" bordered="YES" sizingBehavior="auto" autovalidates="NO" id="bj4-Kg-7Qc">
|
||||
<nil key="toolTip"/>
|
||||
<segmentedControl key="view" verticalHuggingPriority="750" id="63L-Ya-hDW">
|
||||
<rect key="frame" x="0.0" y="14" width="114" height="23"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<segmentedCell key="cell" borderStyle="border" alignment="left" style="texturedRounded" trackingMode="momentary" id="cZb-8H-XcB" customClass="ScriptStatusToolbarItem">
|
||||
<font key="font" metaFont="system"/>
|
||||
<segments>
|
||||
<segment label="0" alignment="left" width="32">
|
||||
<imageReference key="image" image="info.circle.fill" catalog="system" symbolScale="medium" renderingMode="original"/>
|
||||
</segment>
|
||||
<segment label="0" alignment="left" width="32" tag="1">
|
||||
<imageReference key="image" image="exclamationmark.triangle.fill" catalog="system" symbolScale="medium" renderingMode="original"/>
|
||||
</segment>
|
||||
<segment label="0" alignment="left" toolTip="Error">
|
||||
<imageReference key="image" image="exclamationmark.circle.fill" catalog="system" symbolScale="medium" renderingMode="original"/>
|
||||
</segment>
|
||||
</segments>
|
||||
</segmentedCell>
|
||||
</segmentedControl>
|
||||
</toolbarItem>
|
||||
</allowedToolbarItems>
|
||||
<defaultToolbarItems>
|
||||
<toolbarItem reference="a3w-Fk-xXU"/>
|
||||
<toolbarItem reference="eF0-yp-1b0"/>
|
||||
<toolbarItem reference="GqC-ht-JU0"/>
|
||||
<toolbarItem reference="bj4-Kg-7Qc"/>
|
||||
<toolbarItem reference="BH3-uw-K5S"/>
|
||||
<toolbarItem reference="uBe-lp-9U2"/>
|
||||
</defaultToolbarItems>
|
||||
|
@ -457,6 +481,7 @@
|
|||
</connections>
|
||||
</window>
|
||||
<connections>
|
||||
<outlet property="DiagnosticsToolbarGroup" destination="63L-Ya-hDW" id="jQZ-pN-jop"/>
|
||||
<outlet property="RunScriptToolbarButton" destination="BH3-uw-K5S" id="POy-ND-igI"/>
|
||||
<segue destination="cty-XM-Fb6" kind="relationship" relationship="window.shadowedContentViewController" id="yDE-Pj-hwg"/>
|
||||
</connections>
|
||||
|
@ -623,6 +648,9 @@
|
|||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="exclamationmark.circle.fill" catalog="system" width="15" height="15"/>
|
||||
<image name="exclamationmark.triangle.fill" catalog="system" width="17" height="15"/>
|
||||
<image name="info.circle.fill" catalog="system" width="15" height="15"/>
|
||||
<image name="play.fill" catalog="system" width="12" height="13"/>
|
||||
<image name="plus" catalog="system" width="14" height="13"/>
|
||||
<image name="sidebar.leading" catalog="system" width="18" height="14"/>
|
||||
|
|
|
@ -2,6 +2,7 @@ using System;
|
|||
using System.Collections.Immutable;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Timers;
|
||||
using AppKit;
|
||||
using Cauldron.Macos.SourceWriter;
|
||||
|
@ -107,7 +108,19 @@ public partial class MainWindow : NSWindowController
|
|||
|
||||
public void UpdateScriptDiagnostics(ImmutableArray<Diagnostic> diagnostics)
|
||||
{
|
||||
Console.WriteLine(diagnostics.Select(d => $"{d.Severity}: {d.GetMessage()}").Join("\n"));
|
||||
ImmutableList<Diagnostic> infoDiagnostics = diagnostics
|
||||
.Where(d => d.Severity == DiagnosticSeverity.Info)
|
||||
.ToImmutableList();
|
||||
ImmutableList<Diagnostic> warningDiagnostics = diagnostics
|
||||
.Where(d => d.Severity == DiagnosticSeverity.Warning)
|
||||
.ToImmutableList();
|
||||
ImmutableList<Diagnostic> errorDiagnostics = diagnostics
|
||||
.Where(d => d.Severity == DiagnosticSeverity.Error)
|
||||
.ToImmutableList();
|
||||
|
||||
this.DiagnosticsToolbarGroup.SetLabel(infoDiagnostics.Count.ToString(), 0);
|
||||
this.DiagnosticsToolbarGroup.SetLabel(warningDiagnostics.Count.ToString(), 1);
|
||||
this.DiagnosticsToolbarGroup.SetLabel(errorDiagnostics.Count.ToString(), 2);
|
||||
|
||||
foreach (Diagnostic diagnostic in diagnostics)
|
||||
{
|
||||
|
|
8
Cauldron.Macos/MainWindow.designer.cs
generated
8
Cauldron.Macos/MainWindow.designer.cs
generated
|
@ -12,6 +12,9 @@ namespace Cauldron.Macos
|
|||
[Register ("MainWindow")]
|
||||
partial class MainWindow
|
||||
{
|
||||
[Outlet]
|
||||
AppKit.NSSegmentedControl DiagnosticsToolbarGroup { get; set; }
|
||||
|
||||
[Outlet]
|
||||
AppKit.NSToolbarItem RunScriptToolbarButton { get; set; }
|
||||
|
||||
|
@ -33,6 +36,11 @@ namespace Cauldron.Macos
|
|||
RunScriptToolbarButton.Dispose ();
|
||||
RunScriptToolbarButton = null;
|
||||
}
|
||||
|
||||
if (DiagnosticsToolbarGroup != null) {
|
||||
DiagnosticsToolbarGroup.Dispose ();
|
||||
DiagnosticsToolbarGroup = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -233,6 +233,11 @@ public class SourceTextView : NSTextView
|
|||
Initialize();
|
||||
}
|
||||
|
||||
public SourceTextView(ObjCRuntime.NativeHandle handle) : base(handle)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
/// <summary>Initialize this instance.</summary>
|
||||
private void Initialize()
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue