#121188 29.05.2008 12:27:05
function varargout = tabliczka(varargin)
% TABLICZKA M-file for tabliczka.fig
% TABLICZKA, by itself, creates a new TABLICZKA or raises the existing
% singleton*.
%
% H = TABLICZKA returns the handle to a new TABLICZKA or the handle to
% the existing singleton*.
%
% TABLICZKA('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in TABLICZKA.M with the given input arguments.
%
% TABLICZKA('Property','Value',...) creates a new TABLICZKA or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before tabliczka_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to tabliczka_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 tabliczka
% Last Modified by GUIDE v2.5 29-May-2008 11:27:19
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @tabliczka_OpeningFcn, ...
'gui_OutputFcn', @tabliczka_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 tabliczka is made visible.
function tabliczka_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 tabliczka (see VARARGIN)
% Choose default command line output for tabliczka
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes tabliczka wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = tabliczka_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;
rand('state',sum(100*clock));
a=round(rand*10);
b=round(rand*10);
set(handles.edit1,'value',a);
set(handles.edit1,'string',a);
set(handles.edit2,'value',b);
set(handles.edit2,'string',b);
set(handles.edit3,'string',''
;
pkt=0;
nt=0;
set(handles.edit4,'value',pkt);
set(handles.edit4,'string',num2str(pkt));
set(handles.edit5,'value',nt);
set(handles.edit5,'string',num2str(nt*2));
set(handles.edit7,'visible','off'
;
set(handles.text7,'visible','off'
;
set(handles.edit1,'enable','off'
;
set(handles.edit2,'enable','off'
;
set(handles.edit4,'enable','off'
;
set(handles.edit5,'enable','off'
;
set(handles.text6,'backgroundcolor',[0 1 0]);
set(handles.edit5,'backgroundcolor',[1 1 0]);
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
returns contents of edit1 as text
% str2double(get(hObject,'String'
) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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 edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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
function edit3_Callback(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
returns contents of edit3 as text
% str2double(get(hObject,'String'
) returns contents of edit3 as a double
% --- Executes during object creation, after setting all properties.
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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
function edit4_Callback(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
returns contents of edit4 as text
% str2double(get(hObject,'String'
) returns contents of edit4 as a double
% --- Executes during object creation, after setting all properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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
function edit5_Callback(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
returns contents of edit5 as text
% str2double(get(hObject,'String'
) returns contents of edit5 as a double
% --- Executes during object creation, after setting all properties.
function edit5_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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
function edit6_Callback(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
returns contents of edit5 as text
% str2double(get(hObject,'String'
) returns contents of edit5 as a double
% --- Executes during object creation, after setting all properties.
function edit6_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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
function edit7_Callback(hObject, eventdata, handles)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
returns contents of edit7 as text
% str2double(get(hObject,'String'
) returns contents of edit7 as a double
% --- Executes during object creation, after setting all properties.
function edit7_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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 on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
nt=get(handles.edit5,'string'
;
nt=eval(nt);
if nt==0
set(handles.edit6,'enable','off'
;
Lt=get(handles.edit6,'string'
;
Lt=eval(Lt);
if Lt<10
Lt=10;
set(handles.edit6,'string','10'
;
end;
end;
Lt=get(handles.edit6,'string'
;
Lt=eval(Lt);
if nt<Lt*2;
a=get(handles.edit1,'string'
;
b=get(handles.edit2,'string'
;
c=get(handles.edit3,'string'
;
pkt=get(handles.edit4,'string'
;
a=eval(a);
b=eval(b);
pkt=eval(pkt);
[c spr]=str2num(c);
if spr==1
if c==a*b
pkt=pkt+2;
else
pkt=pkt-1;
end;
end;
nt=nt+2;
set(handles.edit5,'string',num2str(nt));
set(handles.edit4,'string',pkt);
if nt<Lt*2
set(handles.edit3,'string',''
;
a=round(rand*10)
b=round(rand*10)
%set(handles.edit1,'value',a);
set(handles.edit1,'string',a);
%set(handles.edit2,'value',b);
set(handles.edit2,'string',b);
else
set(handles.edit7,'visible','on'
;
set(handles.t7,'visible','on'
;
ocena=4*pkt/2/Lt+1;
if ocena<2;
ocena=2
end;
set(handles.edit7,'string',sprintf('%5.1f',ocena));
set(handles.edit1,'visible','off'
;
set(handles.edit2,'visible','off'
;
set(handles.edit3,'visible','off'
;
set(handles.t1,'visible','off'
;
set(handles.t2,'visible','off'
;
set(handles.t3,'visible','off'
;
set(handles.pushbutton1,'visible','off'
;
end
end
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit8_Callback(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
returns contents of edit6 as text
% str2double(get(hObject,'String'
) returns contents of edit6 as a double
% --- Executes during object creation, after setting all properties.
function edit8_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
returns contents of edit2 as text
% str2double(get(hObject,'String'
) returns contents of edit2 as a double
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% TABLICZKA M-file for tabliczka.fig
% TABLICZKA, by itself, creates a new TABLICZKA or raises the existing
% singleton*.
%
% H = TABLICZKA returns the handle to a new TABLICZKA or the handle to
% the existing singleton*.
%
% TABLICZKA('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in TABLICZKA.M with the given input arguments.
%
% TABLICZKA('Property','Value',...) creates a new TABLICZKA or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before tabliczka_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to tabliczka_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 tabliczka
% Last Modified by GUIDE v2.5 29-May-2008 11:27:19
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @tabliczka_OpeningFcn, ...
'gui_OutputFcn', @tabliczka_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 tabliczka is made visible.
function tabliczka_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 tabliczka (see VARARGIN)
% Choose default command line output for tabliczka
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes tabliczka wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = tabliczka_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;
rand('state',sum(100*clock));
a=round(rand*10);
b=round(rand*10);
set(handles.edit1,'value',a);
set(handles.edit1,'string',a);
set(handles.edit2,'value',b);
set(handles.edit2,'string',b);
set(handles.edit3,'string',''
pkt=0;
nt=0;
set(handles.edit4,'value',pkt);
set(handles.edit4,'string',num2str(pkt));
set(handles.edit5,'value',nt);
set(handles.edit5,'string',num2str(nt*2));
set(handles.edit7,'visible','off'
set(handles.text7,'visible','off'
set(handles.edit1,'enable','off'
set(handles.edit2,'enable','off'
set(handles.edit4,'enable','off'
set(handles.edit5,'enable','off'
set(handles.text6,'backgroundcolor',[0 1 0]);
set(handles.edit5,'backgroundcolor',[1 1 0]);
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
% str2double(get(hObject,'String'
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'
set(hObject,'BackgroundColor','white'
end
% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'
set(hObject,'BackgroundColor','white'
end
function edit3_Callback(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
% str2double(get(hObject,'String'
% --- Executes during object creation, after setting all properties.
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'
set(hObject,'BackgroundColor','white'
end
function edit4_Callback(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
% str2double(get(hObject,'String'
% --- Executes during object creation, after setting all properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'
set(hObject,'BackgroundColor','white'
end
function edit5_Callback(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
% str2double(get(hObject,'String'
% --- Executes during object creation, after setting all properties.
function edit5_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'
set(hObject,'BackgroundColor','white'
end
function edit6_Callback(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
% str2double(get(hObject,'String'
% --- Executes during object creation, after setting all properties.
function edit6_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'
set(hObject,'BackgroundColor','white'
end
function edit7_Callback(hObject, eventdata, handles)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
% str2double(get(hObject,'String'
% --- Executes during object creation, after setting all properties.
function edit7_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'
set(hObject,'BackgroundColor','white'
end
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
nt=get(handles.edit5,'string'
nt=eval(nt);
if nt==0
set(handles.edit6,'enable','off'
Lt=get(handles.edit6,'string'
Lt=eval(Lt);
if Lt<10
Lt=10;
set(handles.edit6,'string','10'
end;
end;
Lt=get(handles.edit6,'string'
Lt=eval(Lt);
if nt<Lt*2;
a=get(handles.edit1,'string'
b=get(handles.edit2,'string'
c=get(handles.edit3,'string'
pkt=get(handles.edit4,'string'
a=eval(a);
b=eval(b);
pkt=eval(pkt);
[c spr]=str2num(c);
if spr==1
if c==a*b
pkt=pkt+2;
else
pkt=pkt-1;
end;
end;
nt=nt+2;
set(handles.edit5,'string',num2str(nt));
set(handles.edit4,'string',pkt);
if nt<Lt*2
set(handles.edit3,'string',''
a=round(rand*10)
b=round(rand*10)
%set(handles.edit1,'value',a);
set(handles.edit1,'string',a);
%set(handles.edit2,'value',b);
set(handles.edit2,'string',b);
else
set(handles.edit7,'visible','on'
set(handles.t7,'visible','on'
ocena=4*pkt/2/Lt+1;
if ocena<2;
ocena=2
end;
set(handles.edit7,'string',sprintf('%5.1f',ocena));
set(handles.edit1,'visible','off'
set(handles.edit2,'visible','off'
set(handles.edit3,'visible','off'
set(handles.t1,'visible','off'
set(handles.t2,'visible','off'
set(handles.t3,'visible','off'
set(handles.pushbutton1,'visible','off'
end
end
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit8_Callback(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
% str2double(get(hObject,'String'
% --- Executes during object creation, after setting all properties.
function edit8_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'
set(hObject,'BackgroundColor','white'
end
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String'
% str2double(get(hObject,'String'
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)