Date: Dec 30, 2012 3:51 PM
Author: Nima Nikvand
Subject: Re: Event Object for Datacursormode

Hi Matt,

I am getting an empty matrix as the output of my ancestor function, a simple code like this for example:

fig = figure(1);
x=0:0.01:10,
y = sin(x);
plot(x,y);

dcmObj=datacursormode(fig);
p=ancestor(dcmObj,'figure')

is also returning p=[].

"Matt J" wrote in message <kbosk1$b1q$1@newscl01ah.mathworks.com>...
> "Matt J" wrote in message <kbon7f$njj$1@newscl01ah.mathworks.com>...
> > "Nima Nikvand" <nnikvand@uwaterloo.ca> wrote in message <kboj05$ahe$1@newscl01ah.mathworks.com>...
> > >
> > > function [txt,pos] = datatextbox(~,event_obj)
> > >
> > > and this works very well. However, I'd like to be able to get the output of my datatextbox function and I was wondering if I can some how call the function directly by passing the event_obj to it. I'd greatly appreciate your suggestions, or any other solutions to get the output arguments.

> > =============
> >
> > If you make datatextbox a nested function, every variable in its workspace will also be available in the workspace in which it is nested.

>
> You could also call setappdata from within datatextbox and store the txt,pos output data to the parent figure. Pass the figure handle to datatextbox using this syntax
>
> set(dcmObj,'UpdateFcn',{@datatextbox, ancestor(dcmObj,'figure')});
>
> Then use getappdata to pull it out later.