User Interface Components


  • The SEQUOIA UI consists of a Main Frame which hosts the default Layout including Panels, Toolbars and Menu bars.
  • Additional Secondary Frames can be created by dragging and dropping Panels outside of the Main Frame, including on a secondary monitor.


  • Panels encapsulate UI components with related functionality, for example the “Object Properties” Panel displays the properties of the selected object, the “Bookmarks” Panel contains controls and icons related to viewport navigation, and so on.
  • Panels can be either docked or floating.
  • A docked Panel can be floated to a separate independent Frame, or can be moved to be docked elsewhere within the SEQUOIA UI.
  • Panels can be docked either next to existing elements of the UI, or within existing Panels as additional Tabs.
  • A Tabbed Panel can show the controls of only one Panel in its one active Tab at any given time, but can contain any number of docked Panels as inactive Tabs.
  • A Tabbed Panel will have only one []> Options icon which will display the context menu associated with the active Tab.
    • To access the context menu of an inactive Tab, you must make it the active Tab first.
  • A Panel or the active Tab of a Tabbed Panel can be closed by clicking the [X] icon in its upper right corner.
  • A new Panel can be created for the current Document via the Main Menu Bar > Panels menu.


  • Rollouts encapsulate related controls into an entity that can be collapsed to save space, or expanded to adjust the control values.
  • When collapsed, most Rollouts will reveal in their title bars significant information about the states of the contained controls.
  • The guiding principles of this feature were:
    • The current value of multi-choice controls (like drop-down lists) is always displayed, for example the Point Loader > Display > Color drop-down list.
    • When an option is turned off by default, it is only displayed when turned on, for example the Mesher > Display > Use Lighting checkbutton.
    • When a slider has a neutral default value, the value will only be displayed when changed from its default, for example the Point Loader > Display > Channel Scale value which is displayed when not equal to 1.0.
    • When a color field is employed to signal an important status, the color will be propagated to the rollout background, for example the Point Loader’s Status field.
  • As result, the titles of collapsed rollouts only provide relevant info and ommit disabled controls and neutral values.
  • This lets the user see at a glance a lot of information with almost all rollouts collapsed, and only expand rollouts to modify values when needed.


  • Toolbars typically contain Icon Buttons and Icon Checkbuttons, but can also host various other controls including Text Buttons, Drop-down Lists, Value Sliders etc.
  • Toolbars can be docked at the edges of the Main Frame - top, buttom, left and right.
  • Multiple Toolbars can be docked together to be combined into strips of controls, or docked to different sides of the Main Frame to be kept separated.
  • Right-Clicking any Toolbar provides a menu with checkboxes to toggle the visibility of all available Toolbars.
  • Toolbar icons use large icon definitions in 32x32 pixels format.

Toolbar Controls

Icon Buttons

  • Icon Buttons represent ActionItems - when clicked, a command will be executed that performs an action on the current document, object etc.
  • For example, clicking the “New Point Loader” icon will create a new Point Loader object in the current document, clicking the “Zoom Extents” icon will zoom to the extents of the current selection etc.
  • ActionItem Icon Buttons are colored - those that create new objects are green, those that perform other actions are blue.
../../_images/edit_toolbar1.png ../../_images/create_object_toolbar1.png

Icon Checkbuttons

  • Icon Checkbuttons represent properties of the SEQUOIA system, of the Active Document, or the Active Viewport, and can be toggled on and off.
  • When toggled on, they will have a blue background to signify an active state.
  • For example, toggling the “Toggle Shaded/Wireframe Mesh Display” icon will switch the current view between Shaded and Wireframe display.
  • The Checkbutton Icons’ foreground color is always white.

Checkbutton Radio Sets

  • Some Checkbuttons could be combined into Radio Button Sets to represent multiple possible modes where only one mode can be active at a time.
  • For example, the Select,Move, Rotate, Scale and Measure icons represent the current Tool Mode - checking any of them unchecks the others automatically.

Button Control

  • The Button control lets you perform an action by clicking with the mouse.
  • For example the [Update Point Loader] button causes a Point Loader to reload the data from disk, the [...] button next to a File Textfield opens a File Dialog to pick a source file, and so on.
  • No other features are currently associated with the Button control.

Checkbutton Control

  • The Checkbutton control lets you toggle an option on and off.
  • It displays a checkmark symbol followed by a text either describing the property it represents, or its state (Enabled/Disabled) when the property is listed next to the Checkbutton.
    • The background color of the button will be highlighted (blue by default) when checked,
    • The background color will be default gray when unchecked.
../../_images/checkbutton_use_point_limit_enabled.png ../../_images/checkbutton_use_point_limit_disabled.png
  • When properties of multiple objects are represented by the same control and the states are different (undetermined), the background color will be shown in 50% highlight color and the checkmark will be semi-transparent.

Text Field Control

  • The Text Field control provides an entry field for text data.
  • A Text Field can be read-only for displaying non-editable data (e.g. Point Count), or editable (e.g. Object Name).
  • The content of both read-only and editable fields can be copied from, but only the editable allow pasting into the field.

Value Field Control

  • The Value Field control provides a text field accepting only numeric data.
  • For example, the Position, Rotation and Scale fields of the Transform panel use such controls for their components.

Value Slider Control

  • The Value Slider control combines a Value Entry Field and a Slider, allowing the faster adjustment of values within a pre-defined Range, and the visual representation of the current value relative to that Range.
  • The Slider offers the following advanced features:

Slider Colors

  • The Handle of the Slider will be green when the current value matches the system default value of the property.
  • The Handle of the Slider will be orange when the current value is outside the pre-defined Min. / Max. Range for the slider. The Entry Field can be used to set to out-of-range values by typing in.
  • The Handle of the Slider will be gray when the current value does not match the above rules.

[B] In the above screenshot, a Point Region Of Interest slider has a green handle when the value matches the bounding box of source data, orange when the manually entered value is outside the bounding box, and gray when the value is within the range, but does not match the default.

Slider Mouse Controls

  • Left-Click with the mouse on the Handle, hold and move left/right to adjust the value.
  • Left-Click with the mouse to the left of the Handle to reduce the value by a computed step. The step depends on the current value - higher values produce larger steps, smaller values produce smaller steps. For example, a value of 100 will produce a step of 10, a value of 10 will produce a step of 1, a value of 0.1 will produce a step of 0.01 etc.
  • Left-Click with the mouse to the right of the Handle to increase the value by a computed step. See above for details.
  • Place the mouse pointer anywhere over the Slider without clicking, hold down CTRL and roll the Mouse Wheel to increase/decrease the value.
  • Hold down CTRL and Left-Click with the mouse anywhere on the Slider to set the value to the clicked point directly without incrementing/decrementing.
  • Hold down SHIFT and Left-Click with the mouse anywhere on the slider to snap to a round value based on a slider-specific step.
  • Right-Click with the mouse anywhere on the Slider to open a context menu with the following options:
    • Set to DEFAULT (X.Y) - sets the value to the factory default value. For example, for a Mesher’s Radius this value is 1.0, for Zhu/Bridson Blend Radius Scale the default value is 2.2 etc. These values have been determined by the developers of Sequoia as the most common and useful ones.
    • Set to MINIMUM (X.Y) - sets the value to the Minimum Range of the Slider.
    • Set to MAXIMUM (X.Y) - sets the value to the Maximum Range of the Slider.
    • ADD CLICKED Value To Presets (X.Y) - adds the value under the mouse cursor at the time of the Right-Click to the list of preset values.
    • ADD CURRENT Value To Presets (X.Y) - adds the value currently shown by the Field/Slider to the list of preset values.
    • REMOVE Preset (X.Y) - if a preset was added and its value matches the current value displayed by the control, removes the value from the presets list.
    • SET to X.Y - sets the value to the preset value created previously.

Slider Tooltip

  • As you move the mouse cursor over the surface of the Slider, the value under the mouse pointer will be displayed in a Tooltip.
  • To set the slider to that value, hold CTRL and Left-Click with the mouse.
  • To store the value as Preset, Right-Click with the mouse and select ADD CLICKED Value To Presets.

Slider Adaptive Range And Units

  • A slider has a default range which is often smaller than the value’s allowed range.
  • The user can only set the value via the alider within the allowed range.
  • However, entering values outside of the slider range by typing in the value field is usually allowed.
  • If the slider does not support the Adaptive Range feature, the handle of the slider will turn orange.
  • If the slider supports the Adaptive Range feature, the slider range will be updated dynamically so that the new value is in the middle of the new range.
  • If the values become too large or too small, the value representation will change the units automatically to previde the necessary precision.
  • This has the following positive effects:
    • It makes it easy to increase and decrease the value by clicking left or right of the slider handle.
    • It scales the range up or down to adapt the increment step’s precision to the new value.
    • The units representation will always express the value with the least digits possible.

[B] For example,

  • If you create a Mesher object without any connections to point sources, the Radius value will be 1.0 m and the slider’s range will be from 0.0m to 2.0m, placing the green handle in the middle.
  • You can move the slider in the range from 0.0 to 2.0, but to change the value to 10.0, you need to type in the value in the field.
  • Once the value 10.0m has been entered, the slider will reset the range to 0.0m - 20.0, placing the gray handle in the middle again.
  • If you move the slider too far to the left ti about 0.2 m, the scale of the slider becomes insufficient to represent tiny increments.
  • But if you type in 0.1 m in the field, the value will turn to 10.0 cm, the range will become 0.0 m to 0.2 m, and the gray handle will be centered. Clicking on both sides becomes easy again.
  • Enter 1.0 mm, and the range will change to 0.0 mm to 2.0 mm, letting you adjust the slider with high fidelity.
  • Enter 2000 m, and the units display will change to 2.0 km, and the range will change to 0.0 km to 4.0 km, with the gray handle centered...