Select Reference

This topic provides a overview of the Select pane, as well as a gateway to a hierarchical list of all Select pane templates.  See also the Select Pane topic.


 The current build does not do previews.   Those will be added in the next build.


To make selections using the Select pane:


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


The Select pane remembers prior choices well.   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.  Unpin a pinned template by clicking the dark pushpin icon to make it white. Pinned templates remain in the list.

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. This is easy to add, if necessary, with one click in the Schema dialog. See the Add an Index to a Table topic.

Operates on the Active Window, 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 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.

Two Step Workflow

The Select pane uses two step workflow.  


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


Step 2: 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 opens by default with the currently active component or layer loaded in the top box.  We can change that to any layer in the currently active component.    Changing the focus to another window will change the active component to whatever is the active layer in that window.   The Select pane will list all templates that can be used with the data type of the chosen field, and will also show a list of pinned or recently used templates.  Templates have a lightning bolt icon.   Pinned templates have a dark pushpin.  Recently used templates have a light pushpin and a "redo" icon.



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.

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.



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.  


The Select pane often groups many similar operations within a single template, allowing choice of what specify operation to use once the template has been chosen.  For example, the Search select template for text allows conditional comparisons such as equal (=), contains and similar.    That 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.

Typical Controls and Parameters

Up one level.  Return to the main Select pane to allow choosing the component or layer and a 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 active 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, explicit values, 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.

Edit Query

Pop open a Command Window loaded with an SQL query that accomplishes what this select template does given the current settings.


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.   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, 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.



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 comparing text to comparing a number.



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.



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.


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.  

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 much functionality.  If we cannot remember which template hosts contains we could enter the word contain into the filter box.   The box filters templates based on searches down into the operational choices within templates.   Entering contain thus filters the template list not only to the recently used template, but also includes the Search template in the list, since that is the template with contains functionality.


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.

Dynamic Updates

The Select and Transform panes automatically update themselves after changes to components. For example, if we open a table, then open the Select pane and pick a template, then add a new field to the table, the pane will adjust and start offering the new field in lists for parameter values.


If we pick the field for use as a parameter value and then delete it from the table, the pane will adjust again and switch the parameter value referencing the now deleted field to use a constant value or a different field, depending on the parameter.


If we open a map and start adding or removing layers, the panes will automatically adjust to all changes.  Changing the active layer in a map has no effect on the panes, and adding a new layer has a minimal effect:  the new layer becomes available for use but the picked layer does not switch to the new layer.  Deleting a layer only has an effect if that layer was the layer picked in the pane.


If the Transform selection only box is checked in the Transform pane, we can dynamically select or unselect items in the subject window and the Transform template will be dynamically applied to the selection as it is.   For an example of that effect, see the Labels topic.

Simultaneous Use of Other Facilities

When we have the focus on an open  window and we open the Select pane or the Transform pane, that pane applies to the window that has the focus.  We can open other windows and do other work with Manifold, going back and forth between the other work and the Select and Transform panes and the panes will automatically adapt. 

Context Saved

Switching between component windows automatically saves and restores the state of the Select and Transform panes for each window. For example, we can open a drawing, start preparing a transform, decide to take a look at the records in a different table, open that table in a new window, and then when we return to the drawing, the Transform pane will be in the exact same state as we left it. We can have several alternative transforms or selects being prepared for different windows and switch between them freely.


Performing a select or transform does not clear the relevant pane: the pane remains in the same state where the operation can be repeated with or without modifications.

Time Readout

Since many operations complete nearly immediately, after clicking the Select or Transform button, we might wonder if we clicked the button.  To show that we did indeed click the button and that the operation has already finished, the pane shows the time it took for the operation to complete next to the clicked button.  After 10 seconds, the time readout disappears, ready to appear with a new readout the next time we click the button.


The pane also logs the time for each operation into the Log window.  The log message includes the names of the used layer and field, the name of the template, and the values of key parameters.

Templates by Data Type

Select - Expression

Introductory topic to using expressions in the Select pane

Select - Binary

Select templates for variable length binary fields, of type varbinary.

Select - Boolean

Select templates for Boolean fields, of type boolean.

Select - Datetime

Select templates for date and time fields, of type datetime.

Select - Geometry

Select templates for geometry fields, of type geom, geommfd, or geomwkb.

Select - Numbers

Select templates for numeric fields, of type float32, float64, int8, int16, int32, int64uint8, uint16, uint32, or uint6.

Select - Numeric Vectors

Select templates for numeric vectors, that is fields with ordered sets of multiple numbers, of x2 type float32x2, float64x2, int8x2, int16x2, int32x2, int64x2uint8x2, uint16x2, uint32x2, uint6x2, of x3 type float32x3, float64x3, int8x3, int16x3, int32x3, int64x3uint8x3, uint16x3, uint32x3, uint6x3, or of x4 type float32x4, float64x4, int8x4, int16x4, int32x4, int64x4uint8x4, uint16x4, uint32x4, uint6x4.

Select - Text

Select templates for variable length text fields, of type nvarchar or varchar.

Select - Tiles

Select templates for raster data fields, of type tile.

Select - UUID

Select templates for Universally Unique IDentifier (UUID)  fields, of type uuid.


Select and Transform Part 1


Select and Transform Part 2