function panel hfig = figure(... 'Name','Test interface',... %Nom de la fenetre 'NumberTitle','off', ... 'units','normalized',... 'position',[0.05 0.05 0.9 0.9],... %taille et position de la fenetre 'Toolbar','none'); axes( ... 'parent',hfig,... 'units','normalized',... 'Position',[0,0.9,0.2,0.1]); Donnees_tab = uitabpanel(... 'parent',hfig,... 'Style','popup',... %style d'onglet 'Units','normalized',... % normalized == % de longueur total 'Position',[0,0.0,0.2,0.9],... % position et taille de la tab en % 'FrameBackgroundColor',[0.4314,0.5882,1],... % couleur de fond de la tab 'FrameBorderType','etchedin',... %style de bordure de la tab 'Title',{'Laser','Scanner','Lentille','Conception','résolutions'},... % noms des tabs 'PanelHeights',[7,7,10,10,10],... % hauteur de la fenetre de chaque popup en caractère 'HorizontalAlignment','left',... 'FontWeight','bold',... %typo des titre 'TitleBackgroundColor',[0.9255 0.9490 0.9765],... % fond de l'onglet 'TitleForegroundColor',[0.1294,0.3647,0.8510],... % couleur du text 'PanelBackgroundColor',[0.7725,0.8431,0.9608],... % couleur du popup 'SelectedItem',3,... %active la selection d'un item par defaut 'PanelBorderType','line',... 'CreateFcn',@CreateDonnees); htab(2) = uitabpanel(... 'Parent',hfig,... 'TabPosition','centertop',... 'Position',[0.2,0,0.8,1],... 'Margins',{[0,1,4,0],'pixels'},... %marge autour des 4 cotés 'PanelBorderType','line',... 'SelectedItem',1,... 'Title',{'Step1','Step2','Step3','Step4'},... 'CreateFcn',@CreateStep); if nargout, hh = htab; end function CreateDonnees(htab,evdt,hpanel,hstatus) %**************** LASER ********************* laser_fontsize=9; laser_fontweight='normal'; laser_backgroundcolor=[1,1,1]; laser_panel=uipanel(... 'Parent',hpanel(1),... 'Units','normalized',... 'Position',[0.01,0.01,0.98,0.98]); uicontrol(... 'parent',laser_panel,... 'style','text',... 'String','Longueur d''onde ',... 'units','normalized',... 'fontsize',laser_fontsize,... 'fontweight',laser_fontweight,... 'Position',[0,1/24+4/6+4/48,0.6,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel,... 'style','text',... 'String','Energie ',... 'units','normalized',... 'fontsize',laser_fontsize,... 'fontweight',laser_fontweight,... 'Position',[0,1/24+3/6+3/48, 0.6,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel,... 'style','text',... 'String','Puissance Moyenne ',... 'units','normalized',... 'fontsize',laser_fontsize,... 'fontweight',laser_fontweight,... 'Position',[0,1/24+2/6+2/48, 0.6,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel,... 'style','text',... 'String','M² ',... 'units','normalized',... 'fontsize',laser_fontsize,... 'fontweight',laser_fontweight,... 'Position',[0, 1/24+1/6+1/48, 0.6,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel,... 'style','text',... 'String','Taux de répétition ',... 'units','normalized',... 'fontsize',laser_fontsize,... 'fontweight',laser_fontweight,... 'Position',[0, 1/24, 0.6,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',laser_fontsize,... 'backgroundcolor',laser_backgroundcolor,... 'position',[0.6,1/24+4/6+4/48, 5/20,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',laser_fontsize,... 'backgroundcolor',laser_backgroundcolor,... 'position',[0.6, 1/24+3/6+3/48, 5/20,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',laser_fontsize,... 'backgroundcolor',laser_backgroundcolor,... 'position',[0.6,1/24+2/6+2/48, 5/20,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',laser_fontsize,... 'backgroundcolor',laser_backgroundcolor,... 'position',[0.6, 1/24+1/6+1/48, 5/20,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',laser_fontsize,... 'backgroundcolor',laser_backgroundcolor,... 'position',[0.6, 1/24, 5/20,1/6],... 'HorizontalAlignment','right'); uicontrol(... 'parent',laser_panel,... 'style','text',... 'String',' nm',... 'units','normalized',... 'fontsize',laser_fontsize,... 'fontweight',laser_fontweight,... 'Position',[0.85,1/24+4/6+4/48,0.15,1/6],... 'HorizontalAlignment','left'); uicontrol(... 'parent',laser_panel,... 'style','text',... 'String',' mJ ',... 'units','normalized',... 'fontsize',laser_fontsize,... 'fontweight',laser_fontweight,... 'Position',[0.85,1/24+3/6+3/48, 0.15,1/6],... 'HorizontalAlignment','left'); uicontrol(... 'parent',laser_panel,... 'style','text',... 'String',' W',... 'units','normalized',... 'fontsize',laser_fontsize,... 'fontweight',laser_fontweight,... 'Position',[0.85,1/24+2/6+2/48,0.15,1/6],... 'HorizontalAlignment','left'); uicontrol(... 'parent',laser_panel,... 'style','text',... 'String',' kHz',... 'units','normalized',... 'fontsize',laser_fontsize,... 'fontweight',laser_fontweight,... 'Position',[0.85, 1/24,0.15,1/6],... 'HorizontalAlignment','left'); %**************** Scanner ********************* scanner_fontsize=9; scanner_fontweight='normal'; scanner_backgroundcolor=[1,1,1]; scanner_panel=uipanel(... 'Parent',hpanel(2),... 'Units','normalized',... 'Position',[0.01,0.01,0.98,0.98]); uicontrol(... 'parent',scanner_panel,... 'style','text',... 'String','Scanner ',... 'units','normalized',... 'fontsize',scanner_fontsize,... 'fontweight',scanner_fontweight,... 'Position',[0,1/24+3*0.2135+3/48,0.25,0.2135],... 'HorizontalAlignment','right'); uicontrol(... 'parent',scanner_panel,... 'style','text',... 'String','longueur ',... 'units','normalized',... 'fontsize',scanner_fontsize,... 'fontweight',scanner_fontweight,... 'Position',[0,1/24+2*0.2135+2/48, 0.6,0.2135],... 'HorizontalAlignment','right'); uicontrol(... 'parent',scanner_panel,... 'style','text',... 'String','angle ',... 'units','normalized',... 'fontsize',scanner_fontsize,... 'fontweight',scanner_fontweight,... 'Position',[0,1/24+1*0.2135+1/48, 0.6,0.2135],... 'HorizontalAlignment','right'); uicontrol(... 'parent',scanner_panel,... 'style','text',... 'String','vitesse ',... 'units','normalized',... 'fontsize',scanner_fontsize,... 'fontweight',scanner_fontweight,... 'Position',[0, 1/24, 0.6,0.2135],... 'HorizontalAlignment','right'); uicontrol(... 'parent',scanner_panel',... 'style','popup',... 'units','normalized',... 'String','Autre|ScanCube7|ScanCube10',... 'fontsize',scanner_fontsize,... 'backgroundcolor',scanner_backgroundcolor,... 'position',[0.25,1/24+3*0.2135+3.5/48, 0.74,0.2130],... 'HorizontalAlignment','right'); uicontrol(... 'parent',scanner_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',scanner_fontsize,... 'backgroundcolor',scanner_backgroundcolor,... 'position',[0.6,1/24+2*0.2135+2/48, 5/20,0.2135],... 'HorizontalAlignment','right'); uicontrol(... 'parent',scanner_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',scanner_fontsize,... 'backgroundcolor',scanner_backgroundcolor,... 'position',[0.6,1/24+1*0.2135+1/48, 5/20,0.2135],... 'HorizontalAlignment','right'); uicontrol(... 'parent',scanner_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',scanner_fontsize,... 'backgroundcolor',scanner_backgroundcolor,... 'position',[0.6,1/24, 5/20,0.2135],... 'HorizontalAlignment','right'); uicontrol(... 'parent',scanner_panel,... 'style','text',... 'String',' mm',... 'units','normalized',... 'fontsize',scanner_fontsize,... 'fontweight',scanner_fontweight,... 'Position',[0.85,1/24+2*0.2135+2/48,0.15,0.2135],... 'HorizontalAlignment','left'); uicontrol(... 'parent',scanner_panel,... 'style','text',... 'String',' deg ',... 'units','normalized',... 'fontsize',scanner_fontsize,... 'fontweight',scanner_fontweight,... 'Position',[0.85,1/24+1*0.2135+1/48, 0.15,0.2135],... 'HorizontalAlignment','left'); uicontrol(... 'parent',scanner_panel,... 'style','text',... 'String',' m/s',... 'units','normalized',... 'fontsize',scanner_fontsize,... 'fontweight',scanner_fontweight,... 'Position',[0.85,1/24,0.15,0.2135],... 'HorizontalAlignment','left'); %**************** Lentille ********************* lentille_fontsize=9; lentille_fontweight='normal'; lentille_backgroundcolor=[1,1,1]; lentille_panel=uipanel(... 'Parent',hpanel(3),... 'Units','normalized',... 'Position',[0.01,0.01,0.98,0.98]); uicontrol(... 'parent',lentille_panel,... 'style','text',... 'String','F-Thêta ',... 'units','normalized',... 'fontsize',lentille_fontsize,... 'fontweight',lentille_fontweight,... 'Position',[0,1/24+5*0.1354+5/48,0.25,0.1354],... 'HorizontalAlignment','right'); uicontrol(... 'parent',lentille_panel,... 'style','text',... 'String','Zone Scannée',... 'units','normalized',... 'fontsize',lentille_fontsize,... 'fontweight',lentille_fontweight,... 'Position',[0,1/24+4*0.1354+4/48, 1,0.1354],... 'HorizontalAlignment','center'); uicontrol(... 'parent',lentille_panel,... 'style','text',... 'String',' mm X',... 'units','normalized',... 'fontsize',lentille_fontsize,... 'fontweight',lentille_fontweight,... 'Position',[0.35,1/24+3*0.1354+3/48, 0.25,0.1354],... 'HorizontalAlignment','left'); uicontrol(... 'parent',lentille_panel,... 'style','text',... 'String',' mm',... 'units','normalized',... 'fontsize',lentille_fontsize,... 'fontweight',lentille_fontweight,... 'Position',[0.80,1/24+3*0.1354+3/48, 0.2,0.1354],... 'HorizontalAlignment','left'); uicontrol(... 'parent',lentille_panel,... 'style','text',... 'String','Diamètre Lentille ',... 'units','normalized',... 'fontsize',lentille_fontsize,... 'fontweight',lentille_fontweight,... 'Position',[0, 1/24+1*0.1354+1/48, 0.6,0.1354],... 'HorizontalAlignment','right'); uicontrol(... 'parent',lentille_panel,... 'style','text',... 'String','Distance Focale ',... 'units','normalized',... 'fontsize',lentille_fontsize,... 'fontweight',lentille_fontweight,... 'Position',[0, 1/24+2*0.1354+2/48, 0.6,0.1354],... 'HorizontalAlignment','right'); uicontrol(... 'parent',lentille_panel',... 'style','popup',... 'units','normalized',... 'String','Autre|F160|F490',... 'fontsize',lentille_fontsize,... 'backgroundcolor',lentille_backgroundcolor,... 'position',[0.25,1/24+5*0.1354+5.5/48, 0.74,0.1354],... 'HorizontalAlignment','right'); uicontrol(... 'parent',lentille_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',lentille_fontsize,... 'backgroundcolor',lentille_backgroundcolor,... 'position',[0.1,1/24+3*0.1354+3/48, 0.25,0.1354],... 'HorizontalAlignment','right'); uicontrol(... 'parent',lentille_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',lentille_fontsize,... 'backgroundcolor',lentille_backgroundcolor,... 'position',[0.55,1/24+3*0.1354+3/48, 0.25,0.1354],... 'HorizontalAlignment','right'); uicontrol(... 'parent',lentille_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',lentille_fontsize,... 'backgroundcolor',lentille_backgroundcolor,... 'position',[0.6,1/24+2*0.1354+2/48, 5/20,0.1354],... 'HorizontalAlignment','right'); uicontrol(... 'parent',lentille_panel',... 'style','edit',... 'units','normalized',... 'String','0',... 'fontsize',lentille_fontsize,... 'backgroundcolor',lentille_backgroundcolor,... 'position',[0.6,1/24+1*0.1354+1/48, 5/20,0.1354],... 'HorizontalAlignment','right'); uicontrol(... 'parent',lentille_panel',... 'style','radiobutton',... 'units','normalized',... 'String','Correction Focale',... 'fontsize',lentille_fontsize,... 'fontweight',lentille_fontweight,... 'position',[0.3,1/24,0.7,0.1354],... 'value',1); uicontrol(... 'parent',lentille_panel,... 'style','text',... 'String',' mm',... 'units','normalized',... 'fontsize',lentille_fontsize,... 'fontweight',lentille_fontweight,... 'Position',[0.85,1/24+2*0.1354+2/48,0.15,0.1354],... 'HorizontalAlignment','left'); uicontrol(... 'parent',lentille_panel,... 'style','text',... 'String',' mm ',... 'units','normalized',... 'fontsize',lentille_fontsize,... 'fontweight',lentille_fontweight,... 'Position',[0.85,1/24+1*0.1354+1/48, 0.15,0.1354],... 'HorizontalAlignment','left'); function CreateStep(htab,evdt,hpanel,hstatus) uitabpanel(... 'Parent',hpanel(1),... 'TitlePosition','leftbottom',... 'Position',[0,0,1,1],... 'Margins',{[0,0,0,0],'pixels'},... 'Title',{'Résultats','Optimisations'},... 'PanelBorderType','none',... 'SelectedItem',1,... 'CreateFcn',@Step1); uitabpanel(... 'Parent',hpanel(2),... 'TitlePosition','leftbottom',... 'Position',[0,0,1,1],... 'Margins',{[0,0,0,0],'pixels'},... 'Title',{'task1','task2'},... 'PanelBorderType','none',... 'SelectedItem',1,... 'CreateFcn',@Step2); uitabpanel(... 'Parent',hpanel(3),... 'TitlePosition','leftbottom',... 'Position',[0,0,1,1],... 'Margins',{[0,0,0,0],'pixels'},... 'Title',{'Résultats','Perturbations'},... 'PanelBorderType','none',... 'SelectedItem',1,... 'CreateFcn',@Step3); uitabpanel(... 'Parent',hpanel(4),... 'TitlePosition','leftbottom',... 'Position',[0,0,1,1],... 'Margins',{[0,0,0,0],'pixels'},... 'Title',{'Paramétrage','Calculs','Exploitation'},... 'PanelBorderType','none',... 'SelectedItem',1,... 'CreateFcn',@Step4); function Step1(htab,evdt,hpanel,hstatus) Step1_backgroundcolor=[0.4314,0.5882,0.8431]; Step1_Titlesize=20; Step1_Titleweight='bold'; Step1_Titlecolor=[1,0,0]; %*************** résultats ************** %**************************************** Step1_Panel(1)=uipanel(... 'Parent',hpanel(1),... 'Units','normalized',... 'Position',[0.01,0.01,0.98,0.98],... 'Fontsize',Step1_Titlesize,... 'fontweight',Step1_Titleweight,... 'foreground',Step1_Titlecolor,... 'backgroundcolor',Step1_backgroundcolor,... 'Title','Résultat'); handles.axe=axes( ... 'parent',Step1_Panel(1),... 'units','normalized',... 'Position',[0.35,0.05,0.6,0.4]); handles.button=uicontrol(... 'parent',Step1_Panel(1),... 'style','pushbutton',... 'units','normalized',... 'position',[0.1,0.1,0.05,0.02],... 'callback',@button); %*************** Optimisations ************** %**************************************** uipanel(... 'Parent',hpanel(2),... 'Units','normalized',... 'Position',[0.01,0.01,0.98,0.98],... 'Fontsize',Step1_Titlesize,... 'fontweight',Step1_Titleweight,... 'foreground',Step1_Titlecolor,... 'backgroundcolor',Step1_backgroundcolor,... 'Title','Optimisation'); function Step2(htab,evdt,hpanel,hstatus) function Step3(htab,evdt,hpanel,hstatus) function Step4(htab,evdt,hpanel,hstatus) function Resultat_pre(htab,evdt,hpanel,hstatus) function button(objet, handles) handles = guidata(objet); set(handles.button,'backgroundcolor',rand(1,3)); % afficher une courbe aussi guidata(objet, handles); %updates the handles