make history

1 visualizzazione (ultimi 30 giorni)
Rahma Yeni
Rahma Yeni il 9 Mar 2012
Hello,
I have 2 popupmenu in my figure. one popupmenu have some strings. I want to make history when i chosen one of them. how i can do it..?? when i chose a string in popupmenu, the last history still there..
thanks.. :)
  2 Commenti
Jan
Jan il 9 Mar 2012
What is "make history"? What is the 2nd popup used for? Which last history is still where?
Rahma Yeni
Rahma Yeni il 10 Mar 2012
I'm sorry, maybe my explanation convoluted.. :)
so, i illustrate my question in this picture..
http://www.flickr.com/photos/rye_ni/6822456324/in/photostream
I hope your answer Sir..
Thanks before... :)

Accedi per commentare.

Risposta accettata

Chandra Kurniawan
Chandra Kurniawan il 10 Mar 2012
Hi, Rahma
I have seen your picture.
I think I cannot do it with your way.
Imagine if we have A-m-5 in 1st component and we also have c in 2nd component.
The pushbutton cannot decide which one must be stored in history, right?
So, I think we need 2 pushbutton to perform this. One in 1st component and another one in 2nd component.
The figure is shown below :
And the code :
In openingfcn
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
handles.cnt = 0;
handles.history = {};
handles.p1str = {'Process1','A','B','C','D','E'};
handles.p2str = {'Process2','m','n'};
handles.p4str = {'Process4','a','b','c'};
set(handles.popupmenu1,'string',handles.p1str);
set(handles.popupmenu2,'string',handles.p2str);
set(handles.popupmenu3,'string',handles.p4str);
set(handles.slider1,'value',0,'sliderstep',[.05 .05]);
guidata(hObject, handles);
In slider1 callback
function slider1_Callback(hObject, eventdata, handles)
val = get(handles.slider1,'value');
val = round(val*20);
set(handles.text5,'string',num2str(val));
In pushbutton1 callback
function pushbutton1_Callback(hObject, eventdata, handles)
p1val = get(handles.popupmenu1,'value');
p2val = get(handles.popupmenu2,'value');
p3val = get(handles.slider1,'value');
p3val = round(20*p3val);
if (p1val > 1) & (p2val > 1)
handles.cnt = handles.cnt + 1;
histstr = horzcat(handles.p1str{p1val},', ',...
handles.p2str{p2val},', ',...
num2str(p3val));
handles.history{handles.cnt} = histstr;
set(handles.listbox1,'string',handles.history);
end
guidata(hObject,handles
In pushbutton2 callback
function pushbutton2_Callback(hObject, eventdata, handles)
p4val = get(handles.popupmenu3,'value');
if p4val > 1
handles.cnt = handles.cnt + 1;
histstr = handles.p4str{p4val};
handles.history{handles.cnt} = histstr;
set(handles.listbox1,'string',handles.history);
end
guidata(hObject,handles);
You can also download the file and do modification on it for your purpose.
I hope this works!
  6 Commenti
Rahma Yeni
Rahma Yeni il 10 Mar 2012
sorry... :)
yes,, in the first GUI i have a pushbutton to link the second GUI..
image in first GUI move to second GUI..
but, when i do 'make history', the choices are not appear in history list ..
it is the message:
??? Reference to non-existent field 'cnt'.
But, when i minimize the figure, then i run it again, the choices appear to history list..
Rahma Yeni
Rahma Yeni il 10 Mar 2012
like make history before, but i have the other example..
http://www.flickr.com/photos/rye_ni/6969686871/
where, string of 'b' and 'c' take the value from their text field. how i can make history like before..?? cause, one of the process have different text field..
thanks before Mr. Chandra.. :)
nice for your answer..

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by