===================== User Interface Basics ===================== One of the main design principles we tried to stick to was establishing a familiar user interface with the least amount of surprises for the users. If you have experience with any of the major operating systems, using Mekanimo should not be a challenging task since most of what you already learned is applicable in Mekanimo too. Mekanimo is a modal application. Similar user actions yield different results depending on the current mode. Some menu items behave different depending on the mode too. For example Edit->Copy menu copies the selected items in the canvas or the selected text in the code editor depending on the active editor. Right clicking in the canvas, code editor, or Python editor yield different results too. Selecting elements =================== Mekanimo provides several different mechanisms for selecting :term:`elements `. You can click on an :term:`element` to select or deselect it. If you need to select multiple items, you can click on them while holding the ``Shift`` key. Another way to select multiple items is clicking and dragging the mouse in the SELECT mode. If a rigid body's :term:`CG` is inside the selection rectangle then that rigid body becomes selected. Items can be selected from the :term:`object tree` as well. You can click on individual nodes to select or deselect them. If you select a node and select another node while holding the ``Shift`` key, all nodes between these two get selected. If you hold the ``Ctrl`` key while clicking on the nodes, you can select multiple nodes as well. Finally, you can use the Python interpreter to select items as shown below too. .. code-block:: python >>> canvas.selection = [rectangle1, circle2] >>> system.redraw() Zooming =========== You can use the zoomin and zoomout tools and click in the canvas to zoomin or zoomout. The clicked point becomes the new center point of the canvas. Drawing a selection rectangle in ZOOMIN mode enlarges the selected area so that it fits in the canvas. Alternatively pressing the ``+`` and ``-`` keys in the numeric pad zooms in and out respectively. Panning =========== You can use the scrollbars or arrow keys to pan the graphics. Alternatively, you can pan by clicking and dragging the left mouse button while holding the space key. Copying and pasting ==================== To copy the selected objects into memory, you can select ``Copy`` from the popup menu or ``Edit`` menu. Alternatively you can press the ``C`` key while holding the ``Ctrl`` key. Undo/Redo =========== Most actions you take from :term:`GUI` can be erased by the undo command. If you undo an action and change your mind, then you can get rid of the last undo command by using the redo command. You can use the popup menu or the ``Edit`` menu to use the undo command. Alterntaviely, pressing the ``Z`` key while holding the ``Ctrl`` key triggers an undo action too. There are no limits to the number of undo or redo actions. Keyboard shortcuts =================== .. csv-table:: Construction Tool Shortcut Keys :header: "Tool", "Shortcut Key" :widths: 18, 18 Beam, b Belt, e Chain, n Circle, c Force, f Gap, g Link, l Motor, m Pin, i Polygon, p Rectangle, r Spring, s Torsional Spring, t Torque, q Weld, w