Select Pane Guide

Panes are a key part of Manifold's user interface.  Unlike dialogs, which grab the mouse and keyboard until exited, panes allow us to work in other windows while the pane operates on whatever is the active window.   Panes report important information and they allow us to issue commands and make changes to the active window.


This topic provides a quick introduction to the Select pane.  See the Select Pane topic for more details and step by step examples.  


The Select pane combines a number of functions related to selection into a single pane.  The Select pane allows making selections using pre-built templates or free form expressions.  The Select pane operates on tables, drawings, labels, images, and those components as layers in maps.  Templates involving fields for drawings and images will take those fields from the source table.


Using the Select pane for selection is a different idea than the use of SELECT in SQL, even though the word selection is used to describe both.  Selection as we mean it here is a simpler, more interactive thing, like clicking a file in Windows File Explorer to highlight it.  For selection in SQL, see the SQL Basics topic.

Index Required

As with any interactive selection capability, to use the Select pane the table must have at least one identity index in the table, such as the usual btree index on the mfd_id identity field.  Indexes are added automatically when importing or linking data from GIS formats so normally we do not have to think about this requirement in GIS work.   Occasionally when importing data from tables in non-GIS formats we might have to manually add an index.   This is easy to do with one click in the Schema dialog. See the Add an Index to a Table topic.



Operates on the Active Window and Specified Layer

The pane automatically configures for whichever window has the focus when the pane is open.  Click a different window to move the focus to that window and the pane automatically adjusts.  


When working with an active window like a map that has more than one layer, choose the layer desired from the pull down list of components in the topmost box of the pane.  The layer picked in the pane can be different from whatever is the active layer in the map.


The Select pane opens to a top level list of pre-built commands, called templates, that may be used with the data type of the specified source field.  


Templates will automatically adapt to the data type of the specified source field.  The Filter box can be used to narrow down a long list of templates, or to find a template that does a particular operation.  The Filter box searches within templates for the names of operations within templates, as well as the top level names of templates.


A complete list of templates, organized by the data type of the field with which they work, appears in the Select Reference topic.  

Two Step Workflow

The Select pane uses two step workflow:  


Step 1: Pick a layer and a source field.  The pane then shows a list of templates that can be used with the data type of that source field.  


Step 2: Pick a template.  The template opens with options for operations and parameters that work with the data type of the source field.  Without returning to Step 1, we can change parameters, choose a different layer in the map with fields of the same data type, or choose a different template that works on fields of the same data type.


Two step workflow ends up being faster than single step, because much workflow is iterative, doing the same thing to a different field, or making a slight change and applying the same operation.   After the initial step we can rapidly repeat the second step over and over, with easier recycling of settings.  For example, once we choose a numeric field in the first step we can very rapidly apply operation after operation to many different numeric fields in different layers, with most settings remaining the same, persisting into the next operation.  


The Select pane often groups many similar operations within a single template, allowing choice of the specific operation desired after launching the template.  For example, the Search template for text allows conditional comparisons such as equal (=), contains, starts with and similar.    Grouping operations that are similar or have similar parameters allows rapid application and reapplication of similar Search functions by changing a single condition or value, without having to repeatedly choose and re-choose parameters that have not changed.

Pick a Template

Double-click a template within the list to launch that template using the specified component and field.   We can also repeat-click a template, or focus on that template and press Enter, or focus on that template and press the Edit Parameters button.  That launches the template within the pane.



Templates often provide many operations that can be picked from a pull-down list, like the contains operation in action in the illustration above.   The pane will automatically configure to show options and parameter boxes that work with the chosen operation.  Templates will automatically adapt to the data type of the source field.  


To make selections using the Select pane:


  1. The Select pane applies to the active window.  Click on the window to be used to make it active.
  2. When a window has multiple layers, in the Select pane choose the layer to use.
  3. Choose a field within that layer.  The pane will populate with templates that can be used with fields of that data type.
  4. Double-click the desired template.
  5. The pane will display parameters for whatever operation in that template is chosen.  Some templates have many operations.
  6. Choose the desired operation, and set parameters as desired in the option boxes that appear for that operation.
  7. Choose the Action desired if a mode other than replace selection is desired.
  8. Press the Select button.



When the Select pane has been used during a Manifold session, templates that have been used will appear, with options as used, in the Recent list at the top of the list of templates.  In addition, we can pin frequently used templates to the top of the list.



The name of the component the template is using.  Automatically set to the active window.  When the active window has more than one layer, we can choose the component desired from a pull down list in the box.     


The field on which the template operates, also called the source field.  Choose any field from the active component.  When a drawing is the active component, the pane can operate using any field within the drawing's table.  Likewise, when a drawing's table is the active component, the pane can operate using the geometry field in that table, to select based on object geometry displayed in the drawing.


Reduce long lists of templates, and find which template hosts a desired operation by entering text to filter by.  The pane will only show templates that have in their names, or in the names of options they provide, the text entered into the filter box.  


Templates provide commands that can be done with the chosen type of field.  Templates often include many operations or options within them.   Operations that do similar things or use similar parameters are grouped together within a template, to allow parameter and option choices to persist as much as possible within repetitive or iterative workflow using similar operations. Double-click a template to launch it.


The ten most recently used templates together with their secondary operational choices appear as shortcuts, such as the contains option within the Search template for text.   Double-click a recently used item to launch it.   
The list of recently used templates persists within the same Manifold session even if we close the project and open a new project.  However, the list of recently used templates will disappear if we close Manifold and then launch a new Manifold session.


Recently used shortcuts appear with a white pushpin.  Pinned shortcuts appear with a black pushpin at the top of the list.  Click a white pushpin to turn it black, and to pin that shortcut to the top of the template list. To unpin a shortcut, click the black pushpin to turn it white.   If the cursor is on a recent or pinned shortcut, the spacebar toggles the pushpin color.
Pinned shortcuts will persist at the top of the templates list for fields of that data type, even if we close and restart Manifold in a new session.   


Hover the mouse cursor over a template to get a tooltip with a brief description of the template, usually providing some examples of operations it can do.


Click a template to move the row cursor onto that template.  Move the cursor using the up and down arrow keys.  When we move the cursor onto a template, that puts the focus on that template.

Edit Parameters

Click to launch the template indicated by the cursor.


Picking a template launches it for use, with options and controls appearing as required for the data type of the chosen field and the operation desired.  The name of the template in use will appear at the top of the pane, with controls and parameter boxes appearing in the pane as required.


Typical Controls within a Template

Up one level.  Return to the main template list to allow choosing the component or field.  Use this button to choose a field that is a different data type from the current field.

<component name>

Gives the name of the component or layer that the template is using.   Change to any other layer in the same component that also has a field of the current data type.


The subject/source field on which the template operates.   Choose any other field of the same data type.


Choose an option of how to use the data.  For example, in text fields we can choose to either use the text (for text selection operations) or the number of characters in the text (for numeric selection operations).


Choose the comparative condition that will select desired records.  

Field, Value, or Expression

Choose the value to be compared to select desired records.   We can use values from a different field, literal values we enter, or values generated by an expression that is a snippet of SQL.


Choose end, none, start, or start and end.   Choices other than none will trim whitespace characters from the contents of the Field before applying the comparative condition.


Used to set case or no case searches.  Press the collation picker button to choose a different collation, for example, neutral for case sensitive searches.   Various collations offer different languages and different settings, such as reckoning accents on characters or not.


Specify how the selection made by the template will be combined with any existing selection:


  • replace Selection - Select all records chosen by the template and deselect all other records.   This operation takes whatever records would be selected by the template and makes those the only records selected, ignoring anything before.


  • add to Selection - Select all records that were previously selected plus in addition select all records that the template chooses.  Any records that were previously selected will, of course, remain selected.  If there was no prior selection, add to Selection is equivalent to replace Selection: in both cases the result is what the template would select.


  • intersect with Selection - Select only those records that were previously selected and which also are chosen by the template.   If there was no prior selection the result would be to select no records.


  • invert with Selection - An "anti-intersect" operation: everything except the intersection.  Select all records previously selected and all records which also are chosen by the template, except those records which were previously selected and also are chosen by the template.   This is equivalent to an add to Selection that simultaneously de-selects any intersect with Selection records.   If there was no prior selection the result of an invert with Selection is equivalent to both add to Selection and to replace Selection since in all three cases the result is what the template chooses.


  • subtract from Selection - De-select all records that are chosen by the template.  If there was no prior selection this is the same as selecting no records, that is Edit - Select None in the main menu.



Do the selection, combining the selection with any previous selection as specified by the Action setting.


Show a preview in blue preview color of what the select operation will select.  A preview is just a temporary view and does not change the selection.


Press the Preview button to launch a preview, or to update a preview after changing any parameters or controls in the pane.  A preview will stay in view until we hide it, or until a layer used to compute the preview is removed or refreshed.  We can add layers, pan and zoom, alt-click objects to view attributes, and edit layers without losing the preview.


Closing a preview:  In map windows, right-click the blue preview caption bar at the top of the window and choose Hide Preview.  In table windows, right-click the blue preview column head and choose Hide Preview.

Edit Query

Pop open a Command Window loaded with an SQL query that accomplishes in an analogous SELECT query what this select template does given the current settings.  Note that the query will be an SQL SELECT statement that generates the same result set of records, and not a query that generates an interactive Manifold selection as is done by the Select pane, or by interactive mouse or keyboard selection.

Options within Templates

Select templates often can use different characteristics of the data in the subject field for select operations.



For example, the Search template when used with text data can do searches based on either the actual text or on the number of characters (the length) of the text.  It can also search using specific parts within text that represents a URL.


While we usually think of selections using text as searching for specific character sequences or substrings, searching by the number of characters allows us to select only those text fields that are greater than a certain length, or less than a certain length and so on.   For example, if we plan on exporting a drawing to shapefiles, where a limit of 255 characters per text field may apply, we may want to find all text fields that have a number of characters greater than or equal to 255.  Choosing number of characters in the Use box allows us to make such searches.


The options for search Condition vary depending on the Use option we choose.



For example, choosing text in the Use box provides a variety of search condition operators.



When we change the Use setting from text to number of characters, the options in the Condition list will also change, to match the change from selecting within text to selecting using a number.

Entering a Value

Wherever selection templates use a value box, we can choose a field, enter an explicit value, or an expression to specify the value.  When entering an explicit value the icon in the box will indicate what data type is expected, for example showing Ab for text values and 123 for numbers.



Suppose we use text and we choose contains as our Condition.   By default the Value box allows us to enter a literal text value (no need to enclose in quotes) such as durango.   If we prefer, we can switch the Value box to using a text field in the component, or the result of an expression.   Expressions are written as snippets of SQL that evaluate to a text value.  See additional discussion later in this topic.



In this case we enter durango into the Value box and then we press Select.   That selects all records where the Name field contains the text durango, case-insensitive, and that new selection will replace any previous selection.

Choosing a Different Template or Component

After doing a selection we can stay in the Search template to do another selection, perhaps choosing a different text field, or a different operation or different values, or we can press the Up button to go up one level to choose a different template, a different layer in the same component, or a different data type field.



If we go up one level, we see the selection we just made using contains has appeared in the template list as a recently used template.  Double-clicking that recently used item immediately jumps us into the Search template set to use contains.  

Persistent Choices and Context

The Select pane remembers prior choices.   We can change the Field used to any field of the same data type in the chosen component.   To change types or components click the up arrow button to move back to the top level.


The Select pane also remembers context.   If we have been using Search with a map window, we can click open a table window (leaving the map window open) and do a different selection operation with that table window.  When we click on the map window to make it the active window again, the Select pane will be loaded with Search exactly as we left it.


Select templates that recently have been used automatically (for the last ten templates) get added to the list of available templates for a given data type.  Pin a recently used template to the list by clicking the white pushpin icon to turn it dark.  Pinned templates appear at the top of the list and will remain in the list even after Manifold is closed and relaunched in a new session.  Unpin a pinned template by clicking the dark pushpin icon to make it white.

Pinning Favorites

If we frequently use a particular template, after any use when it appears in the frequently used list, we can click the white pushpin icon to make it a dark pushpin, thus pinning the template as a favorite to always appear in the templates list.  Pinned templates always appear at the top of the templates list.  To unpin a template, click the dark pushpin icon to make it a white icon again.

Filter Box

Templates can contain lots of functionality.  The Search template, for example, between options for numbers and for text provides over twenty different selection operations.   If we cannot remember which template hosts contains we could enter the text contain into the filter box to reduce the template list to only those templates that have that text (case insensitive) in their top level names or within any secondary options.   



The box filters templates based on searches down into operational choices within templates.   Entering contain thus filters the template list not only to the recently used template that has contains in the shortcut, but also includes the Search template in the filtered list, since that template has the word contains within the available list of conditions for text selections.


To facilitate easy use of the filter box, template options will often include alternate names, abbreviations, or functional terms within ( ) parentheses, which are also checked by the filter box.  For example, entering just an = sign in the box will filter to the Search template, which contains equal (=) functionality.

Action Mode

The mode selected in the Action box specifies how the selection created should be combined with any existing selection.  By default the Action mode is replace selection.  



The pull-down menu allows us to choose other selection modes. 




Next:  Transform Pane Guide