Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.H2V
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘龙飞
VIZ.H2V
Commits
8a97931a
Commit
8a97931a
authored
Oct 20, 2022
by
liulongfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
服务状态监控
parent
adea8cba
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
162 additions
and
18 deletions
+162
-18
VIZ.H2V.Module.Resource/Converter/ServiceFps2SolidBrushConverter.cs
+47
-0
VIZ.H2V.Module.Resource/Converter/ServiceFps2VisibilityConverter.cs
+48
-0
VIZ.H2V.Module.Resource/VIZ.H2V.Module.Resource.csproj
+2
-0
VIZ.H2V.Module/NDIMainView/View/NDIMainView.xaml
+59
-12
VIZ.H2V.Module/NDIMainView/ViewModel/NDIMainViewModel.cs
+6
-6
No files found.
VIZ.H2V.Module.Resource/Converter/ServiceFps2SolidBrushConverter.cs
0 → 100644
View file @
8a97931a
using
System
;
using
System.Collections.Generic
;
using
System.Globalization
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows.Data
;
using
System.Windows.Media
;
namespace
VIZ.H2V.Module.Resource
{
/// <summary>
/// 服务FPS到纯色画刷转换器
/// </summary>
public
class
ServiceFps2SolidBrushConverter
:
IValueConverter
{
/// <summary>
/// 正常画刷
/// </summary>
public
SolidColorBrush
NormalBrush
{
get
;
set
;
}
/// <summary>
/// 警告画刷
/// </summary>
public
SolidColorBrush
WarningBrush
{
get
;
set
;
}
/// <summary>
/// 警告阈值
/// </summary>
public
int
WarningThreshold
{
get
;
set
;
}
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
if
(
value
==
null
)
return
null
;
int
fps
=
(
int
)
value
;
return
fps
<
this
.
WarningThreshold
?
this
.
WarningBrush
:
this
.
NormalBrush
;
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
throw
new
NotImplementedException
();
}
}
}
VIZ.H2V.Module.Resource/Converter/ServiceFps2VisibilityConverter.cs
0 → 100644
View file @
8a97931a
using
System
;
using
System.Collections.Generic
;
using
System.Globalization
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows
;
using
System.Windows.Data
;
using
System.Windows.Media
;
namespace
VIZ.H2V.Module.Resource
{
/// <summary>
/// 服务FPS到可见性转化器
/// </summary>
public
class
ServiceFps2VisibilityConverter
:
IValueConverter
{
/// <summary>
/// 正常画刷
/// </summary>
public
Visibility
NormalVisibility
{
get
;
set
;
}
/// <summary>
/// 警告画刷
/// </summary>
public
Visibility
WarningVisibility
{
get
;
set
;
}
/// <summary>
/// 警告阈值
/// </summary>
public
int
WarningThreshold
{
get
;
set
;
}
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
if
(
value
==
null
)
return
null
;
int
fps
=
(
int
)
value
;
return
fps
<
this
.
WarningThreshold
?
this
.
WarningVisibility
:
this
.
NormalVisibility
;
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
throw
new
NotImplementedException
();
}
}
}
VIZ.H2V.Module.Resource/VIZ.H2V.Module.Resource.csproj
View file @
8a97931a
...
...
@@ -146,6 +146,8 @@
<Compile Include="Converter\AlgorithmStrategyTagStringConverter.cs" />
<Compile Include="Converter\AlgorithmStrategyType2FootballFieldHeightConverter.cs" />
<Compile Include="Converter\AlgorithmStrategyType2FootballFieldOrientationConverter.cs" />
<Compile Include="Converter\ServiceFps2VisibilityConverter.cs" />
<Compile Include="Converter\ServiceFps2SolidBrushConverter.cs" />
<Compile Include="Converter\TallyColor2RadialGradientBrushConverter.cs" />
<Compile Include="Converter\NDIViewProperty2VisibilityConverter.cs" />
<Compile Include="Converter\NDIViewProperty2BoolConverter.cs" />
...
...
VIZ.H2V.Module/NDIMainView/View/NDIMainView.xaml
View file @
8a97931a
...
...
@@ -8,6 +8,7 @@
xmlns:local="clr-namespace:VIZ.H2V.Module"
xmlns:fcommon="clr-namespace:VIZ.Framework.Common;assembly=VIZ.Framework.Common"
xmlns:domain="clr-namespace:VIZ.H2V.Domain;assembly=VIZ.H2V.Domain"
xmlns:resource="clr-namespace:VIZ.H2V.Module.Resource;assembly=VIZ.H2V.Module.Resource"
d:DataContext="{d:DesignInstance Type=local:NDIMainViewModel}" Background="Transparent"
mc:Ignorable="d"
d:DesignHeight="1080" d:DesignWidth="1920">
...
...
@@ -19,6 +20,12 @@
<ResourceDictionary Source="/VIZ.Framework.Common.Resource;component/Style/ListBox/ListBox_None.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<fcore:ByteSizeConverter x:Key="ByteSizeConverter" InType="B" OutType="GB"></fcore:ByteSizeConverter>
<resource:ServiceFps2SolidBrushConverter x:Key="ServiceFps2SolidBrushConverter" WarningThreshold="20"
NormalBrush="#ffa5ef20" WarningBrush="#ffdaa605"></resource:ServiceFps2SolidBrushConverter>
<resource:ServiceFps2VisibilityConverter x:Key="ServiceFps2VisibilityConverter_Normal" WarningThreshold="20"
NormalVisibility="Visible" WarningVisibility="Collapsed"></resource:ServiceFps2VisibilityConverter>
<resource:ServiceFps2VisibilityConverter x:Key="ServiceFps2VisibilityConverter_Warning" WarningThreshold="20"
NormalVisibility="Collapsed" WarningVisibility="Visible"></resource:ServiceFps2VisibilityConverter>
</ResourceDictionary>
</UserControl.Resources>
...
...
@@ -79,9 +86,9 @@
<!-- 算法服务监控 -->
<StackPanel Orientation="Horizontal" Background="Transparent"
ToolTipService.Placement="Top" ToolTipService.HasDropShadow="True"
ToolTipService.HorizontalOffset="-6
0
">
ToolTipService.HorizontalOffset="-6
5
">
<StackPanel.ToolTip>
<ToolTip
x:Name="ttAlgorithm"
Background="#ff0f1221" BorderBrush="#ff0f1221">
<ToolTip Background="#ff0f1221" BorderBrush="#ff0f1221">
<ListBox Style="{StaticResource ListBox_None}" Width="180" Height="160" Margin="10"
ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"
ItemsSource="{Binding Path=NDIViewServices,Mode=OneWay}">
...
...
@@ -99,7 +106,8 @@
<TextBlock Text=":" Foreground="White" Margin="5,0,5,0"></TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Column="1">
<TextBlock Text="{Binding Path=AlgorithmFPS.FPS}" Grid.Column="1" FontSize="14" Foreground="White"
<TextBlock Text="{Binding Path=AlgorithmFPS.FPS}" Grid.Column="1" FontSize="14"
Foreground="{Binding Path=AlgorithmFPS.FPS,Converter={StaticResource ServiceFps2SolidBrushConverter}}"
Margin="5,0,0,0"></TextBlock>
<TextBlock Text="fps" Grid.Column="1" FontSize="14" Foreground="#88ffffff"
Margin="5,0,0,0"></TextBlock>
...
...
@@ -111,18 +119,57 @@
</ToolTip>
</StackPanel.ToolTip>
<Image Width="18" Height="18" VerticalAlignment="Center"
Source="/VIZ.H2V.Module.Resource;component/Icons/status_25x22.png"></Image>
<Grid Width="18" Height="18" VerticalAlignment="Center">
<Image Source="/VIZ.H2V.Module.Resource;component/Icons/status_yellow_25x22.png"
Visibility="{Binding AlgorithmStatusMinFps,Converter={StaticResource ServiceFps2VisibilityConverter_Warning}}"></Image>
<Image Source="/VIZ.H2V.Module.Resource;component/Icons/status_25x22.png"
Visibility="{Binding AlgorithmStatusMinFps,Converter={StaticResource ServiceFps2VisibilityConverter_Normal}}"></Image>
</Grid>
<TextBlock Text="算法服务" VerticalAlignment="Center" Foreground="White" FontSize="12" Margin="10,0,0,0"></TextBlock>
</StackPanel>
<!-- 剪切服务监控 -->
<StackPanel Orientation="Horizontal" Grid.Column="1" Background="Transparent">
<!--<StackPanel.ToolTip>
<local:ClipServiceStatusPanelView></local:ClipServiceStatusPanelView>
</StackPanel.ToolTip>-->
<Image Width="18" Height="18" VerticalAlignment="Center"
Source="/VIZ.H2V.Module.Resource;component/Icons/status_25x22.png"></Image>
<TextBlock Text="剪切服务" VerticalAlignment="Center" Foreground="White" FontSize="12" Margin="10,0,0,0"></TextBlock>
<StackPanel Orientation="Horizontal" Background="Transparent" Grid.Column="1"
ToolTipService.Placement="Top" ToolTipService.HasDropShadow="True"
ToolTipService.HorizontalOffset="-65">
<StackPanel.ToolTip>
<ToolTip Background="#ff0f1221" BorderBrush="#ff0f1221">
<ListBox Style="{StaticResource ListBox_None}" Width="180" Height="160" Margin="10"
ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"
ItemsSource="{Binding Path=NDIViewServices,Mode=OneWay}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"></ColumnDefinition>
<ColumnDefinition Width="60"></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<TextBlock Text="{Binding Path=DisplayName}" FontSize="14" Foreground="White"
MaxWidth="90"
TextWrapping="NoWrap" TextTrimming="CharacterEllipsis"></TextBlock>
<TextBlock Text=":" Foreground="White" Margin="5,0,5,0"></TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Column="1">
<TextBlock Text="{Binding Path=ClipFPS.FPS}" Grid.Column="1" FontSize="14"
Foreground="{Binding Path=ClipFPS.FPS,Converter={StaticResource ServiceFps2SolidBrushConverter}}"
Margin="5,0,0,0"></TextBlock>
<TextBlock Text="fps" Grid.Column="1" FontSize="14" Foreground="#88ffffff"
Margin="5,0,0,0"></TextBlock>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ToolTip>
</StackPanel.ToolTip>
<Grid Width="18" Height="18" VerticalAlignment="Center">
<Image Source="/VIZ.H2V.Module.Resource;component/Icons/status_yellow_25x22.png"
Visibility="{Binding ClipStatusMinFps,Converter={StaticResource ServiceFps2VisibilityConverter_Warning}}"></Image>
<Image Source="/VIZ.H2V.Module.Resource;component/Icons/status_25x22.png"
Visibility="{Binding ClipStatusMinFps,Converter={StaticResource ServiceFps2VisibilityConverter_Normal}}"></Image>
</Grid>
<TextBlock Text="裁切服务" VerticalAlignment="Center" Foreground="White" FontSize="12" Margin="10,0,0,0"></TextBlock>
</StackPanel>
<!-- 计算机监控 -->
<StackPanel Orientation="Horizontal" Grid.Column="2">
...
...
VIZ.H2V.Module/NDIMainView/ViewModel/NDIMainViewModel.cs
View file @
8a97931a
...
...
@@ -455,12 +455,12 @@ namespace VIZ.H2V.Module
foreach
(
INDIViewService
service
in
services
)
{
// 算法服务
service
.
AlgorithmFPS
.
PropertyChanged
-=
Algorith_FPS_Property
Changed
;
service
.
AlgorithmFPS
.
PropertyChanged
+=
Algorith_FPS_Property
Changed
;
service
.
AlgorithmFPS
.
OnFpsChanged
-=
AlgorithFps
Changed
;
service
.
AlgorithmFPS
.
OnFpsChanged
+=
AlgorithFps
Changed
;
// 裁切服务
service
.
ClipFPS
.
PropertyChanged
-=
Clip_FPS_Property
Changed
;
service
.
ClipFPS
.
PropertyChanged
+=
Clip_FPS_Property
Changed
;
service
.
ClipFPS
.
OnFpsChanged
-=
ClipFps
Changed
;
service
.
ClipFPS
.
OnFpsChanged
+=
ClipFps
Changed
;
}
this
.
NDIViewServices
=
services
;
...
...
@@ -472,7 +472,7 @@ namespace VIZ.H2V.Module
/// <summary>
/// 算法FPS属性改变后触发
/// </summary>
private
void
Algorith
_FPS_PropertyChanged
(
object
sender
,
System
.
ComponentModel
.
PropertyChanged
EventArgs
e
)
private
void
Algorith
FpsChanged
(
object
sender
,
EventArgs
e
)
{
this
.
AlgorithmStatusMinFps
=
this
.
NDIViewServices
.
Min
(
p
=>
p
.
AlgorithmFPS
.
FPS
);
}
...
...
@@ -480,7 +480,7 @@ namespace VIZ.H2V.Module
/// <summary>
/// 裁切FPS属性改变时触发
/// </summary>
private
void
Clip
_FPS_PropertyChanged
(
object
sender
,
System
.
ComponentModel
.
PropertyChanged
EventArgs
e
)
private
void
Clip
FpsChanged
(
object
sender
,
EventArgs
e
)
{
this
.
ClipStatusMinFps
=
this
.
NDIViewServices
.
Min
(
p
=>
p
.
ClipFPS
.
FPS
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment