Windows.UI.Color GetTypeColor(Model.TrickerStarSlotType type_name) { switch (type_name) { case Model.TrickerStarSlotType.STRING: return(Windows.UI.Color.FromArgb(255, 0, 255, 255)); case Model.TrickerStarSlotType.BOOL: return(Windows.UI.Color.FromArgb(255, 64, 128, 240)); break; case Model.TrickerStarSlotType.INT: return(Windows.UI.Color.FromArgb(255, 255, 128, 128)); break; case Model.TrickerStarSlotType.STRUCTURE: return(Windows.UI.Color.FromArgb(255, 255, 128, 128)); break; case Model.TrickerStarSlotType.DOUBLE: return(Windows.UI.Color.FromArgb(255, 128, 128, 128)); break; case Model.TrickerStarSlotType.EXECUTE: return(Windows.UI.Color.FromArgb(255, 240, 64, 220)); break; } return(Windows.UI.Color.FromArgb(255, 128, 255, 128)); }
public void TS_AddSlot(String NodeName, Model.TrickerStarSlotType typename, String slotname, Model.TrickerStarSlotSide side) { if (NodeName == null) { return; } if (!m_FunctionNodeModels.ContainsKey(NodeName)) { return; } Model.TrickerStarFunctionNodeModel node_m = (Model.TrickerStarFunctionNodeModel)m_FunctionNodeModels[NodeName]; TrickerStarFunctionNode node_v = (TrickerStarFunctionNode)m_FunctionNodeViews[NodeName]; if (side == TrickerStarSlotSide.INPUT) { node_v.AddInpusStack(typename, slotname); //node_v.AddInputLabel(typename,placeholder); node_m.InputSlot.Add(new TrickerStarNodeSoltDetail() { NodeName = node_v.m_NodeName, SlotIndex = node_m.InputSlot.Count, SlotSide = TrickerStarSlotSide.INPUT, SlotName = slotname, SlotType = typename, }); } if (side == TrickerStarSlotSide.OUTPUT) { node_v.AddOutpusStack(typename, slotname); // node_v.AddOutputLabel(typename,placeholder); node_m.OutputSlot.Add(new TrickerStarNodeSoltDetail() { NodeName = node_v.m_NodeName, SlotIndex = node_m.OutputSlot.Count, SlotSide = TrickerStarSlotSide.OUTPUT, SlotName = slotname, SlotType = typename, }); } m_FunctionNodeModels[NodeName] = node_m; m_FunctionNodeViews[NodeName] = node_v; }
String GetTypeLabel(Model.TrickerStarSlotType type_name) { switch (type_name) { case Model.TrickerStarSlotType.STRING: return("◉"); break; case Model.TrickerStarSlotType.INT: return("◉"); break; case Model.TrickerStarSlotType.DOUBLE: return("◉"); break; case Model.TrickerStarSlotType.STRUCTURE: return("◉"); break; case Model.TrickerStarSlotType.EXECUTE: return("◈"); break; case Model.TrickerStarSlotType.INSTANCE_VALUE: return("◈"); break; } return("◉"); }
public void AddInpusStack(Model.TrickerStarSlotType type_str, String name_str) { var slot = new Model.TrickerStarNodeSolt() { SlotName = name_str, SlotType = type_str, SlotSide = Model.TrickerStarSlotSide.INPUT, SlotIndex = m_InputSlot.Count }; m_InputSlot.Add(slot); /* <Grid MaxHeight="48" Margin="0,0,0,0" > * < Grid.RowDefinitions > * < RowDefinition Height = "12" /> * * < RowDefinition Height = "24" /> * * </ Grid.RowDefinitions > * * < TextBlock FontSize = "6" HorizontalAlignment = "Stretch" VerticalAlignment = "Stretch" Height = "16" > jdfghjk </ TextBlock > * * < TextBlock FontSize = "12" HorizontalAlignment = "Center" VerticalAlignment = "Center" Height = "24" Grid.Row = "1" FontWeight = "Bold" > jdfghjk </ TextBlock > * * * </ Grid > */ Grid slot_grid = new Grid(); slot_grid.MaxHeight = 48; slot_grid.MinHeight = 48; if (slot.SlotType == Model.TrickerStarSlotType.PLACEHOLDER) { C_INPUT_STACK.Children.Add(slot_grid); AddInputLabel(slot); return; } slot_grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) }); slot_grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) }); slot_grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(4, GridUnitType.Star) }); Border border = new Border(); border.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 0, 0, 0)); TextBlock var_type = new TextBlock(); var_type.FontSize = 8; var_type.HorizontalAlignment = HorizontalAlignment.Left; var_type.VerticalAlignment = VerticalAlignment.Stretch; var_type.Text = type_str.ToString(); var_type.Foreground = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 255, 255, 255)); border.Child = var_type; border.HorizontalAlignment = HorizontalAlignment.Left; border.CornerRadius = new CornerRadius(4); border.Padding = new Thickness(4, 0, 4, 0); border.Margin = new Thickness(8, 0, 0, 0); border.BorderBrush = new SolidColorBrush(GetTypeColor(type_str)); border.BorderThickness = new Thickness(2); TextBlock var_name = new TextBlock(); var_name.FontSize = 12; var_name.FontWeight = new Windows.UI.Text.FontWeight() { Weight = 700 }; var_name.HorizontalAlignment = HorizontalAlignment.Center; var_name.VerticalAlignment = VerticalAlignment.Stretch; var_name.Text = name_str; var_name.Margin = new Thickness(0, 0, 0, 0); var_name.Foreground = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 255, 255, 255)); TextBox var_instance_value = new TextBox(); var_instance_value.Height = 32; var_instance_value.FontSize = 12; var_instance_value.AcceptsReturn = true; var_instance_value.FontWeight = new Windows.UI.Text.FontWeight() { Weight = 500 }; var_instance_value.HorizontalAlignment = HorizontalAlignment.Stretch; var_instance_value.VerticalAlignment = VerticalAlignment.Stretch; var_instance_value.Margin = new Thickness(-1, -1, -1, -1); var_instance_value.Foreground = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 255, 255, 255)); var_instance_value.Name = name_str; var_instance_value.TextWrapping = TextWrapping.Wrap; var_instance_value.MaxWidth = 400; var_instance_value.DataContext = slot; var_instance_value.TextChanged += SlotValueTextChanged; var_instance_value.PlaceholderText = name_str; Border name_border = new Border(); name_border.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 0, 0, 0)); name_border.BorderBrush = new SolidColorBrush(GetTypeColor(type_str)); name_border.BorderThickness = new Thickness(2); name_border.Margin = new Thickness(4); name_border.CornerRadius = new CornerRadius(4); name_border.MaxWidth = 200; if (type_str == Model.TrickerStarSlotType.INSTANCE_VALUE) { name_border.Child = var_instance_value; } else { name_border.Child = var_name; } Grid.SetRow(name_border, 1); Grid.SetRowSpan(name_border, 2); slot_grid.Children.Add(name_border); Grid.SetRow(border, 0); Grid.SetRowSpan(border, 2); slot_grid.Children.Add(border); C_INPUT_STACK.Children.Add(slot_grid); slot_grid.DataContext = slot; slot_grid.PointerPressed += OnSlotPressed; AddInputLabel(slot); }