IP Library Granted Patent US 10,235,216
Granted Patent B1
US 10,235,216 · App. 12/904,882 · Granted Mar 19, 2019

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

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 10,235,216
App. No.
12/904,882
Granted
Mar 19, 2019
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 (49)

1. A method for modifying a system-defined ListView control on a compute device, the method comprising:

associating, on the compute device, a programmer-defined control with the system-defined ListView control such that the programmer-defined control is configured to intercept one or more messages for the system-defined ListView control;

intercepting, by the programmer-defined control, a first message for the system-defined ListView control and associated with a call to render an interface associated with the system-defined ListView control;

in response to intercepting the first message:

preventing the interface associated with the system-defined ListView control from rendering; and

rendering an interface associated with the programmer-defined control;

intercepting, by the programmer-defined control, a second message for the system-defined ListView control and associated with an interaction of a user with the rendered interface associated with the programmer-defined control;

determining that the second message requires modified functionality different from functionality provided by the system-defined ListView control, the functionality provided by the system-defined ListView control including presenting table contents without sort functionality and the modified functionality including presenting the table contents with sort functionality such that the table contents are sortable; and

in response to determining that the second message requires the modified functionality:

sending a third message to the system-defined ListView control such that the system-defined ListView control provides the functionality; and

providing using the programmer-defined control the modified functionality in addition to the functionality provided by the system-defined ListView control.

2. The method of claim 1 , further comprising, in response to determining that the second message requires the modified functionality, modifying the second message to produce the third message that is sent to the system-defined ListView control.

3. The method of claim 1 , wherein associating the programmer-defined control with the system-defined ListView control includes defining features of the programmer-defined control based on features of the system-defined ListView control.

4. The method of claim 1 , wherein the compute device is a hand-held device.

5. The method of claim 1 , wherein associating the programmer-defined control with the system-defined ListView control includes generating the programmer-defined control including one or more wrapped features of the system-defined ListView control.

6. The method of claim 1 , wherein the programmer-defined control is associated with the system-defined ListView control at run-time.

7. The method of claim 1 , wherein the programmer-defined control is associated with the system-defined ListView control without inheritance.

8. A compute device configured for modifying a system-defined ListView control, comprising:

a processor;

memory in electronic communication with the processor; and

instructions stored in the memory, the instructions being executable to:

associate a programmer-defined control with the system-defined ListView control such that the programmer-defined control is configured to intercept one or more messages for the system-defined ListView control;

intercept a first message for the system-defined ListView control and associated with a call to render an interface associated with the system-defined ListView control;

in response to intercepting the first message:

prevent the interface associated with the system-defined ListView control from rendering; and

render an interface associated with the programmer-defined control in place of the interface associated with the system-defined ListView control;

intercept a second message for the system-defined ListView control and associated with an interaction of a user with the rendered interface associated with the programmer-defined control;

determine that the second message requires modified functionality different from functionality provided by the system-defined ListView control, the functionality provided by the system-defined ListView control including presenting table contents without sort functionality and the modified functionality including presenting the table contents with sort functionality such that the table contents are sortable;

in response to determining that the second message requires the modified functionality:

discard the second message;

perform an operation based on the modified functionality independent of the system-defined ListView control to produce an output; and

provide the output to the user.

9. The compute device of claim 8 , wherein the instruction executable to associate the programmer-defined control with the system-defined ListView control includes an instruction executable to define features of the programmer-defined control based on features of the system-defined ListView control.

10. The compute device of claim 8 , wherein the compute device is a hand-held device.

11. The compute device of claim 8 , wherein the programmer-defined control is associated with the system-defined ListView control at run-time.

12. A non-transitory, tangible computer-readable medium for modifying a system-defined ListView control, comprising executable instructions to:

associate a programmer-defined control with the system-defined ListView control without inheritance such that the programmer-defined control is configured to intercept one or more messages for the system-defined ListView control;

intercept a first message for the system-defined ListView control and associated with a call to render an interface associated with the system-defined ListView control;

in response to intercepting the first message:

prevent the interface associated with the system-defined ListView control from rendering; and

render an interface associated with the programmer-defined control in place of the interface associated with the system-defined ListView control;

intercept a second message for the system-defined ListView control and associated with an interaction of a user with the interface associated with the rendered interface associated with the programmer-defined control;

determine that the second message requires sort functionality not included in functionality provided by the system-defined ListView control;

in response to determining that the second message requires the sort functionality:

send a third message to the system-defined ListView control such that the system-defined ListView control provides table contents; and

map the table contents provided by the system-defined ListView control to sortable locations of a table such that the table contents are sortable.

13. The non-transitory, tangible computer-readable medium of claim 12 , wherein the executable instruction to associate the programmer-defined control with the system-defined ListView control includes an executable instruction to define features of the programmer-defined control based on features of the system-defined ListView control.

14. The non-transitory, tangible computer-readable medium of claim 12 , wherein the programmer-defined control is associated with the system-defined ListView control at run-time.

15. The non-transitory, tangible computer-readable medium of claim 12 , further comprising executable instructions to: in response to determining that the second message requires the sort functionality, modifying the second message to produce the third message.

Assignments (26)
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 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41052/0762 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054560/0857 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41459/0387 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054637/0161 →
MERGER Recorded Apr 19, 2018
From: CRIMSON CORPORATION
To: IVANTI, INC.
Reel/Frame 045983/0075 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40183/0506 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0457 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40182/0345 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0581 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041459/0387 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041052/0762 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040183/0506 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040182/0345 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 031029/0849 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0307 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 032333/0637 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0037 →
SECURITY AGREEMENT Recorded Feb 25, 2014
From: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 032333/0637 →
SECURITY AGREEMENT Recorded Aug 16, 2013
From: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; CRIMSON ACQUISITION CORP.; LANDESKSOFTWARE, INC.; CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 031029/0849 →
RELEASE OF SECURITY INTEREST Recorded Aug 12, 2013
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: LANDESK SOFTWARE, INC.
Reel/Frame 030993/0622 →
PATENT SECURITY AGREEMENT Recorded Jul 13, 2012
From: LANDESK SOFTWARE, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 028541/0782 →
RELEASE OF SECURITY INTEREST Recorded Jun 20, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC
To: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; LANDESK SOFTWARE, INC.; CRIMSON ACQUISITION CORP.; CRIMSON CORPORATION
Reel/Frame 028413/0913 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 29, 2012
From: D.E. SHAW DIRECT CAPITAL PORTFOLIOS, L.L.C., AS AGENT
To: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
Reel/Frame 027783/0491 →
AMENDMENT NUMBER ONE TO PATENT SECURITY AGREEMENT Recorded Mar 17, 2011
From: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
To: D.E. SHAW DIRECT CAPITAL PORTFOLIOS, L.L.C.
Reel/Frame 025970/0262 →
AMENDMENT NUMBER ONE TO PATENT SECURITY AGREEMENT Recorded Mar 15, 2011
From: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; LANDESK SOFTWARE, INC.; CRIMSON ACQUISITION CORP.; CRIMSON CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 025957/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2011
From: BROEKHUIJSEN, JEROME
To: CRIMSON CORPORATION
Reel/Frame 025598/0504 →