IP Library Granted Patent US 11,042,421
Granted Patent B1
US 11,042,421 · App. 16/355,950 · Granted Jun 22, 2021

Modifying system-defined user interface control functionality on a computing device

Inventor: Jerome Broekhuijsen (Highland, UT)
Assignee: Ivanti, Inc.
G06F9/54G06F9/451G06F9/46G06F9/48
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,042,421
App. No.
16/355,950
Granted
Jun 22, 2021
Kind
B1
Abstract

A method for modifying a system-defined user interface control on a computing device is described. The method includes wrapping, on the computing device, a system-defined control within a programmer-defined control at run-time and modifying functionality of the system-defined control at run-time. Modifying functionality includes intercepting an initial message for a system-defined control, preventing the system-defined control from rendering and rendering a programmer-defined control in place of the system-defined control. Modifying functionality also includes intercepting a message for the system-defined control, determining whether the message requires modified functionality and providing modified functionality if the message requires modified functionality. Modifying functionality also includes sending the message to the system-defined control if the message does not require modified functionality and providing regular functionality if the message does not require modified functionality.

Claims (71)

1. An apparatus, comprising:

a memory; and

a processor operatively coupled to the memory, the processor configured to:

define a set of features of a programmer-defined control based on a set of features of a system-defined control, wherein:

the set of features of the system-defined control including a property and a function associated with the system-defined control,

the system-defined control providing a first functionality, and

the programmer-defined control providing a second functionality that is an extension of the first functionality;

wrap the system-defined control in the programmer-defined control such that the programmer-defined control uses the set of features of the system-defined control;

associate the programmer-defined control with the system-defined control such that messages for the system-defined control are intercepted by the programmer-defined control and such that an edit to the set of features of the system-defined control is reflected in the set of features of the programmer-defined control;

after the programmer-defined control is associated with the system-defined control, render on a user interface the programmer-defined control;

receive, after the rendering and at run-time, a first message associated with a user interaction event on the user interface;

when the user interaction event does not require the second functionality, send the first message to the system-defined control such that the system-defined control performs a first operation based on the user interaction event; and

when the user interaction event requires the second functionality:

determine whether the second functionality can be provided; and

in response to determining that the second functionality can be provided:

obtain information from the system-defined control; and

perform a second operation to the information independent of the system-defined control.

2. The apparatus of claim 1 , wherein the processor is further configured to in response to determining that the second functionality cannot be provided, discard the first message.

3. The apparatus of claim 1 , wherein:

the system-defined control is a ListView control for displaying a table;

the programmer-defined control is configured to provide the second functionality of sorting contents of the table; and

the processor is configured to render the programmer-defined control by displaying on the user interface a sortable table including the contents of the table.

4. The apparatus of claim 1 , wherein:

when the user interaction event is a mouse-up event, the processor is configured to determine that the mouse-up event requires the second functionality; and

when the user interaction event is a text input event, the processor is configured to determine that the text input event does not require the second functionality.

5. The apparatus of claim 1 , wherein the processor is further configured to render a set of programmer-defined controls and a set of system-defined controls on the user interface in addition to rendering the programmer-defined control.

6. An apparatus, comprising:

a memory; and

a processor operatively coupled to the memory, the processor configured to:

define a set of features of a programmer-defined control based on a set of features of a system-defined control, wherein:

the set of features of the system-defined control including a property and a function associated with the system-defined control,

the system-defined control providing a first functionality, and

the programmer-defined control providing a second functionality that is an extension of the first functionality;

wrap the system-defined control in the programmer-defined control such that the programmer-defined control uses the set of features of the system-defined control;

associate the programmer-defined control with the system-defined control such that messages for the system-defined control are intercepted by the programmer-defined control and such that an edit to the set of features of the system-defined control is reflected in the set of features of the programmer-defined control;

after the programmer-defined control is associated with the system-defined control, render on a user interface the programmer-defined control;

receive, after the rendering and at run-time, a first message associated with a user interaction event on the user interface;

when the user interaction event does not require modifying the first message to implement the second functionality, send the first message to the system-defined control such that the system-defined control performs a first operation based on the user interaction event; and

when the user interaction event requires modifying the first message to implement the second functionality:

modify the first message based on the second functionality to produce a second message; and

send the second message to the system-defined control such that the system-defined control performs a second operation based on the user interaction event, the second operation being different from the first operation.

7. The apparatus of claim 6 , wherein:

the system-defined control is a ListView control for displaying a table;

the programmer-defined control is configured to provide the second functionality of sorting contents of the table; and

the processor is configured to render the programmer-defined control by displaying on the user interface a sortable table including the contents of the table.

8. The apparatus of claim 6 , wherein the second operation implements the second functionality.

9. The apparatus of claim 6 , wherein the second operation implements the second functionality that is different from the first functionality.

10. The apparatus of claim 6 , wherein:

the processor is configured to, prior to the rendering, receive a request at the run-time for the system-defined control, and

the processor is configured to render the programmer-defined control while not rendering the system-defined control in response to receiving the request.

11. The apparatus of claim 6 , wherein the processor is further configured to, when the user interaction event requires modifying the first message, perform a third operation based on the user interaction event and independent of the system-defined control.

12. A method, comprising:

defining a set of features of a programmer-defined control based on a set of features of a system-defined control, wherein:

the set of features of the system-defined control including a property and a function associated with the system-defined control,

the system-defined control providing a first functionality, and

the programmer-defined control providing a second functionality that is an extension of the first functionality;

wrapping the system-defined control in the programmer-defined control such that the programmer-defined control uses the set of features of the system-defined control;

associating the programmer-defined control with the system-defined control such that messages for the system-defined control are intercepted by the programmer-defined control and such that an edit to the set of features of the system-defined control is reflected in the set of features of the programmer-defined control;

after the programmer-defined control is associated with the system-defined control, rendering, via a compute device and at run-time, the programmer-defined control on a user interface;

intercepting, via the compute device and after the rendering, a first message associated with a user interaction event on the user interface;

determining whether the user interaction event requires the second functionality;

in response to determining that the user interaction event does not require the second functionality, sending the first message to the system-defined control such that the system-defined control performs a first operation based on the user interaction event; and

in response to determining that the user interaction event requires the second functionality:

discarding the first message; and

performing a second operation independent of the system-defined control, the second operation being different from the first operation.

13. The method of claim 12 , wherein:

the system-defined control is a ListView control for displaying a table;

the programmer-defined control is configured to provide the second functionality of sorting contents of the table; and

the rendering including displaying on the user interface a sortable table including the contents of the table.

14. The method of claim 12 , wherein the performing the second operation includes implementing the second functionality.

15. The method of claim 12 , wherein the performing the second operation includes implementing another functionality different from the first functionality of the system-defined control and the second functionality.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 2, 2025
From: IVANTI, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071164/0482 →
Continuity (2)
Continuation 12904882 · Oct 14, 2010
Provisional Application 61251852 · Oct 15, 2009