www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/+mbcmodelview/+global/NodeActions.m

    classdef NodeActions < mbcmodelview.NodeActions
    %NodeActions all actions for model node
    %  Actions are divided up into different menus (Model, View and
    %  Outliers)
    
    %  Copyright 2015-2015 The MathWorks, Inc. and Ford Global Technologies, Inc.
    
    methods
        function obj = NodeActions(MessageService)
        %NodeActions constructor
        
        obj.MessageService = MessageService;
        obj.Model = mbcmodelview.global.ModelActions(MessageService);
        obj.View = mbcmodelview.global.ViewActions(MessageService);
        obj.Outliers = mbcmodelview.OutlierActions(MessageService);
        
        obj.Listeners = event.listener(obj.MessageService,...
            'NodeChanged',@obj.enable);
        end
        
        function createToolbar(obj,hToolbar)
        %createToolbar create global model toolbar
        
        AG = mbcgui.actions.ActionGroup;
        AG.Actions = [obj.Model.BoxCox,obj.Model.BuildModels,obj.View.Data];
        AG.MenuType = 'separate';
        
        btns = createToolbutton(AG,hToolbar);
        obj.NumToolbarItems = length(btns);
        
        end
        
        function createUtilityFunctions(obj,hToolbar)
        %createUtilityFunctions create extra model utilities functions on toolbar

        % utility toolbar items
        hToolbar.setRedraw(false);
        ch = get(hToolbar,'Children');
        if length(ch)>obj.NumToolbarItems
            delete(ch(obj.NumToolbarItems+1:end))
        end
        createUtilityFunctions(obj.Model,hToolbar)
        hToolbar.setRedraw(true);
        hToolbar.drawToolBar;
        
        end
        
    end
    
end