内容

classdeftfigure < hgsetget

TFIGURE

持有的图选项卡组的情节。创建一个选项卡式情节人物。这允许用户设置选项卡组块。每个标签包含一系列情节,可以选择使用按钮在左边的图。

例h = tfigure;h = tfigure (“Tab_title”);

tfigure属性:图-图显示tfigure句柄。每个tfigure标签的标签——处理figureSize -图包含tfigure gct的当前大小得到gcp -当前标签得到当前面板

tfigure方法:tfigure -构造一个新的选项卡式图addTab addPlot添加一个新的选项卡,添加一个新的阴谋给定标签addTable -将一个表添加到情节addLabel列表添加一个标签情节addCtrl列表-增加一个控制面板,情节列表savePPT powerpoint演示,保存所有的情节。

例子:tFigExample - tfigure例子

设置:可以从MATLAB文件下载的文件交换exportToPPTX——需要出口pptx演示//www.tatmou.com/matlabcentral/fileexchange/40277-exporttopptx

看到问题在Github:https://github.com/curtisma/MATLAB_tfigure/issues

作者:柯蒂斯MayberryCurtisma3@gmail.comCurtisma.org

参见:tFigExample tfigure.tfigure

属性

类属性

属性图图显示tfigure %处理。% %标签处理每个tfigure的标签菜单% Tfigure菜单结束属性(依赖)选项卡%每个tfigure标签的处理figureSize%的当前大小包含tfigure图gct%得到当前标签gcp%得到当前面板结束属性(访问=私人)tabGroup结束

方法

类方法

方法函数obj = tfigure(变长度输入宗量)

TFIGURE ([title_tab1])创建一个新的选项卡式的人物。

额外的标签可以被添加到图使用addTab函数。情节可以添加到每个选项卡通过使用addPlot函数。
h = tfigure;创建一个tfigure对象h2 = tfigure (Data选项卡# 1);创建一个tfigure对象与“Data选项卡# 1”选项卡标题。

输入title_tab1——(可选)的标题第一个选项卡。输出h - tfigure对象

参见:tFigExample

obj。无花果=图(“可见”,“关闭”,“SizeChangedFcn”,@obj.figResize“可中断”,“关闭”);obj。tabGroup = uitabgroup (“父”,obj.fig);如果(输入参数个数> 0)obj.addTab(变长度输入宗量{:});其他的obj.addTab;结束% obj。菜单= uimenu(obj.fig,'Label','Tfigure');obj。菜单= uimenu(obj.fig,“标签”,“出口”);uimenu (obj.menu“标签”,“出口PPT”,“回调”@obj.exportMenu) uimenu (obj.menu“标签”,“面板中复制到剪贴板”,“回调”,@obj.exportToClipboard);uitab (“父”obj.tabGroup,“标题”,“+”,“ButtonDownFcn”,@obj.addTab“TooltipString”,“添加选项卡”);%添加“+”addTab按钮obj.fig。可见=“上”;% h_add = obj.addTab (“+”);% h_add。ButtonDownFcn = @ (x) obj.addTab([],“秩序”,长度(obj.tabs) 1);
结束函数h = addTab (obj,变长度输入宗量)

addTab

添加一个新的标签用给定的标题。

ht = h.addTab([标题],“参数”,“ParamValue”,…);

输入标题(可选)的名称标签参数秩序——指定标签的顺序listName顶部列出的情节列表标题默认为“阴谋”输出ht - uitab处理添加选项卡

参见:tfigure tfigure.tfigure,tfigure.addPlot, tfigure.addTable

如果(~ isempty(变长度输入宗量)& & (isa(变长度输入宗量{1},“matlab.ui.container.Menu”)| | isa(变长度输入宗量{1},“matlab.ui.container.Tab”)))%菜单调用或调用“+”选项卡%调用时自动从菜单中有2%的输入,菜单和eventDatap.Results。titleIn = [“数据集”num2str(长度(obj.tabs) + 1)];p.Results。订单= [];p.Results。listName =“阴谋”;其他的%的用户调用p = inputParser;addOptional (p,“titleIn”,(“数据集”num2str(长度(obj.tabs) + 1), @isstr);p.addParameter (“秩序”[],@ (x) isnumeric (x) & & & & (x > = 1)(x < =(长度(obj.tabs) + 1))) p.addParameter (“listName”,“阴谋”@ischar)解析(p,变长度输入宗量{:});结束订单= p.Results.order;%设置选项卡h = uitab (“父”obj.tabGroup,“标题”p.Results.titleIn,“ButtonDownFcn”,@obj.selectTab);%设置标签的顺序如果长度(isempty(顺序)& & (obj.tabGroup.Children) > 1) obj.tabGroup。孩子= obj.tabGroup。孩子([1:end-2结束end-1]);elseif(~ isempty(顺序))如果(< = 1)obj.tabGroup秩序。孩子= obj.tabGroup。孩子([结束1:end-1]);elseif(订单> 1)& &(<长度(obj.tabGroup.Children))) obj.tabGroup秩序。孩子= obj.tabGroup.Children([1:(1)结束(顺序):end-1]);结束结束%设置选项卡上下文菜单c = uicontextmenu;c。用户数据= h;h。UIContextMenu = c;uimenu (c,“标签”,“添加选项卡”,“回调”,@obj.addTab);uimenu (c,“标签”,“添加情节”,“回调”,@obj.addPlot);uimenu (c,“标签”,“添加表”,“回调”,@obj.addTable);uimenu (c,“标签”,“重命名”,“回调”,@obj.renameDlg“分隔符”,“上”);uimenu (c,“标签”,“删除”,“回调”,@obj.deleteDlg“用户数据”、h);%设置情节列表figSize = obj.figureSize;plotList = uibuttongroup (“父”h,“单位”,“像素”,“位置”,(10 150 figSize (4) -45],“标签”,“plotList”,“SelectionChangedFcn”,@obj.selectPlot);集(plotList,“标题”,p.Results.listName);%的菜单plotList。UIContextMenu = UIContextMenu;plotList.UIContextMenu。用户数据= plotList;uimenu (plotList.UIContextMenu“标签”,“添加情节”,“回调”,@obj.addPlot);uimenu (plotList.UIContextMenu“标签”,“添加表”,“回调”,@obj.addTable);uimenu (plotList.UIContextMenu“标签”,“添加标签”,“回调”,@obj.addLabel);uimenu (plotList.UIContextMenu“标签”,“重命名”,“回调”,@obj.renameDlg“分隔符”,“上”);h。用户数据= plotList;如果(长度(plotList.Children) < = 1) plotList。可见=“关闭”;结束%的新标签obj.tabGroup。SelectedTab = h;
结束函数哈= addPlot (obj,变长度输入宗量)

addPlot

添加一个阴谋给定的选项卡。当情节按钮被选中情节被选中

哈= h.addPlot([标题],“标签”,[h_tab],“plotFcn”, [function_handle])

输入标题(可选)使用这个字符串作为情节标题显示在图参数列表选项卡,选择选项卡包含表。标签可以作为uitab处理或指定的名称标签plotFcn——一个函数处理时要评估情节被选中。输出ha -处理情节轴例子h = tfigure;哈= h。addPlot('Plot Title');

参见:tfigure tfigure。tfigure tfigure。addTab,tfigure.addTable

如果(~ isempty(变长度输入宗量)& & ~ isa(变长度输入宗量{1},“matlab.ui.container.Menu”p = inputParser));p.addOptional (“标题”,“阴谋”@ischar) p.addParameter (“plotFcn”[],@ (x) (isa (x,“function_handle”)| | isempty (x)));p.addParameter (“标签”obj.tabGroup.SelectedTab, @ (x) (isa (x,“双”)| | isa (x,“matlab.ui.container.Tab”)| | ischar (x)));p.addParameter (“秩序”[],@isnumeric);p.parse(变长度输入宗量{}):其他的p.Results。选项卡= obj.tabGroup.SelectedTab;p.Results。plotFcn = [];p.Results。title =“阴谋”;p.Results。订单= [];结束%选择选项卡选项卡= obj.parseTab (p.Results.tab);%新的分析面板添加到列表plotList = get(选项卡,“用户数据”);%选项卡的用户数据包含一个句柄的uibuttongroup选项卡h = uicontrol (“父”plotList,“风格”,“togglebutton”,“字符串”p.Results.title,“单位”,“像素”,“标签”,“阴谋”);%设置上下文菜单c = uicontextmenu;c。用户数据= h;h。UIContextMenu = c;uimenu (c,“标签”,“重命名”,“回调”,@obj.renameDlg);uimenu (c,“标签”,“删除”,“回调”,@obj.deleteDlg);exportMenu = uimenu (“父”c“标签”,“出口”);uimenu (exportMenu“标签”,“复制到剪贴板”,“回调”,@obj.exportToClipboard);uimenu (exportMenu“标签”,“复制图”,“回调”,@obj.exportToFigure);%设置面板h.UserData。惠普= uipanel (“父”选项卡,“单位”,“像素”,“标签”,“阴谋”,“BorderType”,“没有”);h.UserData.hp.UserData。hc = h;%设置轴哈=轴(h.UserData.hp);%,…“单位”,“像素”,…% ' ActivePositionProperty ', ' OuterPosition ');哈哈。可见=“上”;%安装顺序plotList。孩子= tfigure.childReorder (plotList.Children p.Results.order);如果(~ isempty (p.Results.plotFcn)) h.UserData。跳频= p.Results.plotFcn;p.Results.plotFcn ();其他的h.UserData。跳频= [];结束plotList。SelectedObject = h;obj.selectPlot (plotList []);
结束函数varargout = addTable (obj,变长度输入宗量)

addTable

将一个表添加到给定的选项卡。

ht = h.addTable([标题],“参数”,“ParamValue”……)

输入标题(可选)表标题选择按钮上显示的参数选项卡,选择选项卡包含表。标签可以作为uitab处理或指定的名称标签秩序——在情节中的位置列表风格之间选择默认的MATLAB表和一个Java表。场上:“场上或“用户界面”Java表:“Java”、“JavaTable输出ht -处理

参见:tfigure。addPlot tfigure。addLabel tfigure.addCtrl

如果(~ isempty(变长度输入宗量)& & ~ isa(变长度输入宗量{1},“matlab.ui.container.Menu”p = inputParser));p.addOptional (“标题”,“表”@ischar) p.addParameter (“标签”obj.tabGroup.SelectedTab, @ (x) (isa (x,“双”)| | isa (x,“matlab.ui.container.Tab”)| | ischar (x))) p.addParameter (“秩序”[],@isnumeric);p.addParameter (“风格”,场上的,@ (x)任何(validatestring (x, {场上的,“用户界面”,“JavaTable”,“Java”})))p.parse变长度输入宗量({}):其他的p.Results。选项卡= obj.tabGroup.SelectedTab;p.Results。title =“表”;p.Results。订单= [];p.Results。风格=场上的;结束%选择选项卡选项卡= obj.parseTab (p.Results.tab);%添加新的阴谋情节列表plotList = get(选项卡,“用户数据”);%选项卡的用户数据包含一个句柄的uibuttongroup选项卡h = uicontrol (“父”plotList,“风格”,“togglebutton”,“字符串”p.Results.title,“单位”,“像素”,“标签”,“表”);% h。用户数据= p.Results.fun_handle;%设置上下文菜单c = uicontextmenu;c。用户数据= h;h。UIContextMenu = c;uimenu (c,“标签”,“重命名”,“回调”,@obj.renameDlg);uimenu (c,“标签”,“删除”,“回调”,@obj.deleteDlg);%设置面板h.UserData。惠普= uipanel (“父”选项卡,“单位”,“像素”,“标签”,“阴谋”,“BorderType”,“没有”);h.UserData.hp.UserData。hc = h;h.UserData。跳频= [];%设置表如果(strcmpi (p.Results.style场上的)| | strcmpi (p.Results.style“用户界面”)ht =场上(“父”h.UserData.hp,“单位”,“归一化”,“位置”,(0 0 1 1));%,“单位”,“像素”);elseif(strcmpi (p.Results.style“JavaTable”)| | strcmpi (p.Results.style“java”))如果(~(存在(“exportToPPTX”,“文件”)))错误(“tfigure: NeedExportToPPTX”,(不知道必须被添加到路径。”,它可以下载从MATLAB文件交流,寻找“java数据表”]);结束ht = uiextras.jTable.Table (“父”,h.UserData.hp);结束% h.UserData.fa。可见= '在';h.UserData.hp.UserData。hc = ht;%安装顺序plotList。孩子= tfigure.childReorder (plotList.Children p.Results.order);plotList。SelectedObject = h;obj.selectPlot (plotList []);%设置输出如果(nargout = = 0) varargout = {};elseif(nargout = = 1) varargout = {ht};elseif(nargout = = 2) varargout = {ht h};其他的错误(“tfigure: addTable: nargoutWrong”,“输出的数量必须是0 - 2”);结束
结束函数h = addLabel (obj,变长度输入宗量)

addLabel情节列表添加一个标签

hl = h.addLabel(标题、[tab]…)

输入标题-文本显示参数标题文本显示秩序——在情节中的位置列表选项卡,选择选项卡包含表。标签可以作为uitab处理或指定的名称标签输出处理hl -标签

参见:tfigure tfigure。tfigure tfigure。addTab,tfigure.addTable

如果(~ isempty(变长度输入宗量)& & ~ isa(变长度输入宗量{1},“matlab.ui.container.Menu”p = inputParser));p.addRequired (“标题”,@ischar);p.addParameter (“标签”obj.tabGroup.SelectedTab, @ (x) (isa (x,“双”)| | isa (x,“matlab.ui.container.Tab”)| | ischar (x))) p.addParameter (“秩序”[],@isnumeric);p.parse(变长度输入宗量{}):其他的p.Results。title =inputdlg(的标签:,“标签”1,{});p.Results。选项卡= obj.tabGroup.SelectedTab;p.Results。订单= [];结束%选择选项卡选项卡= obj.parseTab (p.Results.tab);%到情节列表添加新的标签plotList = get(选项卡,“用户数据”);%选项卡的用户数据包含一个句柄的uibuttongroup选项卡h = uicontrol (“父”plotList,“风格”,“文本”,“字符串”p.Results.title,“单位”,“像素”,“标签”,“标签”);%设置上下文菜单c = uicontextmenu;c。用户数据= h;h。UIContextMenu = c;uimenu (c,“标签”,“重命名”,“回调”,@obj.renameDlg);uimenu (c,“标签”,“删除”,“回调”,@obj.deleteDlg);%安装顺序plotList。孩子= tfigure.childReorder (plotList.Children p.Results.order);obj.selectPlot (plotList []);
结束函数h = addCtrl (obj,变长度输入宗量)

addCtrl

添加一个控制面板一个标签需要fun_handle指向控制面板函数定义了它的内容

惠普= h.addCtrl([标题],[fun_handle (h_panel)],“参数”,“价值”)输入标题-控制(可选)文本的情节列表按钮fun_handle——(可选)一个函数,定义了控制面板。它有一个单一的输入是一个句柄将包含控制面板的面板。秩序——在情节中的位置参数列表选项卡,选择选项卡包含表。标签可以作为uitab处理或指定的名称标签输出惠普——处理列表按钮控制面板的阴谋

参见:tfigure tfigure.tfigure

p = inputParser;p.addOptional (“标题”,“选项”,@ischar);p.addOptional (“fun_handle”[],@ (x) isa (x,“function_handle”));p.addParameter (“标签”obj.tabGroup.SelectedTab, @ (x) (isa (x,“双”)| | isa (x,“matlab.ui.container.Tab”)| | ischar (x)));p.addParameter (“秩序”[],@isnumeric);p.parse(变长度输入宗量{:});%选择选项卡选项卡= obj.parseTab (p.Results.tab);%的新控制面板添加到情节列表figSize = obj.figureSize;plotList = get(选项卡,“用户数据”);%选项卡的用户数据包含一个句柄的uibuttongroup选项卡h = uicontrol (“父”plotList,“风格”,“togglebutton”,“字符串”p.Results.title,“单位”,“像素”,“标签”,“热”);%设置控制面板h_panel = uipanel (“父”选项卡,“单位”,“像素”,“位置”(30 30 figSize figSize -30(3)(4) -30年),“标签”,“热”,“标题”,p.Results.title);h.UserData。惠普= h_panel;%设置上下文菜单c = uicontextmenu;c。用户数据= h;h。UIContextMenu = c;uimenu (c,“标签”,“重命名”,“回调”,@obj.renameDlg);uimenu (c,“标签”,“删除”,“回调”,@obj.deleteDlg);% h.UserData。fa =轴(“父”,选项卡中,“单位”,“像素”,…%……%“位置”,axesSize,...% ' ActivePositionProperty ', ' OuterPosition ');% h.UserData.fa。可见= '在';%安装顺序plotList。孩子= tfigure.childReorder (plotList.Children p.Results.order);如果(~ isempty (p.Results.fun_handle)) h.UserData。跳频= p.Results.fun_handle;p.Results.fun_handle (h_panel);结束plotList。SelectedObject = h;obj.selectPlot (plotList []);
结束%函数导出(obj,变长度输入宗量)%出口出口一个分析小组,一个标签,或者整个tfigure使用%的指定格式%%目前未实现%结束函数exportToClipboard (obj,变长度输入宗量)

exportToClipboard

出口一个面板到剪贴板,好像它是在自己的图

obj.exportToClipboard((面板)

输入面板——(可选)面板处理出口默认使用当前面板(obj.gcp)

参见:tfigure tfigure.tfigure

如果(输入参数个数= = 2)p = inputParser;p.addOptional (“小组”obj.gcp, @ (x)比较字符串(x.Type,“uipanel”)p.parse(变长度输入宗量{:});elseif(输入参数个数= = 3)如果(~ isempty(变长度输入宗量{1}.Parent.UserData) & & strcmp(变长度输入宗量{1}.Parent.UserData.Type,“uicontrol”p.Results))。面板=变长度输入宗量{1}.Parent.UserData.UserData.hp;其他的p.Results。面板= obj.gcp;结束其他的p.Results。面板= obj.gcp;结束%复制图并复制一个分离的面板tp剪贴板高频=图(“可见”,“关闭”,“颜色”,' w ');惠普= (p.Results.panel)复印件;惠普。父母=高频;惠普。写成BackgroundColor =' w ';惠普。单位=“归一化”;惠普。位置= (0 0 1 1);惠普。可见=“上”;打印(高频,“剪贴板”,“-dbitmap”关闭(高频);
结束函数varargout = exportToFigure (obj,变长度输入宗量)% exportToFigure拷贝一个面板到一个新的图%%用法:%高频= h.exportToFigure%高频= exportToFigure (h)%拷贝当前面板(h.gcp)到一个新的图处理高频%高频= h.exportToFigure(面板)%副本面板(小组)与处理高频新的图%%的输入%面板——(可选)面板处理出口% (obj.gcp)默认使用当前面板%输出%高频——一个新创建的图的句柄%%参见:tfigure tfigure.tfigure如果(输入参数个数= = 1)面板= obj.gcp;elseif(isa(变长度输入宗量{1},“matlab.ui.container.Panel”)面板=变长度输入宗量{1};elseif(输入参数个数= = 3 & & isa(变长度输入宗量{1},“matlab.ui.container.Menu”))%的回调面板=变长度输入宗量{1}.Parent.Parent.UserData.UserData.hp;其他的面板= obj.gcp;结束如果(输入参数个数> 2 & & ~ isa(变长度输入宗量{1},“matlab.ui.container.Menu”图(变长度输入宗量)h ={2:结束});其他的h =图;结束惠普=复制(面板);惠普。单位=“归一化”;惠普。位置= (0 0 1 1);惠普。父母= h;惠普。可见=“上”;如果(nargout = = 1) varargout {1} = h;elseif(nargout = = 2) varargout = {h惠普};结束结束函数savePPT (obj,变长度输入宗量)

savePPT

保存所有的情节tfigure演示文稿。

h.savePPT (…)打开一个文件选择对话框h.savePPT(文件名,…)

文件名文件名,文件的文件名保存情节参数:标题-标题演讲的主题演讲的主题,包括在文件元数据注释-评论表示作者的作者的名字

参见:tfigure tfigure.tfigure

如果(~(存在(“exportToPPTX”,“文件”)))错误(“tfigure: NeedExportToPPTX”,(exportToPPTX必须被添加到路径。”,它可以下载从MATLAB文件交换的]);结束如果(~ isempty (obj.fig.Name) figTitle = obj.fig.Name;其他的figTitle = [“图”num2str (obj.fig.Number)“数据”];结束p = inputParser;p.addOptional (“文件名”,,@ischar);p.addParameter (“标题”,figTitle);p.addParameter (“作者”,);p.addParameter (“主题”,);p.addParameter (“评论”,);p.parse(变长度输入宗量{:});如果(isempty (p.Results.fileName))(文件名、路径名)= uiputfile (“.pptx”,“出口PPTX:选择一个文件名”);如果(文件名~ = 0)文件名= fullfile(路径名、文件名);其他的返回结束其他的文件名= p.Results.fileName;结束isOpen = exportToPPTX ();如果~ isempty (isOpen),%如果幻灯片已经开始,然后关闭,然后打开一个新的exportToPPTX (“关闭”);结束exportToPPTX (“新”,%的维度,12 [6],……“标题”p.Results.title,“作者”p.Results.author,“主题”p.Results.subject,“评论”,p.Results.comments);exportToPPTX (“addslide”);exportToPPTX (“addtext”p.Results.title,“HorizontalAlignment”,“中心”,“VerticalAlignment”,“中间”,“字形大小”48岁);tabNum = 1:长度(obj.tabs) ht = obj.tabs (tabNum);惠普% = findobj (ht.Children,“标签”,“情节”);exportToPPTX (“addslide”);exportToPPTX (“addtext”ht.Title,“HorizontalAlignment”,“中心”,“VerticalAlignment”,“中间”,“字形大小”48岁);面板= [ht.UserData.Children.UserData];面板= [panels.hp];panelNum = 1:长度(板)惠普[h] = obj.exportToFigure(面板(panelNum),“可见”,“关闭”);惠普。写成BackgroundColor =' w ';exportToPPTX (“addslide”);exportToPPTX (“addpicture”h,“缩放”,“maxfixed”);关闭(h);结束结束exportToPPTX (“保存”文件名);exportToPPTX (“关闭”);
结束函数= get.figureSize (obj) =得到(obj.fig,“位置”);结束函数set.figureSize (obj, val)组(obj.fig“位置”,val);结束函数h = get.gct (obj)% gct得到当前选项卡%返回处理当前选项卡h = obj.tabGroup.SelectedTab;结束函数h = get.gcp (obj)% gcp得到当前面板%返回处理当前选项卡如果(~ isempty (obj.gct.UserData.SelectedObject) h = obj.gct.UserData.SelectedObject.UserData.hp;其他的h = [];结束结束函数t = get.tabs (obj) t = obj.tabGroup.Children (1: end-1);结束%函数set.tabs (obj)% obj。标签= [obj.tabs(结束)%结束结束方法(访问=私人)函数figResize (obj, src ~)% callbackdata是未使用的第三个参数。% figResize调整gui元素的大小在每个选项卡的时候%图的大小。figSize = obj.figureSize;%设置最小图大小%如果figSize (3) < 560)% figSize (3) = 560;%结束%如果(figSize (4) < 420)% figSize (4) = 420;%结束% obj。figureSize = figSize;%发现选中的选项卡和阴谋% currTab = obj.tabGroup.SelectedTab;如果(~ isempty (obj.gct.UserData.SelectedObject) numPlots =长度(obj.gct.UserData.Children);其他的numPlots = 0;结束%绘制列表调整如果(numPlots = = 1) plotListAdj = (-160 150 0 0);其他的plotListAdj = [0 0 0 0];结束%调整当前的“轴”如果(比较字符串(get (obj.gcp,“标签”),“热”))%调整控制面板集(obj.gcp,“单位”,“像素”,“位置”-185年,[170 10 figSize (3) figSize (4) -45]% - - - - - -[0 0装天花板(leg_pos (3) 0]…%传奇调整+ plotListAdj);%绘制列表调整其他的%调整轴集(obj.gcp,“单位”,“像素”,“位置”-185年,[170 10 figSize (3) figSize (4) -45]% - - - - - -[0 0装天花板(leg_pos (3) 0]…%传奇调整+ plotListAdj);%绘制列表调整结束%调整情节列表情节= obj.gct.UserData.Children;n = 1:长度(情节)组(情节(n),“位置”,[10 figSize (4) 85 - 120 * (n - 1) 20]);结束%调整每个列表的阴谋plotLists = findobj (src,“标签”,“plotList”,“——”,“类型”,“uibuttongroup”);集(plotLists,“单位”,“像素”,“位置”,(10 150 figSize (4) -45]);结束函数selectPlot (obj, src ~)% ~是callbackdata% selectPlot运行时情节从情节列表中被选中如果(长度(src.Children) > 1) h_panels = [src.Children.UserData];h_panels = [h_panels.hp];集(h_panels,“可见”,“关闭”)src.SelectedObject.UserData.hp。可见=“上”;src。可见=“上”;如果(~ isempty (findobj (src.SelectedObject.UserData.hp.Children“类型”,“轴”)))轴(findobj (src.SelectedObject.UserData.hp.Children,“类型”,“轴”));结束结束obj.figResize (obj.fig);结束函数selectTab (obj, b, c) obj.figResize (obj.fig);如果(~ isempty (obj.gcp) & &~ isempty (findobj (obj.gcp.Children“类型”,“轴”)))轴(findobj (obj.gcp.Children,“类型”,“轴”));结束结束函数tab_out = parseTab (obj,选项卡)% parseTab——解析一个标签输入,如果选项卡创建一个新的标签%输入标签名称不存在。可以接受处理或%的字符串输入标签名称。如果(ischar(选项卡))tab_obj = findobj (obj.tabs,“类型”,“uitab”,“标题”选项卡);如果(isempty (tab_obj)) tab_out = obj.addTab(选项卡);其他的tab_out = tab_obj;结束其他的tab_out =选项卡;结束结束函数exportMenu (obj,菜单,~)%出口菜单回调%执行要求根据所选的导出选项如果(比较字符串(menu.Label“出口PPT”)obj.savePPT ();结束结束函数renameDlg(菜单,~ ~)% ~ obj, ActionData重命名% renameDlg Diaglog箱情节,从上下文选项卡%的菜单类型= (menu.Parent.UserData“类型”);如果(strcmpi(类型,“uicontrol”)prevName = {menu.Parent.UserData.String};%获得用户的新名字新名称= inputdlg (“新名字:”,“重命名”1、prevName);如果(~ isempty(新名称))menu.Parent.UserData。字符串=新名称{1};结束elseif(任何(strcmpi(类型,{“uitab”,“uibuttongroup”})))prevName = {menu.Parent.UserData.Title};%获得用户的新名字新名称= inputdlg (“新名字:”,“重命名”1、prevName);如果(~ isempty(新名称))menu.Parent.UserData。Title =新名称{1};结束其他的错误(“tfigure: renameDlg: unknownSelectionType”,“未知的选择类型,需要添加用户界面类型重命名为回调函数的);结束结束函数deleteDlg (obj,菜单,~)% deleteDlg函数删除标签和阴谋。双重检查%的用户如果阴谋已经存在。%的菜单% h = warndlg(['选项卡”% h_dlg = warndlg({以下选项卡将被删除:”;menu.Parent.UserData。标题},删除标签的警告,“模态”);% = questdlg({选择以下选项卡将被删除:”;menu.Parent.UserData。标题},“删除警告”,“好的”,“取消”,“取消”)%开关的选择%例“OK”如果发现(menu.UserData.Parent %。孩子= = menu.UserData) = =长度(menu.UserData.Parent.Children) 1)% selectPrevTabFcn = menu.UserData.Parent.Children (end-2) .ButtonDownFcn;其他的%% selectPrevTabFcn = @ (x) (1);%结束删除(menu.Parent.UserData);如果(长度(obj.gct.Parent.Children) > 1 & &找到(obj。gct== obj.gct.Parent.Children) == length(obj.gct.Parent.Children)) obj.gct.Parent.SelectedTab = obj.gct.Parent.Children(end-1);结束% selectPrevTabFcn ();%结束% x = 0;%如果(isvalid (h_dlg))%删除(menu.Parent.UserData);%结束% type = (menu.Parent.UserData,“类型”);%如果(strcmpi(类型、uicontrol))%其他的%%%结束结束结束方法(=私人访问,静态= true)函数孩子= childReorder(孩子,顺序)% childReorder重新排列了儿童的标签或情节列表%%的输入%的孩子:% 1和长度之间的秩序——设置一个整数(孩子)+ 1%指定其索引。如果订单是空的,第一个孩子%搬到最后一个孩子%%如果(isempty(顺序)| |(> =订单长度(孩子)+ 1))=孩子([2:结束1]);elseif((订单> 1)& &(顺序<长度(孩子)))=孩子([2:订单1(订单+ 1):结束]);结束结束结束
结束