make history

3 vues (au cours des 30 derniers jours)
Rahma Yeni
Rahma Yeni le 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 commentaires
Jan
Jan le 9 Mar 2012
What is "make history"? What is the 2nd popup used for? Which last history is still where?
Rahma Yeni
Rahma Yeni le 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... :)

Connectez-vous pour commenter.

Réponse acceptée

Chandra Kurniawan
Chandra Kurniawan le 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 commentaires
Rahma Yeni
Rahma Yeni le 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 le 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..

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by