0001 function [varargout]=loginLTPDA(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 Login = varargin{1};
0030 password = varargin{2};
0031 for i=1:numel(password), passwordHidden(i)='*'; end
0032 if ~exist('passwordHidden','var'), passwordHidden = ''; end
0033
0034
0035 Color = get(0,'DefaultUicontrolBackgroundcolor');
0036
0037 set(0,'Units','characters')
0038 Screen = get(0,'screensize');
0039 Position = [Screen(3)/2-17.5 Screen(4)/2-4.75 35 9.5];
0040 set(0,'Units','pixels')
0041
0042
0043
0044 gui.main = dialog('HandleVisibility','on',...
0045 'IntegerHandle','off',...
0046 'Menubar','none',...
0047 'Name','LTPDA Login',...
0048 'NumberTitle','off',...
0049 'Name','Login',...
0050 'Tag','logindlg',...
0051 'Color',Color,...
0052 'Units','characters',...
0053 'Userdata','logindlg',...
0054 'Position',Position);
0055
0056 set(gui.main,'Closerequestfcn',{@Cancel,gui.main},'Keypressfcn',{@Escape,gui.main})
0057
0058
0059 gui.login_text = uicontrol(gui.main,'Style','text','FontSize',8,'HorizontalAlign','center','Units','characters','String','Login','Position',[1 7.65 33 1]);
0060 gui.password_text = uicontrol(gui.main,'Style','text','FontSize',8,'HorizontalAlign','center','Units','characters','String','Password','Position',[1 4.15 33 1]);
0061
0062
0063 gui.edit1 = uicontrol(gui.main,'Style','edit','FontSize',8,'HorizontalAlign','center','BackgroundColor','white','Units','characters','String',Login,'Position',[1 6.02 33 1.7]);
0064 gui.edit2 = uicontrol(gui.main,'Style','edit','FontSize',8,'HorizontalAlign','center','BackgroundColor','white','Units','characters','String',passwordHidden,'Position',[1 2.52 33 1.7],'KeyPressfcn',{@KeyPress_Function,gui.main},'Userdata',password);
0065
0066
0067 gui.OK = uicontrol(gui.main,'Style','push','FontSize',8,'Units','characters','String','OK','Position',[2 .2 15 1.7],'Callback',{@OK,gui.main});
0068 gui.Cancel = uicontrol(gui.main,'Style','push','FontSize',8,'Units','characters','String','Cancel','Position',[18 .2 15 1.7],'Callback',{@Cancel,gui.main});
0069
0070 setappdata(0,'logindlg',gui)
0071 setappdata(gui.main,'Check',0)
0072
0073 uicontrol(gui.edit1)
0074
0075
0076 uiwait(gui.main)
0077
0078 Check = getappdata(gui.main,'Check');
0079
0080
0081 if Check == 1
0082 Login = get(gui.edit1,'String');
0083 Password = get(gui.edit2,'Userdata');
0084
0085 varargout(1) = {Login};
0086 varargout(2) = {Password};
0087 else
0088 varargout(1) = {''};
0089 varargout(2) = {''};
0090 end
0091
0092 delete(gui.main)
0093 setappdata(0,'logindlg',[])
0094
0095
0096 function KeyPress_Function(h,eventdata,fig)
0097
0098
0099 password = get(h,'Userdata');
0100 key = get(fig,'currentkey');
0101
0102 switch key
0103 case 'backspace'
0104 password = password(1:end-1);
0105 case 'return'
0106 gui = getappdata(0,'logindlg');
0107 OK([],[],gui.main);
0108 case 'tab'
0109 gui = getappdata(0,'logindlg');
0110 uicontrol(gui.OK);
0111 otherwise
0112 password = [password get(fig,'currentcharacter')];
0113 end
0114
0115 SizePass = size(password);
0116 if SizePass(2) > 0
0117 asterix(1,1:SizePass(2)) = '*';
0118 set(h,'String',asterix)
0119 else
0120 set(h,'String','')
0121 end
0122
0123 set(h,'Userdata',password)
0124
0125
0126 function Cancel(h,eventdata,fig)
0127 uiresume(fig)
0128
0129
0130 function OK(h,eventdata,fig)
0131
0132 setappdata(fig,'Check',1)
0133 uiresume(fig)
0134
0135
0136 function Escape(h,eventdata,fig)
0137
0138
0139 key = get(fig,'currentkey');
0140
0141 if isempty(strfind(key,'escape')) == 0 && h == fig
0142 Cancel([],[],fig)
0143 end