// The user just clicked the Show Message NSButton, so we show him/her
		// a greeting. This code shows you how to execute C# code when a click is done in
		// and HTML button.
		public override void HandleEvent (DomEvent evt)
		{
			var alert = new NSAlert () {
				MessageText = "Hello there",
				InformativeText = "Saying hello from C# code. Event type: " + evt.Type
			};
			alert.RunModal();
		}
示例#2
0
			public override void HandleEvent (DomEvent evt)
			{
				callback (evt);
			}
示例#3
0
			public override void HandleEvent (DomEvent evt)
			{
				handler (root, new DomEventArgs (evt));
			}
示例#4
0
		public DomEventArgs (DomEvent evt)
		{
			Event = evt;
		}
示例#5
0
 public override void HandleEvent(DomEvent evt)
 {
     callback(evt);
 }
示例#6
0
 public override void HandleEvent(DomEvent evt)
 {
     handler(root, new DomEventArgs(evt));
 }
示例#7
0
 // hooking the click event allows us to find the submit button that started this whole process
 private void Form_OnClick(DomEvent e)
 {
     _submitButtonClicked = FindSubmitButton(e.Target);
 }
			public override void Visit (EventField e)
			{
				var evt = new DomEvent ();
				evt.Name = ConvertQuoted (e.MemberName.Name);
				evt.Documentation = RetrieveDocumentation (e.Location.Row);
				evt.Location = Convert (e.MemberName.Location);
				evt.Modifiers = ConvertModifiers (e.ModFlags);
				evt.ReturnType = ConvertReturnType (e.TypeName);
				AddAttributes (evt, e.OptAttributes, e);
				AddExplicitInterfaces (evt, e);
				evt.DeclaringType = typeStack.Peek ();
				typeStack.Peek ().Add (evt);
				if (e.Declarators != null) {
					foreach (var decl in e.Declarators) {
						evt = new DomEvent ();
						evt.Name = ConvertQuoted (decl.Name.Value);
						evt.Location = Convert (decl.Name.Location);
						evt.Modifiers = ConvertModifiers (e.ModFlags);
						evt.ReturnType = ConvertReturnType (e.TypeName);
						AddAttributes (evt, e.OptAttributes, e);
						evt.DeclaringType = typeStack.Peek ();
						typeStack.Peek ().Add (evt);
					}
				}
			}
示例#9
0
		public static DomEvent ReadEvent (BinaryReader reader, INameDecoder nameTable, IDomObjectTable objectTable)
		{
			DomEvent result = new DomEvent ();
			ReadMemberInformation (reader, nameTable, objectTable, result);
			result.ReturnType = ReadReturnType (reader, nameTable, objectTable);
			if (!ReadNull (reader))
				result.AddMethod = ReadMethod (reader, nameTable, objectTable);
			if (!ReadNull (reader))
				result.RemoveMethod = ReadMethod (reader, nameTable, objectTable);
			if (!ReadNull (reader))
				result.RaiseMethod = ReadMethod (reader, nameTable, objectTable);
			return result;
		}
示例#10
0
        static DomType ReadTypeInternal(BinaryReader reader, INameDecoder nameTable, IDomObjectTable objectTable)
        {
            uint typeCount = ReadUInt(reader, 1000);

            if (typeCount > 1)
            {
                CompoundType compoundResult = new CompoundType();
                while (typeCount-- > 0)
                {
                    compoundResult.AddPart(ReadTypeInternal(reader, nameTable, objectTable));
                }

                return(compoundResult);
            }

            DomType result = new DomType();

            ReadMemberInformation(reader, nameTable, objectTable, result);
            //			bool verbose = result.Name == "CopyDelegate";
            //			if (verbose) System.Console.WriteLine("read type:" + result.Name);
            result.TypeModifier = (TypeModifier)reader.ReadUInt32();
            result.BodyRegion   = ReadRegion(reader, nameTable);
            string compilationUnitFileName = ReadString(reader, nameTable);

            result.CompilationUnit = new CompilationUnit(compilationUnitFileName);

            result.Namespace = ReadString(reader, nameTable);
            result.ClassType = (ClassType)reader.ReadUInt32();
            result.BaseType  = ReadReturnType(reader, nameTable, objectTable);

            // implemented interfaces
            long count = ReadUInt(reader, 5000);

            //			if (verbose) System.Console.WriteLine("impl. interfaces:" + count);
            while (count-- > 0)
            {
                result.AddInterfaceImplementation(ReadReturnType(reader, nameTable, objectTable));
            }

            // innerTypes
            //			if (verbose) System.Console.WriteLine("pos:" + reader.BaseStream.Position);
            count = ReadUInt(reader, 10000);
            //			if (verbose) System.Console.WriteLine("inner types:" + count);
            while (count-- > 0)
            {
                DomType innerType = ReadTypeInternal(reader, nameTable, objectTable);
                innerType.DeclaringType = result;
                result.Add(innerType);
            }

            // fields
            //			if (verbose) System.Console.WriteLine("pos:" + reader.BaseStream.Position);
            count = ReadUInt(reader, 10000);
            //			if (verbose) System.Console.WriteLine("fields:" + count);
            while (count-- > 0)
            {
                DomField field = ReadField(reader, nameTable, objectTable);
                field.DeclaringType = result;
                result.Add(field);
            }

            // methods
            //			if (verbose) System.Console.WriteLine("pos:" + reader.BaseStream.Position);
            count = ReadUInt(reader, 10000);
            //			if (verbose) System.Console.WriteLine("methods:" + count);
            while (count-- > 0)
            {
                DomMethod method = ReadMethod(reader, nameTable, objectTable);
                method.DeclaringType = result;
                result.Add(method);
            }

            // properties
            //			if (verbose) System.Console.WriteLine("pos:" + reader.BaseStream.Position);
            count = ReadUInt(reader, 10000);
            //			if (verbose) System.Console.WriteLine("properties:" + count);
            while (count-- > 0)
            {
                DomProperty property = ReadProperty(reader, nameTable, objectTable);
                property.DeclaringType = result;
                result.Add(property);
            }

            // events
            //			if (verbose) System.Console.WriteLine("pos:" + reader.BaseStream.Position);
            count = ReadUInt(reader, 10000);
            //			if (verbose) System.Console.WriteLine("events:" + count);
            while (count-- > 0)
            {
                DomEvent evt = ReadEvent(reader, nameTable, objectTable);
                evt.DeclaringType = result;
                result.Add(evt);
            }

            // type parameters
            count = ReadUInt(reader, 500);
            while (count-- > 0)
            {
                TypeParameter tp = ReadTypeParameter(reader, nameTable, objectTable);
                result.AddTypeParameter(tp);
            }
            return(result);
        }
		public void ReadWriteEventTest ()
		{
			DomEvent input     = new DomEvent ();
			input.Name         = "Test";
			input.AddMethod    = new DomMethod ("AddMethod", Modifiers.New, MethodModifier.None, DomLocation.Empty, DomRegion.Empty);
			input.RemoveMethod = new DomMethod ("RemoveMethod", Modifiers.New, MethodModifier.None, DomLocation.Empty, DomRegion.Empty);
			input.RaiseMethod  = new DomMethod ("RaiseMethod", Modifiers.New, MethodModifier.None, DomLocation.Empty, DomRegion.Empty);
			
			MemoryStream ms = new MemoryStream ();
			BinaryWriter writer = new BinaryWriter (ms);
			DomPersistence.Write (writer, DefaultNameEncoder, input);
			byte[] bytes = ms.ToArray ();
			
			DomEvent result = DomPersistence.ReadEvent (CreateReader (bytes), DefaultNameDecoder);
			Assert.AreEqual ("Test", result.Name);
			Assert.AreEqual ("AddMethod", result.AddMethod.Name);
			Assert.AreEqual ("RemoveMethod", result.RemoveMethod.Name);
			Assert.AreEqual ("RaiseMethod", result.RaiseMethod.Name);
		}
示例#12
0
        public static void HandleClick(FormElement form, DomEvent evt)
        {
            string additionalInput = MvcHelpers.SerializeSubmitButton(evt.Target, evt.OffsetX, evt.OffsetY);

            Type.SetField(form, "_additionalInput", additionalInput);
        }
示例#13
0
 private void Element_OnChange(DomEvent e)
 {
     Type.SetField(e.Target, _hasTextChangedTag, true);
 }
示例#14
0
			public override void Visit (EventField e)
			{
				DomEvent evt = new DomEvent ();
				evt.Name = e.MemberName.Name;
				evt.Documentation = RetrieveDocumentation (e.Location.Row);
				evt.Location = Convert (e.MemberName.Location);
				evt.Modifiers = ConvertModifiers (e.ModFlags);
				evt.ReturnType = ConvertReturnType (e.TypeName);
				AddAttributes (evt, e.OptAttributes);
				AddExplicitInterfaces (evt, e);
				evt.DeclaringType = typeStack.Peek ();
				typeStack.Peek ().Add (evt);
			}
示例#15
0
			public override object VisitEventDeclaration (ICSharpCode.NRefactory.Ast.EventDeclaration eventDeclaration, object data)
			{
				DomEvent evt = new DomEvent ();
				evt.Name = eventDeclaration.Name;
				evt.Documentation = RetrieveDocumentation (eventDeclaration.StartLocation.Line);
				evt.Location = ConvertLocation (eventDeclaration.StartLocation);
				evt.Modifiers = ConvertModifiers (eventDeclaration.Modifier);
				evt.ReturnType = ConvertReturnType (eventDeclaration.TypeReference);
				evt.BodyRegion = ConvertRegion (eventDeclaration.BodyStart, eventDeclaration.BodyEnd);
				if (eventDeclaration.AddRegion != null && !eventDeclaration.AddRegion.IsNull) {
					DomMethod addMethod = new DomMethod ();
					addMethod.Name = "add";
					addMethod.BodyRegion = ConvertRegion (eventDeclaration.AddRegion.StartLocation, eventDeclaration.AddRegion.EndLocation);
					evt.AddMethod = addMethod;
				}
				if (eventDeclaration.RemoveRegion != null && !eventDeclaration.RemoveRegion.IsNull) {
					DomMethod removeMethod = new DomMethod ();
					removeMethod.Name = "remove";
					removeMethod.BodyRegion = ConvertRegion (eventDeclaration.RemoveRegion.StartLocation, eventDeclaration.RemoveRegion.EndLocation);
					evt.RemoveMethod = removeMethod;
				}
				AddAttributes (evt, eventDeclaration.Attributes);
				AddExplicitInterfaces (evt, eventDeclaration.InterfaceImplementations);
				evt.DeclaringType = typeStack.Peek ();
				typeStack.Peek ().Add (evt);
				return null;
			}
示例#16
0
			public override void Visit (EventProperty e)
			{
				DomEvent evt = new DomEvent ();
				evt.Name = e.MemberName.Name;
				evt.Documentation = RetrieveDocumentation (e.Location.Row);
				evt.Location = Convert (e.MemberName.Location);
				evt.Modifiers = ConvertModifiers (e.ModFlags);
				evt.ReturnType = ConvertReturnType (e.TypeName);
				var location = LocationsBag.GetMemberLocation (e);
				if (location != null)
					evt.BodyRegion = ConvertRegion (location[0], location[1]);
				
//				if (e.Add != null) {
//					property.GetterModifier = ConvertModifiers (p.Get.ModFlags);
//					if (p.Get.Block != null)
//						property.GetRegion = ConvertRegion (p.Get.Location, p.Get.Block.EndLocation);
//				}
//				
//				if (e.Remove != null) {
//					property.GetterModifier = ConvertModifiers (p.Get.ModFlags);
//					if (p.Get.Block != null)
//						property.GetRegion = ConvertRegion (p.Get.Location, p.Get.Block.EndLocation);
//				}
				
				AddAttributes (evt, e.OptAttributes);
				AddExplicitInterfaces (evt, e);
				
				evt.DeclaringType = typeStack.Peek ();
				typeStack.Peek ().Add (evt);
			}
示例#17
0
 public DomEventArgs(DomEvent evt)
 {
     Event = evt;
 }
			public override void Visit (EventProperty e)
			{
				DomEvent evt = new DomEvent ();
				evt.Name = ConvertQuoted (e.MemberName.Name);
				evt.Documentation = RetrieveDocumentation (e.Location.Row);
				evt.Location = Convert (e.MemberName.Location);
				evt.Modifiers = ConvertModifiers (e.ModFlags);
				evt.ReturnType = ConvertReturnType (e.TypeName);
				var location = LocationsBag.GetMemberLocation (e);
				if (location != null)
					evt.BodyRegion = ConvertRegion (location[1], location[location.Count - 1]);
				
				AddAttributes (evt, e.OptAttributes, e);
				AddExplicitInterfaces (evt, e);
				
				evt.DeclaringType = typeStack.Peek ();
				typeStack.Peek ().Add (evt);
			}
示例#19
0
 public void EnableDynamicValidation()
 {
     DomEvent.AddHandler(FormElement, "click", _onClickHandler);
     DomEvent.AddHandler(FormElement, "submit", _onSubmitHandler);
 }