feat: update settings and warning UI
parent
15b7ac84e8
commit
06cd18d7b2
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,637 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<doc>
|
|
||||||
<assembly>
|
|
||||||
<name>OxyPlot.Wpf</name>
|
|
||||||
</assembly>
|
|
||||||
<members>
|
|
||||||
<member name="T:OxyPlot.Wpf.CanvasRenderContext">
|
|
||||||
<summary>
|
|
||||||
Implements <see cref="T:OxyPlot.IRenderContext" /> for <see cref="T:System.Windows.Controls.Canvas" />.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.CanvasRenderContext.imagesInUse">
|
|
||||||
<summary>
|
|
||||||
The images in use
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.CanvasRenderContext.imageCache">
|
|
||||||
<summary>
|
|
||||||
The image cache
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.CanvasRenderContext.brushCache">
|
|
||||||
<summary>
|
|
||||||
The brush cache.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.CanvasRenderContext.fontFamilyCache">
|
|
||||||
<summary>
|
|
||||||
The font family cache
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.CanvasRenderContext.canvas">
|
|
||||||
<summary>
|
|
||||||
The canvas.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.CanvasRenderContext.clip">
|
|
||||||
<summary>
|
|
||||||
The clip rectangle.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.CanvasRenderContext.currentToolTip">
|
|
||||||
<summary>
|
|
||||||
The current tool tip
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.CanvasRenderContext.DpiScale">
|
|
||||||
<summary>
|
|
||||||
The dpi scale.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.CanvasRenderContext.VisualOffset">
|
|
||||||
<summary>
|
|
||||||
The visual offset relative to visual root.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.#ctor(System.Windows.Controls.Canvas)">
|
|
||||||
<summary>
|
|
||||||
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.CanvasRenderContext" /> class.
|
|
||||||
</summary>
|
|
||||||
<param name="canvas">The canvas.</param>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.CanvasRenderContext.TextMeasurementMethod">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the text measurement method.
|
|
||||||
</summary>
|
|
||||||
<value>The text measurement method.</value>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.CanvasRenderContext.TextFormattingMode">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the text formatting mode.
|
|
||||||
</summary>
|
|
||||||
<value>The text formatting mode. The default value is <see cref="F:System.Windows.Media.TextFormattingMode.Display"/>.</value>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawEllipse(OxyPlot.OxyRect,OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawEllipses(System.Collections.Generic.IList{OxyPlot.OxyRect},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawLine(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawLineSegments(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawPolygon(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawPolygons(System.Collections.Generic.IList{System.Collections.Generic.IList{OxyPlot.ScreenPoint}},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawRectangle(OxyPlot.OxyRect,OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawRectangles(System.Collections.Generic.IList{OxyPlot.OxyRect},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawText(OxyPlot.ScreenPoint,System.String,OxyPlot.OxyColor,System.String,System.Double,System.Double,System.Double,OxyPlot.HorizontalAlignment,OxyPlot.VerticalAlignment,System.Nullable{OxyPlot.OxySize})">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.MeasureText(System.String,System.String,System.Double,System.Double)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.SetToolTip(System.String)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawImage(OxyPlot.OxyImage,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Boolean)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.SetClip(OxyPlot.OxyRect)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.ResetClip">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.CleanUp">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.MeasureTextByGlyphTypeface(System.String,System.String,System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Measures the size of the specified text by a faster method (using GlyphTypefaces).
|
|
||||||
</summary>
|
|
||||||
<param name="text">The text.</param>
|
|
||||||
<param name="fontFamily">The font family.</param>
|
|
||||||
<param name="fontSize">The font size.</param>
|
|
||||||
<param name="fontWeight">The font weight.</param>
|
|
||||||
<returns>The size of the text.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetFontWeight(System.Double)">
|
|
||||||
<summary>
|
|
||||||
Gets the font weight.
|
|
||||||
</summary>
|
|
||||||
<param name="fontWeight">The font weight value.</param>
|
|
||||||
<returns>The font weight.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.MeasureTextSize(System.Windows.Media.GlyphTypeface,System.Double,System.String)">
|
|
||||||
<summary>
|
|
||||||
Fast text size calculation
|
|
||||||
</summary>
|
|
||||||
<param name="glyphTypeface">The glyph typeface.</param>
|
|
||||||
<param name="sizeInEm">The size.</param>
|
|
||||||
<param name="s">The text.</param>
|
|
||||||
<returns>The text size.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.CreateAndAdd``1(System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Creates an element of the specified type and adds it to the canvas.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="T">Type of element to create.</typeparam>
|
|
||||||
<param name="clipOffsetX">The clip offset executable.</param>
|
|
||||||
<param name="clipOffsetY">The clip offset asynchronous.</param>
|
|
||||||
<returns>The element.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.ApplyToolTip(System.Windows.FrameworkElement)">
|
|
||||||
<summary>
|
|
||||||
Applies the current tool tip to the specified element.
|
|
||||||
</summary>
|
|
||||||
<param name="element">The element.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetCachedBrush(OxyPlot.OxyColor)">
|
|
||||||
<summary>
|
|
||||||
Gets the cached brush.
|
|
||||||
</summary>
|
|
||||||
<param name="color">The color.</param>
|
|
||||||
<returns>The brush.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetCachedFontFamily(System.String)">
|
|
||||||
<summary>
|
|
||||||
Gets the cached font family.
|
|
||||||
</summary>
|
|
||||||
<param name="familyName">Name of the family.</param>
|
|
||||||
<returns>The FontFamily.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.SetStroke(System.Windows.Shapes.Shape,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,OxyPlot.LineJoin,System.Collections.Generic.IEnumerable{System.Double},System.Double)">
|
|
||||||
<summary>
|
|
||||||
Sets the stroke properties of the specified shape object.
|
|
||||||
</summary>
|
|
||||||
<param name="shape">The shape.</param>
|
|
||||||
<param name="stroke">The stroke color.</param>
|
|
||||||
<param name="thickness">The thickness.</param>
|
|
||||||
<param name="edgeRenderingMode">The edge rendering mode.</param>
|
|
||||||
<param name="lineJoin">The line join.</param>
|
|
||||||
<param name="dashArray">The dash array. Use <c>null</c> to get a solid line.</param>
|
|
||||||
<param name="dashOffset">The dash offset.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetImageSource(OxyPlot.OxyImage)">
|
|
||||||
<summary>
|
|
||||||
Gets the bitmap source.
|
|
||||||
</summary>
|
|
||||||
<param name="image">The image.</param>
|
|
||||||
<returns>The bitmap source.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.ToRect(OxyPlot.OxyRect)">
|
|
||||||
<summary>
|
|
||||||
Converts an <see cref="T:OxyPlot.OxyRect" /> to a <see cref="T:System.Windows.Rect" />.
|
|
||||||
</summary>
|
|
||||||
<param name="r">The rectangle.</param>
|
|
||||||
<returns>A <see cref="T:System.Windows.Rect" />.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetActualPoints(System.Collections.Generic.IList{OxyPlot.ScreenPoint},System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<summary>
|
|
||||||
Snaps points to pixels if required by the edge rendering mode.
|
|
||||||
</summary>
|
|
||||||
<param name="points">The points.</param>
|
|
||||||
<param name="strokeThickness">The stroke thickness.</param>
|
|
||||||
<param name="edgeRenderingMode">The edge rendering mode.</param>
|
|
||||||
<returns>The processed points.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetActualRect(OxyPlot.OxyRect,System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<summary>
|
|
||||||
Snaps a rectangle to device pixels if required by the edge rendering mode.
|
|
||||||
</summary>
|
|
||||||
<param name="rect">The rectangle.</param>
|
|
||||||
<param name="strokeThickness">The stroke thickness.</param>
|
|
||||||
<param name="edgeRenderingMode">The edge rendering mode.</param>
|
|
||||||
<returns>The processed rectangle.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetActualStrokeThickness(System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<summary>
|
|
||||||
Snaps a stroke thickness to device pixels if required by the edge rendering mode.
|
|
||||||
</summary>
|
|
||||||
<param name="strokeThickness">The stroke thickness.</param>
|
|
||||||
<param name="edgeRenderingMode">The edge rendering mode.</param>
|
|
||||||
<returns>The processed stroke thickness.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="T:OxyPlot.Wpf.PlotView">
|
|
||||||
<summary>
|
|
||||||
Represents a control that displays a <see cref="T:OxyPlot.PlotModel" />. This <see cref="T:OxyPlot.IPlotView"/> is based on <see cref="T:OxyPlot.Wpf.CanvasRenderContext"/>.
|
|
||||||
</summary>
|
|
||||||
<summary>
|
|
||||||
Represents a control that displays a <see cref="T:OxyPlot.PlotModel" />.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.PlotView.TextMeasurementMethodProperty">
|
|
||||||
<summary>
|
|
||||||
Identifies the <see cref="P:OxyPlot.Wpf.PlotView.TextMeasurementMethod"/> dependency property.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.#ctor">
|
|
||||||
<summary>
|
|
||||||
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.PlotView" /> class.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.PlotView.DisconnectCanvasWhileUpdating">
|
|
||||||
<summary>
|
|
||||||
Gets or sets a value indicating whether to disconnect the canvas while updating.
|
|
||||||
</summary>
|
|
||||||
<value><c>true</c> if canvas should be disconnected while updating; otherwise, <c>false</c>.</value>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.PlotView.TextMeasurementMethod">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the vertical zoom cursor.
|
|
||||||
</summary>
|
|
||||||
<value>The zoom vertical cursor.</value>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.PlotView.Canvas">
|
|
||||||
<summary>
|
|
||||||
Gets the Canvas.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.PlotView.RenderContext">
|
|
||||||
<summary>
|
|
||||||
Gets the CanvasRenderContext.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.ClearBackground">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.CreatePlotPresenter">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.CreateRenderContext">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.OnRender(System.Windows.Media.DrawingContext)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.RenderOverride">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.UpdateDpi">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.DoCopy(System.Object,System.Windows.Input.ExecutedRoutedEventArgs)">
|
|
||||||
<summary>
|
|
||||||
Performs the copy operation.
|
|
||||||
</summary>
|
|
||||||
<param name="sender">The sender.</param>
|
|
||||||
<param name="e">The <see cref="T:System.Windows.Input.ExecutedRoutedEventArgs" /> instance containing the event data.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.GetAncestorVisualFromVisualTree(System.Windows.DependencyObject)">
|
|
||||||
<summary>
|
|
||||||
Returns a reference to the visual object that hosts the dependency object in the visual tree.
|
|
||||||
</summary>
|
|
||||||
<returns> The host window from the visual tree.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.SaveBitmap(System.String)">
|
|
||||||
<summary>
|
|
||||||
Saves the PlotView as a bitmap.
|
|
||||||
</summary>
|
|
||||||
<param name="fileName">Name of the file.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.SaveBitmap(System.String,System.Int32,System.Int32)">
|
|
||||||
<summary>
|
|
||||||
Saves the PlotView as a bitmap.
|
|
||||||
</summary>
|
|
||||||
<param name="fileName">Name of the file.</param>
|
|
||||||
<param name="width">The width.</param>
|
|
||||||
<param name="height">The height.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.SaveXaml(System.String)">
|
|
||||||
<summary>
|
|
||||||
Saves the PlotView as xaml.
|
|
||||||
</summary>
|
|
||||||
<param name="fileName">Name of the file.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.ToXaml">
|
|
||||||
<summary>
|
|
||||||
Renders the PlotView to xaml.
|
|
||||||
</summary>
|
|
||||||
<returns>The xaml.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PlotView.ToBitmap">
|
|
||||||
<summary>
|
|
||||||
Renders the PlotView to a bitmap.
|
|
||||||
</summary>
|
|
||||||
<returns>A bitmap.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="T:OxyPlot.Wpf.PngExporter">
|
|
||||||
<summary>
|
|
||||||
Provides functionality to export plots to png.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PngExporter.#ctor">
|
|
||||||
<summary>
|
|
||||||
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.PngExporter" /> class.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.PngExporter.Width">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the width of the output image.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.PngExporter.Height">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the height of the output image.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.PngExporter.Resolution">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the resolution of the output image.
|
|
||||||
</summary>
|
|
||||||
<value>The resolution in dots per inch (dpi).</value>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PngExporter.Export(OxyPlot.IPlotModel,System.String,System.Int32,System.Int32,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Exports the specified plot model to a file.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model to export.</param>
|
|
||||||
<param name="fileName">The file name.</param>
|
|
||||||
<param name="width">The width of the output bitmap.</param>
|
|
||||||
<param name="height">The height of the output bitmap.</param>
|
|
||||||
<param name="resolution">The resolution (resolution). The default value is 96.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PngExporter.Export(OxyPlot.IPlotModel,System.IO.Stream)">
|
|
||||||
<summary>
|
|
||||||
Exports the specified <see cref="T:OxyPlot.PlotModel" /> to the specified <see cref="T:System.IO.Stream" />.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
<param name="stream">The output stream.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PngExporter.ExportToBitmap(OxyPlot.IPlotModel)">
|
|
||||||
<summary>
|
|
||||||
Exports the specified plot model to a bitmap.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model to export.</param>
|
|
||||||
<returns>A bitmap.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="T:OxyPlot.Wpf.SvgExporter">
|
|
||||||
<summary>
|
|
||||||
Provides functionality to export plots to scalable vector graphics using text measuring in WPF.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.SvgExporter.#ctor">
|
|
||||||
<summary>
|
|
||||||
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.SvgExporter" /> class.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="T:OxyPlot.Wpf.TextMeasurementMethod">
|
|
||||||
<summary>
|
|
||||||
The text measurement methods.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.TextMeasurementMethod.TextBlock">
|
|
||||||
<summary>
|
|
||||||
Measurement by TextBlock. This gives a more accurate result than <see cref="F:OxyPlot.Wpf.TextMeasurementMethod.GlyphTypeface"/> as it takes into account text shaping.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.TextMeasurementMethod.GlyphTypeface">
|
|
||||||
<summary>
|
|
||||||
Measurement by glyph typeface. This is faster than <see cref="F:OxyPlot.Wpf.TextMeasurementMethod.TextBlock"/>, but does not take into account text shaping.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="T:OxyPlot.Wpf.PixelLayout">
|
|
||||||
<summary>
|
|
||||||
Provides functionality to support non-default dpi scaling
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PixelLayout.Snap(System.Double,System.Double,System.Double,System.Windows.Point,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Snaps a screen point to a pixel grid.
|
|
||||||
</summary>
|
|
||||||
<remarks>
|
|
||||||
Depending on the stroke thickness, the point is snapped either to the middle or the border of a pixel.
|
|
||||||
</remarks>
|
|
||||||
<param name="x">The x coordinate of the point.</param>
|
|
||||||
<param name="y">The y coordinate of the point.</param>
|
|
||||||
<param name="strokeThickness">The stroke thickness.</param>
|
|
||||||
<param name="visualOffset">A point structure which represents X and Y visual offsets relative to visual root</param>
|
|
||||||
<param name="dpiScale">The DPI scale.</param>
|
|
||||||
<returns>Snapped point</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PixelLayout.Snap(System.Windows.Rect,System.Double,System.Windows.Point,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Snaps a rectangle structure to a pixel grid.
|
|
||||||
</summary>
|
|
||||||
<remarks>
|
|
||||||
Depending on the stroke thickness, the rectangle bounds are snapped either to the middle or the border of pixels.
|
|
||||||
</remarks>
|
|
||||||
<param name="rect">Rectangle structure</param>
|
|
||||||
<param name="strokeThickness">The stroke thickness.</param>
|
|
||||||
<param name="visualOffset">A point structure which represents X and Y visual offsets relative to visual root</param>
|
|
||||||
<param name="dpiScale">The DPI scale.</param>
|
|
||||||
<returns>Snapped rectangle structure</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PixelLayout.SnapStrokeThickness(System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Snaps a stroke thickness to an integer multiple of device pixels.
|
|
||||||
</summary>
|
|
||||||
<param name="strokeThickness">The stroke thickness.</param>
|
|
||||||
<param name="dpiScale">The DPI scale.</param>
|
|
||||||
<returns>The snapped stroke thickness.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PixelLayout.Snap(System.Double,System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Snaps a screen coordinate to a pixel grid
|
|
||||||
</summary>
|
|
||||||
<param name="value">Screen coordinate</param>
|
|
||||||
<param name="offset">Pixel grid offset</param>
|
|
||||||
<param name="scale">Pixel grid scale</param>
|
|
||||||
<returns>Snapped coordinate</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.PixelLayout.GetPixelOffset(System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Gets the pixel offset for the given scale and stroke thickness.
|
|
||||||
</summary>
|
|
||||||
<remarks>
|
|
||||||
This takes into account that lines with even width should be rendered on the border between two pixels, while lines with odd width should be rendered
|
|
||||||
in the middle of a pixel.
|
|
||||||
</remarks>
|
|
||||||
<param name="strokeThickness">The stroke thickness.</param>
|
|
||||||
<param name="scale">Pixel grid scale</param>
|
|
||||||
<returns>The pixel offset.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="T:OxyPlot.Wpf.XamlExporter">
|
|
||||||
<summary>
|
|
||||||
Provides functionality to export plots to XAML.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlExporter.ExportToString(OxyPlot.IPlotModel,System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Export the specified plot model to an xaml string.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
<param name="width">The width.</param>
|
|
||||||
<param name="height">The height.</param>
|
|
||||||
<returns>A xaml string.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlExporter.Export(OxyPlot.PlotModel,System.String,System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Exports the specified plot model to a xaml file.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
<param name="fileName">Name of the file.</param>
|
|
||||||
<param name="width">The width.</param>
|
|
||||||
<param name="height">The height.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlExporter.Export(OxyPlot.IPlotModel,System.Xml.XmlWriter,System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Exports the specified plot model to a xml writer.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
<param name="writer">The xml writer.</param>
|
|
||||||
<param name="width">The width.</param>
|
|
||||||
<param name="height">The height.</param>
|
|
||||||
</member>
|
|
||||||
<member name="T:OxyPlot.Wpf.XamlRenderContext">
|
|
||||||
<summary>
|
|
||||||
Implements <see cref="T:OxyPlot.IRenderContext" /> for <see cref="T:System.Windows.Controls.Canvas" />. This does not use <see cref="T:System.Windows.Media.StreamGeometry"/> and therefore the output can be serialized to XAML.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.XamlRenderContext.MaxFiguresPerGeometry">
|
|
||||||
<summary>
|
|
||||||
The maximum number of figures per geometry.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.XamlRenderContext.MaxPolylinesPerLine">
|
|
||||||
<summary>
|
|
||||||
The maximum number of polylines per line.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:OxyPlot.Wpf.XamlRenderContext.MinPointsPerPolyline">
|
|
||||||
<summary>
|
|
||||||
The minimum number of points per polyline.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlRenderContext.#ctor(System.Windows.Controls.Canvas)">
|
|
||||||
<summary>
|
|
||||||
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.CanvasRenderContext" /> class.
|
|
||||||
</summary>
|
|
||||||
<param name="canvas">The canvas.</param>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.XamlRenderContext.BalancedLineDrawingThicknessLimit">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the thickness limit for "balanced" line drawing.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawEllipses(System.Collections.Generic.IList{OxyPlot.OxyRect},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawLine(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawLineSegments(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawPolygons(System.Collections.Generic.IList{System.Collections.Generic.IList{OxyPlot.ScreenPoint}},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawRectangles(System.Collections.Generic.IList{OxyPlot.OxyRect},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<inheritdoc/>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawLineBalanced(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
|
|
||||||
<summary>
|
|
||||||
Draws the line using the MaxPolylinesPerLine and MinPointsPerPolyline properties.
|
|
||||||
</summary>
|
|
||||||
<param name="points">The points.</param>
|
|
||||||
<param name="stroke">The stroke color.</param>
|
|
||||||
<param name="thickness">The thickness.</param>
|
|
||||||
<param name="edgeRenderingMode">The edge rendering mode.</param>
|
|
||||||
<param name="dashArray">The dash array. Use <c>null</c> to get a solid line.</param>
|
|
||||||
<param name="lineJoin">The line join.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XamlRenderContext.ToPointCollection(System.Collections.Generic.IList{OxyPlot.ScreenPoint},System.Double,OxyPlot.EdgeRenderingMode)">
|
|
||||||
<summary>
|
|
||||||
Creates a point collection from the specified points. The points are snapped to pixels if required by the edge rendering mode,
|
|
||||||
</summary>
|
|
||||||
<param name="points">The points to convert.</param>
|
|
||||||
<param name="strokeThickness">The stroke thickness.</param>
|
|
||||||
<param name="edgeRenderingMode">The edge rendering mode.</param>
|
|
||||||
<returns>The point collection.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="T:OxyPlot.Wpf.XpsExporter">
|
|
||||||
<summary>
|
|
||||||
Provides functionality to export plots to xps.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XpsExporter.#ctor">
|
|
||||||
<summary>
|
|
||||||
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.XpsExporter" /> class.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.XpsExporter.Width">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the width of the output document.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.XpsExporter.Height">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the height of the output document.
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:OxyPlot.Wpf.XpsExporter.TextFormattingMode">
|
|
||||||
<summary>
|
|
||||||
Gets or sets the text formatting mode.
|
|
||||||
</summary>
|
|
||||||
<value>The text formatting mode.</value>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XpsExporter.Export(OxyPlot.IPlotModel,System.String,System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Exports the specified plot model to an xps file.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
<param name="fileName">The file name.</param>
|
|
||||||
<param name="width">The width.</param>
|
|
||||||
<param name="height">The height.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XpsExporter.Export(OxyPlot.IPlotModel,System.IO.Stream,System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Exports the specified <see cref="T:OxyPlot.PlotModel" /> to the specified <see cref="T:System.IO.Stream" />.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
<param name="stream">The stream.</param>
|
|
||||||
<param name="width">The width.</param>
|
|
||||||
<param name="height">The height.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XpsExporter.Print(OxyPlot.IPlotModel,System.Double,System.Double)">
|
|
||||||
<summary>
|
|
||||||
Prints the specified plot model.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
<param name="width">The width (using the actual media width if set to NaN).</param>
|
|
||||||
<param name="height">The height (using the actual media height if set to NaN).</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XpsExporter.Export(OxyPlot.IPlotModel,System.IO.Stream)">
|
|
||||||
<summary>
|
|
||||||
Exports the specified <see cref="T:OxyPlot.PlotModel" /> to the specified <see cref="T:System.IO.Stream" />.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
<param name="stream">The stream.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XpsExporter.Print(OxyPlot.IPlotModel)">
|
|
||||||
<summary>
|
|
||||||
Prints the specified plot model.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:OxyPlot.Wpf.XpsExporter.Write(OxyPlot.IPlotModel,System.Windows.Xps.XpsDocumentWriter)">
|
|
||||||
<summary>
|
|
||||||
Write the specified <see cref="T:OxyPlot.IPlotModel" /> to the specified <see cref="T:System.Windows.Xps.XpsDocumentWriter" />.
|
|
||||||
</summary>
|
|
||||||
<param name="model">The model.</param>
|
|
||||||
<param name="writer">The document writer.</param>
|
|
||||||
</member>
|
|
||||||
</members>
|
|
||||||
</doc>
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,3 @@
|
|||||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
||||||
<FontFamily x:Key="Iconfont">pack://application:,,,/Txgy.EWS.Client.Assets;component/Fonts/#iconfont</FontFamily>
|
<FontFamily x:Key="Iconfont">pack://application:,,,/Txgy.EWS.Client.Assets;component/Fonts/#iconfont</FontFamily>
|
||||||
</ResourceDictionary>
|
</ResourceDictionary>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
using Prism.Events;
|
||||||
|
|
||||||
|
namespace Txgy.EWS.Client.Common.MessageEvents
|
||||||
|
{
|
||||||
|
public class BusinessConfigChangedEvent : PubSubEvent<BusinessConfig>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
using Prism.Events;
|
||||||
|
|
||||||
|
namespace Txgy.EWS.Client.Common.MessageEvents
|
||||||
|
{
|
||||||
|
public class ClearWarningDataEvent : PubSubEvent
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
using Prism.Events;
|
||||||
|
|
||||||
|
namespace Txgy.EWS.Client.Common.MessageEvents
|
||||||
|
{
|
||||||
|
public class ReloadWarningDataEvent : PubSubEvent
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,337 @@
|
|||||||
|
using Prism.Commands;
|
||||||
|
using Prism.Events;
|
||||||
|
using Prism.Mvvm;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using Txgy.EWS.Client.Common;
|
||||||
|
using Txgy.EWS.Client.Common.MessageEvents;
|
||||||
|
|
||||||
|
namespace Txgy.EWS.Client.SysModule.ViewModels
|
||||||
|
{
|
||||||
|
public class SystemSettingsViewModel : BindableBase
|
||||||
|
{
|
||||||
|
private readonly IEventAggregator _eventAggregator;
|
||||||
|
private string _statusMessage;
|
||||||
|
private Brush _statusBrush = Brushes.Gray;
|
||||||
|
|
||||||
|
public SystemSettingsViewModel(IEventAggregator eventAggregator)
|
||||||
|
{
|
||||||
|
_eventAggregator = eventAggregator;
|
||||||
|
ReloadFromConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ConfigPath => BusinessConfigManager.ConfigPath;
|
||||||
|
|
||||||
|
public string StatusMessage
|
||||||
|
{
|
||||||
|
get => _statusMessage;
|
||||||
|
set => SetProperty(ref _statusMessage, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Brush StatusBrush
|
||||||
|
{
|
||||||
|
get => _statusBrush;
|
||||||
|
set => SetProperty(ref _statusBrush, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ApiDomain { get; set; }
|
||||||
|
public string AlarmSetting { get; set; }
|
||||||
|
public string AlarmLevelConfig { get; set; }
|
||||||
|
public string ReportEventLevelSetting { get; set; }
|
||||||
|
public string WorkAreaFilePath { get; set; }
|
||||||
|
public string StationsCsvFilePath { get; set; }
|
||||||
|
public string CadDwgFilePath { get; set; }
|
||||||
|
public string DwgJsonSetting { get; set; }
|
||||||
|
public string WavesMseedFilePath { get; set; }
|
||||||
|
public string WavesTxtFilePath { get; set; }
|
||||||
|
public string LocalSqLiteDb { get; set; }
|
||||||
|
public string DwgSettings { get; set; }
|
||||||
|
public string CadSettingsFileName { get; set; }
|
||||||
|
public bool IsDesign { get; set; }
|
||||||
|
public bool IsRealtime { get; set; }
|
||||||
|
public string RefreshInterval { get; set; }
|
||||||
|
public string DataLookbackHours { get; set; }
|
||||||
|
public string DataCacheTimeLenMins { get; set; }
|
||||||
|
public string TencentMySql { get; set; }
|
||||||
|
public string NasMySql { get; set; }
|
||||||
|
public string RealtimeResultTable { get; set; }
|
||||||
|
public string RealtimeWaveDataTable { get; set; }
|
||||||
|
public string RealtimeFocalmechanismTable { get; set; }
|
||||||
|
public string PostResultTable { get; set; }
|
||||||
|
public string PostWaveDataTable { get; set; }
|
||||||
|
public string PostFocalmechanismTable { get; set; }
|
||||||
|
public string CommpanyName { get; set; }
|
||||||
|
public string SystemNameCn { get; set; }
|
||||||
|
public string SystemNameEn { get; set; }
|
||||||
|
public string WorkAreaName { get; set; }
|
||||||
|
public string SystemShortName { get; set; }
|
||||||
|
public string DailyReportStartTime { get; set; }
|
||||||
|
public string DailyReportPlanOffsetX { get; set; }
|
||||||
|
public string DailyReportPlanOffsetY { get; set; }
|
||||||
|
public string BaseX { get; set; }
|
||||||
|
public string BaseY { get; set; }
|
||||||
|
public string BaseZ { get; set; }
|
||||||
|
|
||||||
|
public ICommand ReloadCommand => new DelegateCommand(ReloadFromConfig);
|
||||||
|
public ICommand ApplyCommand => new DelegateCommand(ApplyConfig);
|
||||||
|
|
||||||
|
private void ReloadFromConfig()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Load(BusinessConfigManager.Read());
|
||||||
|
SetStatus("已读取最新配置", Brushes.Gray);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
SetStatus($"读取配置失败:{ex.Message}", Brushes.Red);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ApplyConfig()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var previousConfig = BusinessConfigManager.Current;
|
||||||
|
var config = BuildConfig();
|
||||||
|
var savedConfig = BusinessConfigManager.Save(config);
|
||||||
|
var shouldReloadWarningData = ShouldReloadWarningData(previousConfig, savedConfig);
|
||||||
|
GlobalConfig.ApplyBusinessConfig(savedConfig);
|
||||||
|
_eventAggregator.GetEvent<BusinessConfigChangedEvent>().Publish(savedConfig);
|
||||||
|
if (shouldReloadWarningData)
|
||||||
|
{
|
||||||
|
_eventAggregator.GetEvent<ReloadWarningDataEvent>().Publish();
|
||||||
|
}
|
||||||
|
Load(savedConfig);
|
||||||
|
SetStatus($"配置已应用:{DateTime.Now:HH:mm:ss}", Brushes.Green);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
SetStatus($"应用失败:{ex.Message}", Brushes.Red);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool ShouldReloadWarningData(BusinessConfig previousConfig, BusinessConfig savedConfig)
|
||||||
|
{
|
||||||
|
if (previousConfig?.Runtime == null || savedConfig?.Runtime == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return previousConfig.Runtime.DataLookbackHours != savedConfig.Runtime.DataLookbackHours;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Load(BusinessConfig config)
|
||||||
|
{
|
||||||
|
ApiDomain = config.Endpoints.ApiDomain;
|
||||||
|
AlarmSetting = config.Paths.AlarmSetting;
|
||||||
|
AlarmLevelConfig = config.Paths.AlarmLevelConfig;
|
||||||
|
ReportEventLevelSetting = config.Paths.ReportEventLevelSetting;
|
||||||
|
WorkAreaFilePath = config.Paths.WorkAreaFilePath;
|
||||||
|
StationsCsvFilePath = config.Paths.StationsCsvFilePath;
|
||||||
|
CadDwgFilePath = config.Paths.CadDwgFilePath;
|
||||||
|
DwgJsonSetting = config.Paths.DwgJsonSetting;
|
||||||
|
WavesMseedFilePath = config.Paths.WavesMseedFilePath;
|
||||||
|
WavesTxtFilePath = config.Paths.WavesTxtFilePath;
|
||||||
|
LocalSqLiteDb = config.Paths.LocalSqLiteDb;
|
||||||
|
DwgSettings = config.Paths.DwgSettings;
|
||||||
|
CadSettingsFileName = config.Paths.CadSettingsFileName;
|
||||||
|
IsDesign = config.Runtime.IsDesign;
|
||||||
|
IsRealtime = config.Runtime.IsRealtime;
|
||||||
|
RefreshInterval = config.Runtime.RefreshInterval.ToString(CultureInfo.InvariantCulture);
|
||||||
|
DataLookbackHours = config.Runtime.DataLookbackHours.ToString("0.##", CultureInfo.InvariantCulture);
|
||||||
|
DataCacheTimeLenMins = config.Runtime.DataCacheTimeLenMins.ToString(CultureInfo.InvariantCulture);
|
||||||
|
TencentMySql = GetConnection(config, "TencetnMySQL");
|
||||||
|
NasMySql = GetConnection(config, "NasMySQL");
|
||||||
|
RealtimeResultTable = config.Database.Tables.RealtimeResultTable;
|
||||||
|
RealtimeWaveDataTable = config.Database.Tables.RealtimeWaveDataTable;
|
||||||
|
RealtimeFocalmechanismTable = config.Database.Tables.RealtimeFocalmechanismTable;
|
||||||
|
PostResultTable = config.Database.Tables.PostResultTable;
|
||||||
|
PostWaveDataTable = config.Database.Tables.PostWaveDataTable;
|
||||||
|
PostFocalmechanismTable = config.Database.Tables.PostFocalmechanismTable;
|
||||||
|
CommpanyName = config.Branding.CommpanyName;
|
||||||
|
SystemNameCn = config.Branding.SystemNameCn;
|
||||||
|
SystemNameEn = config.Branding.SystemNameEn;
|
||||||
|
WorkAreaName = config.Branding.WorkAreaName;
|
||||||
|
SystemShortName = config.Branding.SystemShortName;
|
||||||
|
DailyReportStartTime = config.Report.DailyReportStartTime;
|
||||||
|
DailyReportPlanOffsetX = config.Report.DailyReportPlanOffsetX.ToString(CultureInfo.InvariantCulture);
|
||||||
|
DailyReportPlanOffsetY = config.Report.DailyReportPlanOffsetY.ToString(CultureInfo.InvariantCulture);
|
||||||
|
BaseX = config.Coordinates.BaseX.ToString(CultureInfo.InvariantCulture);
|
||||||
|
BaseY = config.Coordinates.BaseY.ToString(CultureInfo.InvariantCulture);
|
||||||
|
BaseZ = config.Coordinates.BaseZ.ToString(CultureInfo.InvariantCulture);
|
||||||
|
RaiseAllSettingPropertiesChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
private BusinessConfig BuildConfig()
|
||||||
|
{
|
||||||
|
DateTime.Parse(Require(DailyReportStartTime, "日报起始时间"));
|
||||||
|
|
||||||
|
var dataLookbackHours = ParseDouble(DataLookbackHours, "数据回看时长");
|
||||||
|
DataCacheTimeLenMins = ((int)Math.Round(dataLookbackHours * 60.0)).ToString(CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
|
return new BusinessConfig
|
||||||
|
{
|
||||||
|
Endpoints = new EndpointSettings
|
||||||
|
{
|
||||||
|
ApiDomain = Require(ApiDomain, "API 域名")
|
||||||
|
},
|
||||||
|
Paths = new PathSettings
|
||||||
|
{
|
||||||
|
AlarmSetting = Require(AlarmSetting, "报警配置"),
|
||||||
|
AlarmLevelConfig = Require(AlarmLevelConfig, "报警等级配置"),
|
||||||
|
ReportEventLevelSetting = Require(ReportEventLevelSetting, "报表事件分级"),
|
||||||
|
WorkAreaFilePath = Require(WorkAreaFilePath, "工区配置"),
|
||||||
|
StationsCsvFilePath = Require(StationsCsvFilePath, "台站 CSV"),
|
||||||
|
CadDwgFilePath = Require(CadDwgFilePath, "CAD DWG"),
|
||||||
|
DwgJsonSetting = Require(DwgJsonSetting, "DWG 图层配置"),
|
||||||
|
WavesMseedFilePath = Require(WavesMseedFilePath, "Mseed 缓存目录"),
|
||||||
|
WavesTxtFilePath = Require(WavesTxtFilePath, "Txt 缓存目录"),
|
||||||
|
LocalSqLiteDb = Require(LocalSqLiteDb, "本地 SQLite"),
|
||||||
|
DwgSettings = EmptyToNull(DwgSettings),
|
||||||
|
CadSettingsFileName = EmptyToNull(CadSettingsFileName)
|
||||||
|
},
|
||||||
|
Runtime = new RuntimeSettings
|
||||||
|
{
|
||||||
|
IsDesign = IsDesign,
|
||||||
|
IsRealtime = IsRealtime,
|
||||||
|
RefreshInterval = ParseInt(RefreshInterval, "刷新间隔"),
|
||||||
|
DataLookbackHours = dataLookbackHours,
|
||||||
|
DataCacheTimeLenMins = ParseInt(DataCacheTimeLenMins, "数据缓存时长")
|
||||||
|
},
|
||||||
|
Database = new DatabaseSettings
|
||||||
|
{
|
||||||
|
Connections = new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
{ "TencetnMySQL", Require(TencentMySql, "腾讯 MySQL") },
|
||||||
|
{ "NasMySQL", Require(NasMySql, "NAS MySQL") }
|
||||||
|
},
|
||||||
|
Tables = new TableSettings
|
||||||
|
{
|
||||||
|
RealtimeResultTable = Require(RealtimeResultTable, "实时结果表"),
|
||||||
|
RealtimeWaveDataTable = Require(RealtimeWaveDataTable, "实时波形表"),
|
||||||
|
RealtimeFocalmechanismTable = Require(RealtimeFocalmechanismTable, "实时震源机制表"),
|
||||||
|
PostResultTable = Require(PostResultTable, "后处理结果表"),
|
||||||
|
PostWaveDataTable = Require(PostWaveDataTable, "后处理波形表"),
|
||||||
|
PostFocalmechanismTable = Require(PostFocalmechanismTable, "后处理震源机制表")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Branding = new BrandingSettings
|
||||||
|
{
|
||||||
|
CommpanyName = Require(CommpanyName, "公司名称"),
|
||||||
|
SystemNameCn = Require(SystemNameCn, "系统中文名"),
|
||||||
|
SystemNameEn = Require(SystemNameEn, "系统英文名"),
|
||||||
|
WorkAreaName = Require(WorkAreaName, "工区名称"),
|
||||||
|
SystemShortName = Require(SystemShortName, "系统简称")
|
||||||
|
},
|
||||||
|
Report = new ReportSettings
|
||||||
|
{
|
||||||
|
DailyReportStartTime = DailyReportStartTime.Trim(),
|
||||||
|
DailyReportPlanOffsetX = ParseDouble(DailyReportPlanOffsetX, "平面图横向偏移"),
|
||||||
|
DailyReportPlanOffsetY = ParseDouble(DailyReportPlanOffsetY, "平面图纵向偏移")
|
||||||
|
},
|
||||||
|
Coordinates = new CoordinateSettings
|
||||||
|
{
|
||||||
|
BaseX = ParseDouble(BaseX, "BaseX"),
|
||||||
|
BaseY = ParseDouble(BaseY, "BaseY"),
|
||||||
|
BaseZ = ParseDouble(BaseZ, "BaseZ")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetConnection(BusinessConfig config, string name)
|
||||||
|
{
|
||||||
|
if (config.Database.Connections != null && config.Database.Connections.TryGetValue(name, out var value))
|
||||||
|
{
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string Require(string value, string name)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(value))
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException($"{name}不能为空");
|
||||||
|
}
|
||||||
|
|
||||||
|
return value.Trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
private string EmptyToNull(string value)
|
||||||
|
{
|
||||||
|
return string.IsNullOrWhiteSpace(value) ? null : value.Trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
private int ParseInt(string value, string name)
|
||||||
|
{
|
||||||
|
if (!int.TryParse(Require(value, name), NumberStyles.Integer, CultureInfo.InvariantCulture, out var result))
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException($"{name}必须是整数");
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private double ParseDouble(string value, string name)
|
||||||
|
{
|
||||||
|
if (!double.TryParse(Require(value, name), NumberStyles.Float, CultureInfo.InvariantCulture, out var result))
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException($"{name}必须是数字");
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetStatus(string message, Brush brush)
|
||||||
|
{
|
||||||
|
StatusMessage = message;
|
||||||
|
StatusBrush = brush;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RaiseAllSettingPropertiesChanged()
|
||||||
|
{
|
||||||
|
RaisePropertyChanged(nameof(ApiDomain));
|
||||||
|
RaisePropertyChanged(nameof(AlarmSetting));
|
||||||
|
RaisePropertyChanged(nameof(AlarmLevelConfig));
|
||||||
|
RaisePropertyChanged(nameof(ReportEventLevelSetting));
|
||||||
|
RaisePropertyChanged(nameof(WorkAreaFilePath));
|
||||||
|
RaisePropertyChanged(nameof(StationsCsvFilePath));
|
||||||
|
RaisePropertyChanged(nameof(CadDwgFilePath));
|
||||||
|
RaisePropertyChanged(nameof(DwgJsonSetting));
|
||||||
|
RaisePropertyChanged(nameof(WavesMseedFilePath));
|
||||||
|
RaisePropertyChanged(nameof(WavesTxtFilePath));
|
||||||
|
RaisePropertyChanged(nameof(LocalSqLiteDb));
|
||||||
|
RaisePropertyChanged(nameof(DwgSettings));
|
||||||
|
RaisePropertyChanged(nameof(CadSettingsFileName));
|
||||||
|
RaisePropertyChanged(nameof(IsDesign));
|
||||||
|
RaisePropertyChanged(nameof(IsRealtime));
|
||||||
|
RaisePropertyChanged(nameof(RefreshInterval));
|
||||||
|
RaisePropertyChanged(nameof(DataLookbackHours));
|
||||||
|
RaisePropertyChanged(nameof(DataCacheTimeLenMins));
|
||||||
|
RaisePropertyChanged(nameof(TencentMySql));
|
||||||
|
RaisePropertyChanged(nameof(NasMySql));
|
||||||
|
RaisePropertyChanged(nameof(RealtimeResultTable));
|
||||||
|
RaisePropertyChanged(nameof(RealtimeWaveDataTable));
|
||||||
|
RaisePropertyChanged(nameof(RealtimeFocalmechanismTable));
|
||||||
|
RaisePropertyChanged(nameof(PostResultTable));
|
||||||
|
RaisePropertyChanged(nameof(PostWaveDataTable));
|
||||||
|
RaisePropertyChanged(nameof(PostFocalmechanismTable));
|
||||||
|
RaisePropertyChanged(nameof(CommpanyName));
|
||||||
|
RaisePropertyChanged(nameof(SystemNameCn));
|
||||||
|
RaisePropertyChanged(nameof(SystemNameEn));
|
||||||
|
RaisePropertyChanged(nameof(WorkAreaName));
|
||||||
|
RaisePropertyChanged(nameof(SystemShortName));
|
||||||
|
RaisePropertyChanged(nameof(DailyReportStartTime));
|
||||||
|
RaisePropertyChanged(nameof(DailyReportPlanOffsetX));
|
||||||
|
RaisePropertyChanged(nameof(DailyReportPlanOffsetY));
|
||||||
|
RaisePropertyChanged(nameof(BaseX));
|
||||||
|
RaisePropertyChanged(nameof(BaseY));
|
||||||
|
RaisePropertyChanged(nameof(BaseZ));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,262 @@
|
|||||||
|
<UserControl x:Class="Txgy.EWS.Client.SysModule.Views.SystemSettingsView"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:prism="http://prismlibrary.com/"
|
||||||
|
prism:ViewModelLocator.AutoWireViewModel="True"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
d:DesignHeight="760"
|
||||||
|
d:DesignWidth="1100">
|
||||||
|
<UserControl.Resources>
|
||||||
|
<ResourceDictionary>
|
||||||
|
<ResourceDictionary.MergedDictionaries>
|
||||||
|
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/BaseResources.xaml"/>
|
||||||
|
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/ButtonStyles.xaml"/>
|
||||||
|
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/TextBoxStyle.xaml"/>
|
||||||
|
</ResourceDictionary.MergedDictionaries>
|
||||||
|
<Style x:Key="SettingGroupStyle" TargetType="GroupBox">
|
||||||
|
<Setter Property="Margin" Value="0,0,0,16"/>
|
||||||
|
<Setter Property="Padding" Value="14"/>
|
||||||
|
<Setter Property="BorderBrush" Value="#FFE6E8EC"/>
|
||||||
|
<Setter Property="BorderThickness" Value="1"/>
|
||||||
|
<Setter Property="FontSize" Value="14"/>
|
||||||
|
</Style>
|
||||||
|
<Style x:Key="SettingLabelStyle" TargetType="TextBlock">
|
||||||
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||||
|
<Setter Property="Foreground" Value="#666"/>
|
||||||
|
<Setter Property="Margin" Value="0,5"/>
|
||||||
|
</Style>
|
||||||
|
<Style x:Key="SettingTextBoxStyle" TargetType="TextBox" BasedOn="{StaticResource NormalTextBoxStyle}">
|
||||||
|
<Setter Property="Height" Value="32"/>
|
||||||
|
<Setter Property="Margin" Value="0,5"/>
|
||||||
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||||
|
</Style>
|
||||||
|
<Style x:Key="SettingCheckBoxStyle" TargetType="CheckBox">
|
||||||
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||||
|
<Setter Property="Margin" Value="0,5"/>
|
||||||
|
</Style>
|
||||||
|
</ResourceDictionary>
|
||||||
|
</UserControl.Resources>
|
||||||
|
<Grid Margin="24">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<DockPanel Margin="0,0,0,16">
|
||||||
|
<StackPanel DockPanel.Dock="Left">
|
||||||
|
<TextBlock Text="系统设置" FontSize="24" FontWeight="Bold" Foreground="#333"/>
|
||||||
|
<TextBlock Text="{Binding ConfigPath}" Margin="0,6,0,0" Foreground="#888"/>
|
||||||
|
</StackPanel>
|
||||||
|
<TextBlock DockPanel.Dock="Right"
|
||||||
|
Text="{Binding StatusMessage}"
|
||||||
|
Foreground="{Binding StatusBrush}"
|
||||||
|
VerticalAlignment="Bottom"
|
||||||
|
TextWrapping="Wrap"
|
||||||
|
MaxWidth="420"/>
|
||||||
|
</DockPanel>
|
||||||
|
|
||||||
|
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto">
|
||||||
|
<StackPanel>
|
||||||
|
<GroupBox Header="接口" Style="{StaticResource SettingGroupStyle}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="API 域名" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Column="1" Text="{Binding ApiDomain, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
|
|
||||||
|
<GroupBox Header="运行参数" Style="{StaticResource SettingGroupStyle}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock Text="设计模式" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<CheckBox Grid.Column="1" IsChecked="{Binding IsDesign}" Style="{StaticResource SettingCheckBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Column="2" Text="实时模式" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<CheckBox Grid.Column="3" IsChecked="{Binding IsRealtime}" Style="{StaticResource SettingCheckBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="1" Text="刷新间隔(秒)" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding RefreshInterval, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="1" Grid.Column="2" Text="数据回看时长(小时)" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="3" Text="{Binding DataLookbackHours, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="2" Grid.Column="2" Text="数据缓存时长(分钟)" Style="{StaticResource SettingLabelStyle}" Visibility="Collapsed"/>
|
||||||
|
<TextBox Grid.Row="2" Grid.Column="3" Text="{Binding DataCacheTimeLenMins, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}" Visibility="Collapsed"/>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
|
|
||||||
|
<GroupBox Header="路径" Style="{StaticResource SettingGroupStyle}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock Text="报警配置" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Column="1" Text="{Binding AlarmSetting, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Column="2" Text="报警等级配置" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Column="3" Text="{Binding AlarmLevelConfig, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="1" Text="报表事件分级" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding ReportEventLevelSetting, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="1" Grid.Column="2" Text="工区配置" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="3" Text="{Binding WorkAreaFilePath, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="2" Text="台站 CSV" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding StationsCsvFilePath, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="2" Grid.Column="2" Text="CAD DWG" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="2" Grid.Column="3" Text="{Binding CadDwgFilePath, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="3" Text="DWG 图层配置" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding DwgJsonSetting, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="3" Grid.Column="2" Text="Mseed 缓存目录" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="3" Grid.Column="3" Text="{Binding WavesMseedFilePath, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="4" Text="Txt 缓存目录" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding WavesTxtFilePath, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="4" Grid.Column="2" Text="本地 SQLite" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="4" Grid.Column="3" Text="{Binding LocalSqLiteDb, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="5" Text="DWG 显示设置" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="5" Grid.Column="1" Text="{Binding DwgSettings, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="5" Grid.Column="2" Text="CAD 设置文件" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="5" Grid.Column="3" Text="{Binding CadSettingsFileName, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
|
|
||||||
|
<GroupBox Header="数据库" Style="{StaticResource SettingGroupStyle}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock Text="腾讯 MySQL" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Column="1" Text="{Binding TencentMySql, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="1" Text="NAS MySQL" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding NasMySql, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="2" Text="实时结果表" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding RealtimeResultTable, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="3" Text="实时波形表" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding RealtimeWaveDataTable, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="4" Text="实时震源机制表" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding RealtimeFocalmechanismTable, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="5" Text="后处理结果表" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="5" Grid.Column="1" Text="{Binding PostResultTable, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="6" Text="后处理波形表" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="6" Grid.Column="1" Text="{Binding PostWaveDataTable, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="7" Text="后处理震源机制表" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="7" Grid.Column="1" Text="{Binding PostFocalmechanismTable, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
|
|
||||||
|
<GroupBox Header="品牌与报表" Style="{StaticResource SettingGroupStyle}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock Text="公司名称" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Column="1" Text="{Binding CommpanyName, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Column="2" Text="工区名称" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Column="3" Text="{Binding WorkAreaName, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="1" Text="系统中文名" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding SystemNameCn, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="1" Grid.Column="2" Text="系统英文名" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="3" Text="{Binding SystemNameEn, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="2" Text="系统简称" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding SystemShortName, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="2" Grid.Column="2" Text="日报起始时间" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="2" Grid.Column="3" Text="{Binding DailyReportStartTime, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="3" Text="平面图横向偏移" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding DailyReportPlanOffsetX, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Row="3" Grid.Column="2" Text="平面图纵向偏移" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Row="3" Grid.Column="3" Text="{Binding DailyReportPlanOffsetY, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
|
|
||||||
|
<GroupBox Header="坐标" Style="{StaticResource SettingGroupStyle}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
<ColumnDefinition Width="170"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="BaseX" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Column="1" Text="{Binding BaseX, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Column="2" Text="BaseY" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Column="3" Text="{Binding BaseY, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
<TextBlock Grid.Column="4" Text="BaseZ" Style="{StaticResource SettingLabelStyle}"/>
|
||||||
|
<TextBox Grid.Column="5" Text="{Binding BaseZ, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SettingTextBoxStyle}"/>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
|
</StackPanel>
|
||||||
|
</ScrollViewer>
|
||||||
|
|
||||||
|
<DockPanel Grid.Row="2" Margin="0,16,0,0">
|
||||||
|
<Button Content="重新读取"
|
||||||
|
Width="100"
|
||||||
|
Height="34"
|
||||||
|
Margin="0,0,8,0"
|
||||||
|
Style="{StaticResource NormalButtonStyle}"
|
||||||
|
Background="#DDD"
|
||||||
|
Foreground="#666"
|
||||||
|
Command="{Binding ReloadCommand}"/>
|
||||||
|
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal" HorizontalAlignment="Right">
|
||||||
|
<Button Content="应用"
|
||||||
|
Width="100"
|
||||||
|
Height="34"
|
||||||
|
Margin="8,0,0,0"
|
||||||
|
Style="{StaticResource NormalButtonStyle}"
|
||||||
|
Background="#FF0ABEFF"
|
||||||
|
Command="{Binding ApplyCommand}"/>
|
||||||
|
</StackPanel>
|
||||||
|
</DockPanel>
|
||||||
|
</Grid>
|
||||||
|
</UserControl>
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
using System.Windows.Controls;
|
||||||
|
|
||||||
|
namespace Txgy.EWS.Client.SysModule.Views
|
||||||
|
{
|
||||||
|
public partial class SystemSettingsView : UserControl
|
||||||
|
{
|
||||||
|
public SystemSettingsView()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue