CLASS ndi.gui.app.sessionApp
NDI.GUI.APP.SESSIONAPP Interface for GUI apps that operate on a session.
A class marks itself as a session GUI app - one that can be launched
from the ndi.gui.navigator per-session "Apps" menu - by inheriting
from this interface and defining the constant Name property.
Contract:
* The class must be a handle class (this interface is a handle).
* The constructor must take the ndi.session as its first input:
obj = MyApp(sessionObj, ...)
Opening the app is therefore uniform: feval(className, session),
or ndi.gui.app.sessionApp.launch(className, session).
* The constant Name property supplies the menu label.
Example:
classdef myViewer < ndi.gui.app.sessionApp
properties (Constant)
Name = "My Viewer"
end
methods
function obj = myViewer(sessionObj)
arguments
sessionObj (1,1) ndi.session
end
% ... build the window ...
end
end
end
Discovery:
ndi.gui.app.sessionApp.list() scans a set of packages (recursively)
for concrete subclasses of this interface and returns their Name
and class. By default it scans the built-in ndi.gui.app and ndi.app
packages plus any packages the user has registered in the
preference GUI.Navigator.SessionAppPackages (a semicolon- or
comma-separated list, editable in the Prefs window). So a user can
add their own app by putting a sessionApp subclass in one of their
packages, on the MATLAB path, and listing that package name in the
preference - no changes to NDI are needed.
See also: ndi.gui.navigator, ndi.gui.nav.datasetsPane,
ndi.gui.app.spikeSorterImporter
Superclasses
handle
Properties
| Property | Description |
|---|---|
| Name | (1,1) string label shown in the session "Apps" menu |
Methods
| Method | Description |
|---|---|
| addlistener | Create event listener bound to event source |
| defaultPackages | DEFAULTPACKAGES Packages scanned for session apps by default. |
| delete | Delete handle object |
| eq | Determine equality |
| findobj | Find handle objects |
| findprop | Find matlab.metadata.Property object |
| ge | Determine greater than or equal to |
| gt | Determine greater than |
| isvalid | Determine valid handles |
| launch | LAUNCH Construct a session GUI app uniformly from its name. |
| le | Determine less than or equal to |
| list | LIST Discover concrete session GUI apps on the path. |
| listener | Create event listener without binding to event source |
| lt | Determine less than |
| ne | Determine inequality |
| notify | Notify listeners that event is occurring |
| sessionApp | NDI.GUI.APP.SESSIONAPP Interface for GUI apps that operate on a session. |
Methods help
addlistener - Create event listener bound to event source
Syntax
el = addlistener(hSource,EventName,callback)
el = addlistener(hSource,PropertyName,EventName,callback)
addlistener(___)
Input Arguments
hSource - Event source
handle array
EventName - Name of event
character vector | string scalar
PropertyName - Name of property
character vector | string | matlab.metadata.Property object
callback - Listener callback
function handle
Output Arguments
el - Listener object
event.listener or event.proplistener
Examples
web /opt/hostedtoolcache/MATLAB/2026.2.999/x64/help/matlab/ref/handle.addlistener.html#d127e840757
See also notify, event.listener, listener
Introduced in MATLAB in R2008a
Help for ndi.gui.app.sessionApp/addlistener is inherited from superclass handle
Documentation for addlistener
doc addlistener
defaultPackages - DEFAULTPACKAGES Packages scanned for session apps by default.
The built-in ndi.gui.app and ndi.app packages plus any user
packages registered in the preference
GUI.Navigator.SessionAppPackages.
delete - Delete handle object
Syntax
delete(H)
Input Arguments
H - Handle object
handle object or array of handle objects
See also isvalid
Introduced in MATLAB
Help for ndi.gui.app.sessionApp/delete is inherited from superclass handle
Documentation for handle/delete
doc handle/delete
eq - Determine equality
Syntax
A == B
eq(A,B)
Input Arguments
A - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
B - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
Examples
openExample('matlab/EqualityOfTwoVectorsExample')
openExample('matlab/FindCharactersInStringExample')
openExample('matlab/FindValuesInCategoricalArrayExample')
openExample('matlab/CompareFloatingPointNumbersExample')
openExample('matlab/CompareDatetimeValuesExample')
openExample('matlab/CompareTablesExample')
See also isapprox, ge, gt, le, lt, ne
Introduced in MATLAB before R2006a
Documentation for eq
doc eq
findobj - Find handle objects
Syntax
Hmatch = findobj(H)
Hmatch = findobj(H,property,value,...,property,value)
Hmatch = findobj(H,'-not',property,value)
Hmatch = findobj(H,'-regexp',property,expression)
Hmatch = findobj(H,property,value,logicaloperator,property,value)
Hmatch = findobj(H,'-function',fh)
Hmatch = findobj(H,'-function',property,fh)
Hmatch = findobj(H,'-class',class)
Hmatch = findobj(H,'-isa',class)
Hmatch = findobj(H,'-property',property)
Hmatch = findobj(H,'-method',methodname)
Hmatch = findobj(H,'-event',eventname)
Hmatch = findobj(H,'-depth',d,___)
Input Arguments
H - Objects to search from
handle array
property - Property name
character vector | string scalar
class - Class of object to find
character vector | string scalar | matlab.metadata.Class instance
value - Property value
any value
methodname - Method name
character vector | string scalar
eventname - Event name
character vector | string scalar
d - Depth of search
integer >= 0
fh - Function handle
function handle
Output Arguments
Hmatch - Objects found by search
handle array
Examples
web /opt/hostedtoolcache/MATLAB/2026.2.999/x64/help/matlab/ref/handle.findobj.html#mw_17437b0f-a588-40bf-bae5-dcdd410a410e
See also findprop
Introduced in MATLAB in R2008a
Help for ndi.gui.app.sessionApp/findobj is inherited from superclass handle
Documentation for handle/findobj
doc handle/findobj
findprop - Find matlab.metadata.Property object
Syntax
mp = findprop(h,property)
Input Arguments
h - handle object
scalar handle
property - Name of property
character vector | string scalar
Output Arguments
mp - matlab.metadata.Property object
matlab.metadata.Property | matlab.metadata.DynamicProperty
Examples
openExample('matlab/DisplayPropertyAttributesExample')
See also matlab.metadata.Property, findobj,
matlab.metadata.DynamicProperty
Introduced in MATLAB
Help for ndi.gui.app.sessionApp/findprop is inherited from superclass handle
Documentation for handle/findprop
doc handle/findprop
ge - Determine greater than or equal to
Syntax
A >= B
ge(A,B)
Input Arguments
A - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
B - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
Examples
openExample('matlab/TestVectorElementsExample')
openExample('matlab/ReplaceElementsofMatrixExample')
openExample('matlab/CompareValuesinCategoricalArrayExample')
openExample('matlab/TestComplexNumbersExample')
openExample('matlab/TestDurationValuesGeExample')
openExample('matlab/CompareTablesGEExample')
See also eq, lt, gt, le, ne
Introduced in MATLAB before R2006a
Documentation for ge
doc ge
gt - Determine greater than
Syntax
A > B
gt(A,B)
Input Arguments
A - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
B - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
Examples
openExample('matlab/TestVectorElementsGreaterThanExample')
openExample('matlab/ReplaceElementsofMatrixGreaterExample')
openExample('matlab/CompareValuesinCategoricalArrayGreaterExample')
openExample('matlab/TestComplexNumbersGreaterExample')
openExample('matlab/CompareDatesExample')
openExample('matlab/CompareTablesGTExample')
See also eq, ge, lt, le, ne
Introduced in MATLAB before R2006a
Documentation for gt
doc gt
isvalid - Determine valid handles
Syntax
B = isvalid(H)
Input Arguments
H - Input array
handle array
Output Arguments
B - Result of validity test
logical
See also delete
Introduced in MATLAB
Help for ndi.gui.app.sessionApp/isvalid is inherited from superclass handle
Documentation for handle/isvalid
doc handle/isvalid
launch - LAUNCH Construct a session GUI app uniformly from its name.
NDI.GUI.APP.SESSIONAPP.LAUNCH(CLASSNAME, SESSION) calls the
CLASSNAME constructor with SESSION as its first argument.
le - Determine less than or equal to
Syntax
A <= B
le(A,B)
Input Arguments
A - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
B - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
Examples
openExample('matlab/TestVectorElementsLessThanOrEqualExample')
openExample('matlab/ReplaceElementsOfMatrixLessThanOrEqualExample')
openExample('matlab/CompareValuesInCategoricalArrayLessThanOrEqualExample')
openExample('matlab/TestComplexNumbersLessThanEqualExample')
openExample('matlab/TestDurationValuesExample')
openExample('matlab/CompareTablesLEExample')
See also eq, ge, gt, lt, ne
Introduced in MATLAB before R2006a
Documentation for le
doc le
list - LIST Discover concrete session GUI apps on the path.
APPS = NDI.GUI.APP.SESSIONAPP.LIST() returns a struct array
with fields:
Name - the app's display label (string)
Class - the fully-qualified class name (string)
Category - an optional grouping label (string, "" if the
app declares no Category constant). The
navigator groups apps that share a non-empty
Category into a submenu of the same name.
for every concrete subclass of ndi.gui.app.sessionApp found
in the default packages.
APPS = NDI.GUI.APP.SESSIONAPP.LIST(PACKAGES) scans the given
packages (string array) instead of the defaults.
listener - Create event listener without binding to event source
Syntax
eL = listener(hSource,EventName,callback)
eL = listener(hSource,PropertyName,EventName,callback)
Input Arguments
hSource - Handle object that is the source of the event
handle array
EventName - Name of the event that is triggered on the source objects
character vector or string scalar
PropertyName - Name of property
character vector | string | matlab.metadata.Property object
callback - Listener callback
function handle
Output Arguments
el - Listener object
event.listener or event.proplistener
Examples
web /opt/hostedtoolcache/MATLAB/2026.2.999/x64/help/matlab/ref/handle.listener.html#d127e841088
See also notify, event.listener
Introduced in MATLAB in R2017b
Help for ndi.gui.app.sessionApp/listener is inherited from superclass handle
Documentation for handle/listener
doc handle/listener
lt - Determine less than
Syntax
A < B
lt(A,B)
Input Arguments
A - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
B - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
Examples
openExample('matlab/TestVectorElementsLessThanExample')
openExample('matlab/ReplaceElementsofMatrixLessThanExample')
openExample('matlab/CompareValuesinCategoricalArrayLessThanExample')
openExample('matlab/TestComplexNumbersLessThanExample')
openExample('matlab/CompareDatesLessThanExample')
openExample('matlab/CompareTablesLTExample')
See also eq, ge, gt, le, ne
Introduced in MATLAB before R2006a
Documentation for lt
doc lt
ne - Determine inequality
Syntax
A ~= B
ne(A,B)
Input Arguments
A - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
B - Operands
scalars | vectors | matrices | multidimensional arrays | tables |
timetables
Examples
openExample('matlab/InequalityOfTwoVectorsExample')
openExample('matlab/FindCharactersInStringNotEqualExample')
openExample('matlab/FindValuesInCategoricalArrayNotEqualExample')
openExample('matlab/CompareFloatingPointNumbersNotEqualExample')
openExample('matlab/InequalityOfTwoDatetimeArraysExample')
openExample('matlab/CompareTablesNEExample')
See also ge, gt, le, lt, eq
Introduced in MATLAB before R2006a
Documentation for ne
doc ne
notify - Notify listeners that event is occurring
Syntax
notify(H,EventName)
notify(H,EventName,data)
Input Arguments
H - Event source
handle array
EventName - Name of event
character vector | string scalar
data - User-defined event data
subclass of event.EventData
See also addlistener, listener
Introduced in MATLAB in R2008a
Help for ndi.gui.app.sessionApp/notify is inherited from superclass handle
Documentation for handle/notify
doc handle/notify
sessionApp - NDI.GUI.APP.SESSIONAPP Interface for GUI apps that operate on a session.
A class marks itself as a session GUI app - one that can be launched
from the ndi.gui.navigator per-session "Apps" menu - by inheriting
from this interface and defining the constant Name property.
Contract:
* The class must be a handle class (this interface is a handle).
* The constructor must take the ndi.session as its first input:
obj = MyApp(sessionObj, ...)
Opening the app is therefore uniform: feval(className, session),
or ndi.gui.app.sessionApp.launch(className, session).
* The constant Name property supplies the menu label.
Example:
classdef myViewer < ndi.gui.app.sessionApp
properties (Constant)
Name = "My Viewer"
end
methods
function obj = myViewer(sessionObj)
arguments
sessionObj (1,1) ndi.session
end
% ... build the window ...
end
end
end
Discovery:
ndi.gui.app.sessionApp.list() scans a set of packages (recursively)
for concrete subclasses of this interface and returns their Name
and class. By default it scans the built-in ndi.gui.app and ndi.app
packages plus any packages the user has registered in the
preference GUI.Navigator.SessionAppPackages (a semicolon- or
comma-separated list, editable in the Prefs window). So a user can
add their own app by putting a sessionApp subclass in one of their
packages, on the MATLAB path, and listing that package name in the
preference - no changes to NDI are needed.
See also: ndi.gui.navigator, ndi.gui.nav.datasetsPane,
ndi.gui.app.spikeSorterImporter
Documentation for ndi.gui.app.sessionApp
doc ndi.gui.app.sessionApp