I'm not sure I've properly understood what did you menan with
each mouse that the user chooses - a new uitable will replace the previous uitable of the previous mouse
and, in turn, the expected behaviour of the GUI.
I've set up a simple GUI containing a table
(tag: uitable1
) and a popupmenu
(tag: popupmenu1
).
When the user selects an item in a popupmenu
, in the corresponding row of table
the string Selected
- In the
uitable1_CreateFcn
the content of the table
is set to empty strings
- In the
popupmenu1_Callback
the index of the item selected in the popoumenu
is identified and, in the corresponding row of the table, the string Selected is printed and the previous one deleted.
This is the code of the GUI
function varargout = table_gui(varargin)
% TABLE_GUI MATLAB code for table_gui.fig
% TABLE_GUI, by itself, creates a new TABLE_GUI or raises the existing
% singleton*.
%
% H = TABLE_GUI returns the handle to a new TABLE_GUI or the handle to
% the existing singleton*.
%
% TABLE_GUI('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in TABLE_GUI.M with the given input arguments.
%
% TABLE_GUI('Property','Value',...) creates a new TABLE_GUI or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before table_gui_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to table_gui_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help table_gui
% Last Modified by GUIDE v2.5 20-Aug-2015 17:31:24
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @table_gui_OpeningFcn, ...
'gui_OutputFcn', @table_gui_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before table_gui is made visible.
function table_gui_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to table_gui (see VARARGIN)
% Choose default command line output for table_gui
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes table_gui wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = table_gui_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
% contents{get(hObject,'Value')} returns selected item from popupmenu1
% Get the index of the selected popupmenu item
sel_m=get(hObject,'value')
% Clear table content
for i=1:10
sel_sts{i,1}=' ';
end
% If "--- Select a Mouse ---" has been selected then set table with empty
% string
if(sel_m == 1)
set(handles.uitable1,'data',sel_sts)
else
% If a "Mouse" has been selected then set "Selected" in the corresponding
% cell of the table
sel_sts{sel_m - 1,1}='Selected';
set(handles.uitable1,'data',sel_sts)
end
% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes during object creation, after setting all properties.
function uitable1_CreateFcn(hObject, eventdata, handles)
% hObject handle to uitable1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Initialize table content with empty string
for i=1:10
sel_sts{i,1}=' ';
end
set(hObject,'data',sel_sts);

Hope this helps.