www.gusucode.com > sloptim工具箱matlab源码程序 > sloptim/sloptguis/@srocsdgui/@sropnl/getPopupSchema.m

    function menu = getPopupSchema(this,manager)
% BUILDPOPUPMENU

% Author(s): A. Stothert
% Revised: 
% Copyright 1986-2012 The MathWorks, Inc.

[menu, Handles] = localPopup(this,manager);
this.Handles.PopupMenuItems = Handles.PopupMenuItems;

%% Constructor for popup menus 
function [Menu, Handles] = localPopup(this,manager)

%Create popup menu 
Menu  = awtcreate('com.mathworks.mwswing.MJPopupMenu','Ljava/lang/String;',getString(message('Sloptim:srosisotool:lblResponseOptimization')));
item1 = awtcreate('com.mathworks.mwswing.MJMenuItem');
if this.isOptimizing
   awtinvoke(item1,'setText(Ljava/lang/String;)',getString(message('Sloptim:srosisotool:lblStopOptimization')));
else
   awtinvoke(item1,'setText(Ljava/lang/String;)',getString(message('Sloptim:srosisotool:lblStartOptimization')));
end
Menu.add(item1);

%Add callbacks for menu items
h = handle(item1, 'callbackproperties' );
h.ActionPerformedCallback = {@localOptimize this manager};
h.MouseClickedCallback = {@localOptimize this manager};

%Store handles to menu items
Handles.PopupMenuItems = item1;

%% Manage callback for optimize menu option
function localOptimize(~,~,this,manager)
%Callback for optimize menu item

this.updateStatus(~this.getStatus,manager)
if this.getStatus
   %Start optimization
   optimize(this,'start',manager)
else
   %Stop running optimization
   optimize(this,'stop',manager)
end