Movable Mini-Tabs GUI Layout Engine for Screen Space Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphical user interface (GUI) architectures, such as MVC and MVM, face challenges in providing flexibility in the display of user interface controls without increasing programming complexity, especially in resource-constrained environments like computer-aided design (CAD) systems where screen space is limited.
Innovation Solution
The implementation of a layout engine that allows users to dynamically switch between multiple graphical layouts for GUI controls, using a non-programmatic abstraction layer between the view and controller components, facilitated by XML or XAML, enabling the re-layout of controls as movable components or fixed tabs, thereby optimizing screen space usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a fixed layout is used for GUI controls in MVC/MWM architecture, then programming complexity is reduced, but flexibility in displaying controls is limited
Solution Approach 1:
The patent segments the view component into multiple independent graphical layouts (first layout, second layout, etc.), each defining a distinct arrangement of controls. This allows the system to switch between predefined layout segments without modifying the underlying model or controller code, thereby increasing flexibility while maintaining programming simplicity.
Solution Approach 2:
The patent introduces dynamic layout switching capability where the view component can transition between different graphical layouts based on user selection or system state. This dynamic behavior is achieved through configuration files rather than code changes, allowing the interface to adapt flexibly while keeping the programming structure static and simple.
2Adaptability or versatility
If multiple layouts are implemented to provide flexibility, then adaptability improves, but device complexity increases
Solution Approach 1:
The patent introduces configuration files as an intermediary layer between the view component and the actual GUI rendering. These configuration files store definitions of multiple graphical layouts, allowing the system to support multiple layout options without increasing the complexity of the underlying programming structure. The configuration files act as a mediator that translates high-level layout descriptions into concrete interface arrangements.
3Area of stationary object
If screen space is optimized by reducing display area, then area efficiency improves, but ease of operation deteriorates
Solution Approach 1:
The patent implements dynamic layout switching that allows users to select between different graphical layouts optimized for different operational needs. When screen space is constrained, users can switch to a compact layout that maximizes area efficiency. When accessibility is prioritized, users can switch to an expanded layout that provides better control accessibility. This dynamic adaptation resolves the contradiction by allowing optimal configuration based on current needs.
Solution Approach 2:
The patent applies different layout qualities to different operational contexts. The first graphical layout may be optimized for compact screen space usage with smaller control elements, while the second graphical layout may be optimized for ease of operation with larger, more accessible controls. The system allows local selection of layout quality based on user preference or system state, rather than imposing a single uniform layout quality throughout.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An apparatus and method display, on a display screen, a graphical user interface (GUI) of a software application having multiple commands, according to at least two different layouts generated by a layout engine. A first layout includes, in a fixed area, a contextual ribbon including groups of controls that each pertain to a function of a particular command, while a second layout includes, in the fixed area, a non-contextual ribbon including groups of controls that each pertain to different commands. The apparatus and method switch between layouts for display in response to receiving a re-layout instruction from a user of the software application. The layout engine operates by processing a command framework, which may be hierarchical, to determine the controls for each layout, and their respective arrangement and sizes within the layout, according to a user experience guideline.