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}