Beispiel #1
0
 //any atrribute changed
 void element_AttributeChanged(object sender, AttributeEventArgs e)
 {
     //setting "inserBeforeID" should not trigger an attributeupdate
     //it is specially used for adding elements at a specific place in the DOM
     if (e.Attribute != "insertBeforeID")
     {
         var elem = sender as SvgElement;
         var val = TypeDescriptor.GetConverter(e.Value).ConvertToString(null, CultureInfo.InvariantCulture, e.Value);
         //System.Diagnostics.Debug.WriteLine(elem.ID + " " + e.Attribute + " " + val);
         RemoteContext.AddAttributeUpdate((sender as SvgElement).ID, e.Attribute, e.Value);
     }
 }
 private void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
 {
     Dirty = true;
 }
 protected override void OnAttributeChanged(object sender, AttributeEventArgs e)
 {
     Sender = sender;
     E      = e;
     base.OnAttributeChanged(sender, e);
 }
Beispiel #4
0
 private void Child_AttributeChanged(object sender, AttributeEventArgs e)
 {
     UpdateBridgeList();
 }
 /// <summary>
 /// Performs custom actions after an attribute in the DOM subtree changes</summary>
 /// <param name="sender">Sender (root DOM node)</param>
 /// <param name="e">Attribute change event args</param>
 protected virtual void OnAttributeChanged(object sender, AttributeEventArgs e)
 {
 }
        protected virtual void DomNodeAttributeChanged(object sender, AttributeEventArgs e)
        {
            if (UndoingAttribute)
            {
                return;
            }

            if ((e.AttributeInfo != SledLuaSchema.SledLuaVarGlobalType.valueAttribute) &&
                (e.AttributeInfo != SledLuaSchema.SledLuaVarLocalType.valueAttribute) &&
                (e.AttributeInfo != SledLuaSchema.SledLuaVarUpvalueType.valueAttribute) &&
                (e.AttributeInfo != SledLuaSchema.SledLuaVarEnvType.valueAttribute))
            {
                return;
            }

            var bUndo = true;

            try
            {
                var bCanModifyVariables =
                    DebugService.IsConnected &&
                    !DebugService.IsDebugging;

                if (!bCanModifyVariables)
                {
                    SledOutDevice.OutLine(
                        SledMessageType.Error,
                        Localization.SledLuaModifyVarInvalidTime);

                    return;
                }

                var luaVar = e.DomNode.As <ISledLuaVarBaseType>();
                if (luaVar == null)
                {
                    return;
                }

                // Check if variable type is modifiable by SLED
                if (!SledLuaUtil.IsEditableLuaType(luaVar))
                {
                    SledOutDevice.OutLine(
                        SledMessageType.Error,
                        Localization.SledLuaModifyVarInvalidType);

                    return;
                }

                string szNewValue = null;

                // Check if what the user entered is valid for that particular Lua type
                switch (luaVar.LuaType)
                {
                case LuaType.LUA_TNUMBER:
                {
                    // Make sure no letters
                    double dNumber;
                    var    szValue = e.NewValue.ToString();
                    if (!double.TryParse(szValue, out dNumber))
                    {
                        SledOutDevice.OutLine(
                            SledMessageType.Error,
                            SledUtil.TransSub(Localization.SledLuaModifyVarInvalidValue1, szValue));

                        return;
                    }

                    szNewValue = szValue;
                }
                break;

                case LuaType.LUA_TSTRING:
                {
                    szNewValue = e.NewValue.ToString();
                }
                break;

                case LuaType.LUA_TBOOLEAN:
                {
                    // Make sure true/false/1/0
                    var szValue = e.NewValue.ToString().ToLower();
                    if (string.Compare(szValue, Resources.Resource.True, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        szNewValue = Resources.Resource.One;
                    }
                    else if (string.Compare(szValue, Resources.Resource.False, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        szNewValue = Resources.Resource.Zero;
                    }
                    else
                    {
                        if ((string.Compare(szValue, Resources.Resource.One, StringComparison.Ordinal) != 0) &&
                            (string.Compare(szValue, Resources.Resource.Zero, StringComparison.Ordinal) != 0))
                        {
                            SledOutDevice.OutLine(
                                SledMessageType.Error,
                                SledUtil.TransSub(Localization.SledLuaModifyVarInvalidValue2, e.NewValue));

                            return;
                        }

                        szNewValue = szValue;
                    }
                }
                break;
                }

                // Somehow the value the user wanted didn't make it through
                if (string.IsNullOrEmpty(szNewValue))
                {
                    return;
                }

                // Cheat and use this to get all the key value pairs.
                // This takes into account watched variables as well!
                var lookUp = SledLuaVarLookUpType.FromLuaVar(luaVar, SledLuaVarLookUpContextType.Normal);
                if (lookUp == null)
                {
                    return;
                }

                SledOutDevice.OutLine(SledMessageType.Info, Localization.SledLuaModifyVarSent);

                // Send message off
                DebugService.SendScmp(new Scmp.LuaVarUpdate(LuaLanguagePlugin.LanguageId, lookUp, szNewValue, (int)luaVar.LuaType));

                bUndo = false;
            }
            catch (Exception ex)
            {
                SledOutDevice.OutLineDebug(
                    SledMessageType.Error,
                    "{0}: Exception in DomNodeAttributeChanged: {1}",
                    this, ex.Message);

                bUndo = true;
            }
            finally
            {
                if (bUndo)
                {
                    UndoAttributeChange(e);
                }
            }
        }
Beispiel #7
0
 private void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
 {
     ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));
 }
Beispiel #8
0
 private void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
 {
     MakeSyntaxXml();
 }
Beispiel #9
0
        /// <summary>
        /// Performs custom actions on DomNode.AttributeChanged events</summary>
        /// <param name="sender">Event sender</param>
        /// <param name="e">Event args</param>
        private void m_root_AttributeChanged(object sender, AttributeEventArgs e)
        {
            string analysis = m_analysisEnabled ? AnalyzeAttributeChanged(e) : string.Empty;

            m_uiDispatcher.InvokeIfRequired(() => m_data.AddDomEvent(DataType.AttributeChanged, e, analysis));
        }
Beispiel #10
0
 private void ReporterOnTransactionFinishedAttributeChanged(object sender, AttributeEventArgs attributeEventArgs)
 {
     Assert.AreSame(sender, m_reporter);
     m_events.Add(attributeEventArgs);
 }
Beispiel #11
0
 private void root_AttributeChanged(object sender, AttributeEventArgs e)
 {
     ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));
     m_root.As <SceneDocument>().Dirty = true;
 }
Beispiel #12
0
 void test_AttributeChanged(object sender, AttributeEventArgs e)
 {
     AttributeChangedArgs = e;
 }
Beispiel #13
0
        public void TestAttributeChangedEvents()
        {
            DomNodeType   type           = new DomNodeType("type");
            AttributeInfo stringTypeInfo = GetStringAttribute("string");
            AttributeInfo intTypeInfo    = GetIntAttribute("int");

            type.Define(stringTypeInfo);
            type.Define(intTypeInfo);
            DomNode test = new DomNode(type);

            test.AttributeChanging += new EventHandler <AttributeEventArgs>(test_AttributeChanging);
            test.AttributeChanged  += new EventHandler <AttributeEventArgs>(test_AttributeChanged);
            AttributeEventArgs expected;

            // test for no value change if setting to the default value and attribute is already the default
            AttributeChangingArgs = null;
            AttributeChangedArgs  = null;
            test.SetAttribute(stringTypeInfo, stringTypeInfo.DefaultValue);
            Assert.Null(AttributeChangingArgs);
            Assert.Null(AttributeChangedArgs);
            test.SetAttribute(intTypeInfo, intTypeInfo.DefaultValue);
            Assert.Null(AttributeChangingArgs);
            Assert.Null(AttributeChangedArgs);

            // test for value change, string type
            test = new DomNode(type);
            test.AttributeChanging += new EventHandler <AttributeEventArgs>(test_AttributeChanging);
            test.AttributeChanged  += new EventHandler <AttributeEventArgs>(test_AttributeChanged);
            AttributeChangingArgs   = null;
            AttributeChangedArgs    = null;
            object oldValue = test.GetAttribute(stringTypeInfo);

            test.SetAttribute(stringTypeInfo, "foo");
            expected = new AttributeEventArgs(test, stringTypeInfo, oldValue, "foo");
            Assert.True(Equals(AttributeChangingArgs, expected));
            Assert.True(Equals(AttributeChangedArgs, expected));

            oldValue = test.GetAttribute(stringTypeInfo);
            test.SetAttribute(stringTypeInfo, "foobar");
            expected = new AttributeEventArgs(test, stringTypeInfo, oldValue, "foobar");
            Assert.True(Equals(AttributeChangingArgs, expected));
            Assert.True(Equals(AttributeChangedArgs, expected));

            // test for value change, int type
            AttributeChangingArgs = null;
            AttributeChangedArgs  = null;
            oldValue = test.GetAttribute(intTypeInfo);
            test.SetAttribute(intTypeInfo, 5);
            expected = new AttributeEventArgs(test, intTypeInfo, oldValue, 5);
            Assert.True(Equals(AttributeChangingArgs, expected));
            Assert.True(Equals(AttributeChangedArgs, expected));

            oldValue = test.GetAttribute(intTypeInfo);
            test.SetAttribute(intTypeInfo, 7);
            expected = new AttributeEventArgs(test, intTypeInfo, oldValue, 7);
            Assert.True(Equals(AttributeChangingArgs, expected));
            Assert.True(Equals(AttributeChangedArgs, expected));

            // test for no value change
            test.SetAttribute(stringTypeInfo, "foo");
            AttributeChangingArgs = null;
            AttributeChangedArgs  = null;
            test.SetAttribute(stringTypeInfo, "foo");
            Assert.Null(AttributeChangingArgs);
            Assert.Null(AttributeChangedArgs);

            test.SetAttribute(intTypeInfo, 9);
            AttributeChangingArgs = null;
            AttributeChangedArgs  = null;
            test.SetAttribute(intTypeInfo, 9);
            Assert.Null(AttributeChangingArgs);
            Assert.Null(AttributeChangedArgs);
        }
Beispiel #14
0
 private void DomNodeAttributeChanged(object sender, AttributeEventArgs e)
 {
     OnDomNodeAttributeChanged(sender, e);
 }
Beispiel #15
0
 private void domNode_AttributeChanging(object sender, AttributeEventArgs e)
 {
     AttributeChangingArgs = e;
 }
Beispiel #16
0
 private string AnalyzeAttributeChanged(AttributeEventArgs e)
 {
     return(AnalyzeListeners(e.DomNode.GetAttributeChangedHandlers()));
 }
Beispiel #17
0
 /// <summary>
 /// Performs custom actions after an attribute in the DOM subtree changes</summary>
 /// <param name="sender">Sender (root DOM node)</param>
 /// <param name="e">Attribute change event args</param>
 protected virtual void OnAttributeChanged(object sender, AttributeEventArgs e)
 {
 }
Beispiel #18
0
 private void Target_AttributeChanged(object sender, AttributeEventArgs e)
 {
     OnChanged(EventArgs.Empty);
 }