001/*
002 * Copyright (c) 2004-2010 The Regents of the University of California.
003 * All rights reserved.
004 *
005 * '$Author: aschultz $'
006 * '$Date: 2011-03-19 02:24:12 +0000 (Sat, 19 Mar 2011) $' 
007 * '$Revision: 27324 $'
008 * 
009 * Permission is hereby granted, without written agreement and without
010 * license or royalty fees, to use, copy, modify, and distribute this
011 * software and its documentation for any purpose, provided that the above
012 * copyright notice and the following two paragraphs appear in all copies
013 * of this software.
014 *
015 * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
016 * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
017 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
018 * THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
019 * SUCH DAMAGE.
020 *
021 * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
022 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
023 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
024 * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
025 * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
026 * ENHANCEMENTS, OR MODIFICATIONS.
027 *
028 */
029
030package org.kepler.gui;
031
032import ptolemy.actor.gui.TableauFrame;
033import ptolemy.actor.gui.TopPack;
034import ptolemy.gui.Top;
035
036/**
037 * adds the kepler menus to vergil
038 */
039public class KeplerMenuHandler implements TopPack {
040        public MenuMapper menuMapper;
041
042        /**
043         * pack the gui for Top t. alreadyCalled is true if pack has already been
044         * called at least once.
045         */
046        public void pack(Top t, boolean alreadyCalled) {
047                // super.pack() creates ptolemy JMenuBar, but won't
048                // add it, since we will call hideMenuBar()
049                // System.out.println("Using Kepler Menu Handler");
050                menuMapper = new MenuMapper((TableauFrame) t);
051                // Do this only once per instance, since there
052                // may be multiple calls to pack()
053                //if (!alreadyCalled && StaticResources.getBoolean("KEPLER_MENUS", false)) {
054                        // proceed only if we are using the Kepler-specific UI, and this
055                        // hasn't
056                        // been called before...
057
058                        // menuMapper is a Runnable - run it:
059                        //t.deferIfNecessary(menuMapper);
060                //}
061        }
062
063        /**
064         * pass the menuMapper back to the calling object
065         */
066        public Object getObject(Object identifier) {
067                return menuMapper;
068        }
069}