Single input graphical user interface control element and method
Described are methods, systems and computer readable media for GUI control elements and associated processing methods.
1. A method of controlling a graphical user interface (GUI) having a plurality of GUI elements based on input from a single input GUI control element within a parent window, the method comprising:
providing a view tree containing nodes corresponding to a view, the view including one or more of the plurality of GUI elements within the parent window, and the view tree being stored in memory;
obtaining selectable items from a common column of a data table accessed by each of the one or more of the plurality of GUI elements and a single input GUI control element, the single input GUI control element being activated by a new selection of one or more of the selectable items in the single input GUI control element; and
in response to the new selection of one or more of the selectable items in the single input GUI control element, traversing the view tree;
updating, for each enabled node of one or more enabled nodes, one or more of the displayed GUI elements associated with the enabled node by changing their respective original values to different values based on updated data obtained from a remote data source corresponding to the selection in the single input GUI control element of one or more of the selectable items, the updated data being obtained from the remote data source by performing operations including:
transmitting a filter value to a remote query processor, the filter value representing the selection in the single input GUI control element, and the remote query processor being remote from the GUI, and
receiving the updated data from the remote query processor, the remote query processor providing the updated data by filtering the remote data source based on the filter value representing the selection in the single input GUI control element of one or more of the selectable items and determining the updated data based on a result of the filtering; and
causing the updated GUI elements to be displayed with the different values in the parent window for interaction with a user, wherein the updated GUI elements are displayed in the parent window from at least just before the updating to at least just after the causing.
2. The method of claim 1 , further comprising:
determining that a GUI element is being added to, removed from, or moved within the parent window; and
in response to the determining that a GUI element is being added to, removed from, or moved within the parent window, updating the view tree.
3. The method of claim 1 , wherein the view tree includes a partial view tree.
4. The method of claim 1 , wherein the GUI control element is configured to receive one or more of a user input or an automated process input, and the user input is selected from the group consisting of a mouse click, a mouse movement, a mouse drag, a mouse focus, a mouse hover, a touch screen gesture, a haptic input, a keyboard command, a voice command, and a visual gesture received by an imaging device.
5. A method of controlling a graphical user interface (GUI) having a plurality of GUI elements based on input from a single input GUI control element within a parent window, the method comprising:
providing a view tree containing nodes corresponding to a view, the view including one or more of the plurality of GUI elements within the parent window, and the view tree being stored in memory;
obtaining selectable items from a common column of a data table accessed by each of the one or more of the plurality of GUI elements and a single input GUI control element, the single input GUI control element being activated by a new selection of one or more of the selectable items in the single input GUI control element; and
in response to the new selection of one or more of the selectable items in the single input GUI control element, traversing only a subtree of the view tree;
updating, for each enabled node of one or more enabled nodes, one or more of the displayed GUI elements associated with the enabled node by changing their respective original values to different values based on updated data obtained from a remote data source corresponding to the selection in the single input GUI control element of one or more of the selectable items, the updated data being obtained from the remote data source by performing operations including:
transmitting a filter value to a remote query processor, the filter value representing the selection in the single input GUI control element, and the remote query processor being remote from the GUI, and
receiving the updated data from the remote query processor, the remote query processor providing the updated data by filtering the remote data source based on the filter value representing the selection in the single input GUI control element of one or more of the selectable items and determining the updated data based on a result of the filtering; and
causing the updated GUI elements to be displayed with the different values in the parent window for interaction with a user, wherein the updated GUI elements are displayed in the parent window from at least just before the updating to at least just after the causing.
6. A method of controlling a graphical user interface (GUI) having a plurality of GUI elements based on input from a single input GUI control element within a parent window, the method comprising:
providing a view tree containing nodes corresponding to a view, the view including one or more of the plurality of GUI elements within the parent window, and the view tree being stored in memory;
obtaining selectable items from a common column of a data table accessed by each of the one or more of the plurality of GUI elements and a single input GUI control element, the single input GUI control element being activated by a new selection of one or more of the selectable items in the single input GUI control element; and
in response to the new selection of one or more of the selectable items in the single input GUI control element, traversing the view tree;
updating, for each enabled node of one or more enabled nodes, one or more of the displayed GUI elements associated with the enabled node by changing their respective original values to different values based on updated data obtained from a remote data source corresponding to the selection in the single input GUI control element of one or more of the selectable items, the updated data being obtained from the remote data source by performing operations including:
transmitting a filter value to a remote query processor, the filter value representing the selection in the single input GUI control element, and the remote query processor being remote from the GUI, and
receiving the updated data from the remote query processor, the remote query processor providing the updated data by filtering the remote data source based on the filter value representing the selection in the single input GUI control element of one or more of the selectable items and determining the updated data based on a result of the filtering; and
causing the updated GUI elements to be displayed with the different values in the parent window for interaction with a user, wherein the updated GUI elements are displayed in the parent window from at least just before the updating to at least just after the causing.
7. A method of controlling a graphical user interface (GUI) having a plurality of GUI elements based on input from a single input GUI control element within a parent window, the method comprising:
providing a view tree containing nodes corresponding to a view, the view including one or more of the plurality of GUI elements within the parent window, and the view tree being stored in memory;
obtaining selectable items from a common column of a data table accessed by each of the one or more of the plurality of GUI elements and a single input GUI control element, the single input GUI control element being activated by a new selection of one or more of the selectable items in the single input GUI control element; and
in response to the new selection of one or more of the selectable items in the single input GUI control element, traversing the view tree;
updating, for each enabled node of one or more enabled nodes, one or more of the displayed GUI elements associated with the enabled node by changing their respective original values to different values based on updated data obtained from a remote data source corresponding to the selection in the single input GUI control element of one or more of the selectable items, the updated data being obtained from the remote data source by performing operations including:
transmitting a filter value to a remote query processor, the filter value representing the selection in the single input GUI control element, wherein a single input value in the single input GUI control element is used to compute the filter value, and the remote query processor being remote from the GUI, and
receiving the updated data from the remote query processor, the remote query processor providing the updated data by filtering the remote data source based on the filter value representing the selection in the single input GUI control element of one or more of the selectable items and determining the updated data based on a result of the filtering; and
causing the updated GUI elements to be displayed with the different values in the parent window for interaction with a user, wherein the updated GUI elements are displayed in the parent window from at least just before the updating to at least just after the causing.
8. A system for controlling a graphical user interface (GUI) having a plurality of GUI elements based on input from a single input GUI control element, the system comprising:
one or more hardware processors coupled to a nontransitory computer readable medium having stored thereon software instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:
providing one or more view trees containing nodes corresponding to one or more views, the one or more views including one or more GUI elements of the plurality of GUI elements within one or more windows, and the one or more view trees being stored in memory;
obtaining selectable items from a common portion of data accessed by each of the one or more GUI elements and the single input GUI control element;
receiving an event from the single input GUI control element, the single input GUI control element being activated by a new selection of one or more of the selectable items in the single input GUI control element, and the single GUI control element controlling multiple views within a parent window with one input/click from a user;
in response to the one input/click from the user, traversing the one or more view trees; and
at each node of the one or more view trees reached during the traversing:
updating a node GUI element associated with a node by changing an original value displayed with the node GUI element to a different value, the different value being based on updated data obtained from a remote data source corresponding to the selection in the single input GUI control element, the updated data being received from a remote query processor, the remote query processor being remote from the GUI, and the remote query processor providing the updated data by filtering the remote data source based on the selection in the single input GUI control element of one or more of the selectable items; and
causing the node GUI element to be displayed with the different value in the one or more windows for interaction with the user.
9. The system of claim 8 , wherein the operations further include updating the one or more view trees when a GUI element is added to, removed from, or moved within the one or more windows or removed from the one or more windows.
10. The system of claim 8 , wherein the view tree includes a subtree.
11. The system of claim 8 , wherein the GUI control element is configured to receive one or more of a user input or an automated process input, and the user input is selected from the group consisting of a mouse click, a mouse movement, a mouse drag, a mouse focus, a mouse hover, a touch screen gesture, a haptic input, a keyboard command, a voice command, and a visual gesture received by an imaging device.
12. The system of claim 8 , wherein the single input GUI control element is one of: added to or modified within the one or more windows.
13. The system of claim 8 , wherein the operations further include remote data table publishing and subscribing using data received from one or more of a multicast key-value publisher or a multicast key-value subscriber.
14. A system for controlling a graphical user interface (GUI) having a plurality of GUI elements based on input from a single input GUI control element, the system comprising:
one or more hardware processors coupled to a nontransitory computer readable medium having stored thereon software instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:
providing one or more view trees containing nodes corresponding to one or more views, the one or more views including one or more GUI elements of the plurality of GUI elements within one or more windows, and the one or more view trees being stored in memory;
obtaining selectable items from a common portion of data accessed by each of the one or more GUI elements and the single input GUI control element;
receiving an event from the single input GUI control element, the single input GUI control element being activated by a new selection of one or more of the selectable items in the single input GUI control element, and the single GUI control element controlling multiple views within an ancestor window with one input/click from a user;
in response to the one input/click from the user, traversing the one or more view trees; and
at each node of the one or more view trees reached during the traversing:
updating a node GUI element associated with a node by changing an original value displayed with the node GUI element to a different value, the different value being based on updated data obtained from a remote data source corresponding to the selection in the single input GUI control element, the updated data being received from a remote query processor, the remote query processor being remote from the GUI, and the remote query processor providing the updated data by filtering the remote data source based on the selection in the single input GUI control element of one or more of the selectable items; and
causing the node GUI element to be displayed with the different value in the one or more windows for interaction with the user.
15. A system for controlling a graphical user interface (GUI) having a plurality of GUI elements based on input from a single input GUI control element, the system comprising:
one or more hardware processors coupled to a nontransitory computer readable medium having stored thereon software instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:
providing one or more view trees containing nodes corresponding to one or more views, the one or more views including one or more GUI elements of the plurality of GUI elements within one or more windows, and the one or more view trees being stored in memory;
obtaining selectable items from a common portion of data accessed by each of the one or more GUI elements and the single input GUI control element;
receiving an event from the single input GUI control element, the single input GUI control element being activated by a new selection of one or more of the selectable items in the single input GUI control element, and the single GUI control element controlling multiple views within a parent window with one input/click from a user;
in response to the one input/click from the user, traversing the one or more view trees; and
at each node of the one or more view trees reached during the traversing:
updating a node GUI element associated with a node by changing an original value displayed with the node GUI element to a different value, the different value being based on updated data obtained from a remote data source corresponding to the selection in the single input GUI control element, the updated data being received from a remote query processor, the remote query processor being remote from the GUI, and the remote query processor providing the updated data by filtering the remote data source based on the selection in the single input GUI control element of one or more of the selectable items, wherein a single input value in the single input GUI control element is used to compute a filter value; and
causing the node GUI element to be displayed with the different value in the one or more windows for interaction with the user.