Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.TVP
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.TVP
Commits
bff93f07
Commit
bff93f07
authored
Dec 27, 2022
by
liulongfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
控制对象本地保存,控制对象上本地版子
parent
a92137ec
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
475 additions
and
218 deletions
+475
-218
VIZ.TVP.Domain/ApplicationConstants.cs
+6
-0
VIZ.TVP.Domain/Info/GridColumnDefinition.cs
+1
-11
VIZ.TVP.Domain/Model/ControlObject/VizControlObjectFieldModel.cs
+24
-0
VIZ.TVP.Domain/Model/ControlObject/VizControlObjectModel.cs
+0
-14
VIZ.TVP.Domain/Model/Project/Program/ProgramListItemModel.cs
+27
-2
VIZ.TVP.Module/Control/ControlList/Controller/ControlObject/ControlObjectController.cs
+199
-0
VIZ.TVP.Module/Control/ControlList/Controller/ControlObject/IControlObjectSupport.cs
+52
-0
VIZ.TVP.Module/Control/ControlList/View/ControlListView.xaml
+17
-21
VIZ.TVP.Module/Control/ControlList/ViewModel/ControlListViewModel.cs
+66
-110
VIZ.TVP.Module/PluginPanel/ViewModel/PluginPanelViewModel.cs
+4
-4
VIZ.TVP.Module/Resource/VizResource/View/VizResourceView.xaml
+1
-1
VIZ.TVP.Module/Resource/VizResource/ViewModel/VizResourceViewModel.cs
+34
-0
VIZ.TVP.Module/VIZ.TVP.Module.csproj
+2
-1
VIZ.TVP.Service/VIZ/Implementation/VizCommandControlObjectService.cs
+19
-1
VIZ.TVP.Service/VIZ/Interface/IVizCommandControlObjectService.cs
+8
-0
VIZ.TVP.Storage/LiteDB/ControlObject/VizControlObjectEntity.cs
+0
-35
VIZ.TVP.Storage/LiteDB/Project/ControlObject/Enum/VizControlObjectFieldType.cs
+0
-0
VIZ.TVP.Storage/LiteDB/Project/ControlObject/Enum/VizControlObjectParameters.cs
+0
-0
VIZ.TVP.Storage/LiteDB/Project/ControlObject/Enum/VizLayerEnum.cs
+0
-0
VIZ.TVP.Storage/LiteDB/Project/ControlObject/Enum/VizSceneLayerEnum.cs
+0
-0
VIZ.TVP.Storage/LiteDB/Project/ControlObject/VizControlObjectFieldEntity.cs
+4
-11
VIZ.TVP.Storage/LiteDB/Project/Program/ProgramListItemEntity.cs
+6
-1
VIZ.TVP.Storage/VIZ.TVP.Storage.csproj
+5
-6
No files found.
VIZ.TVP.Domain/ApplicationConstants.cs
View file @
bff93f07
...
@@ -20,5 +20,11 @@ namespace VIZ.TVP.Domain
...
@@ -20,5 +20,11 @@ namespace VIZ.TVP.Domain
/// VIZ层枚举
/// VIZ层枚举
/// </summary>
/// </summary>
public
readonly
static
List
<
string
>
VIZ_LAYERS
=
new
List
<
string
>
{
"FRONT_LAYER"
,
"MAIN_LAYER"
,
"BACK_LAYER"
};
public
readonly
static
List
<
string
>
VIZ_LAYERS
=
new
List
<
string
>
{
"FRONT_LAYER"
,
"MAIN_LAYER"
,
"BACK_LAYER"
};
/// <summary>
/// VIZ控制对象真假选择
/// </summary>
public
readonly
static
List
<
string
>
VIZ_CONTROL_OBJECT_BOOLEAN
=
new
List
<
string
>
{
"true"
,
"false"
};
}
}
}
}
VIZ.TVP.Domain/Info/GridColumnDefinition.cs
View file @
bff93f07
...
@@ -30,7 +30,7 @@ namespace VIZ.TVP.Domain
...
@@ -30,7 +30,7 @@ namespace VIZ.TVP.Domain
/// <summary>
/// <summary>
/// 行数据模板
/// 行数据模板
/// </summary>
/// </summary>
public
DataTemplate
CellTemplate
{
get
;
set
;
}
public
DataTemplate
Cell
Edit
Template
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 宽度
/// 宽度
...
@@ -38,16 +38,6 @@ namespace VIZ.TVP.Domain
...
@@ -38,16 +38,6 @@ namespace VIZ.TVP.Domain
public
GridColumnWidth
Width
{
get
;
set
;
}
public
GridColumnWidth
Width
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 固定宽度
/// </summary>
public
bool
FixedWidth
{
get
;
set
;
}
/// <summary>
/// 编辑器设置
/// </summary>
public
BaseEditSettings
EditSettings
{
get
;
set
;
}
/// <summary>
/// 头部
/// 头部
/// </summary>
/// </summary>
public
object
Header
{
get
;
set
;
}
public
object
Header
{
get
;
set
;
}
...
...
VIZ.TVP.Domain/Model/ControlObject/VizControlObjectFieldModel.cs
View file @
bff93f07
...
@@ -209,5 +209,29 @@ namespace VIZ.TVP.Domain
...
@@ -209,5 +209,29 @@ namespace VIZ.TVP.Domain
}
}
#
endregion
#
endregion
// ===========================================================
// Public Function
// ===========================================================
/// <summary>
/// 由实体填充属性
/// </summary>
public
void
PropertyFromEntity
()
{
this
.
_value
=
this
.
Entity
.
Value
;
}
/// <summary>
/// 将属性填充至实体
/// </summary>
public
void
PropertryToEntity
()
{
this
.
Entity
.
ItemID
=
this
.
ProgramListItemModel
.
ItemID
;
this
.
Entity
.
TreeNodePath
=
this
.
TreeNodePath
;
this
.
Entity
.
FieldIdentifier
=
this
.
FieldIdentifier
;
this
.
Entity
.
Value
=
this
.
Value
;
this
.
Entity
.
Type
=
this
.
Type
;
}
}
}
}
}
VIZ.TVP.Domain/Model/ControlObject/VizControlObjectModel.cs
View file @
bff93f07
...
@@ -14,20 +14,6 @@ namespace VIZ.TVP.Domain
...
@@ -14,20 +14,6 @@ namespace VIZ.TVP.Domain
/// </summary>
/// </summary>
public
class
VizControlObjectModel
:
ModelBase
public
class
VizControlObjectModel
:
ModelBase
{
{
/// <summary>
/// Viz控制对象模型
/// </summary>
/// <param name="entity">实体</param>
public
VizControlObjectModel
(
VizControlObjectEntity
entity
)
{
this
.
Entity
=
entity
;
}
/// <summary>
/// 实体
/// </summary>
public
VizControlObjectEntity
Entity
{
get
;
private
set
;
}
#
region
TreeNodeName
--
所在场景节点名称
#
region
TreeNodeName
--
所在场景节点名称
private
string
treeNodeName
;
private
string
treeNodeName
;
...
...
VIZ.TVP.Domain/Model/Project/Program/ProgramListItemModel.cs
View file @
bff93f07
...
@@ -30,10 +30,19 @@ namespace VIZ.TVP.Domain
...
@@ -30,10 +30,19 @@ namespace VIZ.TVP.Domain
/// </summary>
/// </summary>
public
ProgramListItemEntity
Entity
{
get
;
private
set
;
}
public
ProgramListItemEntity
Entity
{
get
;
private
set
;
}
#
region
ItemID
--
节目单项
ID
private
string
itemID
=
Guid
.
NewGuid
().
ToString
();
/// <summary>
/// <summary>
///
对象
ID
///
节目单项
ID
/// </summary>
/// </summary>
public
string
ObjectID
{
get
;
private
set
;
}
=
Guid
.
NewGuid
().
ToString
();
public
string
ItemID
{
get
{
return
itemID
;
}
set
{
itemID
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ItemID
));
}
}
#
endregion
#
region
TemplateID
--
模板
ID
#
region
TemplateID
--
模板
ID
...
@@ -270,6 +279,7 @@ namespace VIZ.TVP.Domain
...
@@ -270,6 +279,7 @@ namespace VIZ.TVP.Domain
/// </summary>
/// </summary>
public
void
PropertyFromEntity
()
public
void
PropertyFromEntity
()
{
{
this
.
ItemID
=
this
.
Entity
.
ItemID
;
this
.
TemplateID
=
this
.
Entity
.
TemplateID
;
this
.
TemplateID
=
this
.
Entity
.
TemplateID
;
this
.
ListID
=
this
.
Entity
.
ListID
;
this
.
ListID
=
this
.
Entity
.
ListID
;
this
.
TemplateType
=
this
.
Entity
.
TemplateType
;
this
.
TemplateType
=
this
.
Entity
.
TemplateType
;
...
@@ -280,6 +290,8 @@ namespace VIZ.TVP.Domain
...
@@ -280,6 +290,8 @@ namespace VIZ.TVP.Domain
this
.
Layer
=
this
.
Entity
.
Layer
;
this
.
Layer
=
this
.
Entity
.
Layer
;
this
.
EngineType
=
this
.
Entity
.
EngineType
;
this
.
EngineType
=
this
.
Entity
.
EngineType
;
this
.
PluginID
=
this
.
Entity
.
PluginID
;
this
.
PluginID
=
this
.
Entity
.
PluginID
;
// 控制对象值每次先从VIZ引擎中获取
}
}
/// <summary>
/// <summary>
...
@@ -287,6 +299,7 @@ namespace VIZ.TVP.Domain
...
@@ -287,6 +299,7 @@ namespace VIZ.TVP.Domain
/// </summary>
/// </summary>
public
void
PropertyToEntity
()
public
void
PropertyToEntity
()
{
{
this
.
Entity
.
ItemID
=
this
.
ItemID
;
this
.
Entity
.
TemplateID
=
this
.
TemplateID
;
this
.
Entity
.
TemplateID
=
this
.
TemplateID
;
this
.
Entity
.
ListID
=
this
.
ListID
;
this
.
Entity
.
ListID
=
this
.
ListID
;
this
.
Entity
.
TemplateType
=
this
.
TemplateType
;
this
.
Entity
.
TemplateType
=
this
.
TemplateType
;
...
@@ -297,6 +310,18 @@ namespace VIZ.TVP.Domain
...
@@ -297,6 +310,18 @@ namespace VIZ.TVP.Domain
this
.
Entity
.
Layer
=
this
.
Layer
;
this
.
Entity
.
Layer
=
this
.
Layer
;
this
.
Entity
.
EngineType
=
this
.
EngineType
;
this
.
Entity
.
EngineType
=
this
.
EngineType
;
this
.
Entity
.
PluginID
=
this
.
PluginID
;
this
.
Entity
.
PluginID
=
this
.
PluginID
;
// 控制对象值
VizControlObjectModel
main
=
this
.
ControlObjectList
.
FirstOrDefault
();
if
(
main
==
null
)
return
;
this
.
Entity
.
Fields
.
Clear
();
foreach
(
VizControlObjectFieldModel
item
in
main
.
Fields
)
{
item
.
PropertryToEntity
();
this
.
Entity
.
Fields
.
Add
(
item
.
Entity
);
}
}
}
}
}
}
}
VIZ.TVP.Module/Control/ControlList/Controller/ControlObject/ControlObjectController.cs
0 → 100644
View file @
bff93f07
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Dynamic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows
;
using
VIZ.Framework.Core
;
using
VIZ.TVP.Domain
;
using
VIZ.TVP.Service
;
using
VIZ.TVP.Storage
;
namespace
VIZ.TVP.Module
{
/// <summary>
/// 控制对象控制器
/// </summary>
public
class
ControlObjectController
{
/// <summary>
/// 控制对象控制器
/// </summary>
/// <param name="support">支持</param>
public
ControlObjectController
(
IControlObjectSupport
support
)
{
this
.
Support
=
support
;
}
public
IControlObjectSupport
Support
{
get
;
private
set
;
}
/// <summary>
/// ControlObject命令服务
/// </summary>
private
IVizCommandControlObjectService
vizCommandControlObjectService
=
new
VizCommandControlObjectService
();
/// <summary>
/// 从本地信息中更新控制对象字段
/// </summary>
/// <param name="programListItemModel">节目单项</param>
/// <param name="fields">控制对象字段</param>
public
void
UpdateControlObjectFieldFromLocal
(
ProgramListItemModel
programListItemModel
,
IList
<
VizControlObjectFieldModel
>
fields
)
{
if
(
programListItemModel
==
null
||
fields
==
null
)
return
;
foreach
(
VizControlObjectFieldEntity
entity
in
programListItemModel
.
Entity
.
Fields
)
{
VizControlObjectFieldModel
field
=
fields
.
FirstOrDefault
(
p
=>
p
.
TreeNodePath
==
entity
.
TreeNodePath
&&
p
.
FieldIdentifier
==
entity
.
FieldIdentifier
);
if
(
field
==
null
)
continue
;
field
.
_value
=
entity
.
Value
;
}
}
/// <summary>
/// 从VIZ中获取控制对象
/// </summary>
/// <param name="programListItemModel">节目单项模型</param>
/// <param name="isUseLocalField">是否使用本地字段数据</param>
public
void
GetControlObjectFromViz
(
ProgramListItemModel
programListItemModel
,
bool
isUseLocalField
)
{
this
.
Support
.
IsLoading
=
true
;
// 清理属性改变事件
this
.
CancelListValuePropertyChanged
();
// 否则加载控制对象列表
ThreadHelper
.
SafeRun
(()
=>
{
// 从VIZ中获取控制对象列表
var
result
=
this
.
vizCommandControlObjectService
.
GetControlObjectList
(
ApplicationDomainEx
.
TVPConnectionManager
.
LocalConnection
,
programListItemModel
,
VizSceneLayerEnum
.
MAIN_SCENE
);
// 从本地数据更新控制对象字段
if
(
isUseLocalField
)
{
this
.
UpdateControlObjectFieldFromLocal
(
programListItemModel
,
result
.
FirstOrDefault
()?.
Fields
);
}
WPFHelper
.
BeginInvoke
(()
=>
{
programListItemModel
.
ControlObjectList
.
Clear
();
foreach
(
var
item
in
result
)
{
programListItemModel
.
ControlObjectList
.
Add
(
item
);
}
if
(
ApplicationDomainEx
.
SelectionManager
.
ProgramListItemModel
==
programListItemModel
)
{
this
.
Support
.
SelectedControlObject
=
programListItemModel
.
ControlObjectList
.
FirstOrDefault
();
}
programListItemModel
.
IsLoadedControlObjectList
=
true
;
this
.
Support
.
IsLoading
=
false
;
// 推送属性值至
this
.
vizCommandControlObjectService
.
SetControlObjectValue
(
ApplicationDomainEx
.
TVPConnectionManager
.
LocalConnection
,
VizSceneLayerEnum
.
MAIN_SCENE
,
this
.
Support
.
SelectedControlObject
);
});
});
}
/// <summary>
/// 更新选中的控制对象字段
/// </summary>
/// <param name="view">视图</param>
public
void
UpdateSelectedControlObjectField
(
FrameworkElement
view
)
{
VizControlObjectFieldModel
field
=
this
.
Support
.
SelectedControlObjectField
;
if
(
field
==
null
||
field
.
Type
!=
Storage
.
VizControlObjectFieldType
.
list
)
{
this
.
Support
.
ListValueColumns
=
null
;
// 注销属性改变事件
this
.
CancelListValuePropertyChanged
();
this
.
Support
.
ListValue
=
null
;
return
;
}
if
(!
field
.
IsXmlValueLoaded
)
{
this
.
CancelListValuePropertyChanged
();
List
<
GridColumnDefinition
>
columns
;
List
<
ExpandoObject
>
items
;
vizCommandControlObjectService
.
GetControlObjectXmlData
(
field
.
Value
,
out
columns
,
out
items
);
field
.
ListValueColumns
=
columns
;
field
.
ListValue
=
items
;
}
foreach
(
var
node
in
field
.
FieldSchema
.
Schema
.
Fields
)
{
GridColumnDefinition
column
=
field
.
ListValueColumns
.
FirstOrDefault
(
p
=>
p
.
FieldName
==
node
.
Name
);
if
(
column
==
null
)
continue
;
VizControlObjectFieldType
columnType
=
this
.
vizCommandControlObjectService
.
GetControlObjectFieldType
(
node
.
Type
);
switch
(
columnType
)
{
case
VizControlObjectFieldType
.
none
:
break
;
case
VizControlObjectFieldType
.
text
:
column
.
CellEditTemplate
=
view
.
FindResource
(
"ColumnTemplate_Text"
)
as
DataTemplate
;
break
;
case
VizControlObjectFieldType
.
boolean
:
column
.
CellEditTemplate
=
view
.
FindResource
(
"ColumnTemplate_Boolean"
)
as
DataTemplate
;
column
.
Width
=
new
DevExpress
.
Xpf
.
Grid
.
GridColumnWidth
(
80
);
break
;
case
VizControlObjectFieldType
.
richtext
:
column
.
CellEditTemplate
=
view
.
FindResource
(
"ColumnTemplate_Text"
)
as
DataTemplate
;
break
;
case
VizControlObjectFieldType
.
image
:
column
.
CellEditTemplate
=
view
.
FindResource
(
"ColumnTemplate_Text"
)
as
DataTemplate
;
break
;
case
VizControlObjectFieldType
.
list
:
break
;
}
}
// 绑定属性
foreach
(
INotifyPropertyChanged
item
in
field
.
ListValue
)
{
item
.
PropertyChanged
-=
this
.
Item_PropertyChanged
;
item
.
PropertyChanged
+=
this
.
Item_PropertyChanged
;
}
this
.
Support
.
ListValueColumns
=
field
.
ListValueColumns
;
this
.
Support
.
ListValue
=
field
.
ListValue
;
}
/// <summary>
/// 取消ListValue属性改变事件
/// </summary>
public
void
CancelListValuePropertyChanged
()
{
// 注销属性改变事件
if
(
this
.
Support
.
ListValue
!=
null
)
{
foreach
(
INotifyPropertyChanged
item
in
this
.
Support
.
ListValue
)
{
item
.
PropertyChanged
-=
this
.
Item_PropertyChanged
;
}
}
}
/// <summary>
/// 动态数据项属性改变时触发
/// </summary>
private
void
Item_PropertyChanged
(
object
sender
,
PropertyChangedEventArgs
e
)
{
if
(
this
.
Support
.
SelectedControlObjectField
.
Type
!=
VizControlObjectFieldType
.
list
)
return
;
this
.
Support
.
SelectedControlObjectField
.
Value
=
this
.
vizCommandControlObjectService
.
GetControlObjectXml
(
this
.
Support
.
ListValue
);
}
}
}
VIZ.TVP.Module/Control/ControlList/Controller/ControlObject/IControlObjectSupport.cs
0 → 100644
View file @
bff93f07
using
DevExpress.Mvvm.POCO
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.ObjectModel
;
using
System.ComponentModel
;
using
System.Dynamic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows
;
using
VIZ.TVP.Domain
;
using
VIZ.TVP.Service
;
using
VIZ.TVP.Storage
;
namespace
VIZ.TVP.Module
{
/// <summary>
/// 控制对象支持
/// </summary>
public
interface
IControlObjectSupport
{
/// <summary>
/// 是否正在加载
/// </summary>
bool
IsLoading
{
get
;
set
;
}
/// <summary>
/// 控制对象列表
/// </summary>
ObservableCollection
<
VizControlObjectModel
>
ControlObjectList
{
get
;
set
;
}
/// <summary>
/// 当前选中的控制对象
/// </summary>
VizControlObjectModel
SelectedControlObject
{
get
;
set
;
}
/// <summary>
/// 当前选中的控制对象字段
/// </summary>
VizControlObjectFieldModel
SelectedControlObjectField
{
get
;
set
;
}
/// <summary>
/// List类型数据列表
/// </summary>
List
<
ExpandoObject
>
ListValue
{
get
;
set
;
}
/// <summary>
/// List类型数据列信息
/// </summary>
List
<
GridColumnDefinition
>
ListValueColumns
{
get
;
set
;
}
}
}
VIZ.TVP.Module/Control/ControlList/View/ControlListView.xaml
View file @
bff93f07
...
@@ -8,40 +8,34 @@
...
@@ -8,40 +8,34 @@
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
xmlns:fcore="clr-namespace:VIZ.Framework.Core;assembly=VIZ.Framework.Core"
xmlns:fcore="clr-namespace:VIZ.Framework.Core;assembly=VIZ.Framework.Core"
xmlns:domain="clr-namespace:VIZ.TVP.Domain;assembly=VIZ.TVP.Domain"
xmlns:local="clr-namespace:VIZ.TVP.Module"
xmlns:local="clr-namespace:VIZ.TVP.Module"
d:DataContext="{d:DesignInstance Type=local:ControlListViewModel}"
d:DataContext="{d:DesignInstance Type=local:ControlListViewModel}"
mc:Ignorable="d"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary>
<local:ControlListValueDataTemplateSelecter x:Key="ControlListValueDataTemplateSelecter">
<!-- 文本编辑 -->
<!-- 文本编辑 -->
<local:ControlListValueDataTemplateSelecter.TextDataTemplate>
<DataTemplate x:Key="ColumnTemplate_Text">
<DataTemplate>
<dxe:TextEdit Name="PART_Editor" />
<dxe:TextEdit Name="PART_Editor" />
</DataTemplate>
</DataTemplate>
</local:ControlListValueDataTemplateSelecter.TextDataTemplate>
<!-- Boolean编辑 -->
<!-- Boolean编辑 -->
<local:ControlListValueDataTemplateSelecter.BooleanDataTemplate
>
<DataTemplate x:Key="ColumnTemplate_Boolean"
>
<DataTemplate>
<dxe:ComboBoxEdit Name="PART_Editor" IsTextEditable="False"
<dxe:CheckEdit Name="PART_Editor" HorizontalAlignment="Left" /
>
ItemsSource="{Binding Source={x:Static domain:ApplicationConstants.VIZ_CONTROL_OBJECT_BOOLEAN}}"></dxe:ComboBoxEdit
>
</DataTemplate>
</DataTemplate>
</local:ControlListValueDataTemplateSelecter.BooleanDataTemplate>
<local:ControlListValueDataTemplateSelecter x:Key="ControlListValueDataTemplateSelecter"
TextDataTemplate="{StaticResource ColumnTemplate_Text}"
BooleanDataTemplate="{StaticResource ColumnTemplate_Boolean}">
</local:ControlListValueDataTemplateSelecter>
</local:ControlListValueDataTemplateSelecter>
<DataTemplate x:Key="ColumnTemplate_TextEdit">
<dxe:TextEdit Name="PART_Editor" />
</DataTemplate>
<DataTemplate x:Key="ColumnTemplate_CheckEdit">
<dxe:CheckEdit Name="PART_Editor" HorizontalAlignment="Left" />
</DataTemplate>
<DataTemplate x:Key="ColumnTemplate">
<DataTemplate x:Key="ColumnTemplate">
<ContentControl>
<ContentControl>
<dxg:GridColumn FieldName="{Binding FieldName}" Width="{Binding Width}"
FixedWidth="{Binding FixedWidth}"
Header="{Binding Header}" ReadOnly="{Binding ReadOnly}"
<dxg:GridColumn FieldName="{Binding FieldName}" Width="{Binding Width}" Header="{Binding Header}" ReadOnly="{Binding ReadOnly}"
Cell
Template="{Binding CellTemplate}
" />
Cell
EditTemplate="{Binding CellEditTemplate}" AllowSorting="False" AllowColumnFiltering="False
" />
</ContentControl>
</ContentControl>
</DataTemplate>
</DataTemplate>
...
@@ -79,9 +73,11 @@
...
@@ -79,9 +73,11 @@
<!-- 控制对象编辑器 -->
<!-- 控制对象编辑器 -->
<dxg:GridControl ItemsSource="{Binding Path=ListValue}" ShowBorder="False" Grid.Column="1"
<dxg:GridControl ItemsSource="{Binding Path=ListValue}" ShowBorder="False" Grid.Column="1"
ColumnsSource="{Binding Path=ListValueColumns}" ColumnGeneratorTemplate="{StaticResource ColumnTemplate}">
ColumnsSource="{Binding Path=ListValueColumns}" ColumnGeneratorTemplate="{StaticResource ColumnTemplate}">
<dxg:GridControl.Columns>
<dxg:GridControl.ContextMenu>
<ContextMenu>
</dxg:GridControl.Columns>
<MenuItem Header="刷新" Command="{Binding Path=PlacementTarget.DataContext.RefreshControlObjectFieldListCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
</ContextMenu>
</dxg:GridControl.ContextMenu>
<dxg:GridControl.View>
<dxg:GridControl.View>
<dxg:TableView AllowEditing="True" ShowIndicator="True"
<dxg:TableView AllowEditing="True" ShowIndicator="True"
NavigationStyle="Cell"
NavigationStyle="Cell"
...
...
VIZ.TVP.Module/Control/ControlList/ViewModel/ControlListViewModel.cs
View file @
bff93f07
using
System
;
using
DevExpress.Mvvm.POCO
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Collections.ObjectModel
;
using
System.Collections.ObjectModel
;
using
System.ComponentModel
;
using
System.ComponentModel
;
...
@@ -18,10 +19,13 @@ namespace VIZ.TVP.Module
...
@@ -18,10 +19,13 @@ namespace VIZ.TVP.Module
/// <summary>
/// <summary>
/// Control List视图模型
/// Control List视图模型
/// </summary>
/// </summary>
public
class
ControlListViewModel
:
PluginViewModelBase
public
class
ControlListViewModel
:
PluginViewModelBase
,
IControlObjectSupport
{
{
public
ControlListViewModel
()
public
ControlListViewModel
()
{
{
// 初始化控制器
this
.
initController
();
// 初始化命令
// 初始化命令
this
.
initCommand
();
this
.
initCommand
();
...
@@ -35,6 +39,16 @@ namespace VIZ.TVP.Module
...
@@ -35,6 +39,16 @@ namespace VIZ.TVP.Module
private
void
initCommand
()
private
void
initCommand
()
{
{
this
.
LoadedCommand
=
new
VCommand
(
this
.
Loaded
);
this
.
LoadedCommand
=
new
VCommand
(
this
.
Loaded
);
this
.
RefreshControlObjectFieldListCommand
=
new
VCommand
(
this
.
RefreshControlObjectFieldList
);
this
.
RefreshControlObjectFromVizCommand
=
new
VCommand
(
this
.
RefreshControlObjectFromViz
);
}
/// <summary>
/// 初始化控制器
/// </summary>
private
void
initController
()
{
this
.
controlObjectController
=
new
ControlObjectController
(
this
);
}
}
/// <summary>
/// <summary>
...
@@ -56,6 +70,11 @@ namespace VIZ.TVP.Module
...
@@ -56,6 +70,11 @@ namespace VIZ.TVP.Module
/// </summary>
/// </summary>
private
IVizCommandControlObjectService
vizCommandControlObjectService
=
new
VizCommandControlObjectService
();
private
IVizCommandControlObjectService
vizCommandControlObjectService
=
new
VizCommandControlObjectService
();
/// <summary>
/// 控制对象控制器
/// </summary>
private
ControlObjectController
controlObjectController
;
// ==================================================================================
// ==================================================================================
// Property
// Property
// ==================================================================================
// ==================================================================================
...
@@ -115,93 +134,8 @@ namespace VIZ.TVP.Module
...
@@ -115,93 +134,8 @@ namespace VIZ.TVP.Module
{
{
selectedControlObjectField
=
value
;
selectedControlObjectField
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
SelectedControlObjectField
));
this
.
RaisePropertyChanged
(
nameof
(
SelectedControlObjectField
));
this
.
UpdateSlectedControlObjectField
();
this
.
controlObjectController
.
UpdateSelectedControlObjectField
(
this
.
GetView
<
ControlListView
>());
}
}
}
/// <summary>
/// 更新当前选中的控制对象字段
/// </summary>
private
void
UpdateSlectedControlObjectField
()
{
VizControlObjectFieldModel
field
=
this
.
SelectedControlObjectField
;
if
(
field
==
null
||
field
.
Type
!=
Storage
.
VizControlObjectFieldType
.
list
)
{
this
.
ListValueColumns
=
null
;
// 注销属性改变事件
if
(
this
.
ListValue
!=
null
)
{
foreach
(
INotifyPropertyChanged
item
in
this
.
ListValue
)
{
item
.
PropertyChanged
-=
Item_PropertyChanged
;
}
}
this
.
ListValue
=
null
;
return
;
}
if
(!
field
.
IsXmlValueLoaded
)
{
List
<
GridColumnDefinition
>
columns
;
List
<
ExpandoObject
>
items
;
vizCommandControlObjectService
.
GetControlObjectXmlData
(
field
.
Value
,
out
columns
,
out
items
);
field
.
ListValueColumns
=
columns
;
field
.
ListValue
=
items
;
}
// 设置模板
ControlListView
view
=
this
.
GetView
<
ControlListView
>();
foreach
(
var
node
in
field
.
FieldSchema
.
Schema
.
Fields
)
{
GridColumnDefinition
column
=
field
.
ListValueColumns
.
FirstOrDefault
(
p
=>
p
.
FieldName
==
node
.
Name
);
if
(
column
==
null
)
continue
;
VizControlObjectFieldType
columnType
=
this
.
vizCommandControlObjectService
.
GetControlObjectFieldType
(
node
.
Type
);
switch
(
columnType
)
{
case
VizControlObjectFieldType
.
none
:
break
;
case
VizControlObjectFieldType
.
text
:
column
.
CellTemplate
=
view
.
FindResource
(
"ColumnTemplate_TextEdit"
)
as
DataTemplate
;
break
;
case
VizControlObjectFieldType
.
boolean
:
column
.
CellTemplate
=
view
.
FindResource
(
"ColumnTemplate_CheckEdit"
)
as
DataTemplate
;
column
.
Width
=
new
DevExpress
.
Xpf
.
Grid
.
GridColumnWidth
(
80
);
break
;
case
VizControlObjectFieldType
.
richtext
:
column
.
CellTemplate
=
view
.
FindResource
(
"ColumnTemplate_TextEdit"
)
as
DataTemplate
;
break
;
case
VizControlObjectFieldType
.
image
:
column
.
CellTemplate
=
view
.
FindResource
(
"ColumnTemplate_TextEdit"
)
as
DataTemplate
;
break
;
case
VizControlObjectFieldType
.
list
:
break
;
}
}
// 绑定属性
foreach
(
INotifyPropertyChanged
item
in
field
.
ListValue
)
{
item
.
PropertyChanged
-=
Item_PropertyChanged
;
item
.
PropertyChanged
+=
Item_PropertyChanged
;
}
this
.
ListValueColumns
=
field
.
ListValueColumns
;
this
.
ListValue
=
field
.
ListValue
;
}
/// <summary>
/// 动态数据项属性改变时触发
/// </summary>
private
void
Item_PropertyChanged
(
object
sender
,
PropertyChangedEventArgs
e
)
{
if
(
this
.
SelectedControlObjectField
.
Type
!=
VizControlObjectFieldType
.
list
)
return
;
this
.
SelectedControlObjectField
.
Value
=
this
.
vizCommandControlObjectService
.
GetControlObjectXml
(
this
.
ListValue
);
}
}
#
endregion
#
endregion
...
@@ -255,6 +189,48 @@ namespace VIZ.TVP.Module
...
@@ -255,6 +189,48 @@ namespace VIZ.TVP.Module
#
endregion
#
endregion
#
region
RefreshControlObjectFieldListCommand
--
刷新控制对象字段列表命令
/// <summary>
/// 刷新控制对象字段列表命令
/// </summary>
public
VCommand
RefreshControlObjectFieldListCommand
{
get
;
set
;
}
/// <summary>
/// 刷新控制对象字段列表
/// </summary>
private
void
RefreshControlObjectFieldList
()
{
if
(
this
.
SelectedControlObjectField
==
null
||
this
.
SelectedControlObjectField
.
Type
!=
VizControlObjectFieldType
.
list
)
return
;
this
.
SelectedControlObjectField
.
IsXmlValueLoaded
=
false
;
this
.
controlObjectController
.
UpdateSelectedControlObjectField
(
this
.
GetView
<
ControlListView
>());
}
#
endregion
#
region
RefreshControlObjectFromVizCommand
--
从
VIZ
中获取控制对象命令
/// <summary>
/// 从VIZ中获取控制对象命令
/// </summary>
public
VCommand
RefreshControlObjectFromVizCommand
{
get
;
set
;
}
/// <summary>
/// 从VIZ中获取控制对象
/// </summary>
private
void
RefreshControlObjectFromViz
()
{
if
(
ApplicationDomainEx
.
SelectionManager
.
ProgramListItemModel
==
null
)
return
;
// 从Viz中获取控制对象
this
.
controlObjectController
.
GetControlObjectFromViz
(
ApplicationDomainEx
.
SelectionManager
.
ProgramListItemModel
,
false
);
}
#
endregion
// ==================================================================================
// ==================================================================================
// Message
// Message
// ==================================================================================
// ==================================================================================
...
@@ -286,28 +262,8 @@ namespace VIZ.TVP.Module
...
@@ -286,28 +262,8 @@ namespace VIZ.TVP.Module
if
(
msg
.
ProgramListItemModel
.
IsLoadedControlObjectList
)
if
(
msg
.
ProgramListItemModel
.
IsLoadedControlObjectList
)
return
;
return
;
this
.
IsLoading
=
true
;
// 从Viz中获取控制对象
this
.
controlObjectController
.
GetControlObjectFromViz
(
msg
.
ProgramListItemModel
,
true
);
// 否则加载控制对象列表
ThreadHelper
.
SafeRun
(()
=>
{
// 获取
var
result
=
this
.
vizCommandControlObjectService
.
GetControlObjectList
(
ApplicationDomainEx
.
TVPConnectionManager
.
LocalConnection
,
msg
.
ProgramListItemModel
,
Storage
.
VizSceneLayerEnum
.
MAIN_SCENE
);
WPFHelper
.
BeginInvoke
(()
=>
{
msg
.
ProgramListItemModel
.
ControlObjectList
.
Clear
();
foreach
(
var
item
in
result
)
{
msg
.
ProgramListItemModel
.
ControlObjectList
.
Add
(
item
);
}
msg
.
ProgramListItemModel
.
IsLoadedControlObjectList
=
true
;
this
.
IsLoading
=
false
;
});
});
}
}
/// <summary>
/// <summary>
...
...
VIZ.TVP.Module/PluginPanel/ViewModel/PluginPanelViewModel.cs
View file @
bff93f07
...
@@ -94,7 +94,7 @@ namespace VIZ.TVP.Module
...
@@ -94,7 +94,7 @@ namespace VIZ.TVP.Module
}
}
// 该节目单项对应的插件已经被实例化过
// 该节目单项对应的插件已经被实例化过
NavigationConfig
config
=
this
.
ItemsSource
.
FirstOrDefault
(
p
=>
p
.
Key
==
msg
.
ProgramListItemModel
.
Object
ID
);
NavigationConfig
config
=
this
.
ItemsSource
.
FirstOrDefault
(
p
=>
p
.
Key
==
msg
.
ProgramListItemModel
.
Item
ID
);
if
(
config
!=
null
)
if
(
config
!=
null
)
{
{
this
.
SelectedItem
=
config
;
this
.
SelectedItem
=
config
;
...
@@ -110,7 +110,7 @@ namespace VIZ.TVP.Module
...
@@ -110,7 +110,7 @@ namespace VIZ.TVP.Module
}
}
config
=
new
NavigationConfig
();
config
=
new
NavigationConfig
();
config
.
Key
=
msg
.
ProgramListItemModel
.
Object
ID
;
config
.
Key
=
msg
.
ProgramListItemModel
.
Item
ID
;
config
.
ViewType
=
pluginInfo
.
ViewInfo
.
ViewType
;
config
.
ViewType
=
pluginInfo
.
ViewInfo
.
ViewType
;
config
.
ViewModelType
=
pluginInfo
.
ViewInfo
.
ViewModelType
;
config
.
ViewModelType
=
pluginInfo
.
ViewInfo
.
ViewModelType
;
...
@@ -137,7 +137,7 @@ namespace VIZ.TVP.Module
...
@@ -137,7 +137,7 @@ namespace VIZ.TVP.Module
continue
;
continue
;
// 未找到相关插件视图
// 未找到相关插件视图
NavigationConfig
config
=
this
.
ItemsSource
.
FirstOrDefault
(
p
=>
p
.
Key
==
item
.
Object
ID
);
NavigationConfig
config
=
this
.
ItemsSource
.
FirstOrDefault
(
p
=>
p
.
Key
==
item
.
Item
ID
);
// 尝试移除导航配置
// 尝试移除导航配置
this
.
tryRemoveItem
(
config
);
this
.
tryRemoveItem
(
config
);
...
@@ -161,7 +161,7 @@ namespace VIZ.TVP.Module
...
@@ -161,7 +161,7 @@ namespace VIZ.TVP.Module
return
;
return
;
// 未找到相关插件视图
// 未找到相关插件视图
NavigationConfig
config
=
this
.
ItemsSource
.
FirstOrDefault
(
p
=>
p
.
Key
==
msg
.
DeletedProgramListItemModel
.
Object
ID
);
NavigationConfig
config
=
this
.
ItemsSource
.
FirstOrDefault
(
p
=>
p
.
Key
==
msg
.
DeletedProgramListItemModel
.
Item
ID
);
// 尝试移除导航配置
// 尝试移除导航配置
this
.
tryRemoveItem
(
config
);
this
.
tryRemoveItem
(
config
);
...
...
VIZ.TVP.Module/Resource/VizResource/View/VizResourceView.xaml
View file @
bff93f07
...
@@ -109,7 +109,7 @@
...
@@ -109,7 +109,7 @@
<MenuItem Header="刷新" Command="{Binding Path=PlacementTarget.DataContext.RefreshFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="刷新" Command="{Binding Path=PlacementTarget.DataContext.RefreshFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<Separator/>
<Separator/>
<MenuItem Header="添加至场景模板" Command="{Binding Path=PlacementTarget.DataContext.AddProgramTemplateCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="添加至场景模板" Command="{Binding Path=PlacementTarget.DataContext.AddProgramTemplateCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="复制路径" Command="{Binding Path=PlacementTarget.DataContext.CopyFilePathCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
</ContextMenu>
</ContextMenu>
</dxg:GridControl.ContextMenu>
</dxg:GridControl.ContextMenu>
<dxg:GridControl.Columns>
<dxg:GridControl.Columns>
...
...
VIZ.TVP.Module/Resource/VizResource/ViewModel/VizResourceViewModel.cs
View file @
bff93f07
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
using
DevExpress.Mvvm.UI.Native.ViewGenerator
;
using
DevExpress.Mvvm.UI.Native.ViewGenerator
;
using
DevExpress.Mvvm.Xpf
;
using
DevExpress.Mvvm.Xpf
;
using
DevExpress.Xpf.Core.Native
;
using
DevExpress.Xpf.Core.Native
;
using
DevExpress.XtraPrinting.Native
;
using
log4net
;
using
log4net
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
...
@@ -9,6 +10,7 @@ using System.Collections.ObjectModel;
...
@@ -9,6 +10,7 @@ using System.Collections.ObjectModel;
using
System.Linq
;
using
System.Linq
;
using
System.Text
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
using
System.Windows
;
using
VIZ.Framework.Core
;
using
VIZ.Framework.Core
;
using
VIZ.Framework.Plugin
;
using
VIZ.Framework.Plugin
;
using
VIZ.TVP.Domain
;
using
VIZ.TVP.Domain
;
...
@@ -50,6 +52,8 @@ namespace VIZ.TVP.Module
...
@@ -50,6 +52,8 @@ namespace VIZ.TVP.Module
this
.
FileContextMenuOpendCommand
=
new
VCommand
(
this
.
FileContextMenuOpend
);
this
.
FileContextMenuOpendCommand
=
new
VCommand
(
this
.
FileContextMenuOpend
);
this
.
AddProgramTemplateCommand
=
new
VCommand
(
this
.
AddProgramTemplate
,
this
.
CanAddProgramTemplate
);
this
.
AddProgramTemplateCommand
=
new
VCommand
(
this
.
AddProgramTemplate
,
this
.
CanAddProgramTemplate
);
this
.
CopyFilePathCommand
=
new
VCommand
(
this
.
CopyFilePath
,
this
.
CanCopyFilePath
);
}
}
/// <summary>
/// <summary>
...
@@ -333,6 +337,7 @@ namespace VIZ.TVP.Module
...
@@ -333,6 +337,7 @@ namespace VIZ.TVP.Module
private
void
FileContextMenuOpend
()
private
void
FileContextMenuOpend
()
{
{
this
.
AddProgramTemplateCommand
.
RaiseCanExecute
();
this
.
AddProgramTemplateCommand
.
RaiseCanExecute
();
this
.
CopyFilePathCommand
.
RaiseCanExecute
();
}
}
#
endregion
#
endregion
...
@@ -401,6 +406,35 @@ namespace VIZ.TVP.Module
...
@@ -401,6 +406,35 @@ namespace VIZ.TVP.Module
#
endregion
#
endregion
#
region
CopyFilePathCommand
--
拷贝文件路径命令
/// <summary>
/// 拷贝文件路径命令
/// </summary>
public
VCommand
CopyFilePathCommand
{
get
;
set
;
}
/// <summary>
/// 是否可以执行拷贝文件路径
/// </summary>
/// <returns>是否可以执行拷贝文件路径</returns>
private
bool
CanCopyFilePath
()
{
return
this
.
SelectedFileModel
!=
null
;
}
/// <summary>
/// 拷贝文件路径
/// </summary>
private
void
CopyFilePath
()
{
if
(
this
.
SelectedFileModel
==
null
)
return
;
Clipboard
.
SetText
(
$"
{
this
.
SelectedFileModel
.
FileType
}
*
{
this
.
SelectedFileModel
.
Path
}
"
);
}
#
endregion
// ==================================================================================
// ==================================================================================
// Public Function
// Public Function
// ==================================================================================
// ==================================================================================
...
...
VIZ.TVP.Module/VIZ.TVP.Module.csproj
View file @
bff93f07
...
@@ -188,6 +188,8 @@
...
@@ -188,6 +188,8 @@
</Page>
</Page>
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<Compile Include="Control\ControlList\Controller\ControlObject\ControlObjectController.cs" />
<Compile Include="Control\ControlList\Controller\ControlObject\IControlObjectSupport.cs" />
<Compile Include="Control\ControlList\Core\ControlListDynamicValueDataTemplateSelecter.cs" />
<Compile Include="Control\ControlList\Core\ControlListDynamicValueDataTemplateSelecter.cs" />
<Compile Include="Control\ControlList\Core\ControlListValueDataTemplateSelecter.cs" />
<Compile Include="Control\ControlList\Core\ControlListValueDataTemplateSelecter.cs" />
<Compile Include="Program\View\ProgramItemCreateWindow.xaml.cs">
<Compile Include="Program\View\ProgramItemCreateWindow.xaml.cs">
...
@@ -387,7 +389,6 @@
...
@@ -387,7 +389,6 @@
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<Folder Include="Common\ViewModel\" />
<Folder Include="Common\ViewModel\" />
<Folder Include="Control\ControlList\Controller\" />
<Folder Include="Login\Service\" />
<Folder Include="Login\Service\" />
<Folder Include="PluginPanel\Controller\" />
<Folder Include="PluginPanel\Controller\" />
<Folder Include="Program\Controller\" />
<Folder Include="Program\Controller\" />
...
...
VIZ.TVP.Service/VIZ/Implementation/VizCommandControlObjectService.cs
View file @
bff93f07
...
@@ -151,7 +151,7 @@ namespace VIZ.TVP.Service
...
@@ -151,7 +151,7 @@ namespace VIZ.TVP.Service
if
(
string
.
IsNullOrWhiteSpace
(
id
))
if
(
string
.
IsNullOrWhiteSpace
(
id
))
continue
;
continue
;
VizControlObjectModel
obj
=
new
VizControlObjectModel
(
new
VizControlObjectEntity
()
);
VizControlObjectModel
obj
=
new
VizControlObjectModel
();
obj
.
ProgramListItemModel
=
programListItemModel
;
obj
.
ProgramListItemModel
=
programListItemModel
;
VizTreeNodeInfo
info
=
treeNodeList
.
FirstOrDefault
(
p
=>
id
==
$"#
{
p
.
NodeNum
}
"
);
VizTreeNodeInfo
info
=
treeNodeList
.
FirstOrDefault
(
p
=>
id
==
$"#
{
p
.
NodeNum
}
"
);
if
(
info
==
null
)
if
(
info
==
null
)
...
@@ -279,6 +279,24 @@ namespace VIZ.TVP.Service
...
@@ -279,6 +279,24 @@ namespace VIZ.TVP.Service
}
}
/// <summary>
/// <summary>
/// 设置控制对象值
/// </summary>
/// <param name="connection">连接</param>
/// <param name="layer">场景图层</param>
/// <param name="obj">控制对象</param>
public
void
SetControlObjectValue
(
TVPConnectionModel
connection
,
VizSceneLayerEnum
layer
,
VizControlObjectModel
obj
)
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
Append
(
$"
{
layer
}
*TREE*
{
obj
.
TreeNodePath
}
*FUNCTION*ControlObject*in SET ON "
);
foreach
(
VizControlObjectFieldModel
field
in
obj
.
Fields
)
{
sb
.
Append
(
$"
{
field
.
FieldIdentifier
}
SET
{
field
.
Value
}
\\0"
);
}
connection
.
EndpointManager
.
Send
(
sb
.
ToString
());
}
/// <summary>
/// 设置列表控制对象的值
/// 设置列表控制对象的值
/// </summary>
/// </summary>
/// <param name="connection">连接</param>
/// <param name="connection">连接</param>
...
...
VIZ.TVP.Service/VIZ/Interface/IVizCommandControlObjectService.cs
View file @
bff93f07
...
@@ -58,6 +58,14 @@ namespace VIZ.TVP.Service
...
@@ -58,6 +58,14 @@ namespace VIZ.TVP.Service
void
SetControlObjectValue
(
TVPConnectionModel
connection
,
VizSceneLayerEnum
layer
,
string
treeNodePath
,
string
fieldIdentifier
,
string
value
);
void
SetControlObjectValue
(
TVPConnectionModel
connection
,
VizSceneLayerEnum
layer
,
string
treeNodePath
,
string
fieldIdentifier
,
string
value
);
/// <summary>
/// <summary>
/// 设置控制对象值
/// </summary>
/// <param name="connection">连接</param>
/// <param name="layer">场景图层</param>
/// <param name="obj">控制对象</param>
void
SetControlObjectValue
(
TVPConnectionModel
connection
,
VizSceneLayerEnum
layer
,
VizControlObjectModel
obj
);
/// <summary>
/// 获取控制对象字段类型
/// 获取控制对象字段类型
/// </summary>
/// </summary>
/// <param name="type">字段类型</param>
/// <param name="type">字段类型</param>
...
...
VIZ.TVP.Storage/LiteDB/ControlObject/VizControlObjectEntity.cs
deleted
100644 → 0
View file @
a92137ec
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
VIZ.TVP.Storage
{
/// <summary>
/// Viz控制对象实体
/// </summary>
public
class
VizControlObjectEntity
{
/// <summary>
/// 编号
/// </summary>
[
LiteDB
.
BsonId
(
true
)]
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 所在场景节点名称
/// </summary>
public
string
TreeNodeName
{
get
;
set
;
}
/// <summary>
/// 所在场景节点路径
/// </summary>
public
string
TreeNodePath
{
get
;
set
;
}
/// <summary>
/// 描述
/// </summary>
public
string
Description
{
get
;
set
;
}
}
}
VIZ.TVP.Storage/LiteDB/ControlObject/Enum/VizControlObjectFieldType.cs
→
VIZ.TVP.Storage/LiteDB/
Project/
ControlObject/Enum/VizControlObjectFieldType.cs
View file @
bff93f07
File moved
VIZ.TVP.Storage/LiteDB/ControlObject/Enum/VizControlObjectParameters.cs
→
VIZ.TVP.Storage/LiteDB/
Project/
ControlObject/Enum/VizControlObjectParameters.cs
View file @
bff93f07
File moved
VIZ.TVP.Storage/LiteDB/ControlObject/Enum/VizLayerEnum.cs
→
VIZ.TVP.Storage/LiteDB/
Project/
ControlObject/Enum/VizLayerEnum.cs
View file @
bff93f07
File moved
VIZ.TVP.Storage/LiteDB/ControlObject/Enum/VizSceneLayerEnum.cs
→
VIZ.TVP.Storage/LiteDB/
Project/
ControlObject/Enum/VizSceneLayerEnum.cs
View file @
bff93f07
File moved
VIZ.TVP.Storage/LiteDB/ControlObject/VizControlObjectFieldEntity.cs
→
VIZ.TVP.Storage/LiteDB/
Project/
ControlObject/VizControlObjectFieldEntity.cs
View file @
bff93f07
...
@@ -17,7 +17,10 @@ namespace VIZ.TVP.Storage
...
@@ -17,7 +17,10 @@ namespace VIZ.TVP.Storage
[
LiteDB
.
BsonId
(
true
)]
[
LiteDB
.
BsonId
(
true
)]
public
int
Id
{
get
;
set
;
}
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 节目单项ID
/// </summary>
public
string
ItemID
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 所在场景节点路径
/// 所在场景节点路径
...
@@ -30,21 +33,11 @@ namespace VIZ.TVP.Storage
...
@@ -30,21 +33,11 @@ namespace VIZ.TVP.Storage
public
string
FieldIdentifier
{
get
;
set
;
}
public
string
FieldIdentifier
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 属性路径
/// </summary>
public
string
PropertyPath
{
get
;
set
;
}
/// <summary>
/// 字段值
/// 字段值
/// </summary>
/// </summary>
public
string
Value
{
get
;
set
;
}
public
string
Value
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 描述
/// </summary>
public
string
Description
{
get
;
set
;
}
/// <summary>
/// 字段类型
/// 字段类型
/// </summary>
/// </summary>
public
VizControlObjectFieldType
Type
{
get
;
set
;
}
public
VizControlObjectFieldType
Type
{
get
;
set
;
}
...
...
VIZ.TVP.Storage/LiteDB/Project/Program/ProgramListItemEntity.cs
View file @
bff93f07
...
@@ -22,6 +22,11 @@ namespace VIZ.TVP.Storage
...
@@ -22,6 +22,11 @@ namespace VIZ.TVP.Storage
public
string
ListID
{
get
;
set
;
}
public
string
ListID
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 节目单项ID
/// </summary>
public
string
ItemID
{
get
;
set
;
}
=
Guid
.
NewGuid
().
ToString
();
/// <summary>
/// 模板类型
/// 模板类型
/// </summary>
/// </summary>
public
ProgramTemplateType
TemplateType
{
get
;
set
;
}
public
ProgramTemplateType
TemplateType
{
get
;
set
;
}
...
@@ -64,6 +69,6 @@ namespace VIZ.TVP.Storage
...
@@ -64,6 +69,6 @@ namespace VIZ.TVP.Storage
/// <summary>
/// <summary>
/// 控制对象字段集合
/// 控制对象字段集合
/// </summary>
/// </summary>
public
List
<
VizControlObjectFieldEntity
>
ControlObjectFields
{
get
;
set
;
}
public
List
<
VizControlObjectFieldEntity
>
Fields
{
get
;
set
;
}
=
new
List
<
VizControlObjectFieldEntity
>();
}
}
}
}
VIZ.TVP.Storage/VIZ.TVP.Storage.csproj
View file @
bff93f07
...
@@ -110,12 +110,11 @@
...
@@ -110,12 +110,11 @@
<Compile Include="LiteDB\Project\Program\ProgramListEntity.cs" />
<Compile Include="LiteDB\Project\Program\ProgramListEntity.cs" />
<Compile Include="LiteDB\Project\Program\ProgramTemplateEntity.cs" />
<Compile Include="LiteDB\Project\Program\ProgramTemplateEntity.cs" />
<Compile Include="LiteDB\Project\ProjectContext.cs" />
<Compile Include="LiteDB\Project\ProjectContext.cs" />
<Compile Include="LiteDB\ControlObject\Enum\VizControlObjectFieldType.cs" />
<Compile Include="LiteDB\Project\ControlObject\Enum\VizControlObjectFieldType.cs" />
<Compile Include="LiteDB\ControlObject\VizControlObjectEntity.cs" />
<Compile Include="LiteDB\Project\ControlObject\Enum\VizControlObjectParameters.cs" />
<Compile Include="LiteDB\ControlObject\Enum\VizControlObjectParameters.cs" />
<Compile Include="LiteDB\Project\ControlObject\Enum\VizLayerEnum.cs" />
<Compile Include="LiteDB\ControlObject\Enum\VizLayerEnum.cs" />
<Compile Include="LiteDB\Project\ControlObject\Enum\VizSceneLayerEnum.cs" />
<Compile Include="LiteDB\ControlObject\Enum\VizSceneLayerEnum.cs" />
<Compile Include="LiteDB\Project\ControlObject\VizControlObjectFieldEntity.cs" />
<Compile Include="LiteDB\ControlObject\VizControlObjectFieldEntity.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="XML\ControlObject\Node\ControlObject_Element_Node.cs" />
<Compile Include="XML\ControlObject\Node\ControlObject_Element_Node.cs" />
<Compile Include="XML\ControlObject\Node\ControlObject_Entry_Node.cs" />
<Compile Include="XML\ControlObject\Node\ControlObject_Entry_Node.cs" />
...
...
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