Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hemei
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
潘栩锋
hemei
Commits
c9a7a9f5
Commit
c9a7a9f5
authored
Feb 29, 2020
by
潘栩锋
🚴
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
把 ThickInWindowTcp 的ScanGraph, TrendGraph 移到 FLY.Thick.Blowing.UI.Fix.Client
parent
d2a3ab60
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1318 additions
and
60 deletions
+1318
-60
FLY.Thick.Blowing.UI.Fix.Client.csproj
...wing.UI.Fix.Client/FLY.Thick.Blowing.UI.Fix.Client.csproj
+32
-2
PgMain.xaml.cs
...ck.Blowing/FLY.Thick.Blowing.UI.Fix.Client/PgMain.xaml.cs
+2
-2
ScanGraph.xaml
...k.Blowing.UI.Fix.Client/UIModule/ScanGraph/ScanGraph.xaml
+13
-0
ScanGraph.xaml.cs
...lowing.UI.Fix.Client/UIModule/ScanGraph/ScanGraph.xaml.cs
+416
-0
ScanGraphConfig.xaml
...ing.UI.Fix.Client/UIModule/ScanGraph/ScanGraphConfig.xaml
+123
-0
ScanGraphConfig.xaml.cs
....UI.Fix.Client/UIModule/ScanGraph/ScanGraphConfig.xaml.cs
+49
-0
TrendGraph.xaml
...Blowing.UI.Fix.Client/UIModule/TrendGraph/TrendGraph.xaml
+14
-0
TrendGraph.xaml.cs
...wing.UI.Fix.Client/UIModule/TrendGraph/TrendGraph.xaml.cs
+501
-0
TrendGraphConfig.xaml
...g.UI.Fix.Client/UIModule/TrendGraph/TrendGraphConfig.xaml
+114
-0
TrendGraphConfig.xaml.cs
...I.Fix.Client/UIModule/TrendGraph/TrendGraphConfig.xaml.cs
+40
-0
hemei.sln
hemei.sln
+14
-56
No files found.
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/FLY.Thick.Blowing.UI.Fix.Client.csproj
View file @
c9a7a9f5
...
...
@@ -171,6 +171,18 @@
<Compile
Include=
"UIModule\ScanGraphCircular\ScanGraphCircularConfig.xaml.cs"
>
<DependentUpon>
ScanGraphCircularConfig.xaml
</DependentUpon>
</Compile>
<Compile
Include=
"UIModule\ScanGraph\ScanGraph.xaml.cs"
>
<DependentUpon>
ScanGraph.xaml
</DependentUpon>
</Compile>
<Compile
Include=
"UIModule\ScanGraph\ScanGraphConfig.xaml.cs"
>
<DependentUpon>
ScanGraphConfig.xaml
</DependentUpon>
</Compile>
<Compile
Include=
"UIModule\TrendGraph\TrendGraph.xaml.cs"
>
<DependentUpon>
TrendGraph.xaml
</DependentUpon>
</Compile>
<Compile
Include=
"UIModule\TrendGraph\TrendGraphConfig.xaml.cs"
>
<DependentUpon>
TrendGraphConfig.xaml
</DependentUpon>
</Compile>
<Compile
Include=
"WdIOTip.xaml.cs"
>
<DependentUpon>
WdIOTip.xaml
</DependentUpon>
</Compile>
...
...
@@ -265,6 +277,22 @@
<Generator>
MSBuild:Compile
</Generator>
<SubType>
Designer
</SubType>
</Page>
<Page
Include=
"UIModule\ScanGraph\ScanGraph.xaml"
>
<Generator>
MSBuild:Compile
</Generator>
<SubType>
Designer
</SubType>
</Page>
<Page
Include=
"UIModule\ScanGraph\ScanGraphConfig.xaml"
>
<Generator>
MSBuild:Compile
</Generator>
<SubType>
Designer
</SubType>
</Page>
<Page
Include=
"UIModule\TrendGraph\TrendGraph.xaml"
>
<Generator>
MSBuild:Compile
</Generator>
<SubType>
Designer
</SubType>
</Page>
<Page
Include=
"UIModule\TrendGraph\TrendGraphConfig.xaml"
>
<Generator>
MSBuild:Compile
</Generator>
<SubType>
Designer
</SubType>
</Page>
<Page
Include=
"WdIOTip.xaml"
>
<Generator>
MSBuild:Compile
</Generator>
<SubType>
Designer
</SubType>
...
...
@@ -327,14 +355,16 @@
<ProjectReference
Include=
"..\..\Project.FLY.Integrated\FLY.Integrated\FLY.Integrated.csproj"
>
<Project>
{83971044-3f20-4912-9528-52cbebba0999}
</Project>
<Name>
FLY.Integrated
</Name>
</ProjectReference>
<ProjectReference
Include=
"..\..\Project.FLY.ThickHeatAnalyst.Fix\FLY.HeatingHelper.UI\FLY.HeatingHelper.UI.csproj"
>
</ProjectReference>
<ProjectReference
Include=
"..\..\Project.FLY.ThickHeatAnalyst.Fix\FLY.HeatingHelper.UI\FLY.HeatingHelper.UI.csproj"
>
<Project>
{276ee86a-0961-4c69-a38a-696f4d76e931}
</Project>
<Name>
FLY.HeatingHelper.UI
</Name>
</ProjectReference>
<ProjectReference
Include=
"..\..\Project.FLY.ThickHeatAnalyst.Fix\FLY.HeatingHelper\FLY.HeatingHelper.csproj"
>
<Project>
{973f0eed-3181-4fb9-abd6-196a9e816b77}
</Project>
<Name>
FLY.HeatingHelper
</Name>
</ProjectReference>
<ProjectReference
Include=
"..\..\Project.FLY.Weight\FLY.Weight.UI.Client\FLY.Weight.UI.Client.csproj"
>
</ProjectReference>
<ProjectReference
Include=
"..\..\Project.FLY.Weight\FLY.Weight.UI.Client\FLY.Weight.UI.Client.csproj"
>
<Project>
{654515f2-caae-450b-a344-547321836e8f}
</Project>
<Name>
FLY.Weight.UI.Client
</Name>
</ProjectReference>
...
...
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/PgMain.xaml.cs
View file @
c9a7a9f5
...
...
@@ -63,7 +63,7 @@ namespace FLY.Thick.Blowing.UI.Fix.Client
mManager
.
myUIModules
.
Add
(
"scangraph"
,
new
FLY
.
UI
.
Module
.
UIModuleInfo
()
{
UIModule
=
new
ThickTcpUiInWindow
.
UIModule
.
UIModule_ScanGraph
(),
UIModule
=
new
UIModule
.
UIModule_ScanGraph
(),
Param
=
new
FLY
.
UI
.
Module
.
UIModuleParam
()
{
IsGraphCompnonent
=
true
...
...
@@ -72,7 +72,7 @@ namespace FLY.Thick.Blowing.UI.Fix.Client
mManager
.
myUIModules
.
Add
(
"trendgraph"
,
new
FLY
.
UI
.
Module
.
UIModuleInfo
()
{
UIModule
=
new
ThickTcpUiInWindow
.
UIModule
.
UIModule_TrendGraph
(),
UIModule
=
new
UIModule
.
UIModule_TrendGraph
(),
Param
=
new
FLY
.
UI
.
Module
.
UIModuleParam
()
{
IsGraphCompnonent
=
true
...
...
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/UIModule/ScanGraph/ScanGraph.xaml
0 → 100644
View file @
c9a7a9f5
<Page
x:Class="FLY.Thick.Blowing.UI.Fix.Client.UIModule.ScanGraph"
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:ControlLibrary="clr-namespace:FLY.ControlLibrary;assembly=FLY.ControlLibrary"
mc:Ignorable="d"
Title="ScanGraph">
<Grid>
<ControlLibrary:GraphScan x:Name="graphscan"/>
</Grid>
</Page>
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/UIModule/ScanGraph/ScanGraph.xaml.cs
0 → 100644
View file @
c9a7a9f5
using
FLY.ControlLibrary
;
using
FLY.Thick.BulkDataModule
;
using
FLY.UI.Module
;
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Linq
;
using
System.Text
;
using
System.Windows
;
using
System.Windows.Controls
;
using
System.Windows.Data
;
using
System.Windows.Documents
;
using
System.Windows.Input
;
using
System.Windows.Media
;
using
System.Windows.Media.Imaging
;
using
System.Windows.Navigation
;
using
System.Windows.Shapes
;
using
ThickTcpUiInWindow.UIModule
;
namespace
FLY.Thick.Blowing.UI.Fix.Client.UIModule
{
/// <summary>
/// ScanGraph.xaml 的交互逻辑
/// </summary>
public
partial
class
ScanGraph
:
Page
{
TDGage
gage
;
ScanGraphItemParam
graphparam
;
public
ScanGraph
()
{
InitializeComponent
();
}
/// <summary>
///
/// </summary>
/// <param name="id"></param>
public
void
Init
(
int
id
)
{
//查找参数
graphparam
=
ScanGraphParams
.
Current
.
Items
.
Find
(
p
=>
p
.
ID
==
id
);
if
(
graphparam
==
null
)
{
graphparam
=
new
ScanGraphItemParam
()
{
ID
=
id
};
ScanGraphParams
.
Current
.
Items
.
Add
(
graphparam
);
ScanGraphParams
.
Current
.
Save
();
}
//获取设备
gage
=
Application
.
Current
.
Properties
[
"ThickGage"
]
as
TDGage
;
GraphScan
graph
=
graphscan
;
Misc
.
BindingOperations
.
SetBinding
(
graphparam
,
"ChartType"
,
()
=>
{
if
(
graphparam
.
ChartType
==
"Line"
)
graph
.
ChartType
=
System
.
Windows
.
Forms
.
DataVisualization
.
Charting
.
SeriesChartType
.
Line
;
else
graph
.
ChartType
=
System
.
Windows
.
Forms
.
DataVisualization
.
Charting
.
SeriesChartType
.
Column
;
});
graph
.
DataContext
=
graphparam
;
//graph.SetValue(GraphScan.MarginProperty, new Thickness(5));
graph
.
SetBinding
(
GraphScan
.
TitleProperty
,
new
Binding
(
"Title"
));
graph
.
SetBinding
(
Grid
.
ColumnProperty
,
new
Binding
(
"Column"
));
graph
.
SetBinding
(
Grid
.
RowProperty
,
new
Binding
(
"Row"
));
graph
.
SetBinding
(
Grid
.
ColumnSpanProperty
,
new
Binding
(
"ColumnSpan"
));
graph
.
SetBinding
(
Grid
.
RowSpanProperty
,
new
Binding
(
"RowSpan"
));
graph
.
SetBinding
(
GraphScan
.
IsAutoTargetProperty
,
new
Binding
(
"IsAutoTarget"
));
graph
.
SetBinding
(
GraphScan
.
IsPercentProperty
,
new
Binding
(
"IsPercent"
));
graph
.
SetBinding
(
GraphScan
.
YRangePercentProperty
,
new
Binding
(
"YRangePercent"
));
graph
.
SetBinding
(
GraphScan
.
IsReversedProperty
,
new
Binding
(
"IsReversed"
)
{
Source
=
ScanGraphParams
.
Current
});
graph
.
SetBinding
(
GraphScan
.
LeftRightIsVisableProperty
,
new
Binding
(
"LRIsVisable"
)
{
Source
=
ScanGraphParams
.
Current
});
graph
.
SetBinding
(
GraphScan
.
LeftRightIsReversedProperty
,
new
Binding
(
"LRIsReversed"
)
{
Source
=
ScanGraphParams
.
Current
});
//报警线
{
graph
.
SetBinding
(
GraphScan
.
HasCtrlLineProperty
,
new
Binding
(
"Enable"
)
{
Source
=
gage
.
mScanWarningService
});
Binding
b0
=
new
Binding
(
"Alarm"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
};
Binding
b1
=
new
Binding
(
"AlarmLine"
)
{
Source
=
gage
.
mScanWarningService
};
{
MultiBinding
mb
=
new
MultiBinding
()
{
Mode
=
BindingMode
.
OneWay
,
Converter
=
new
CtrlLineConverter
()
};
mb
.
Bindings
.
Add
(
b0
);
mb
.
Bindings
.
Add
(
b1
);
graph
.
SetBinding
(
GraphScan
.
CtrlLineProperty
,
mb
);
}
}
{
graph
.
SetBinding
(
GraphScan
.
FirstBoltNoProperty
,
new
Binding
(
"FirstBoltNo"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
});
//graph.SetValue(GraphScan.FirstIndexProperty, 0);
//graph.SetBinding(GraphScan.LastIndexProperty, new Binding("NBolts") { Source = gage.mDynArea });
Binding
b0
=
new
Binding
(
"FirstBoltNo"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
};
Binding
b1
=
new
Binding
(
"DataBoltNoBegin"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
};
Binding
b2
=
new
Binding
(
"DataBoltNoEnd"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
};
Binding
b3
=
new
Binding
(
"ScanBoltNoBegin"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
};
Binding
b4
=
new
Binding
(
"ScanBoltNoEnd"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
};
{
MultiBinding
mb
=
new
MultiBinding
()
{
Mode
=
BindingMode
.
OneWay
,
Converter
=
new
ThickTcpUiInWindow
.
Converter
.
BoltNo2BoltIndexConverter
()
};
mb
.
Bindings
.
Add
(
b0
);
mb
.
Bindings
.
Add
(
b1
);
graph
.
SetBinding
(
GraphScan
.
DataFirstProperty
,
mb
);
}
{
MultiBinding
mb
=
new
MultiBinding
()
{
Mode
=
BindingMode
.
OneWay
,
Converter
=
new
ThickTcpUiInWindow
.
Converter
.
BoltNo2BoltIndexConverter
()
};
mb
.
Bindings
.
Add
(
b0
);
mb
.
Bindings
.
Add
(
b2
);
graph
.
SetBinding
(
GraphScan
.
DataLastProperty
,
mb
);
}
{
MultiBinding
mb
=
new
MultiBinding
()
{
Mode
=
BindingMode
.
OneWay
,
Converter
=
new
ThickTcpUiInWindow
.
Converter
.
BoltNo2BoltIndexConverter
()
};
mb
.
Bindings
.
Add
(
b0
);
mb
.
Bindings
.
Add
(
b3
);
graph
.
SetBinding
(
GraphScan
.
FirstIndexProperty
,
mb
);
}
{
MultiBinding
mb
=
new
MultiBinding
()
{
Mode
=
BindingMode
.
OneWay
,
Converter
=
new
ThickTcpUiInWindow
.
Converter
.
BoltNo2BoltIndexConverter
()
};
mb
.
Bindings
.
Add
(
b0
);
mb
.
Bindings
.
Add
(
b4
);
graph
.
SetBinding
(
GraphScan
.
LastIndexProperty
,
mb
);
}
}
graph
.
SetBinding
(
GraphScan
.
TargetProperty
,
new
Binding
(
"Target"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
});
graph
.
SetBinding
(
GraphScan
.
AlarmProperty
,
new
Binding
(
"Alarm"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
});
//bulkdata 数据绑定!!!
BulkDataServiceClientAdv
.
BulkDataGraphFrame
bulkdata_client
=
new
BulkDataServiceClientAdv
.
BulkDataGraphFrame
();
//graphparam 绑定到 bulkdataclient
Misc
.
BindingOperations
.
SetBinding
(
graphparam
,
"BM"
,
bulkdata_client
,
"BM"
);
Misc
.
BindingOperations
.
SetBinding
(
graphparam
,
"Mix"
,
bulkdata_client
,
"Mix"
);
graph
.
SetBinding
(
GraphScan
.
Title2Property
,
new
Binding
(
"Info"
)
{
Source
=
bulkdata_client
});
graph
.
SetBinding
(
GraphScan
.
IsValidProperty
,
new
Binding
(
"Type"
)
{
Source
=
bulkdata_client
,
Converter
=
new
IsValidConverter
()
});
graph
.
DataSource
=
bulkdata_client
.
Frame
;
graph
.
ShowSettingDialogEvent
+=
new
EventHandler
(
delegate
(
object
sender
,
EventArgs
e
)
{
ScanGraphConfig
window
=
new
ScanGraphConfig
();
window
.
Init
((
sender
as
GraphScan
).
DataContext
as
ScanGraphItemParam
);
window
.
Owner
=
FLY
.
ControlLibrary
.
COMMON
.
GetWindow
(
graph
);
window
.
ShowDialog
();
});
//BulkDataServiceClientAdv mBulkDataClient;
//if(mBulkDataClients.ContainsKey(graphparam.BulkData))
// mBulkDataClient = mBulkDataClients[graphparam.BulkData];
//else
// mBulkDataClient = mBulkDataClients.First().Value;
gage
.
mBulkDataClient
.
Add
(
bulkdata_client
);
}
}
/// <summary>
/// 扫描图的参数
/// </summary>
public
class
ScanGraphItemParam
:
ThickTcpUiInWindow
.
UIModule
.
UIModuleParam
{
public
string
UiModule
{
get
;
set
;
}
=
"scangraph"
;
/// <summary>
/// 曲线类型
/// </summary>
public
string
ChartType
{
get
;
set
;
}
=
"Column"
;
/// <summary>
/// 记录点
/// </summary>
public
int
BM
{
get
;
set
;
}
=
0
;
/// <summary>
/// Y轴比例
/// </summary>
public
double
YRangePercent
{
get
;
set
;
}
=
3
;
/// <summary>
/// 标题
/// </summary>
public
string
Title
{
get
;
set
;
}
=
"扫描图"
;
/// <summary>
/// 混合图
/// </summary>
public
int
Mix
{
get
;
set
;
}
=
1
;
/// <summary>
/// 自动目标值
/// </summary>
public
bool
IsAutoTarget
{
get
;
set
;
}
=
false
;
/// <summary>
/// % 显示
/// </summary>
public
bool
IsPercent
{
get
;
set
;
}
=
false
;
/// <summary>
///
/// </summary>
/// <returns></returns>
public
override
string
[]
GetSavePropertyNames
()
{
List
<
string
>
names
=
new
List
<
string
>(
base
.
GetSavePropertyNames
());
names
.
AddRange
(
new
string
[]{
"UiModule"
,
"Title"
,
"ChartType"
,
"BM"
,
"Mix"
,
"YRangePercent"
,
"IsAutoTarget"
,
"IsPercent"
});
return
names
.
ToArray
();
}
}
/// <summary>
/// 全部扫描图的参数
/// </summary>
public
class
ScanGraphParams
:
UIModuleParams
<
ScanGraphItemParam
>
{
/// <summary>
/// 主界面反向
/// </summary>
public
bool
IsReversed
{
get
;
set
;
}
/// <summary>
/// 显示 左右标示
/// </summary>
public
bool
LRIsVisable
{
get
;
set
;
}
=
false
;
/// <summary>
/// 左右标示 反向
/// </summary>
public
bool
LRIsReversed
{
get
;
set
;
}
=
false
;
/// <summary>
/// 扫描图轴间隔 ,单位分区
/// </summary>
public
int
XInterval
{
get
;
set
;
}
=
10
;
static
ScanGraphParams
()
{
Misc
.
SaveToXmlHepler
.
Regist
(
typeof
(
ScanGraphParams
));
}
public
ScanGraphParams
()
{
string
path
=
System
.
IO
.
Path
.
Combine
(
FLYLayout
.
BasePath
,
"scangraph.xml"
);
FilePath
=
path
;
}
static
ScanGraphParams
current
=
null
;
public
static
ScanGraphParams
Current
{
get
{
if
(
current
==
null
)
{
current
=
new
ScanGraphParams
();
current
.
Load
();
}
return
current
;
}
}
public
void
MatchParam
(
string
uiModule
,
int
[]
IDs
)
{
if
(
Items
.
RemoveAll
(
i
=>
{
return
(
i
.
UiModule
==
uiModule
)
&&
(!
IDs
.
Contains
(
i
.
ID
));
})
>
0
)
{
Save
();
}
}
public
override
void
MatchParam
(
int
[]
IDs
)
{
MatchParam
(
"scangraph"
,
IDs
);
}
public
override
string
[]
GetSavePropertyNames
()
{
List
<
string
>
names
=
new
List
<
string
>(
base
.
GetSavePropertyNames
());
names
.
AddRange
(
new
string
[]{
"IsReversed"
,
"LRIsVisable"
,
"LRIsReversed"
,
"XInterval"
});
return
names
.
ToArray
();
}
}
/// <summary>
/// 扫描图控件模块
/// </summary>
public
class
UIModule_ScanGraph
:
IUIModule
{
/// <summary>
/// 控件标题
/// 它的值取决于culture
/// </summary>
public
string
Title
{
get
{
return
Application
.
Current
.
FindResource
(
"strScanGraph"
)
as
string
;
}
}
/// <summary>
/// 控件
/// 创建时,需要给它唯一ID,让加载自己的数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public
FrameworkElement
GetComponent
(
int
id
)
{
ScanGraph
graph
=
new
ScanGraph
();
graph
.
Init
(
id
);
return
graph
;
}
/// <summary>
/// 控件缩略图,用于编辑界面时,大致看看
/// 创建时,需要给它唯一ID,让加载自己的数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public
FrameworkElement
GetThumbnail
(
int
id
)
{
return
new
Grid
();
}
/// <summary>
/// 给出全部控件ID, 控件自行删除没有的参数
/// </summary>
/// <param name="IDs"></param>
public
void
MatchParam
(
int
[]
IDs
)
{
ScanGraphParams
.
Current
.
MatchParam
(
IDs
);
}
}
public
class
IsValidConverter
:
IValueConverter
{
#
region
IValueConverter
成员
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
System
.
Globalization
.
CultureInfo
culture
)
{
FR_DATA_TYPE
type
=
(
FR_DATA_TYPE
)
value
;
if
(
type
==
FR_DATA_TYPE
.
VALID
)
return
true
;
else
return
false
;
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
System
.
Globalization
.
CultureInfo
culture
)
{
throw
new
NotImplementedException
();
}
#
endregion
}
public
class
CtrlLineConverter
:
IMultiValueConverter
{
/// <summary>
/// values[0] = int alarm, values[1] = double alarmline
/// </summary>
/// <param name="values"></param>
/// <param name="targetType"></param>
/// <param name="parameter"></param>
/// <param name="culture"></param>
/// <returns></returns>
public
object
Convert
(
object
[]
values
,
Type
targetType
,
object
parameter
,
System
.
Globalization
.
CultureInfo
culture
)
{
if
(
values
.
Count
()
!=
2
)
return
null
;
if
((!(
values
[
0
]
is
int
))
||
(!(
values
[
1
]
is
double
)))
return
null
;
int
alarm
=
(
int
)
values
[
0
];
double
alarmline
=
(
double
)
values
[
1
];
return
(
int
)(
alarm
*
alarmline
);
}
public
object
[]
ConvertBack
(
object
value
,
Type
[]
targetTypes
,
object
parameter
,
System
.
Globalization
.
CultureInfo
culture
)
{
throw
new
NotImplementedException
();
}
}
}
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/UIModule/ScanGraph/ScanGraphConfig.xaml
0 → 100644
View file @
c9a7a9f5
<flyctrllib:WindowBigClose x:Class="FLY.Thick.Blowing.UI.Fix.Client.UIModule.ScanGraphConfig"
xmlns:flyctrllib="clr-namespace:FLY.ControlLibrary;assembly=FLY.ControlLibrary"
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"
mc:Ignorable="d"
Title="ScanGraphConfig" SizeToContent="WidthAndHeight" >
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Dictionary_MyStyle.xaml"/>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Dictionary_MyConv.xaml"/>
<!--<ResourceDictionary Source="pack://application:,,,/ThickTcpUiInWindow;component/Culture/StringResource.zh-CN.xaml"/>-->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid TextBlock.FontSize="24" TextBlock.FontStyle="Normal" >
<StackPanel Orientation="Vertical" Margin="5,20">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strTitle}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Title}" Tag="Full"/>
</StackPanel>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="高级" />
<ToggleButton x:Name="togglebutton_adv" Style="{StaticResource ToggleButtonStyle1}" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" Visibility="{Binding ElementName=togglebutton_adv, Path=IsChecked,Converter={StaticResource visbilityconv},ConverterParameter=Collapsed}">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strCurveType}"/>
<ComboBox HorizontalAlignment="Left" Width="120">
<ComboBoxItem IsSelected="{Binding ChartType, Converter={StaticResource e2bconv}, ConverterParameter=Line }">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" FontSize="32" Text="Line"/>
</ComboBoxItem>
<ComboBoxItem IsSelected="{Binding ChartType, Converter={StaticResource e2bconv}, ConverterParameter=Column }">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" FontSize="32" Text="Column"/>
</ComboBoxItem>
<ComboBoxItem IsSelected="{Binding ChartType, Converter={StaticResource e2bconv}, ConverterParameter=Area }">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" FontSize="32" Text="Area"/>
</ComboBoxItem>
</ComboBox>
</StackPanel>
</StackPanel>
</Grid>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strMixCnt}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Mix}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strMarkNo}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding BM}" />
</StackPanel>
</StackPanel>
<Button Style="{StaticResource ButtonStyle_empty}" HorizontalAlignment="Right" Background="White" BorderThickness="0" VerticalAlignment="Bottom" Click="button1_Click" Margin="5">
<Path Data="{StaticResource Geometry_arrow-left-bold-circle}" Fill="{StaticResource Color_theme_activity}" Stretch="Fill" Height="50" Width="50" />
</Button>
<Button Style="{StaticResource ButtonStyle_empty}" HorizontalAlignment="Right" Background="White" BorderThickness="0" VerticalAlignment="Bottom" Click="button2_Click" Margin="5">
<Path Data="{StaticResource Geometry_arrow-right-bold-circle}" Fill="{StaticResource Color_theme_activity}" Stretch="Fill" Height="50" Width="50" />
</Button>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal" >
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strAutoTarget}" />
<ToggleButton Style="{StaticResource ToggleButtonStyle1}" HorizontalAlignment="Left" IsChecked="{Binding IsAutoTarget}" />
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strPercentShow}" />
<ToggleButton Style="{StaticResource ToggleButtonStyle1}" HorizontalAlignment="Left" IsChecked="{Binding IsPercent}" />
</StackPanel>
<StackPanel Orientation="Horizontal" Visibility="{Binding ElementName=togglebutton_adv, Path=IsChecked,Converter={StaticResource visbilityconv},ConverterParameter=Collapsed}">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strAxisYMultiple}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding YRangePercent}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strAxisXInterval}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding DataContext.XInterval,ElementName=stackpanel_params}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="{DynamicResource strBolt}"/>
</StackPanel>
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal" x:Name="stackpanel_params" Visibility="{Binding ElementName=togglebutton_adv, Path=IsChecked,Converter={StaticResource visbilityconv},ConverterParameter=Collapsed}">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strDirectionIsReversed}" />
<ToggleButton Style="{StaticResource ToggleButtonStyle1}" IsChecked="{Binding IsReversed}" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strShowLR}" />
<ToggleButton Name="togglebutton_lrisv" Style="{StaticResource ToggleButtonStyle1}" IsChecked="{Binding LRIsVisable}" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" Visibility="{Binding IsChecked,Converter={StaticResource ResourceKey=visbilityconv},ConverterParameter=Collapsed, ElementName=togglebutton_lrisv}">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strLRIsReversed}" />
<ToggleButton Style="{StaticResource ToggleButtonStyle1}" IsChecked="{Binding LRIsReversed}" HorizontalAlignment="Left"/>
</StackPanel>
</StackPanel>
<Button Style="{StaticResource ButtonStyle2}" Content="{DynamicResource strSave}" Width="Auto" Margin="5" Click="button_save_Click"/>
</StackPanel>
</Grid>
</flyctrllib:WindowBigClose>
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/UIModule/ScanGraph/ScanGraphConfig.xaml.cs
0 → 100644
View file @
c9a7a9f5
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Windows
;
using
System.Windows.Controls
;
using
System.Windows.Data
;
using
System.Windows.Documents
;
using
System.Windows.Input
;
using
System.Windows.Media
;
using
System.Windows.Media.Imaging
;
using
System.Windows.Shapes
;
namespace
FLY.Thick.Blowing.UI.Fix.Client.UIModule
{
/// <summary>
/// Window_graphscan.xaml 的交互逻辑
/// </summary>
public
partial
class
ScanGraphConfig
:
FLY
.
ControlLibrary
.
WindowBigClose
{
ScanGraphItemParam
graphparam_scan
;
public
ScanGraphConfig
()
{
InitializeComponent
();
}
public
void
Init
(
ScanGraphItemParam
graphparam_scan
)
{
this
.
graphparam_scan
=
graphparam_scan
;
this
.
DataContext
=
graphparam_scan
;
this
.
stackpanel_params
.
DataContext
=
ScanGraphParams
.
Current
;
}
private
void
button_save_Click
(
object
sender
,
RoutedEventArgs
e
)
{
ScanGraphParams
.
Current
.
Save
();
}
private
void
button1_Click
(
object
sender
,
RoutedEventArgs
e
)
{
graphparam_scan
.
BM
--;
}
private
void
button2_Click
(
object
sender
,
RoutedEventArgs
e
)
{
graphparam_scan
.
BM
++;
}
}
}
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/UIModule/TrendGraph/TrendGraph.xaml
0 → 100644
View file @
c9a7a9f5
<Page x:Class="FLY.Thick.Blowing.UI.Fix.Client.UIModule.TrendGraph"
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:ControlLibrary="clr-namespace:FLY.ControlLibrary;assembly=FLY.ControlLibrary"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
Title="TrendGraph">
<Grid>
<ControlLibrary:GraphRange x:Name="graphrange"/>
</Grid>
</Page>
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/UIModule/TrendGraph/TrendGraph.xaml.cs
0 → 100644
View file @
c9a7a9f5
using
FLY.ControlLibrary
;
using
FLY.Thick.BulkDataModule
;
using
FLY.UI.Module
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.ObjectModel
;
using
System.ComponentModel
;
using
System.Linq
;
using
System.Text
;
using
System.Windows
;
using
System.Windows.Controls
;
using
System.Windows.Data
;
using
System.Windows.Documents
;
using
System.Windows.Input
;
using
System.Windows.Media
;
using
System.Windows.Media.Imaging
;
using
System.Windows.Navigation
;
using
System.Windows.Shapes
;
namespace
FLY.Thick.Blowing.UI.Fix.Client.UIModule
{
/// <summary>
/// TrendGraph.xaml 的交互逻辑
/// </summary>
public
partial
class
TrendGraph
:
Page
{
TDGage
gage
;
TrendGraphItemParam
graphparam
;
public
TrendGraph
()
{
InitializeComponent
();
}
/// <summary>
///
/// </summary>
/// <param name="id"></param>
public
void
Init
(
int
id
)
{
graphparam
=
TrendGraphParams
.
Current
.
Items
.
Find
(
p
=>
p
.
ID
==
id
);
if
(
graphparam
==
null
)
{
graphparam
=
new
TrendGraphItemParam
()
{
ID
=
id
};
TrendGraphParams
.
Current
.
Items
.
Add
(
graphparam
);
TrendGraphParams
.
Current
.
Save
();
}
//获取设备
gage
=
Application
.
Current
.
Properties
[
"ThickGage"
]
as
TDGage
;
GraphRange
graph
=
graphrange
;
graph
.
DataContext
=
graphparam
;
//graph.SetValue(GraphRange.MarginProperty, new Thickness(5));
graph
.
SetBinding
(
Grid
.
ColumnProperty
,
new
Binding
(
"Column"
));
graph
.
SetBinding
(
Grid
.
RowProperty
,
new
Binding
(
"Row"
));
graph
.
SetBinding
(
Grid
.
ColumnSpanProperty
,
new
Binding
(
"ColumnSpan"
));
graph
.
SetBinding
(
Grid
.
RowSpanProperty
,
new
Binding
(
"RowSpan"
));
graph
.
SetBinding
(
GraphRange
.
DataCntProperty
,
new
Binding
(
"Len"
));
graph
.
SetBinding
(
GraphRange
.
TitleProperty
,
new
Binding
(
"Title"
));
graph
.
SetBinding
(
GraphRange
.
IsAutoTargetProperty
,
new
Binding
(
"IsAutoTarget"
));
graph
.
SetBinding
(
GraphRange
.
IsPercentProperty
,
new
Binding
(
"IsPercent"
));
graph
.
SetBinding
(
GraphRange
.
YRangePercentProperty
,
new
Binding
(
"YRangePercent"
));
graph
.
SetBinding
(
GraphRange
.
TypeProperty
,
new
Binding
(
"Type"
));
graph
.
SetBinding
(
GraphRange
.
XAxisTypeProperty
,
new
Binding
(
"XType"
));
graph
.
SetBinding
(
GraphRange
.
TargetProperty
,
new
Binding
(
"Target"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
});
graph
.
SetBinding
(
GraphRange
.
AlarmProperty
,
new
Binding
(
"Alarm"
)
{
Source
=
gage
.
mDynAreaService
.
mDynArea
});
BulkDataServiceClientAdv
.
BulkDataGraphTrend
bulkdata_client
=
new
BulkDataServiceClientAdv
.
BulkDataGraphTrend
();
Misc
.
BindingOperations
.
SetBinding
(
graphparam
,
"BM"
,
bulkdata_client
,
"BM"
,
Misc
.
BindingOperations
.
BindingMode
.
OneWay
);
Misc
.
BindingOperations
.
SetBinding
(
graphparam
,
"Mix"
,
bulkdata_client
,
"Mix"
,
Misc
.
BindingOperations
.
BindingMode
.
OneWay
);
Misc
.
BindingOperations
.
SetBinding
(
graphparam
,
"Len"
,
bulkdata_client
,
"Len"
,
Misc
.
BindingOperations
.
BindingMode
.
OneWay
);
Misc
.
BindingOperations
.
SetBinding
(
graphparam
,
new
string
[]
{
"BeginNo"
,
"IsAll"
},
delegate
()
{
if
(
graphparam
.
IsAll
)
bulkdata_client
.
FromBoltNo
=
Misc
.
MyBase
.
NULL_VALUE
;
else
bulkdata_client
.
FromBoltNo
=
graphparam
.
BeginNo
;
});
Misc
.
BindingOperations
.
SetBinding
(
graphparam
,
"EndNo"
,
bulkdata_client
,
"ToBoltNo"
,
Misc
.
BindingOperations
.
BindingMode
.
OneWay
);
GraphRangeDataValueChanged
vc
=
new
GraphRangeDataValueChanged
();
vc
.
Init
(
bulkdata_client
.
Frame
,
graph
);
graph
.
SetBinding
(
GraphRange
.
Title2Property
,
new
Binding
(
"Info"
)
{
Source
=
bulkdata_client
});
graph
.
ShowSettingDialogEvent
+=
new
EventHandler
(
delegate
(
object
sender
,
EventArgs
e
)
{
TrendGraphConfig
w
=
new
TrendGraphConfig
();
TrendGraphItemParam
graphparam_src
=
(
sender
as
GraphRange
).
DataContext
as
TrendGraphItemParam
;
w
.
DataContext
=
graphparam_src
;
w
.
SaveEvent
+=
(
s
,
ea
)
=>
{
TrendGraphParams
.
Current
.
Save
();
};
w
.
Owner
=
FLY
.
ControlLibrary
.
COMMON
.
GetWindow
(
graph
);
w
.
ShowDialog
();
});
//BulkDataServiceClientAdv mBulkDataClient;
//if (mBulkDataClients.ContainsKey(graphparam.BulkData))
// mBulkDataClient = mBulkDataClients[graphparam.BulkData];
//else
// mBulkDataClient = mBulkDataClients.First().Value;
gage
.
mBulkDataClient
.
Add
(
bulkdata_client
);
}
public
class
GraphRangeDataValueChanged
{
ObservableCollection
<
GraphRangeData
>
rangedata
=
new
ObservableCollection
<
GraphRangeData
>();
public
void
Init
(
ObservableCollection
<
TrendDataCell
>
Frame
,
GraphRange
graph
)
{
Frame
.
CollectionChanged
+=
new
System
.
Collections
.
Specialized
.
NotifyCollectionChangedEventHandler
(
trenddata_CollectionChanged
);
graph
.
DataSource
=
rangedata
;
}
void
trenddata_CollectionChanged
(
object
sender
,
System
.
Collections
.
Specialized
.
NotifyCollectionChangedEventArgs
e
)
{
switch
(
e
.
Action
)
{
case
System
.
Collections
.
Specialized
.
NotifyCollectionChangedAction
.
Add
:
foreach
(
TrendDataCell
v
in
e
.
NewItems
)
{
rangedata
.
Add
(
new
GraphRangeData
()
{
Avg
=
v
.
Avg
,
Sigma
=
v
.
Sigma
,
Time
=
v
.
Time
,
InCtrl
=
(
v
.
Type
==
FR_DATA_TYPE
.
VALID
)
});
}
break
;
case
System
.
Collections
.
Specialized
.
NotifyCollectionChangedAction
.
Reset
:
{
rangedata
.
Clear
();
}
break
;
case
System
.
Collections
.
Specialized
.
NotifyCollectionChangedAction
.
Replace
:
{
for
(
int
i
=
0
;
i
<
e
.
OldItems
.
Count
;
i
++)
{
TrendDataCell
v
=
(
TrendDataCell
)
e
.
NewItems
[
i
];
rangedata
[
i
+
e
.
OldStartingIndex
]
=
new
GraphRangeData
()
{
Avg
=
v
.
Avg
,
Sigma
=
v
.
Sigma
,
Time
=
v
.
Time
,
InCtrl
=
(
v
.
Type
==
FR_DATA_TYPE
.
VALID
)
};
}
}
break
;
case
System
.
Collections
.
Specialized
.
NotifyCollectionChangedAction
.
Remove
:
{
for
(
int
i
=
0
;
i
<
e
.
OldItems
.
Count
;
i
++)
{
rangedata
.
RemoveAt
(
i
+
e
.
OldStartingIndex
);
}
}
break
;
}
}
}
}
/// <summary>
/// 趋势图的参数
/// </summary>
public
class
TrendGraphItemParam
:
ThickTcpUiInWindow
.
UIModule
.
UIModuleParam
{
private
int
len
=
120
;
/// <summary>
/// 数据量
/// </summary>
public
int
Len
{
get
{
return
len
;
}
set
{
if
(
len
!=
value
)
{
len
=
value
;
OnPropertyChanged
(
"Len"
);
}
}
}
private
int
beginno
=
0
;
/// <summary>
/// 统计开始数据序号
/// </summary>
public
int
BeginNo
{
get
{
return
beginno
;
}
set
{
if
(
beginno
!=
value
)
{
beginno
=
value
;
OnPropertyChanged
(
"BeginNo"
);
}
}
}
private
int
endno
=
20
;
/// <summary>
/// 统计结束数据序号
/// </summary>
public
int
EndNo
{
get
{
return
endno
;
}
set
{
if
(
endno
!=
value
)
{
endno
=
value
;
OnPropertyChanged
(
"EndNo"
);
}
}
}
private
bool
isall
=
true
;
/// <summary>
/// 全部数据
/// </summary>
public
bool
IsAll
{
get
{
return
isall
;
}
set
{
if
(
isall
!=
value
)
{
isall
=
value
;
OnPropertyChanged
(
"IsAll"
);
}
}
}
private
FLY
.
ControlLibrary
.
GraphRangeType
type
=
FLY
.
ControlLibrary
.
GraphRangeType
.
Avg
;
/// <summary>
/// 曲线类型
/// </summary>
public
FLY
.
ControlLibrary
.
GraphRangeType
Type
{
get
{
return
type
;
}
set
{
if
(
type
!=
value
)
{
type
=
value
;
OnPropertyChanged
(
"Type"
);
}
}
}
private
FLY
.
ControlLibrary
.
GraphRangeXAxisType
xtype
=
FLY
.
ControlLibrary
.
GraphRangeXAxisType
.
Time
;
/// <summary>
/// X轴类型
/// </summary>
public
FLY
.
ControlLibrary
.
GraphRangeXAxisType
XType
{
get
{
return
xtype
;
}
set
{
if
(
xtype
!=
value
)
{
xtype
=
value
;
OnPropertyChanged
(
"XType"
);
}
}
}
private
int
bm
=
0
;
/// <summary>
/// 记录点
/// </summary>
public
int
BM
{
get
{
return
bm
;
}
set
{
if
(
bm
!=
value
)
{
bm
=
value
;
OnPropertyChanged
(
"BM"
);
}
}
}
private
double
_yrangepercent
=
3
;
/// <summary>
/// Y轴比例
/// </summary>
public
double
YRangePercent
{
get
{
return
_yrangepercent
;
}
set
{
_yrangepercent
=
value
;
OnPropertyChanged
(
"YRangePercent"
);
}
}
private
string
title
=
"趋势图"
;
/// <summary>
/// 标题
/// </summary>
public
string
Title
{
get
{
return
title
;
}
set
{
if
(
title
!=
value
)
{
title
=
value
;
OnPropertyChanged
(
"Title"
);
}
}
}
private
int
mix
=
1
;
/// <summary>
/// 混合图
/// </summary>
public
int
Mix
{
get
{
return
mix
;
}
set
{
if
(
mix
!=
value
)
{
mix
=
value
;
OnPropertyChanged
(
"Mix"
);
}
}
}
private
bool
isautotarget
=
false
;
/// <summary>
/// 自动目标值
/// </summary>
public
bool
IsAutoTarget
{
get
{
return
isautotarget
;
}
set
{
if
(
isautotarget
!=
value
)
{
isautotarget
=
value
;
OnPropertyChanged
(
"IsAutoTarget"
);
}
}
}
private
bool
ispercent
=
false
;
/// <summary>
/// % 显示
/// </summary>
public
bool
IsPercent
{
get
{
return
ispercent
;
}
set
{
if
(
ispercent
!=
value
)
{
ispercent
=
value
;
OnPropertyChanged
(
"IsPercent"
);
}
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public
override
string
[]
GetSavePropertyNames
()
{
List
<
string
>
names
=
new
List
<
string
>(
base
.
GetSavePropertyNames
());
names
.
AddRange
(
new
string
[]{
"Len"
,
"BeginNo"
,
"EndNo"
,
"IsAll"
,
"Type"
,
"XType"
,
"Title"
,
"BM"
,
"Mix"
,
"YRangePercent"
,
"IsAutoTarget"
,
"IsPercent"
});
return
names
.
ToArray
();
}
}
/// <summary>
/// 全部扫描图的参数
/// </summary>
public
class
TrendGraphParams
:
ThickTcpUiInWindow
.
UIModule
.
UIModuleParams
<
TrendGraphItemParam
>
{
static
TrendGraphParams
()
{
Misc
.
SaveToXmlHepler
.
Regist
(
typeof
(
TrendGraphParams
));
}
public
TrendGraphParams
()
{
string
path
=
System
.
IO
.
Path
.
Combine
(
ThickTcpUiInWindow
.
UIModule
.
FLYLayout
.
BasePath
,
"trendgraph.xml"
);
FilePath
=
path
;
}
static
TrendGraphParams
current
=
null
;
public
static
TrendGraphParams
Current
{
get
{
if
(
current
==
null
)
{
current
=
new
TrendGraphParams
();
current
.
Load
();
}
return
current
;
}
}
}
/// <summary>
/// 扫描图控件模块
/// </summary>
public
class
UIModule_TrendGraph
:
IUIModule
{
/// <summary>
/// 控件标题
/// 它的值取决于culture
/// </summary>
public
string
Title
{
get
{
return
Application
.
Current
.
FindResource
(
"strTrendGraph"
)
as
string
;
}
}
/// <summary>
/// 控件
/// 创建时,需要给它唯一ID,让加载自己的数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public
FrameworkElement
GetComponent
(
int
id
)
{
TrendGraph
graph
=
new
TrendGraph
();
graph
.
Init
(
id
);
return
graph
;
}
/// <summary>
/// 控件缩略图,用于编辑界面时,大致看看
/// 创建时,需要给它唯一ID,让加载自己的数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public
FrameworkElement
GetThumbnail
(
int
id
)
{
return
new
Grid
();
}
/// <summary>
/// 给出全部控件ID, 控件自行删除没有的参数
/// </summary>
/// <param name="IDs"></param>
public
void
MatchParam
(
int
[]
IDs
)
{
TrendGraphParams
.
Current
.
MatchParam
(
IDs
);
}
}
}
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/UIModule/TrendGraph/TrendGraphConfig.xaml
0 → 100644
View file @
c9a7a9f5
<flyctrllib:WindowBigClose x:Class="FLY.Thick.Blowing.UI.Fix.Client.UIModule.TrendGraphConfig"
xmlns:flyctrllib="clr-namespace:FLY.ControlLibrary;assembly=FLY.ControlLibrary"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:props="clr-namespace:ThickTcpUiInWindow.Properties"
xmlns:my="clr-namespace:FLY.ControlLibrary;assembly=FLY.ControlLibrary"
Title="Window_graphtrend"
mc:Ignorable="d"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ThickTcpUiInWindow"
SizeToContent="WidthAndHeight"
>
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Dictionary_MyStyle.xaml"/>
<ResourceDictionary Source="pack://application:,,,/ThickTcpUiInWindow;component/Converter/Dictionary_MyConv.xaml"/>
<!--<ResourceDictionary Source="pack://application:,,,/ThickTcpUiInWindow;component/Culture/StringResource.zh-CN.xaml"/>-->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid TextBlock.FontSize="24" TextBlock.FontStyle="Normal" Width="400">
<StackPanel Orientation="Vertical" Margin="5,20">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strTitle}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Title}" Tag="Full"/>
</StackPanel>
</StackPanel>
<WrapPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strMixCnt}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Mix}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strDataCnt}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Len}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strCurveType}"/>
<ComboBox HorizontalAlignment="Left" MinWidth="100">
<ComboBoxItem IsSelected="{Binding Type, Converter={StaticResource e2bconv}, ConverterParameter={x:Static flyctrllib:GraphRangeType.Sigma2} }">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" FontSize="32" Text="2σ"/>
</ComboBoxItem>
<ComboBoxItem IsSelected="{Binding Type, Converter={StaticResource e2bconv}, ConverterParameter={x:Static flyctrllib:GraphRangeType.Avg}}">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" FontSize="32" Text="{DynamicResource strAvg}"/>
</ComboBoxItem>
<ComboBoxItem IsSelected="{Binding Type, Converter={StaticResource e2bconv}, ConverterParameter={x:Static flyctrllib:GraphRangeType.All}}" >
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" FontSize="32" >
<Run Text="2σ+"/><Run Text="{DynamicResource strAvg}"/>
</TextBlock>
</ComboBoxItem>
</ComboBox>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strAxisXType}" />
<ComboBox HorizontalAlignment="Left" MinWidth="100">
<ComboBoxItem IsSelected="{Binding XType, Converter={StaticResource e2bconv}, ConverterParameter={x:Static flyctrllib:GraphRangeXAxisType.Time}}">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" FontSize="32" Text="{DynamicResource strTime}"/>
</ComboBoxItem>
<ComboBoxItem IsSelected="{Binding XType, Converter={StaticResource e2bconv}, ConverterParameter={x:Static flyctrllib:GraphRangeXAxisType.Index}}">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" FontSize="32" Text="{DynamicResource strIndex}"/>
</ComboBoxItem>
</ComboBox>
</StackPanel>
<StackPanel Orientation="Horizontal" Visibility="{Binding IsChecked,Converter={StaticResource ResourceKey=visbilityconv},ConverterParameter=CollapsedWhenTrue, ElementName=toggleButton_isAll}">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strBeginBoltNo}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding BeginNo}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" >
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strEndBoltNo}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding EndNo}" />
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strAllAvg}" />
<ToggleButton Name="toggleButton_isAll" Style="{StaticResource ToggleButtonStyle1}" HorizontalAlignment="Left" IsChecked="{Binding IsAll}" />
</StackPanel>
</WrapPanel>
<StackPanel Orientation="Horizontal" >
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strAutoTarget}" />
<ToggleButton Style="{StaticResource ToggleButtonStyle1}" HorizontalAlignment="Left" IsChecked="{Binding IsAutoTarget}" />
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strPercentShow}" />
<ToggleButton Style="{StaticResource ToggleButtonStyle1}" HorizontalAlignment="Left" IsChecked="{Binding IsPercent}" />
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="{DynamicResource strAxisYMultiple}" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding YRangePercent}" />
</StackPanel>
</StackPanel>
</StackPanel>
<Button Style="{StaticResource ButtonStyle2}" Content="{DynamicResource strSave}" Width="auto" Margin="5" Click="button_save_Click"/>
</StackPanel>
</Grid>
</flyctrllib:WindowBigClose >
\ No newline at end of file
Project.FLY.Thick.Blowing/FLY.Thick.Blowing.UI.Fix.Client/UIModule/TrendGraph/TrendGraphConfig.xaml.cs
0 → 100644
View file @
c9a7a9f5
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Windows
;
using
System.Windows.Controls
;
using
System.Windows.Data
;
using
System.Windows.Documents
;
using
System.Windows.Input
;
using
System.Windows.Media
;
using
System.Windows.Media.Imaging
;
using
System.Windows.Shapes
;
using
System.ComponentModel
;
using
ThickTcpUiInWindow.Converter
;
using
FLY.ControlLibrary
;
namespace
FLY.Thick.Blowing.UI.Fix.Client.UIModule
{
/// <summary>
/// Window_graphtrend.xaml 的交互逻辑
/// </summary>
public
partial
class
TrendGraphConfig
:
FLY
.
ControlLibrary
.
WindowBigClose
{
public
TrendGraphConfig
()
{
InitializeComponent
();
}
public
event
EventHandler
SaveEvent
;
private
void
button_save_Click
(
object
sender
,
RoutedEventArgs
e
)
{
if
(
SaveEvent
!=
null
)
SaveEvent
.
Invoke
(
this
,
new
EventArgs
());
}
}
}
hemei.sln
View file @
c9a7a9f5
...
...
@@ -73,14 +73,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TCPManager", "thick_public\
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Thick-Common", "Thick-Common", "{2488C4FB-3677-405B-BE1B-C9F532708DE3}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Thick-Scan", "Thick-Scan", "{58EB0B95-13F3-4D21-B6CD-B680E8D3D8AD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.Thick.BlowingScan", "Project.FLY.Thick.BlowingScan\FLY.Thick.BlowingScan\FLY.Thick.BlowingScan.csproj", "{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.Thick.BlowingScan.UI.Client", "Project.FLY.Thick.BlowingScan\FLY.Thick.BlowingScan.UI.Client\FLY.Thick.BlowingScan.UI.Client.csproj", "{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.Thick.BlowingScan.UI.Server", "Project.FLY.Thick.BlowingScan\FLY.Thick.BlowingScan.UI.Server\FLY.Thick.BlowingScan.UI.Server.csproj", "{D42B0F14-C68A-415D-922B-B3BEACC75405}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteHelper", "thick_public\Project.SQLiteHelper\SQLiteHelper\SQLiteHelper.csproj", "{4CBABFAA-1C62-4510-AC63-A51EE5FD50FF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Integrated", "Integrated", "{B3B684FF-D5C5-441F-B69C-E75841AE17F6}"
...
...
@@ -96,7 +88,8 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.HeatingHelper", "Project.FLY.ThickHeatAnalyst.Fix\FLY.HeatingHelper\FLY.HeatingHelper.csproj", "{973F0EED-3181-4FB9-ABD6-196A9E816B77}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.HeatingHelper.UI", "Project.FLY.ThickHeatAnalyst.Fix\FLY.HeatingHelper.UI\FLY.HeatingHelper.UI.csproj", "{276EE86A-0961-4C69-A38A-696F4D76E931}"
EndProjectGlobal
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
...
...
@@ -440,38 +433,6 @@ EndProjectGlobal
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Release|x86.ActiveCfg = Release|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Release|x86.Build.0 = Release|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Debug|x86.ActiveCfg = Debug|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Debug|x86.Build.0 = Debug|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Release|Any CPU.Build.0 = Release|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Release|x86.ActiveCfg = Release|Any CPU
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE}.Release|x86.Build.0 = Release|Any CPU
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Debug|Any CPU.ActiveCfg = Debug|x86
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Debug|Mixed Platforms.Build.0 = Debug|x86
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Debug|x86.ActiveCfg = Debug|x86
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Debug|x86.Build.0 = Debug|x86
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Release|Any CPU.ActiveCfg = Release|x86
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Release|Mixed Platforms.ActiveCfg = Release|x86
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Release|Mixed Platforms.Build.0 = Release|x86
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Release|x86.ActiveCfg = Release|x86
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0}.Release|x86.Build.0 = Release|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Debug|Any CPU.ActiveCfg = Debug|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Debug|Mixed Platforms.Build.0 = Debug|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Debug|x86.ActiveCfg = Debug|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Debug|x86.Build.0 = Debug|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Release|Any CPU.ActiveCfg = Release|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Release|Mixed Platforms.ActiveCfg = Release|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Release|Mixed Platforms.Build.0 = Release|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Release|x86.ActiveCfg = Release|x86
{D42B0F14-C68A-415D-922B-B3BEACC75405}.Release|x86.Build.0 = Release|x86
{4CBABFAA-1C62-4510-AC63-A51EE5FD50FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4CBABFAA-1C62-4510-AC63-A51EE5FD50FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4CBABFAA-1C62-4510-AC63-A51EE5FD50FF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
...
...
@@ -508,6 +469,18 @@ EndProjectGlobal
{9C4DA30F-91FF-42B9-A622-6748B753F07E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9C4DA30F-91FF-42B9-A622-6748B753F07E}.Release|x86.ActiveCfg = Release|Any CPU
{9C4DA30F-91FF-42B9-A622-6748B753F07E}.Release|x86.Build.0 = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|x86.ActiveCfg = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|x86.Build.0 = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|Any CPU.Build.0 = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|x86.ActiveCfg = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|x86.Build.0 = Release|Any CPU
{973F0EED-3181-4FB9-ABD6-196A9E816B77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{973F0EED-3181-4FB9-ABD6-196A9E816B77}.Debug|Any CPU.Build.0 = Debug|Any CPU
{973F0EED-3181-4FB9-ABD6-196A9E816B77}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
...
...
@@ -531,18 +504,6 @@ EndProjectGlobal
{276EE86A-0961-4C69-A38A-696F4D76E931}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{276EE86A-0961-4C69-A38A-696F4D76E931}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{276EE86A-0961-4C69-A38A-696F4D76E931}.Release|x86.ActiveCfg = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|x86.ActiveCfg = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Debug|x86.Build.0 = Debug|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|Any CPU.Build.0 = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|x86.ActiveCfg = Release|Any CPU
{CC941BE1-1A92-4830-B8DD-E743939BA8BA}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
...
...
@@ -576,9 +537,6 @@ EndProjectGlobal
{9C46D98F-6500-490B-9E56-C89DFFFA05F8} = {2488C4FB-3677-405B-BE1B-C9F532708DE3}
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34} = {2488C4FB-3677-405B-BE1B-C9F532708DE3}
{7D455950-7D7D-4C79-8E9C-4CF53F09559A} = {2488C4FB-3677-405B-BE1B-C9F532708DE3}
{966D9971-7AA4-4B1B-ABB6-E09C3F04F6EE} = {58EB0B95-13F3-4D21-B6CD-B680E8D3D8AD}
{608CADD8-B4A0-46C9-A60E-A07FFFA9AAF0} = {58EB0B95-13F3-4D21-B6CD-B680E8D3D8AD}
{D42B0F14-C68A-415D-922B-B3BEACC75405} = {58EB0B95-13F3-4D21-B6CD-B680E8D3D8AD}
{4CBABFAA-1C62-4510-AC63-A51EE5FD50FF} = {2488C4FB-3677-405B-BE1B-C9F532708DE3}
{83971044-3F20-4912-9528-52CBEBBA0999} = {B3B684FF-D5C5-441F-B69C-E75841AE17F6}
{9C4DA30F-91FF-42B9-A622-6748B753F07E} = {B3B684FF-D5C5-441F-B69C-E75841AE17F6}
...
...
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