niagara-ax/stations/demo/px/Weather.px
2026-03-17 13:31:18 -07:00

238 lines
10 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?>
<!-- Niagara Presentation XML -->
<px version="1.0" media="workbench:WbPxMedia">
<import>
<module name="baja"/>
<module name="bajaui"/>
<module name="converters"/>
<module name="gx"/>
<module name="kitPx"/>
<module name="weather"/>
<module name="workbench"/>
</import>
<content>
<ScrollPane>
<CanvasPane name="content" viewSize="730.0,550.0" background="linearGradient( stop(0.0% #004b6981) stop(0.0% #384b5a) stop(50.0% #4b6981) stop(100.0% #384b5a) )">
<Rect fill="#283540" stroke="black" geom="10.0,60.0,710.0,480.0"/>
<Rect fill="linearGradient( angle(90.0) stop(0.0% #283540) stop(100.0% #384b5a) )" geom="30.0,310.0,670.0,210.0"/>
<BoundLabel layout="40.0,320.0,250.0,20.0" text="Forecasted Temperatures (&#xb0;F)" font="18.0pt Tahoma" foreground="#ff8000" halign="left"/>
<Rect fill="linearGradient( angle(90.0) stop(0.0% #283540) stop(100.0% #384b5a) )" geom="30.0,80.0,670.0,210.0"/>
<Rect fill="black" stroke="black" geom="10.0,10.0,710.0,50.0"/>
<BoundLabel layout="50.0,180.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:current/temp/value" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Current Temp: %.%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="50.0,200.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:current/humidity/value" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Humidity: %.%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="50.0,220.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:current" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Wind: %windDirection.value% at %windSpeed.value%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="220.0,140.0,140.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:current/pressure/value" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Pressure: %.%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="220.0,160.0,140.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left" textToIconAlign="left">
<BoundLabelBinding ord="slot:current/dewPoint/value" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Dewpoint: %.% "/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="220.0,180.0,140.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:current/visibility/value" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Visibility: %.% "/>
</BoundLabelBinding>
</BoundLabel>
<Label layout="25.0,20.0,395.0,40.0" text="Weather Conditions" font="26.0pt Tahoma" foreground="white" halign="left" valign="top"/>
<BoundLabel layout="50.0,140.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:current/sunrise" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Sunrise: %.%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="50.0,160.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:current/sunset" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Sunset: %.%"/>
</BoundLabelBinding>
</BoundLabel>
<Bargraph layout="125.0,370.0,40.0,135.0" min="-10.0" max="110.0" valueVisible="false" foreground="white">
<ValueBinding ord="slot:day0/high">
<INumericToNumber name="value"/>
</ValueBinding>
</Bargraph>
<Bargraph layout="195.0,370.0,40.0,135.0" min="-10.0" max="110.0" valueVisible="false" foreground="white">
<ValueBinding ord="slot:day1/high">
<INumericToNumber name="value"/>
</ValueBinding>
</Bargraph>
<Bargraph layout="265.0,370.0,40.0,135.0" min="-10.0" max="110.0" valueVisible="false" foreground="white">
<ValueBinding ord="slot:current/temp/value">
<INumericToNumber name="value"/>
</ValueBinding>
</Bargraph>
<Bargraph layout="335.0,370.0,40.0,135.0" min="-10.0" max="110.0" valueVisible="false" foreground="white">
<ValueBinding ord="slot:day3/high">
<INumericToNumber name="value"/>
</ValueBinding>
</Bargraph>
<Bargraph layout="405.0,370.0,40.0,135.0" min="-10.0" max="110.0" valueVisible="false" foreground="white">
<ValueBinding ord="slot:day4/high">
<INumericToNumber name="value"/>
</ValueBinding>
</Bargraph>
<Bargraph layout="475.0,370.0,40.0,135.0" min="-10.0" max="110.0" valueVisible="false" foreground="white">
<ValueBinding ord="slot:day5/high">
<INumericToNumber name="value"/>
</ValueBinding>
</Bargraph>
<Bargraph layout="545.0,370.0,40.0,135.0" min="-10.0" max="110.0" valueVisible="false" foreground="white">
<ValueBinding ord="slot:day6/high">
<INumericToNumber name="value"/>
</ValueBinding>
</Bargraph>
<BoundLabel layout="110.0,350.0,70.0,20.0" foreground="white">
<BoundLabelBinding ord="slot:day0">
<ObjectToString name="text" format="%displayName%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="180.0,350.0,70.0,20.0" foreground="white">
<BoundLabelBinding ord="slot:day1">
<ObjectToString name="text" format="%displayName%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="250.0,350.0,70.0,20.0" foreground="white">
<BoundLabelBinding ord="slot:day2">
<ObjectToString name="text" format="%displayName%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="320.0,350.0,70.0,20.0" foreground="white">
<BoundLabelBinding ord="slot:day3">
<ObjectToString name="text" format="%displayName%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="390.0,350.0,70.0,20.0" foreground="white">
<BoundLabelBinding ord="slot:day4">
<ObjectToString name="text" format="%displayName%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="460.0,350.0,70.0,20.0" foreground="white">
<BoundLabelBinding ord="slot:day5">
<ObjectToString name="text" format="%displayName%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="530.0,350.0,70.0,20.0" foreground="white">
<BoundLabelBinding ord="slot:day6">
<ObjectToString name="text" format="%displayName%"/>
</BoundLabelBinding>
</BoundLabel>
<CurrentWeatherView layout="570.0,10.0,150.0,50.0" iconSize="x32" tempFont="bold 11.0pt Tahoma" tempBrush="white" stateFont="11.0pt Tahoma" stateBrush="white">
<WbViewBinding ord="slot:"/>
</CurrentWeatherView>
<BoundLabel layout="40.0,90.0,150.0,20.0" text="Current Conditions" font="18.0pt Tahoma" foreground="#ff8000"/>
<AnalogMeter layout="550.0,115.0,123.0,131.0" arcAngle="290" max="120.0" valueFont="14.0pt Tahoma" background="white">
<ValueBinding ord="slot:current/temp">
<INumericToNumber name="value"/>
<ObjectToString name="text" format="%value%"/>
</ValueBinding>
</AnalogMeter>
<BoundLabel layout="550.0,255.0,120.0,20.0" font="bold 12.0pt Tahoma" foreground="white">
<BoundLabelBinding ord="slot:current" summary="%weatherSummary.value%" statusEffect="none">
<ObjectToString name="text" format="%state.value%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="380.0,180.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:provider/SunPosition/latitude" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Latitude: %.% "/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="380.0,160.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:provider/SunPosition/longitude" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Longitude: %.% "/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="380.0,140.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left" textToIconAlign="left">
<BoundLabelBinding ord="slot:provider/MoonPosition/phase" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Moon Phase: %.% "/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="220.0,220.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:provider/SunPosition/dayLength" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Day Length: %.%"/>
</BoundLabelBinding>
</BoundLabel>
<BoundLabel layout="220.0,200.0,150.0,20.0" font="11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:provider/SunPosition/currentElevation" summary="%.%" statusEffect="none">
<ObjectToString name="text" format="Sun Elevation: %.%"/>
</BoundLabelBinding>
</BoundLabel>
<SaveButton layout="280.0,250.0,100.0,30.0" image="module://icons/x16/save.png"/>
<MoonView layout="410.0,10.0,160.0,50.0" iconSize="x32" phaseFont="bold 11.0pt Tahoma" phaseBrush="white" illuminatedFont="11.0pt Tahoma" illuminatedBrush="white">
<WbViewBinding ord="slot:provider/MoonPosition"/>
</MoonView>
<BoundLabel layout="50.0,120.0,450.0,20.0" font="bold 11.0pt Tahoma" foreground="white" halign="left">
<BoundLabelBinding ord="slot:provider" statusEffect="none">
<ObjectToString name="text" format="%location% (%stationId%)"/>
</BoundLabelBinding>
</BoundLabel>
<GenericFieldEditor layout="50.0,255.0,pref,pref">
<WbFieldEditorBinding ord="slot:provider"/>
</GenericFieldEditor>
<BoundLabel layout="380.0,200.0,150.0,20.0" text="Air Quality:" font="11.0pt Tahoma" foreground="white" halign="left"/>
<CurrentAirQualityView layout="440.0,200.0,80.0,20.0">
<WbViewBinding ord="slot:"/>
</CurrentAirQualityView>
</CanvasPane>
</ScrollPane>
</content>
</px>