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));
        }
Beispiel #2
0
        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);
        }