001/*
002 * Copyright (c) 2003-2010 The Regents of the University of California.
003 * All rights reserved.
004 *
005 * '$Author: welker $'
006 * '$Date: 2010-05-06 05:21:26 +0000 (Thu, 06 May 2010) $' 
007 * '$Revision: 24234 $'
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.objectmanager.data.db;
031
032import ptolemy.actor.gui.Tableau;
033import ptolemy.kernel.util.IllegalActionException;
034import ptolemy.kernel.util.NameDuplicationException;
035
036//////////////////////////////////////////////////////////////////////////
037//// QBTableau
038/**
039 * A tableau representing Query Builder. The constructor of this class creates
040 * the window. The QB window itself is an instance of QBEditor, and can be
041 * accessed using the getFrame() method. As with other tableaux, this is an
042 * entity that is contained by an effigy of a model. There can be any number of
043 * instances of this class in an effigy.
044 */
045public class QBTableau extends Tableau {
046
047        /**
048         * Construct a new tableau for the model represented by the given effigy.
049         * 
050         * @param container
051         *            The container.
052         * @param name
053         *            The name.
054         * @exception IllegalActionException
055         *                If the container does not accept this entity (this should
056         *                not occur).
057         * @exception NameDuplicationException
058         *                If the name coincides with an attribute already in the
059         *                container.
060         */
061        public QBTableau(QBEffigy container, String name)
062                        throws IllegalActionException, NameDuplicationException {
063
064                this(container, name, null);
065        }
066
067        /**
068         * Construct a new tableau for the model represented by the given effigy.
069         * 
070         * @param container
071         *            The container.
072         * @param name
073         *            The name.
074         * @param editor
075         *            The text editor to use, or null to use the default.
076         * @exception IllegalActionException
077         *                If the container does not accept this entity (this should
078         *                not occur).
079         * @exception NameDuplicationException
080         *                If the name coincides with an attribute already in the
081         *                container.
082         */
083        public QBTableau(QBEffigy container, String name, QBEditor editor)
084                        throws IllegalActionException, NameDuplicationException {
085
086                super(container, name);
087                String title = "Unnamed";
088                QBEditor frame = editor;
089                setFrame(frame);
090                frame.setTableau(this);
091        }
092
093}