Example #1
0
        void VariableRemoved(Variable variable)
        {
            Dispatcher.Invoke(new Action<MainWindow>((sender) =>
            {
                Widget widget = widgets[variable];

                wrapPanel1.Children.Remove(widget);
                widgets.Remove(variable);
            }), this);
        }
Example #2
0
        void VariableAdded(Variable variable)
        {
            Dispatcher.Invoke(new Action<MainWindow>((sender) =>
            {
                Widget widget = new Widget(variable);
                widget.OnChangeVariable += new Action<Variable>(widget_OnChangeVariable);

                wrapPanel1.Children.Add(widget);
                widgets[variable] = widget;
            }), this);
        }
Example #3
0
 unsafe void dataToVariable(Variable v, byte[] data)
 {
 }
Example #4
0
        private void AddVariable(string name, string type, byte[] data)
        {
            Type[] types = typeof(Native).GetNestedTypes();
            Type native = types.Where(t => t.Name == "_" + type).SingleOrDefault();

            if (native == null)
            {
                throw new Exception("Unsupported type send from server");
            }

            Variable v = new Variable(native, name);
            v.DataToStruct(data);

            variables.Add(v);
            OnVariableAdded(v);
        }
Example #5
0
        internal void SendVariable(Variable v)
        {
            v.StructToData();

            lock (clientWriter)
            {
                clientWriter.Write((byte)v.Name.Length);
                clientWriter.Write(System.Text.ASCIIEncoding.ASCII.GetBytes(v.Name));
                clientWriter.Write(v.DataArray, 0, v.DataArray.Length);
                client.GetStream().Flush();
            }
        }
Example #6
0
        public Widget(Variable variable)
        {
            this.variable = variable;

            InitializeComponent();
        }
Example #7
0
 void widget_OnChangeVariable(Variable v)
 {
     varman.SendVariable(v);
 }