IP Library Granted Patent US 9,170,786
Granted Patent B1
US 9,170,786 · App. 14/136,287 · Granted Oct 27, 2015

Composable context menus

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 9,170,786
App. No.
14/136,287
Granted
Oct 27, 2015
Kind
B1
Abstract

Developer-composed context menus, e.g., composed by a developer in connection with use of a software development tool to create an application, are disclosed. In various embodiments, a definition of a context menu option and an associated action are received. Application code to implement the context menu at runtime, including by performing processing at runtime as defined in the definition to determine one or both of the context menu option and the associated action, is generated programmatically.

Claims (28)

1. A method, comprising:

receiving via a software development tool interface a definition of a context menu option and an associated action; and

generating, using one or more processors, programmatically based at least in part on the definition an application code to implement the context menu at runtime, including performing processing at runtime as defined in the definition to determine one or both of the context menu option and the associated action, and to create an invisible object that is associated with an application page during execution of the application page, wherein the invisible object provides, to the context menu, information with which the context menu is updated during execution of the application page, and wherein the context menu is displayed in response to detection of a predetermined event during execution of the application page.

2. The method of claim 1 , wherein the definition includes an expression.

3. The method of claim 2 , wherein the application code includes code to evaluate the expression at runtime.

4. The method of claim 2 , wherein the expression includes as an argument an application context data.

5. The method of claim 2 , wherein the expression includes as an argument an application user interface event payload data.

6. The method of claim 1 , wherein the associated action includes publishing an event.

7. The method of claim 6 , wherein the application code includes code to determine at runtime a payload of the event.

8. The method of claim 1 , wherein the application code includes code to create and associate with the application page at runtime an invisible context menu associated object, and wherein the invisible context menu associated object corresponds to the invisible object.

9. The method of claim 8 , wherein the invisible context menu associated object is configured to provide context menu related functionality.

10. The method of claim 9 , wherein the invisible context menu associated object provides at least a subset of the context menu related functionality even when the context menu is not displayed.

11. The method of claim 10 , wherein the invisible context menu associated object supports chaining of context menu related actions even after the context menu is no longer displayed.

12. A system, comprising:

a data storage device; and

a processor coupled to the data storage device and configured to:

receive via a software development tool interface and store in the data storage device a definition of a context menu option and an associated action; and

generate programmatically based at least in part on the definition an application code to implement the context menu at runtime, including performing processing at runtime as defined in the definition to determine one or both of the context menu option and the associated action, and to create an invisible object that is associated with an application page during execution of the application page, wherein the invisible object provides, to the context menu, information with which the context menu is updated during execution of the application page, and wherein the context menu is displayed in response to detection of a predetermined event during execution of the application page.

13. The system of claim 12 , wherein the definition includes an expression.

14. The system of claim 13 , wherein the application code includes code to evaluate the expression at runtime.

15. The system of claim 13 , wherein the expression includes as an argument an application context data.

16. The system of claim 13 , wherein the expression includes as an argument an application user interface event payload data.

17. The system of claim 12 , wherein the associated action includes publishing an event.

18. The system of claim 17 , wherein the application code includes code to create and associate with the application page at runtime an invisible context menu associated object, and wherein the invisible context menu associated object corresponds to the invisible object.

19. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving via a software development tool interface a definition of a context menu option and an associated action; and

generating programmatically based at least in part on the definition an application code to implement the context menu at runtime, including performing processing at runtime as defined in the definition to determine one or both of the context menu option and the associated action, and to create an invisible object that is associated with an application page during execution of the application page, wherein the invisible object provides, to the context menu, information with which the context menu is updated during execution of the application page, and wherein the context menu is displayed in response to detection of a predetermined event during execution of the application page.

20. The computer program product of claim 19 , wherein the definition includes an expression.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063559/0805) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT CORPORATION
Reel/Frame 067807/0069 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT CORPORATION
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0008 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0831 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0839 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0805 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041579/0133 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2013
From: TOTALE, SACHIN G.; MICHAEL, DEEPAK; ANSARI, SAIF ALI; RAVI, SHUBHA
To: EMC CORPORATION
Reel/Frame 031830/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2013
From: TOTALE, SACHIN G.; MICHAEL, DEEPAK; ANSARI, SAIF ALI; RAVI, SHUBHA
To: EMC CORPORATION
Reel/Frame 031829/0383 →