DynamiTabs

An alternative approach to tab control, in part inspired by the Wavemetrics "Extensible Tab Panel Demo" experiment. This approach is used in the Time-Frequency Tookit package.

The impetus for this approach was to get rid of the cumbersome need to keep some sort of database of controls, or to name controls in a particular way, that can make updating controls in a tabbed control panel tedious. The tradeoff is that all control states must be continuously saved in global variables - something that is often desirable in a package complex enough to require tabs anyway.

The action procedure controlling the tabs completely deletes all controls in the target window and then redraws the tab control and the controls for that tab. Controls for individual tabs are drawn by functions recognized by a standard naming convention ("AddDynamicTab_mytabname"). This allows easy editing of controls in a tab: all controls for a given tab are conveniently grouped in a single function, and every time that tab is reselected the controls will be fully redrawn with newly edited code. It also allows for easy extensibility - add a new function named with an "AddDynamicTab_" prefix and a corresonding tab will be added to the control panel.

Everything necessary to use this is in the DynamiTabs.ipf file. The OPEN ME experiment has a very simple sample experiment with a tabbed control panel drawn by code in the main procedure window.

Project Details

Project CVS: http://svn.igorexchange.com/viewvc/packages/DynamiTabs/

Current Project Release

DynamiTabs IGOR.6.00.x-1.x-dev

Release File: DynamiTabs-IGOR.6.00.x-1.x-dev.zip
Version: IGOR.6.00.x-1.x-dev
Version Date: Sat, 02/14/2009 - 08:00 pm
Version Major: 1
Version Extra: dev
OS Compatibility: Mac-Intel Windows
Release Notes: First upload of files.

version 1.01
fixed string initialization bug
added check for existence of designated tab control in designated window
View All Releases

Forum

Support

Gallery

Igor Pro 9

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More