Incremental and interruptible layout of visual modeling elements
First Claim
1. In a computing device, a system comprising:
- a modeling engine, the modeling engine connected to a user interface;
a layout engine, the layout engine connected to the modeling engine and configured to execute an automatic layout process that automatically lays out modeling elements; and
a set of at least one interface connecting the modeling engine to the layout engine, the set including at least one interface through which the modeling engine communicates with the layout engine to provide user interaction with the automatic layout process other than to cancel the automatic layout process.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a method and system for interacting with a modeling layout algorithm that enables incremental and interruptible automatic layout operations. A defined set of interfaces (e.g., of a COM object) are described for layout engines, and a modeling engine calls into these interfaces to start and stop the layout process, preserve and restore state information, and perform other functions. The layout engine, which is preferably a pluggable component, raises events through an interface with which it complies to indicate its progress, and to indicate when the engine may be safely interrupted. The modeling engine can call back into the layout engine to stop the layout if the user has requested that the layout be interrupted, providing interfaces to the layout engine for preserving and restoring its state, thereby enabling incremental layout operations that do not lose progress.
-
Citations
29 Claims
-
1. In a computing device, a system comprising:
-
a modeling engine, the modeling engine connected to a user interface;
a layout engine, the layout engine connected to the modeling engine and configured to execute an automatic layout process that automatically lays out modeling elements; and
a set of at least one interface connecting the modeling engine to the layout engine, the set including at least one interface through which the modeling engine communicates with the layout engine to provide user interaction with the automatic layout process other than to cancel the automatic layout process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
14. A computer-implemented method, comprising:
-
starting a layout engine to lay out model elements;
receiving information from the layout engine indicating that it can be safely interrupted; and
interrupting the layout engine based on the information.
-
-
19. A computer-implemented method, comprising:
-
starting a layout engine to lay out model elements;
providing information to the layout engine by which the layout engine preserves state information;
interrupting the layout engine;
providing information to the layout engine by which the layout engine restores state from the state information; and
restarting the layout engine from the restored state. - View Dependent Claims (29)
-
Specification