Commit 8751edaf by liulongfei

切换逻辑支持

parent 59b9e2eb
......@@ -140,6 +140,65 @@ namespace VIZ.Package.Domain
#endregion
// -------------------------------------------------------------------
// 切换逻辑
#region TransitionLogic -- 是否为切换逻辑层
private bool transitionLogic;
/// <summary>
/// 是否为切换逻辑层
/// </summary>
public bool TransitionLogic
{
get { return transitionLogic; }
set { transitionLogic = value; this.RaisePropertyChanged(nameof(TransitionLogic)); }
}
#endregion
#region LayerIdentifier -- 切换逻辑层名
private string layerIdentifier;
/// <summary>
/// 切换逻辑层名
/// </summary>
public string LayerIdentifier
{
get { return layerIdentifier; }
set { layerIdentifier = value; this.RaisePropertyChanged(nameof(LayerIdentifier)); }
}
#endregion
#region StateIdentifier -- 进入方式
private string stateIdentifier;
/// <summary>
/// 进入方式
/// </summary>
public string StateIdentifier
{
get { return stateIdentifier; }
set { stateIdentifier = value; this.RaisePropertyChanged(nameof(StateIdentifier)); }
}
#endregion
#region BackgroundScene -- 背景层
private string backgroundScene;
/// <summary>
/// 背景层
/// </summary>
public string BackgroundScene
{
get { return backgroundScene; }
set { backgroundScene = value; }
}
#endregion
// =========================================================
// 扩展属性
// =========================================================
......
......@@ -17,6 +17,25 @@
<dxmvvm:EventToCommand EventName="Loaded" Command="{Binding Path=LoadedCommand}"></dxmvvm:EventToCommand>
</dxmvvm:Interaction.Behaviors>
<dx:ThemedWindow.Resources>
<fcore:Bool2ControlTemplateConverter x:Key="Bool2ControlTemplateConverter_Layer">
<fcore:Bool2ControlTemplateConverter.TrueResult>
<ControlTemplate>
<dxe:TextEdit EditValue="{Binding Path=LayerIdentifier}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="2,0,2,0" IsReadOnly="True"></dxe:TextEdit>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.TrueResult>
<fcore:Bool2ControlTemplateConverter.FalseResult>
<ControlTemplate>
<dxe:ComboBoxEdit ItemsSource="{Binding Source={x:Static domain:ApplicationConstants.VIZ_LAYERS}}"
EditValue="{Binding Path=Layer,Mode=TwoWay}"
IsTextEditable="False"></dxe:ComboBoxEdit>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.FalseResult>
</fcore:Bool2ControlTemplateConverter>
</dx:ThemedWindow.Resources>
<Grid Margin="20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"></ColumnDefinition>
......@@ -41,9 +60,7 @@
<!-- 层 -->
<TextBlock Text="层:" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,10,0"></TextBlock>
<dxe:ComboBoxEdit Grid.Row="2" Grid.Column="1" Height="30" IsTextEditable="False"
ItemsSource="{Binding Source={x:Static domain:ApplicationConstants.VIZ_LAYERS}}"
SelectedItem="{Binding Path=Layer,Mode=TwoWay}"></dxe:ComboBoxEdit>
<ContentControl Grid.Row="2" Grid.Column="1" Height="30" Template="{Binding Path=TransitionLogic,Converter={StaticResource Bool2ControlTemplateConverter_Layer}}"></ContentControl>
<!-- 插件 -->
<TextBlock Text="数据模板:" Grid.Row="3" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,10,0"></TextBlock>
......
......@@ -39,6 +39,36 @@
<fcore:Bool2SolidColorBrushConverter x:Key="RowHandleTakeConverter"
TrueBrush="#FF67ad5b"
FalseBrush="Transparent"></fcore:Bool2SolidColorBrushConverter>
<fcore:Bool2BoolConverter x:Key="Bool2BoolConverter"></fcore:Bool2BoolConverter>
<!-- 层模板 -->
<fcore:Bool2ControlTemplateConverter x:Key="Bool2ControlTemplateConverter_LayerColumnCellTemplate">
<fcore:Bool2ControlTemplateConverter.TrueResult>
<ControlTemplate>
<TextBlock Text="{Binding Path=Row.LayerIdentifier}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="4,0,4,0"></TextBlock>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.TrueResult>
<fcore:Bool2ControlTemplateConverter.FalseResult>
<ControlTemplate>
<TextBlock Text="{Binding Path=Row.Layer}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="4,0,4,0"></TextBlock>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.FalseResult>
</fcore:Bool2ControlTemplateConverter>
<fcore:Bool2ControlTemplateConverter x:Key="Bool2ControlTemplateConverter_LayerColumnCellEditTemplate">
<fcore:Bool2ControlTemplateConverter.TrueResult>
<ControlTemplate>
<TextBlock Text="{Binding Path=Row.LayerIdentifier}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="4,0,4,0"></TextBlock>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.TrueResult>
<fcore:Bool2ControlTemplateConverter.FalseResult>
<ControlTemplate>
<dxe:ComboBoxEdit ItemsSource="{Binding Source={x:Static domain:ApplicationConstants.VIZ_LAYERS}}"
EditValue="{Binding Path=Row.Layer,Mode=TwoWay}" ShowBorder="False"
IsTextEditable="False"></dxe:ComboBoxEdit>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.FalseResult>
</fcore:Bool2ControlTemplateConverter>
<!-- 列模板选择器 -->
<common:ColumnDefintionGeneratorTemplateSelector x:Key="ColumnDefintionGeneratorTemplateSelector">
......@@ -144,13 +174,20 @@
<common:ColumnDefintionGeneratorTemplate.DataTemplate>
<DataTemplate>
<ContentControl>
<dxg:GridColumn Header="层" FieldName="Layer" AllowSorting="False" AllowColumnFiltering="False"
<dxg:GridColumn Header="层" AllowSorting="False" AllowColumnFiltering="False"
Visible="{Binding Path=Visible,Mode=TwoWay}"
VisibleIndex="{Binding Path=VisibleIndex,Mode=TwoWay}">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxEditSettings ItemsSource="{Binding Source={x:Static domain:ApplicationConstants.VIZ_LAYERS}}"
IsTextEditable="False"></dxe:ComboBoxEditSettings>
</dxg:GridColumn.EditSettings>
VisibleIndex="{Binding Path=VisibleIndex,Mode=TwoWay}"
AllowEditing="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<ContentControl Template="{Binding Path=Row.TransitionLogic,Converter={StaticResource Bool2ControlTemplateConverter_LayerColumnCellTemplate}}"></ContentControl>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
<dxg:GridColumn.CellEditTemplate>
<DataTemplate>
<ContentControl Template="{Binding Path=Row.TransitionLogic,Converter={StaticResource Bool2ControlTemplateConverter_LayerColumnCellEditTemplate}}"></ContentControl>
</DataTemplate>
</dxg:GridColumn.CellEditTemplate>
</dxg:GridColumn>
</ContentControl>
</DataTemplate>
......@@ -161,13 +198,23 @@
<common:ColumnDefintionGeneratorTemplate.DataTemplate>
<DataTemplate>
<ContentControl>
<dxg:GridColumn Header="连接" FieldName="ConnGroupID" AllowSorting="False" AllowColumnFiltering="False"
<dxg:GridColumn Header="连接" AllowSorting="False" AllowColumnFiltering="False"
Visible="{Binding Path=Visible,Mode=TwoWay}"
VisibleIndex="{Binding Path=VisibleIndex,Mode=TwoWay}">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxEditSettings ItemsSource="{Binding ElementName=uc, Path=DataContext.ConnGroups,Mode=TwoWay}"
DisplayMember="Name" ValueMember="GroupID" IsTextEditable="False"></dxe:ComboBoxEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<dxe:ComboBoxEdit ItemsSource="{Binding ElementName=uc, Path=DataContext.ConnGroups,Mode=TwoWay}"
EditValue="{Binding Path=Row.ConnGroupID,Mode=TwoWay}" ShowBorder="False" IsReadOnly="True" ShowEditorButtons="False"
DisplayMember="Name" ValueMember="GroupID" IsTextEditable="False"></dxe:ComboBoxEdit>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
<dxg:GridColumn.CellEditTemplate>
<DataTemplate>
<dxe:ComboBoxEdit ItemsSource="{Binding ElementName=uc, Path=DataContext.ConnGroups,Mode=TwoWay}"
EditValue="{Binding Path=Row.ConnGroupID,Mode=TwoWay}" ShowBorder="False"
DisplayMember="Name" ValueMember="GroupID" IsTextEditable="False"></dxe:ComboBoxEdit>
</DataTemplate>
</dxg:GridColumn.CellEditTemplate>
</dxg:GridColumn>
</ContentControl>
</DataTemplate>
......
......@@ -106,6 +106,65 @@ namespace VIZ.Package.Module
#endregion
// -------------------------------------------------------------------
// 切换逻辑
#region TransitionLogic -- 是否为切换逻辑层
private bool transitionLogic;
/// <summary>
/// 是否为切换逻辑层
/// </summary>
public bool TransitionLogic
{
get { return transitionLogic; }
set { transitionLogic = value; this.RaisePropertyChanged(nameof(TransitionLogic)); }
}
#endregion
#region LayerIdentifier -- 切换逻辑层名
private string layerIdentifier;
/// <summary>
/// 切换逻辑层名
/// </summary>
public string LayerIdentifier
{
get { return layerIdentifier; }
set { layerIdentifier = value; this.RaisePropertyChanged(nameof(LayerIdentifier)); }
}
#endregion
#region StateIdentifier -- 进入方式
private string stateIdentifier;
/// <summary>
/// 进入方式
/// </summary>
public string StateIdentifier
{
get { return stateIdentifier; }
set { stateIdentifier = value; this.RaisePropertyChanged(nameof(StateIdentifier)); }
}
#endregion
#region BackgroundScene -- 背景层
private string backgroundScene;
/// <summary>
/// 背景层
/// </summary>
public string BackgroundScene
{
get { return backgroundScene; }
set { backgroundScene = value; }
}
#endregion
// ===========================================================
// Command
// ===========================================================
......
......@@ -988,6 +988,10 @@ namespace VIZ.Package.Module
vm.Scene = template.Scene;
vm.Remark = template.Remark;
vm.Layer = template.Layer;
vm.TransitionLogic = template.TransitionLogic;
vm.LayerIdentifier = template.LayerIdentifier;
vm.StateIdentifier = template.StateIdentifier;
vm.BackgroundScene = template.BackgroundScene;
if (window.ShowDialog() != true)
return null;
......
......@@ -34,6 +34,35 @@
<fcore:Bool2SolidColorBrushConverter x:Key="RowHandleTakeConverter"
TrueBrush="#FF67ad5b"
FalseBrush="Transparent"></fcore:Bool2SolidColorBrushConverter>
<!-- 层模板 -->
<fcore:Bool2ControlTemplateConverter x:Key="Bool2ControlTemplateConverter_LayerColumnCellTemplate">
<fcore:Bool2ControlTemplateConverter.TrueResult>
<ControlTemplate>
<TextBlock Text="{Binding Path=Row.LayerIdentifier}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="4,0,4,0"></TextBlock>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.TrueResult>
<fcore:Bool2ControlTemplateConverter.FalseResult>
<ControlTemplate>
<TextBlock Text="{Binding Path=Row.Layer}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="4,0,4,0"></TextBlock>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.FalseResult>
</fcore:Bool2ControlTemplateConverter>
<fcore:Bool2ControlTemplateConverter x:Key="Bool2ControlTemplateConverter_LayerColumnCellEditTemplate">
<fcore:Bool2ControlTemplateConverter.TrueResult>
<ControlTemplate>
<TextBlock Text="{Binding Path=Row.LayerIdentifier}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="4,0,4,0"></TextBlock>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.TrueResult>
<fcore:Bool2ControlTemplateConverter.FalseResult>
<ControlTemplate>
<dxe:ComboBoxEdit ItemsSource="{Binding Source={x:Static domain:ApplicationConstants.VIZ_LAYERS}}"
EditValue="{Binding Path=Row.Layer,Mode=TwoWay}" ShowBorder="False"
IsTextEditable="False"></dxe:ComboBoxEdit>
</ControlTemplate>
</fcore:Bool2ControlTemplateConverter.FalseResult>
</fcore:Bool2ControlTemplateConverter>
</ResourceDictionary>
</UserControl.Resources>
......@@ -79,11 +108,17 @@
<dxe:TextEditSettings TextWrapping="Wrap" TextTrimming="CharacterEllipsis" MaxLength="50"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn Header="层" FieldName="Layer" AllowSorting="False" AllowColumnFiltering="False">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxEditSettings ItemsSource="{Binding Source={x:Static domain:ApplicationConstants.VIZ_LAYERS}}"
IsTextEditable="False"></dxe:ComboBoxEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn Header="层" FieldName="Layer" AllowSorting="False" AllowColumnFiltering="False" AllowEditing="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<ContentControl Template="{Binding Path=Row.TransitionLogic,Converter={StaticResource Bool2ControlTemplateConverter_LayerColumnCellTemplate}}"></ContentControl>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
<dxg:GridColumn.CellEditTemplate>
<DataTemplate>
<ContentControl Template="{Binding Path=Row.TransitionLogic,Converter={StaticResource Bool2ControlTemplateConverter_LayerColumnCellEditTemplate}}"></ContentControl>
</DataTemplate>
</dxg:GridColumn.CellEditTemplate>
</dxg:GridColumn>
<dxg:GridColumn Header="引擎类型" FieldName="EngineType" ReadOnly="True" AllowSorting="False" AllowColumnFiltering="False"></dxg:GridColumn>
</dxg:GridControl.Columns>
......
......@@ -374,7 +374,8 @@ namespace VIZ.Package.Module
WPFHelper.BeginInvoke(() =>
{
this.FolderModels = list.FirstOrDefault()?.Children.Select(p => (GHResourceFolderModel)p).ToObservableCollection();
this.FolderModels = list.FirstOrDefault(p => p.EntryNode.title == "data")?.Children?
.Select(p => (GHResourceFolderModel)p).ToObservableCollection();
this.IsFolderLoading = false;
});
......
......@@ -122,9 +122,13 @@ namespace VIZ.Package.Service
entity.TreeNodeName = obj.TreeNodeName;
entity.TreeNodePath = obj.TreeNodePath;
entity.Description = obj.Description;
entity.UseAllDirectors = obj.UseAllDirectors;
entity.FieldDetails = obj.FieldDetails;
entity.CustomFieldDetails = obj.CustomFieldDetails;
entity.UseAllDirectors = obj.UseAllDirectors;
entity.TransitionLogic = obj.TransitionLogic;
entity.LayerIdentifier = obj.LayerIdentifier;
entity.StateIdentifier = obj.StateIdentifier;
entity.BackgroundScene = obj.BackgroundScene;
ApplicationDomainEx.ProjectDbContext.ControlObject.Upsert(entity);
}
......
......@@ -37,6 +37,10 @@ namespace VIZ.Package.Service
model.EngineType = entity.EngineType;
model.PageType = entity.PageType;
model.Order = entity.Order;
model.TransitionLogic = entity.TransitionLogic;
model.LayerIdentifier = entity.LayerIdentifier;
model.StateIdentifier = entity.StateIdentifier;
model.BackgroundScene = entity.BackgroundScene;
model.TemplateID = entity.TemplateID;
list.Add(model);
......@@ -68,6 +72,10 @@ namespace VIZ.Package.Service
entity.EngineType = model.EngineType;
entity.PageType = model.PageType;
entity.Order = model.Order;
entity.TransitionLogic = model.TransitionLogic;
entity.LayerIdentifier = model.LayerIdentifier;
entity.StateIdentifier = model.StateIdentifier;
entity.BackgroundScene = model.BackgroundScene;
entity.TemplateID = model.TemplateID;
entity.Order = i;
......@@ -113,6 +121,10 @@ namespace VIZ.Package.Service
model.EngineType = entity.EngineType;
model.PageType = entity.PageType;
model.Order = entity.Order;
model.TransitionLogic = entity.TransitionLogic;
model.LayerIdentifier = entity.LayerIdentifier;
model.StateIdentifier = entity.StateIdentifier;
model.BackgroundScene = entity.BackgroundScene;
model.TemplateID = entity.TemplateID;
model.PageID = entity.PageID;
model.PageGroupID = entity.PageGroupID;
......@@ -180,6 +192,10 @@ namespace VIZ.Package.Service
pageEntity.PageNum = pageModel.PageNum;
pageEntity.ConnGroupID = pageModel.ConnGroupID;
pageEntity.Order = j;
pageEntity.TransitionLogic = pageModel.TransitionLogic;
pageEntity.LayerIdentifier = pageModel.LayerIdentifier;
pageEntity.StateIdentifier = pageModel.StateIdentifier;
pageEntity.BackgroundScene = pageModel.BackgroundScene;
pages.Add(pageEntity);
}
......
......@@ -253,9 +253,13 @@ namespace VIZ.Package.Service
model.TreeNodePath = entity.TreeNodePath;
model.TreeNodeName = entity.TreeNodeName;
model.Description = entity.Description;
model.UseAllDirectors = entity.UseAllDirectors;
model.FieldDetails = entity.FieldDetails ?? string.Empty;
model.CustomFieldDetails = entity.CustomFieldDetails ?? string.Empty;
model.UseAllDirectors = entity.UseAllDirectors;
model.TransitionLogic = entity.TransitionLogic;
model.LayerIdentifier = entity.LayerIdentifier;
model.StateIdentifier = entity.StateIdentifier;
model.BackgroundScene = entity.BackgroundScene;
this.UpdateControlObjectField(null, model, model.FieldDetails, false);
}
......
......@@ -81,11 +81,27 @@ namespace VIZ.Package.Service
// 获取控制对象
ControlObjectModel controlObject = this.vizCommandControlObjectService.GetControlObject(ApplicationDomainEx.PreviewConn);
// 更新控制对象属性至页对象
this.UpdateControlObject2PageModelBase(pageBase, controlObject);
// 保存控制对象到本地
this.controlObjectService.SaveControlObject(pageBase, controlObject);
// 保存控制对象字段到本地
this.controlObjectService.SaveControlFields(pageBase, controlObject.AllFiledNodes);
}
/// <summary>
/// 更新控制对象属性至页对象
/// </summary>
/// <param name="pageBase">页对象</param>
/// <param name="controlObject">控制对象</param>
private void UpdateControlObject2PageModelBase(PageModelBase pageBase, ControlObjectModel controlObject)
{
pageBase.TransitionLogic = controlObject.TransitionLogic;
pageBase.LayerIdentifier = controlObject.LayerIdentifier;
pageBase.StateIdentifier = controlObject.StateIdentifier;
pageBase.BackgroundScene = controlObject.BackgroundScene;
}
}
}
......@@ -39,18 +39,38 @@ namespace VIZ.Package.Storage
public string Description { get; set; }
/// <summary>
/// 字段描述
/// </summary>
public string FieldDetails { get; set; }
/// <summary>
/// 自定义字段描述
/// </summary>
public string CustomFieldDetails { get; set; }
/// <summary>
/// 使用所有的控制器
/// </summary>
public bool UseAllDirectors { get; set; }
/// <summary>
/// 字段描述
/// 是否为切换逻辑层
/// </summary>
public string FieldDetails { get; set; }
public bool TransitionLogic { get; set; }
/// <summary>
/// 自定义字段描述
/// 切换逻辑层名
/// </summary>
public string CustomFieldDetails { get; set; }
public string LayerIdentifier { get; set; }
/// <summary>
/// 进入方式
/// </summary>
public string StateIdentifier { get; set; }
/// <summary>
/// 背景层
/// </summary>
public string BackgroundScene { get; set; }
}
}
......@@ -57,5 +57,28 @@ namespace VIZ.Package.Storage
/// 排序索引
/// </summary>
public int Order { get; set; }
// -------------------------------------------------------------------
// 切换逻辑
/// <summary>
/// 是否为切换逻辑层
/// </summary>
public bool TransitionLogic { get; set; }
/// <summary>
/// 切换逻辑层名
/// </summary>
public string LayerIdentifier { get; set; }
/// <summary>
/// 进入方式
/// </summary>
public string StateIdentifier { get; set; }
/// <summary>
/// 背景层
/// </summary>
public string BackgroundScene { get; set; }
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment