示例#1
0
	// Constructor.
	internal Widget(Display dpy, Screen screen,
					DrawableKind kind, Widget parent)
			: base(dpy, screen, kind)
			{
				// Set the initial widget properties.
				cursor = null;
				autoMapChildren = true;
				sensitive = true;

				// Insert this widget into the widget tree under its parent.
				this.parent = parent;
				this.topChild = null;
				this.nextAbove = null;
				if(parent != null)
				{
					ancestorSensitive =
						(parent.sensitive && parent.ancestorSensitive);
					nextBelow = parent.topChild;
					if(parent.topChild != null)
					{
						parent.topChild.nextAbove = this;
					}
					parent.topChild = this;
				}
				else
				{
					ancestorSensitive = true;
					nextBelow = null;
				}
				this.eventMask = 0;
			}
示例#2
0
 public static extern int  XSendEvent(IntPtr display, IntPtr w, bool propagate, EventMask mask, ref XEvent e);
示例#3
0
文件: TrayLib.cs 项目: GNOME/banter
 static extern IntPtr XSelectInput(IntPtr window, IntPtr display, EventMask mask);
示例#4
0
		internal extern static int XGrabPointer(IntPtr display, IntPtr window, bool owner_events, EventMask event_mask, GrabMode pointer_mode, GrabMode keyboard_mode, IntPtr confine_to, IntPtr cursor, IntPtr timestamp);
示例#5
0
 public static int XSendEvent(IntPtr display, IntPtr window, bool propagate, EventMask event_mask, ref XEvent send_event)
 {
     return XSendEvent(display, window, propagate, new IntPtr((int)event_mask), ref send_event);
 }
示例#6
0
 /// <summary>
 /// Remove all events of a certain type
 /// </summary>
 /// <param name="eventMask">
 /// Events to remove
 /// </param>
 public static void Remove(EventMask eventMask)
 {
     Remove(eventMask, QUERY_EVENTS_MAX);
 }
示例#7
0
 extern public static void XMaskEvent(IntPtr display, EventMask event_mask, ref XEvent e);
示例#8
0
		internal extern static IntPtr XSelectInput (IntPtr display, IntPtr window, EventMask mask);
示例#9
0
        /// <summary>
        /// Creates an instance attached to a particular named test.
        /// </summary>
        /// <param name="eventSource">
        /// The event source to listen to.
        /// </param>
        /// <param name="fullyQualifiedTestName">
        /// Name of the owning test. Used for diagnostics when these listeners leak (not disposed after a test execution).
        /// </param>
        /// <param name="captureAllDiagnosticMessages">
        /// If true, all messages tagged with Diagnostics are captured (rather than needing to be enabled per-task).
        /// </param>
        /// <param name="logAction">
        /// Action to perform when logging a string. This allows test frameworks to hook into their own logging.
        /// Writes to the console if unspecified
        /// </param>
        /// <param name="eventMask">event mask for controlling which events are enabled/disabled</param>
        protected TestEventListenerBase(Events eventSource, string fullyQualifiedTestName, bool captureAllDiagnosticMessages = true, Action <string> logAction = null, EventMask eventMask = null)
            : base(eventSource, null, EventLevel.Verbose, captureAllDiagnosticMessages: captureAllDiagnosticMessages, listenDiagnosticMessages: true, eventMask: eventMask)
        {
            Contract.Requires(eventSource != null);
            Contract.Requires(!string.IsNullOrEmpty(fullyQualifiedTestName));

            m_owningTestFullyQualifiedName = fullyQualifiedTestName;
            m_logAction = logAction;

            TestEventListenerBase existingListener = Interlocked.Exchange(ref s_currentTestListener, this);

            if (existingListener != null)
            {
                Interlocked.CompareExchange(ref s_currentTestListener, null, comparand: this);
#pragma warning disable CA2214 // Do not call overridable methods in constructors
                AssertTrue(
                    false,
                    "A TestEventListener for {0} was not disposed upon completion of the test. This can cause repeated log messages and impact test performance.",
                    existingListener.m_owningTestFullyQualifiedName);
#pragma warning restore CA2214 // Do not call overridable methods in constructors
            }
        }
示例#10
0
 public static extern bool XWindowEvent(Display display, Window w, EventMask event_mask,
                                        ref XEvent event_return);
示例#11
0
 extern static int XSendEvent(IntPtr display, IntPtr window, bool propagate, EventMask event_mask, ref XClientMessageEvent send_event);
示例#12
0
 extern static IntPtr XSelectInput(IntPtr window, IntPtr display, EventMask mask);
示例#13
0
 public static extern Status XGrabPointer(IntPtr display, Window grab_window, bool owner_events, EventMask event_mask,
                                          GrabMode pointer_mode, GrabMode keyboard_mode, Window confine_to, Cursor cursor, ulong time);
示例#14
0
 public static extern Status XGrabButton(IntPtr display, Button button, KeyButtonMask modifiers, Window grab_window,
                                         bool owner_events, EventMask event_mask, GrabMode pointer_mode, GrabMode keyboard_mode, Window confine_to, FontCursor cursor);
示例#15
0
文件: API.cs 项目: tanis2000/FEZ
 public static void SelectInput(IntPtr display, IntPtr w, EventMask event_mask);
示例#16
0
		internal extern static bool XCheckWindowEvent (IntPtr display, IntPtr window, EventMask mask, ref XEvent xevent);
示例#17
0
 public static extern Status XSendEvent(IntPtr display, IntPtr windoe, bool propagate, EventMask event_mask, ref XClientMessageEvent event_send);
示例#18
0
		private static extern string XGetICValues (IntPtr xic, string name, out EventMask value, IntPtr terminator);
示例#19
0
 public static extern Status XCheckWindowEvent(IntPtr display, Window window, EventMask mask, IntPtr event_return);
示例#20
0
 /// <summary>
 /// View all events of a certain type in the queue
 /// </summary>
 /// <param name="eventMask">Type of events to view</param>
 /// <returns>Array of events</returns>
 public static SdlEventArgs[] Peek(EventMask eventMask)
 {
     return Peek(eventMask, QUERY_EVENTS_MAX);
 }
示例#21
0
 public static extern Status XMaskEvent(IntPtr display, EventMask mask, IntPtr event_return);
示例#22
0
 /// <summary>
 /// Retrieve events of a certain type
 /// </summary>
 /// <param name="eventMask">Event to retrieve</param>
 /// <returns>Array containing events</returns>
 public static SdlEventArgs[] Retrieve(EventMask eventMask)
 {
     return Retrieve(eventMask, QUERY_EVENTS_MAX);
 }
示例#23
0
 public static extern bool XCheckMaskEvent(IntPtr display, EventMask mask, IntPtr event_return);
示例#24
0
		internal static int XGrabPointer(IntPtr display, IntPtr window, bool owner_events, EventMask event_mask, GrabMode pointer_mode, GrabMode keyboard_mode, IntPtr confine_to, IntPtr cursor, IntPtr timestamp)
		{
			DebugHelper.TraceWriteLine ("XGrabPointer");
			return _XGrabPointer(display, window, owner_events, event_mask, pointer_mode, keyboard_mode, confine_to, cursor, timestamp);
		}
示例#25
0
        /// <summary>
        /// Gets the channel prototypes for the device.
        /// </summary>
        public override ICollection <CnlPrototype> GetCnlPrototypes()
        {
            if (LoadDeviceTemplate() is not DeviceTemplate deviceTemplate)
            {
                return(null);
            }

            List <CnlPrototype> cnlPrototypes = new();
            int tagNum = 1;

            foreach (ElemGroupConfig elemGroupConfig in deviceTemplate.ElemGroups)
            {
                foreach (ElemConfig elemConfig in elemGroupConfig.Elems)
                {
                    // create channel for element
                    bool isBool    = elemConfig.ElemType == ElemType.Bool;
                    int  eventMask = new EventMask
                    {
                        Enabled      = true,
                        DataChange   = isBool,
                        StatusChange = !isBool,
                        Command      = !elemConfig.ReadOnly
                    }.Value;

                    cnlPrototypes.Add(new CnlPrototype
                    {
                        Active     = elemGroupConfig.Active,
                        Name       = elemConfig.Name,
                        CnlTypeID  = elemConfig.ReadOnly ? CnlTypeID.Input : CnlTypeID.InputOutput,
                        TagNum     = string.IsNullOrEmpty(elemConfig.TagCode) ? tagNum : null,
                        TagCode    = elemConfig.TagCode,
                        FormatCode = isBool
                            ? FormatCode.OffOn
                            : elemConfig.IsBitMask ? FormatCode.X : null,
                        EventMask = eventMask
                    });

                    // create channels for bit mask
                    if (elemConfig.IsBitMask && elemConfig.ElemType != ElemType.Bool)
                    {
                        eventMask = new EventMask
                        {
                            Enabled    = true,
                            DataChange = true,
                            Command    = !elemConfig.ReadOnly
                        }.Value;

                        for (int bit = 0, bitCnt = ModbusUtils.GetDataLength(elemConfig.ElemType) * 8;
                             bit < bitCnt; bit++)
                        {
                            cnlPrototypes.Add(new CnlPrototype
                            {
                                Active         = elemGroupConfig.Active,
                                Name           = elemConfig.Name + "[" + bit + "]",
                                CnlTypeID      = elemConfig.ReadOnly ? CnlTypeID.Calculated : CnlTypeID.CalculatedOutput,
                                FormatCode     = FormatCode.OffOn,
                                FormulaEnabled = true,
                                InFormula      = $"GetBit(DataRel({-bit - 1}), {bit})",
                                OutFormula     = elemConfig.ReadOnly ? null : $"SetBit(DataRel({-bit - 1}), {bit}, Cmd)",
                                EventMask      = eventMask
                            });
                        }
                    }

                    tagNum++;
                }
            }

            // create channels for commands
            int cmdEventMask = new EventMask {
                Enabled = true, Command = true
            }.Value;

            foreach (CmdConfig cmdConfig in deviceTemplate.Cmds)
            {
                cnlPrototypes.Add(new CnlPrototype
                {
                    Name       = cmdConfig.Name,
                    CnlTypeID  = CnlTypeID.Output,
                    TagNum     = string.IsNullOrEmpty(cmdConfig.CmdCode) ? cmdConfig.CmdNum : null,
                    TagCode    = cmdConfig.CmdCode,
                    FormatCode = cmdConfig.DataBlock == DataBlock.Coils && !cmdConfig.Multiple ?
                                 FormatCode.OffOn : null,
                    EventMask = cmdEventMask
                });
            }

            return(cnlPrototypes);
        }
示例#26
0
文件: API.cs 项目: WolfgangSt/axiom
 internal static extern void SelectInput(Display display, Window w, EventMask event_mask);
示例#27
0
 private void __BuildControl__control21(EventMask __ctrl)
 {
     __ctrl.ShowMask = (true);
     __ctrl.Msg      = ("正在登录");
 }
示例#28
0
 public static extern Status XChangeActivePointerGrab(IntPtr display, EventMask event_mask, Cursor cursor, ulong time);
示例#29
0
 /// <summary>
 /// Remove all events of a certain type
 /// </summary>
 /// <param name="eventMask">
 /// Events to remove
 /// </param>
 public static void Remove(EventMask eventMask)
 {
     Remove(eventMask, QUERY_EVENTS_MAX);
 }
示例#30
0
 private extern static IntPtr XSelectInput (IntPtr window, IntPtr display, EventMask mask);
示例#31
0
 /// <summary>
 /// Retrieve events of a certain type
 /// </summary>
 /// <param name="eventMask">Event to retrieve</param>
 /// <returns>Array containing events</returns>
 public static SdlEventArgs[] Retrieve(EventMask eventMask)
 {
     return(Retrieve(eventMask, QUERY_EVENTS_MAX));
 }
示例#32
0
文件: API.cs 项目: tanis2000/FEZ
 public static bool CheckMaskEvent(IntPtr display, EventMask event_mask, ref XEvent event_return);
示例#33
0
 /// <summary>
 /// View all events of a certain type in the queue
 /// </summary>
 /// <param name="eventMask">Type of events to view</param>
 /// <returns>Array of events</returns>
 public static SdlEventArgs[] Peek(EventMask eventMask)
 {
     return(Peek(eventMask, QUERY_EVENTS_MAX));
 }
示例#34
0
		internal extern static bool XCheckMaskEvent (IntPtr display, EventMask mask, ref XEvent xevent);
示例#35
0
 public ConsoleEventListener(Events eventSource, DateTime baseTime, WarningMapper warningMapper = null, EventLevel level = EventLevel.Verbose, bool captureAllDiagnosticMessages = false, TimeDisplay timeDisplay = TimeDisplay.None, EventMask eventMask = null, DisabledDueToDiskWriteFailureEventHandler onDisabledDueToDiskWriteFailure = null, bool listenDiagnosticMessages = false, bool useCustomPipDescription = false)
     : base(eventSource, baseTime, warningMapper, level, captureAllDiagnosticMessages, timeDisplay, eventMask, onDisabledDueToDiskWriteFailure, listenDiagnosticMessages, useCustomPipDescription)
 {
 }
示例#36
0
		internal extern static int XSendEvent (IntPtr display, IntPtr window, bool propagate, EventMask event_mask, ref XEvent send_event);
示例#37
0
 public extern static int XGrabButton(IntPtr display,
                                      int button, uint modifiers, Window grab_window,
                                      Bool owner_events, EventMask event_mask,
                                      GrabMode pointer_mode, GrabMode keyboard_mode,
                                      Window confine_to, Cursor cursor);
示例#38
0
		void CreateXicForWindow (IntPtr window)
		{
			IntPtr xic = CreateXic (window, xim);
			xic_table [(long) window] = xic;
			if (xic == IntPtr.Zero)
				Console.Error.WriteLine ("Could not get XIC");
			else {
				if (XGetICValues (xic, "filterEvents", out xic_event_mask, IntPtr.Zero) != null)
					Console.Error.WriteLine ("Could not get XIC values");
				EventMask mask = EventMask.ExposureMask | EventMask.KeyPressMask | EventMask.FocusChangeMask;
				if ((xic_event_mask | mask) == xic_event_mask) {
					xic_event_mask |= mask;
					lock (XlibLock) {
						XplatUIX11.XSelectInput(display, window, new IntPtr ((int) xic_event_mask));
					}
				}
			}
		}
示例#39
0
 public extern static Bool XCheckWindowEvent(Display display, Window w, EventMask event_mask, ref XEvent event_return);
示例#40
0
 /// <summary>
 /// check to se if a certain kind of event is queued
 /// </summary>
 /// <param name="eventMask">Mask for event to check for</param>
 /// <returns>If event is queued, then method returns true</returns>
 public static bool IsEventQueued(EventMask eventMask)
 {
     SdlEventArgs[] eventArray = Peek(eventMask, QUERY_EVENTS_MAX);
     if (eventArray.Length > 0)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
示例#41
0
 /// <nodoc/>
 public TestEventListener(Events eventSource, string fullyQualifiedTestName, bool captureAllDiagnosticMessages = true, Action <string> logAction = null, EventMask eventMask = null)
     : base(eventSource, fullyQualifiedTestName, captureAllDiagnosticMessages, logAction, eventMask)
 {
 }
示例#42
0
 /// <summary>
 /// Returns an array of events in the event queue.
 /// </summary>
 /// <param name="eventMask">Mask for event that will be removed from queue</param>
 /// <param name="numberOfEvents">Number of events to remove</param>
 public static void Remove(EventMask eventMask, int numberOfEvents)
 {
     Sdl.SDL_Event[] events = new Sdl.SDL_Event[numberOfEvents];
     Sdl.SDL_PumpEvents();
     int result =
         Sdl.SDL_PeepEvents(
         events,
         events.Length,
         Sdl.SDL_GETEVENT,
         (int)eventMask);
     if (result == (int)SdlFlag.Error)
     {
         throw SdlException.Generate();
     }
 }
示例#43
0
 public static int XSendEvent(IntPtr display, IntPtr window, bool propagate, EventMask event_mask, ref XEvent send_event)
 {
     return(Functions.XSendEvent(display, window, propagate, new IntPtr((int)event_mask), ref send_event));
 }
示例#44
0
        /// <summary>
        /// Retrieve events of a certain type
        /// </summary>
        /// <param name="eventMask">Event to retrieve</param>
        /// <param name="numberOfEvents">Number of events to retrieve</param>
        /// <returns>Array containing events</returns>
        public static SdlEventArgs[] Retrieve(EventMask eventMask, int numberOfEvents)
        {
            Sdl.SDL_PumpEvents();

            Sdl.SDL_Event[] events = new Sdl.SDL_Event[numberOfEvents];

            int result = Sdl.SDL_PeepEvents(
                events,
                events.Length,
                Sdl.SDL_GETEVENT,
                (int)eventMask
                );

            if (result == (int)SdlFlag.Error)
            {
                throw SdlException.Generate();
            }

            SdlEventArgs[] eventsArray = new SdlEventArgs[result];
            for (int i = 0; i < eventsArray.Length; i++)
            {
                if (events[i].type == (byte)EventTypes.UserEvent)
                {
                    eventsArray[i] = (UserEventArgs)userEvents[events[i].user.code];
                    userEvents.Remove(events[i].user.code);
                }
                else
                {
                    eventsArray[i] = SdlEventArgs.CreateEventArgs(events[i]);
                }
            }

            return eventsArray;
        }
示例#45
0
 public static int XGrabPointer(IntPtr display, IntPtr window, bool owner_events, EventMask event_mask, GrabMode pointer_mode, GrabMode keyboard_mode, IntPtr confine_to, IntPtr cursor, IntPtr timestamp);
示例#46
0
 public extern static int XGrabButton(IntPtr display,
     int button, uint modifiers, Window grab_window,
     Bool owner_events, EventMask event_mask,
     GrabMode pointer_mode, GrabMode keyboard_mode,
     Window confine_to, Cursor cursor);
示例#47
0
 public static int XGrabButton(IntPtr display, int button, uint modifiers, IntPtr grab_window, bool owner_events, EventMask event_mask, GrabMode pointer_mode, GrabMode keyboard_mode, IntPtr confine_to, IntPtr cursor);
示例#48
0
 public extern static Bool XCheckWindowEvent(Display display, Window w, EventMask event_mask, ref XEvent event_return);
示例#49
0
 public static int XChangeActivePointerGrab(IntPtr display, EventMask event_mask, IntPtr cursor, IntPtr time);
示例#50
0
		internal static int XChangeActivePointerGrab (IntPtr display, EventMask event_mask, IntPtr cursor, IntPtr time)
		{
			DebugHelper.TraceWriteLine ("XChangeActivePointerGrab");
			return _XChangeActivePointerGrab (display, event_mask, cursor, time);
		}
示例#51
0
 public static void XMaskEvent(IntPtr display, EventMask event_mask, ref XEvent e);
示例#52
0
		internal extern static int XChangeActivePointerGrab (IntPtr display, EventMask event_mask, IntPtr cursor, IntPtr time);
示例#53
0
 public static bool XWindowEvent(IntPtr display, IntPtr w, EventMask event_mask, ref XEvent event_return);
示例#54
0
文件: API.cs 项目: WolfgangSt/axiom
 internal static extern bool CheckMaskEvent(Display display, EventMask event_mask, ref XEvent event_return);
示例#55
0
 extern public static void XSelectInput(IntPtr x11display, IntPtr x11window, EventMask eventMask);
示例#56
0
文件: TrayLib.cs 项目: GNOME/banter
 static extern int XSendEvent(IntPtr display, IntPtr window, bool propagate, EventMask event_mask, ref XClientMessageEvent send_event);
示例#57
0
 private static extern bool WFWaitSystemEvent(IntPtr hServer, EventMask eventMask, out EventMask pEventFlags);