| Interactive Manipulation |
|
The single function Manipulate gives immediate access to a huge range of powerful interactive capabilities. For any expression with symbolic parameters, Manipulate automatically creates an interface for manipulating the parameters. Manipulate supports not only mouse and keyboard manipulation, but also gamepads and other devices.
|
|
|
| |
Manipulate interactively manipulate any expression, graphic or other object |
|
Animate animate any graphic or expression
ListAnimate animate a list of graphics or expressions |
|
Options & Styling »
ControlPlacement - ControlType - SaveDefinitions - Bookmarks - ...
ImageSize - PlotRange - Text - Style - ControlActive - ...
Control Types »
Locator make one or more 2D variables be controlled by locators inside a graphic
Trigger set up a "trigger" that starts a variable changing with time
Slider - PopupMenu - SetterBar - Animator - InputField - ... |
|
Alt+drag, Ctrl+Alt+drag move a slider progressively slower |
|
ControllerManipulate manipulate only with an external controller (e.g. gamepad) |
| Control Objects |
|
Mathematica provides a full range of control objects, all specified in convenient symbolic form. Manipulate uses many of these objects automatically; you can also use them directly as part of generalized input, or in building your own dynamic interfaces.
|
|
|
| |
Control an interactive control with type automatically chosen |
|
Slider, VerticalSlider Slider2D 
Checkbox RadioButton Opener 
ColorSlider interactively select a color
Setter set a value when pressed: 
Toggler toggle through values when clicked
SetterBar, RadioButtonBar, CheckboxBar, TogglerBar arrays of buttons
PopupMenu menu of choices
InputField field for strings, numbers or any expression
LocatorPane movable locators on graphics or other backgrounds
Animator - Manipulator - Locator - ProgressIndicator - Trigger - ClickPane |
|
Button button with any form and action
PasteButton button to paste an expression |
|
ActionMenu, ButtonBar choose from a list of actions
EventHandler low-level event handler
MousePosition - ControlActive - ControllerState - CurrentValue |
|
FileNameSetter system file browser
ColorSetter system color picker
SystemDialogInput files, fonts, sounds, etc. |
|
Hyperlink general hyperlink to cells and URLs
Annotations »
Tooltip - Mouseover - StatusArea - PopupWindow - Labeled - ...
Programming with Controls »
Dynamic - DynamicModule - MousePosition - Setting - DynamicSetting - ...
Structuring and Layout »
Grid - Row - Column - Panel - TabView - Pane - Deploy - ...
Controls Options »
ImageSize - Appearance - Deployed - Enabled - AutoAction - ...
Creating Separate Windows »
ChoiceDialog - CreatePalette - CreateDialog - CreateDocument - ... |
| Dynamic Interactivity Language |
|
Fundamental to Mathematica's dynamic interactivity capabilities is a new form of symbolic dynamic language. With a very small number of highly powerful primitives that mix freely with other language constructs, you can write a program in a direct symbolic style, and Mathematica will automatically track dependencies to make controls and output of any kind update dynamically.
|
|
|
| |
Dynamic display as a dynamically updated settable expression of any kind
DynamicModule localize dynamic constructs
With insert static content into a dynamic object
Control Objects »
Slider - Checkbox - PopupMenu - Locator - Manipulator - ... |
|
Low-Level Functions
CurrentValue - Refresh - Clock - EmitSound - ControlActive
System Interface
FinishDynamic - $DynamicEvaluation - $ControlActiveSetting - PreemptProtect
Dynamic Updating Enabled |
| Viewers and Annotation |
|
Mathematica's dynamic interactivity system makes it easy to view and annotate any object in a dynamic way. Building on Mathematica's symbolic programming architecture, constructs can be nested and combined in arbitrary ways, and both their content and control can be fully dynamic and programmatic.
|
|
|
| |
TabView make any list of objects be selectable with tabs
SlideView view any list of objects as a sequence of slides
FlipView flip between displaying two or more objects
MenuView - OpenerView - PopupView |
|
Labeled associate any label with any object
Framed put a frame around an object
Panel put an object in a panel
Text - Style - Row - Column - Grid
Placeholder label a place to type |
|
Tooltip attach any tooltip to any object
Mouseover specify what to show when the mouse is over an object
StatusArea put a string in the window status area
PopupWindow attach a popup window with any content |
|
Annotation attach a general annotation to an object
MouseAnnotation find the annotation for the object the mouse is over |
|
Monitor monitor the progress of a computation |
|
Manipulate general interactive manipulation
ListAnimate animate a list of graphics or other objects |
| Generalized Input |
|
Mathematica's unique structure allows a generalized notion of input, in which not only ordinary text, but also typeset structures, diagrams, graphics, control objects and even complete user interfaces can be entered and immediately return values that have been associated with them.
|
|
|
| |
Controls as Input
DynamicSetting display as a control that dynamically gives its setting when evaluated
Ctrl+Shift+Enter evaluate in place to show the displayed form
Checkbox - PopupMenu - ColorSetter - FileNameSetter - SetterBar - ...
Manipulate set up a collection of controls |
|
Giving Interpretations
Interpretation specify any interpretation for a graphic or other expression |
|
Graphics as Input
Graphics, Graphics3D use any graphic as input |
|
Input Annotation
Placeholder label a place to type |
|
Defining Custom Notation »
InputAliases - DynamicSetting - InputAutoReplacements - ... |
| Custom Interface Construction |
|
For many applications, high-level constructs like Manipulate and TabView will immediately give you the dynamic interactivity you need. Mathematica also allows you to create your own sophisticated custom interfaces, using its uniquely straightforward symbolic interface-building technology.
|
|
|
| |
Manipulate create an interface to manipulate any expression or graphic
ControllerManipulate create an interface using external controllers |
|
Dynamic display as the dynamically updated current value
DynamicModule interface localization construct |
|
Palettes »
CreatePalette create a new palette from a symbolic expression
Button - PasteButton - Column - Grid - WindowTitle - ... |
|
Toolbars »
DockedCells arbitrary cells to be docked at the top of a notebook |
|
Dialog Boxes »
Input, InputString put up a dialog to get input
MessageDialog put up a dialog box to display a message
ChoiceDialog put up a dialog box with buttons to make choices
DialogInput - CreateDialog - DialogReturn - SystemDialogInput
Button - Checkbox - InputField - Panel - TabView - Grid - ... |
|
Inspectors »
CurrentValue test or set hundreds of interface values
Dynamic - Options - SetOptions - PaletteNotebook - ... |
|
Click-Interactive Panels »
LocatorPane - ClickPane - EventHandler - Mouseover - Deploy - ... |
|
Standalone Interfaces »
FrontEndEventActions - FrontEndExecute - ActionMenu - Deploy - ... |
|
Low-Level Interface Control »
MousePosition - EventHandler - CellEventActions - ControllerState - ... |
| New in 7.0: Dynamic Interactivity |
|
Mathematica 6 introduced the revolutionary idea of symbolic dynamic interactivity. Mathematica 7 makes use of this idea throughout the system, and adds a number of additional features to the core concept.
|
|
|
| |
Interactive Manipulation
Manipulate (modified) new support for arranging controls in grids, etc.
New in Symbolic Controls
Control an interactive control with type automatically chosen
ButtonBar a bar of buttons with labels and actions
ChoiceButtons a pair of OK and Cancel buttons that close a dialog
Pane (modified) scrollable pane
TabView (modified) scrollable tabs
CheckboxBar, RadioButtonBar (modified) new support for in-bar delimiters
Panel (modified) display a panel with different appearances
PreemptProtect protect evaluation from interruption by preemptive evaluations
Interface Building
Placeholder symbolic representation of place to type into |
|
|