User Interface Basics

Let's take a tour of Manifold, beginning with the desktop and learning how to navigate within windows.  This topic assumes we have already read the Getting Started topic.

The Manifold Desktop



The Manifold desktop opens with a typically Windows-style menu bar and an icon-based toolbar at the top and the Project pane docked on the right side of the Manifold desktop.    A status bar at the bottom provides information and tips.





When we use File - Open to open a Manifold .map project file, the Project pane will be populated with the contents of the project and the title bar will show the name of the project opened.  The image above shows a project opened from a file called Aus   The project contains three tables as well as three drawings that visualize the data in those tables.




The Manifold desktop by default arranges windows to the left and panes to the right.    We can drag the boundary between the windows section and the panes section to make the docked panes section wider or narrower.








i_mouse_moves01_02.pngPanning and Zooming with the Mouse

The cross cursor buttons in the toolbar set mouse mode.  The default is navigation.  Other modes are for creating objects in drawings.



Double-click on an image, drawing, map or other visually-oriented component to open it in a window.  By default, the component will be zoomed to fit, that is, with a zoom level set so the entire component fits within the window.


Click-and-drag anywhere in the window to pan the view by dragging it.



Right-click and drag to draw a zoom box with the right mouse button.  Release the button and the view will zoom into that box.


Wheel to zoom in and out with the mouse wheel.  


Menu buttons allow Back and Forward commands, Zoom to Fit, Zoom In, and Zoom Out.   Mice equipped with auxiliary buttons giving Back and Forward functionality will also work.


Most users will navigate using the mouse.  Using click-and-drag to pan, right-click and drag zoom box and the wheel to zoom in and out is very fast and convenient.

Opening a Component in Multiple Windows

Double-click an item in the Project pane to open it in a window.   The same component can be open in more than one window at the same time, with each window providing totally independent panning, zooming, selection and other navigation capabilities.   i_window_newwindow.png


To open a component in more than one window:


  1. Open the component by double-clicking it in the Project pane.

  2. Make sure that window is the active window by clicking its tab or title bar.

  3. Choose Window - New Window from the menu.


Opening the same component in another window will add a distinguishing number to the name shown in the tab or title bar.  For example, if we open a table called Customers in a window and then we open the same table in a second and third window those subsequent windows will be named Customers (2) and Customers (3).

Controls for Windows and Panes

Click on the tab of a docked pane or window to bring it to the front of the stack for viewing.  Double-clicking on a component in the project pane will also bring its window to the front of the stack if it has already been opened.i_alt_to_undock.png


Dragging a  tab will move that window or pane left or right in the stack of docked windows or panes.


Close a docked window or pane by clicking on its tab to choose it and then click the X "close" button in the tab strip.   Windows and panes may also be closed via menu choices in the Windows and View - Panes menus.

Arranging Windows and Panes

Ctrl-click the tab of a docked window or pane to move it into a second, horizontal group of docked windows or panes that is positioned in a row horizontally below the default group of stacked windows or panes.


Ctrl-click the tabs of docked windows or panes to move them between the upper or lower groups.   


Drag the boundary between the upper and lower groups of stacked windows or panes to adjust the vertical area allotted for each group.

Undocking and Docking Windows and Panes

Alt-click the tab or title bar of a window toggles the window between docked and undocked.   Alt-click the tab of a docked window or pane to undock it, making it a separate window. Alt-click the title bar of an undocked window or pane wito dock it again.


Undocked windows or panes may be resized and can be moved anywhere on our Microsoft Windows desktop, including outside the Manifold desktop area and including being spread out across multiple monitors.    


If an undocked window becomes hidden when some other application is clicked and brought into foreground, clicking on any Manifold window to move the focus to Manifold will bring all undocked Manifold windows to the foreground as well.

Tab Strips

A row of tabs is called a tab strip.   Click a tab to bring that window or pane to the top for viewing.   Tabs help us manage a Manifold desktop when several windows and panes are open.  Tabs are also used to manage layers in maps.


The illustration below shows a Manifold desktop with a map window open on the left and two panes open on the right.  The map has three layers, shown in a tab strip at the bottom of the map window.  






The panes on the right are the two main pains, the Project pane and the Contents pane.   he Project pane is opened by default when Manifold launches.  Additional panes may be opened from the View - Panes menu and will be added to the stack with the Project pane.   






Opening a pane adds it to the set of tabs.  The illustration above shows two panes have been opened: the default Project pane and the Contents pane.  The tab for the Project pane is shaded because it is the active tab.   Clicking on a tab will switch to the pane for that tab, bringing it to the front for viewing.   For example, we can click on the Contents pane to bring it to the front.






The Contents pane has elements that provide operational control over whatever window or window tab is active.   For example, in the illustration above the coordinate system information for the active Map window, Australia Hydro, is displayed, as well as information for the active layer in that map, the Lakes layer.


If we click on the WatercourseAreas layer tab in the map to make it the active layer in the map...





... the Contents pane will switch to displaying information for the WatercourseAreas layer.   We can switch back to the Project pane by clicking on the Project pane tab.






Panes and windows may be undocked by Alt-clicking their tab.  For example, we can undock the Project pane by Alt-clicking the Project pane tab.






Undocked windows and panes may  be resized and moved about on our Windows desktop.    See also the Example: Project Pane Tutorial topic for a guide to typical actions using the Project pane.


Getting Info on Objects in a Drawing

Objects seen in a drawing will often have attributes, that is data fields associated with that object's record in the drawing's table.   We can see that information by clicking on a drawing's tab to make it the active layer in a map and then alt-clicking onto the object.


In the illustration below we have opened the project that may be downloaded from the Manifold Viewer download page as an example.   The map displayed has three layers: a drawing showing the find locations of Martian meteorites that are indicated with magenta triangles, a drawing showing the find locations of lunar meteorites that are indicated with blue triangles, and a background layer that is a satellite image automatically downloaded from a Google imageserver.






We click on the martian meteorites layer tab to make it the active layer (in case it is not already the active layer) and then we alt-click on a Martian meteorite location to see the data for that record.  That will pop open the Record Values dialog for that object.   


If we alt-click onto an object in a layer that is not the active layer, nothing happens.  That is an important feature that helps us pick out objects of interest in busy maps.  If there are other objects in other layers, such as an area object in a layer beneath the active layer, we do not have to worry about accidentally alt-clicking those instead of the object we want.





The Record Values dialog shows the fields in the table for that layer's drawing and it populates those fields with the values in the record for the object we alt-clicked.   In this case we see that the name of this meteorite is Dar al Gani 735, that it was discovered in 1997 near Al Jufrah, Libya, and that it is officially verified as both a meteorite and as a piece of Mars that has made its way to Earth.  


We can close the Record Values dialog by clicking the Close button or by clicking the X close button in the upper right corner of the dialog.





If we double-click open the drawing's table we can find the meteorite to see it in the context of the table.  In the illustration above we have ctrl-clicked the record handle to select that record to distinguish it in the illustration with red selection color.

Seeing the full names of tabs

The illustration below shows a Manifold project with five docked windows open in the Manifold desktop.




There is one map window, three drawing windows and one table window as can be seen from the icons in the tabs.   Given the small size of illustrations the tabs are too narrow to show the full names of the windows.  That can happen in big desktops too if we have many tabs open.   Tab strips will try to fit all tabs into the available space, reducing them in size as much as reasonable but eventually as they get too small for the available area tabs will be scrolled out of view.   


To display the full names of tabs for windows or panes or to see tabs that are out of view we can click on the downward triangle in the tab strip.   That will open a pull-down menu that shows the full names of each tab with a button by the name of the tab that is displayed.  We can click on an item in the list to choose that tab and bring that window to the top for viewing.


Tab strips will always keep the selected tab in view. Switching to a tab that is currently scrolled out of view brings it into view, so if the tab strip is not large enough to show all tabs (even with tab size reductions), these tabs can be accessed via the pull-down menu.


Windows display the contents of components in the project.  Windows appear in a stack of docked windows in the large open area of the Manifold desktop, each window with a tab giving its name.


Different components will appear in windows adapted to display their contents with three basic types of windows used:





A map window:




Map windows have a tab strip at the bottom of the window that shows all of the layers in the map.  Double-click on a layer tab to turn that layer off and on.


A drawing window:




Drawings can include a mix of areas, lines and points.  Like Map windows, drawing windows also have a tab strip at the bottom of the window that shows all of the layers in the drawing window.  Double-click on a layer tab to turn that layer off and on. The above drawing uses lines to show water courses in Australia.  The same drawing also participates as a layer in the map window.   


An image window:




While we usually think of images as photographs, in Manifold an image can be a visualization of any raster data set.   Like Map windows, image windows also have a tab strip at the bottom of the window that shows all of the layers in the image window.  Double-click on a layer tab to turn that layer off and on.   The image above, for example, shows a false color image where the colors represent the intensity of gamma ray emissions from radioactive potassium, thorium and uranium.  Blue colors indicate greater intensity from uranium.


A table window:




Everything in Manifold is ultimately a table so we should master table windows.  We normally would work with tables in much larger, most likely undocked, windows than seen above.  


A command window, for SQL:




With everything a table in Manifold, we can do whatever we like with a query in a Command window using SQL, by far the most popular of all languages for databases.  The query builder makes it easier to create queries with greatly reduced need to manually keyboard.   Manifold can also write queries automatically for us, either using a simple drag and drop interface or a dialog button.


The result of a query:




Command windows provide a query builder, a results tab and a log tab that facilitate creating and running queries.  


A command window, for V8:




We can program Manifold in many languages.  JavaScript using V8 is most convenient and considered the default standard language for Manifold since V8 is built into the default Manifold installation.  Both IronPython and IronRuby are automatically supported if installed.   It is easy to add other languages.



Running a script:




With V8 installed and tightly integrated into Manifold it is easy to write high performance JavaScript.


A map window:




Maps can combine any visual component, such as drawings, labels and images.   The illustration above shows the drawing of water courses with alternate formatting, a bright green color, shown as a layer above an image layer brought in automatically through Internet from the Microsoft Bing image server.


A styled image window:




We can apply Style on the fly to any drawing or image, even those dynamically brought in from web servers using protocols like WMS, TMS or others.   We can even style web server images from commercial web servers like Microsoft's Bing or Google Maps.  The above shows Bing dynamically restyled.


Another styled image:




The above shows the same presentation using different formatting for the water course lines and yet a different palette for the Bing image.

Navigating Table Windows

icon_table.pngTable windows provide a view into tables using a classic row and column presentation: each row is a record and each column is a field in those records.  The intersection of a particular row and column, that is a specific field within a specific record, is a cell.   




Click on a table's title bar or onto its tab when docked to move the focus to that table.  We can also click on a cell in the table to move the focus to that table and to make that cell the current cell.  A table window always has a current cell indicated by a dotted border.  The current cell's column head and row handle will be darkened as well.  When a table window opens it is filled with records starting at the top of the table and the current cell will be the first column of the first row in the upper left hand corner.  


The current cell indicates the focus of any intended activity.    We can move the focus by clicking on any cell to make it the current cell or by using the keyboard arrow keys to move the current cell down, up, left and right with each click of an arrow key.    When we move the current cell up, down, left or right beyond the current view in the window, the window will scroll up, down, left or right to bring more rows or columns into view.


Pressing the keyboard Page Up and Page Down keys to move the current cell up and down one window's worth of records at each key click will move the focus faster and cause the window to scroll faster up and down.  


The Home key moves the current cell to the left-most column of the current record.  The End key moves the current cell to the right-most column of the current record.  tech_tina_sm.png


Tech Tip:  The Home key is particularly useful in tables because it will always move the cursor to the first field and also will scroll the table so that the current cell is in view.   For example, if we use Edit - Find to find a record to scroll to that record we press the Home key to quickly bring it into view.


Ctrl-Home moves the current cell to the first, topmost record of the table, still  within the current column.   Ctrl-End moves the current cell to the last, bottom record of the table, still within the current column.


If there are more columns than will fit into the window a horizontal scroll bar will appear.   We can use the horizontal scroll bar to pan the window's view into the table left and right.  Right-clicking on a column title opens a menu of commands that adjust the displayed widths of columns.

Scroll Bars

If there are more records than will fit in view in the window a vertical scroll bar will appear.   The vertical scroll bar is not a precise tool but is simply a relative aid to panning the window's view up and down through records near those that have been browsed.    If we are used to big data we know that scroll bars are basically useless in really big tables.  See the discussion in the Table Windows and Big Data essay.


The vertical and horizontal scroll bars pan the window's view into the table: they do not move the focus, that is, the dotted box outlining the current cell.   Right-click on a scroll bar to call up a context menu of useful choices.   The context menu is useful for horizontal scroll bars but of limited utility for vertical scroll bars.


For example, we could click on a cell to designate it as the current cell and then use the vertical scroll par to pan the window's view so the current cell is no longer in view.   To get it back into view we could either use the vertical scroll bar to pan the window's view back to where we can see the current cell, or we could just press the Home key or left arrow key to move the current cell to the first column of that current row and the window's view will automatically to bring that record into view.


For information on editing tables, see the Tables topic.


Manifold provides many facilities for working with tables, such as queries written in SQL and dialogs such as the Select dialog and the Transform dialog.    As an example of a simple dialog, we can use the Edit - Find command to find desired text in table windows.  




Consider a project showing a docked table.   We launch Edit - Find and then begin entering text into the Search for box.





As we begin entering characters, from the very first character Manifold will automatically preview in blue preview color any records that are found that match whatever characters we have entered. 




As we continuing entering characters Manifold will refine the preview.  Note that Manifold will dynamically preview in blue color all records that match the text we specify, updating the matches on the fly as we add characters.    In the two illustrations above when we keyboarded Cou there were three records that matched in view and were previewed, but as we added the additional e character to make Coue only two records were previewed.  


If we close the Edit - Find dialog subsequent uses of Edit - Find Next and Edit - Find Previous from the menu will remember and will find the next and previous instances of the Search for string in the Search in field as were previously specified using the Edit - Find dialog.


Note that because Edit - Find searches text as displayed in table windows we can use it to find, for example, area within geom field where the geom fields values in the table window are displayed using ordinary text in the form <geom: area>.

Table Windows are Populated as Needed

Table windows will automatically be populated with as many records from the beginning of the table as will fit into the window.  Additional records will be fetched and displayed on the fly as we scroll down through the records using either keyboard clicks or panning the view downwards through the table using the vertical scroll bar.    Pressing the down arrow at the bottom of the vertical scroll bar control will scroll the table downwards continuously, growing the scroll bar display as more and more records are fetched on the fly into those being browsed by the window.


Table windows allow us to browse a table by looking at those relatively few records that will fit into a window and to edit the records we see.   Table windows allow us to see records, which we might locate using Edit-Find or other tools, along with those records that just happen to be immediately around them.  That can be useful when editing records or when setting up test cases in applications development, but manual peeks at relatively small portions of data are no replacement for effective use of SQL and other big data tools.   



Tech Tip:  Even if we scroll through very many windows of records we will see only a small part of a table that has millions of records.   Given that most big data is unsorted, the records we might see in a window cannot be assumed to have any special relationship with each other based on their position in the table.  For that matter, almost always in databases the records shown are not ordered: to see them in some meaningful order we should use queries with ORDER BY and similar constructs.    See the discussion in the Table Windows and Big Data essay.


To find relationships within big data we should be using tools like SQL in preference to manual browsing with table windows.   See the Essay on that topic.

Table Window Keyboard Shortcuts


Activity indictor 

i_icon_busy_dimple.png   i_icon_busy_dimple_active.png


A small dimple in the lower right corner of the desktop changes form and color when Manifold is working in foreground or background.



When the activity indicator shows that Manifold is working, hovering the mouse cursor over the dimple will report the number of active background processes.


Example: User Interface Basics for Windows

In the example we open and reposition windows, using the two system tables as examples.   




We have closed the Contents pane to simplify the illustrations to show only the Project pane.   Close a pane by clicking on the pane's tab to make it the active pane and then clicking on the X icon.






We launch Manifold and in the Project pane click on the + button to expand the System Data folder.






That shows the two system tables that are a part of every Manifold project.   We double-click on the mfd_root table to open it.






The table opens up as a docked table window.   The window's tab gives the name of the table.  There are more fields than will fit horizontally into the small size of the desktop we are using for the sake of screen shots, so a horizontal scroll bar appears at the bottom of the docked table window.   We can scroll that to the right to see more fields.


In the Project pane we double-click on the mfd_meta table to open that table as well.






The mfd_meta table opens as a docked table window, with its name in another tab next to the tab for the mfd_root table opened previously.   By clicking on the tabs we can bring whatever table window is desired to the foreground for viewing.    We can also Ctrl-click on a layer tab to automatically move that table to a split-screen presentation where it occupies the lower portion of the region for docked windows.






When we Ctrl-click on the tab for the mfd_meta table it is automatically repositioned at the bottom part of the display region for docked windows.  Ctrl-clicking a tab will move that window back and forth between the upper portion of the display region or the lower portion of the display region.


We can drag the boundary between upper and lower regions to change the vertical space allotted for upper or lower regions.






We will drag the boundary upwards to provide more vertical room for the lower region.






So far we have been working with docked windows.   We can undock a window by Alt-clicking its tab.  We will undock the mfd_meta table by Alt-clicking  its tab.






The resulting undocked window may be moved about to any location on our Microsoft Windows desktop.  It may be moved outside the Manifold desktop and even moved to span multiple monitors if our Windows desktop extends across multiple monitors..  It may be resized, for example by dragging its upper-left corner down and to the right.






We can then again resize the window by dragging its lower-right corner to the right to make it wider, so that more of the fields in the table come into view.






We can also automatically re-arrange the widths of fields in the table.  To do so we right-click a column name.






And then in the context menu we choose Best Fit.    That will provide a better arrangement of column widths.






At any time if we want to dock the window again we can Alt-click on the title bar.






That will once more dock the window.

Example: Navigation in Visual Windows

In this example we open a detailed satellite image of Paris, slightly over 9 GB in size, and then we use the mouse to zoom in and then to pan the view.






We open a project called Paris Image.  Within the Project pane we double-click onto the Paris image to open it.  Using right-click-and-drag we draw a zoom box with the right mouse button.






The window zooms into the region we drew with the box, with the river Seine winding through the center of the view.   Once again we draw a zoom box by using right-click-and-drag to zoom into the region around the Arc de Triomphe.






This zooms us closer, and once again we will right-click-and-drag to zoom even closer.   If we have a wheel mouse we could also use the wheel to zoom in and out.






We can now pan the scene by simply clicking-and-dragging.  For example, we can click-and-drag beginning at a spot near the right side of the window.






As we click-and-drag the display moves in the direction we drag.






When we release the mouse button to end the click-and-drag operation the scene will fill in.





Once we get used to the speed and convenience of the above there is no way to do without it.

One more view...

If we zoom box to center on the Arc de Triomphe and then choose View - Zoom to Native we command Manifold to automatically zoom the display so that one pixel in the data corresponds to one pixel on the screen, that is, native resolution.  That zoom setting usually provides the best view of a given image's resolution.






In this case we can see that our 9 GB image of Paris is detailed enough so that we can see every vehicle in the center of Paris and even see individual people.   We can count the people in line to enter the Louvre.   The image above shows people on the circular plaza surrounding the Arc and those people walking about the observation platform at the top of the Arc.



tech_yoshi_sm.pngTech tip: If a component such as a drawing opens and does not seem to be zoomed to fit, keep in mind that it might actually be zoomed to fit but we cannot see very small objects at the extremities of the view.   Vector drawings often contain very small objects that might not be easily seen at a zoom level that fits the entire data set into a window.    


For example, a drawing that shows US states and territories will include many small islands far from the mainland mass of US states.    If we open such a drawing we may be surprised to see the continental US is just a small part of the display with what seems to be lots of empty space around the continental US in the window.  But if we were to zoom into that empty space we might see US possessions far from the mainland that are islands and not easily visible when the data set is zoomed to fit.  


To take another example, drawings might contain errors that create spurious points located very far away from all the rest of the data.   A classic example is the case of errors when geocoding street addresses that result in a latitude/longitude of 0,0 instead of the correct geographic location.  


For example, suppose we have geocoded addresses of customers in Los Angeles and then when we open a drawing showing those geocoded addresses as points we are surprised to see a tiny clump of dots near the left edge of an otherwise empty window.   That unexpected display could be the result of a typical error, where just one dot, representing a single erroneously-coded address, has been placed at latitude zero and longitude zero, a location in the ocean off the coast of Africa where the Prime Meridian and the Equator intersect.  


The display was mostly empty because it had been automatically zoomed to fit to include both a tight knot of points within Los Angeles and also a single point half a world away off the coast of Africa.  Delete that spurious dot and then when we Zoom to Fit the drawing of geocoded addresses will fill the window within the expected extents of Los Angeles.


Focus - Table windows must have the focus for keyboard navigation shortcuts to work.  Click on the table's title bar or on the table's tab if it is docked to move the focus to that table. We can also click on a cell in the table to make it the current cell and to move the focus to that table.  Like all keyboard commands, if the table does not have the focus the keyboard Page Up and Page Down keys and other keyboard navigation keys will not work.


Martian meteorites -  Pieces of Mars sometimes end up on Earth when an impact on Mars blasts pieces of Mars out into space with enough force that some pieces achieve escape velocity from Mars, travel through space and then are attracted by the Earth's gravitational field to fall to Earth as meteorites. Over 130 Martian meteorites have been found.  They can be verified as pieces of Mars by the distinctive proportions of microscopic amounts of Martian atmosphere trapped within the meteorite, by isotopic ratios and other characteristics unique to Mars.    Lunar meteorites are pieces of the Moon that have been blasted off by impacts and have also made their way to Earth.


Please, No Magnets! - Martian meteorites are rocky meteorites and much less magnetic than nickel iron meteorites.  But they are usually weakly magnetic and often retain a residual magnetic field that provides information about the meteorite's origin.    Unfortunately the habit of most meteorite hunters to check a rock as a possible meteorite by using a strong magnet to see if it is magnetic wreaks havoc with the science of Martian meteorites because applying a powerful magnet to the surface of a Martian meteorite will alter the original magnetism of the rock and thus erase important information the original magnetism can convey.   A universal rule among meteorite hunters in Antarctica is to never bring a magnet near a suspected meteorite found in Antarctica.  That is a more difficult rule to apply in non-Antarctic hunting grounds but it is still worth a try when investigating a stony rock as a possible meteorite.


See Also

Getting Started


How to Edit a Single File














View - Panes - Project


Keyboard and Mouse Quick Reference


Table Windows and Big Data