[kepler-dev] Copies of Ptolemy classes in Tagging
Christopher Brooks
cxh at eecs.berkeley.edu
Tue May 31 15:10:51 PDT 2011
Hi Derik,
Cool, thanks, I missed the bug . . .
_Christopher
On 5/31/11 2:09 PM, Derik Barseghian wrote:
> Hi Christopher,
> There's a bug for this: http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5405
> Also, sensor-view has an override of EntityTreeModel: http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5286
>
> I'll try to look into finding a way to remove these soon...
>
> Derik
>
> On May 31, 2011, at 1:56 PM, Christopher Brooks wrote:
>
>> Hi Derik,
>> I noticed that tagging has a copy of vergil/basic/BasicGraphController.
>>
>> The diffs between the copy in tagging and the ptII head are substantial.
>>
>> I'm concerned that doing the merge will be very difficult.
>>
>> It would be good to get this done sooner rather than later, the amount
>> of effort to a merge can quickly become exponential.
>>
>> Let me know if you want to make changes to BasicGraphController.
>>
>> _Christopher
>>
>> On 5/27/11 5:47 PM, barseghian at ecoinformatics.org wrote:
>>> Author: barseghian
>>> Date: 2011-05-27 17:47:49 -0700 (Fri, 27 May 2011)
>>> New Revision: 27661
>>>
>>> Modified:
>>> trunk/modules/tagging/src/ptolemy/vergil/basic/BasicGraphController.java
>>> Log:
>>> fix override so workflows can execute again.
>>> we need to remove this override so this doesn't happen again. this means finding an alternate soln for how tagging changes context to 'workflow'
>>>
>>> Modified: trunk/modules/tagging/src/ptolemy/vergil/basic/BasicGraphController.java
>>> ===================================================================
>>> --- trunk/modules/tagging/src/ptolemy/vergil/basic/BasicGraphController.java 2011-05-27 23:41:50 UTC (rev 27660)
>>> +++ trunk/modules/tagging/src/ptolemy/vergil/basic/BasicGraphController.java 2011-05-28 00:47:49 UTC (rev 27661)
>>> @@ -1,30 +1,29 @@
>>> -/*
>>> - * Copyright (c) 1999-2010 The Regents of the University of California.
>>> - * All rights reserved.
>>> - *
>>> - * '$Author$'
>>> - * '$Date$'
>>> - * '$Revision$'
>>> - *
>>> - * Permission is hereby granted, without written agreement and without
>>> - * license or royalty fees, to use, copy, modify, and distribute this
>>> - * software and its documentation for any purpose, provided that the above
>>> - * copyright notice and the following two paragraphs appear in all copies
>>> - * of this software.
>>> - *
>>> - * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
>>> - * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
>>> - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
>>> - * THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
>>> - * SUCH DAMAGE.
>>> - *
>>> - * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
>>> - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
>>> - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
>>> - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
>>> - * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
>>> - * ENHANCEMENTS, OR MODIFICATIONS.
>>> - *
>>> +/* (An override of Ptolemy's:) Base class for graph controllers in Ptolemy.
>>> +
>>> + Copyright (c) 1999-2010 The Regents of the University of California.
>>> + All rights reserved.
>>> + Permission is hereby granted, without written agreement and without
>>> + license or royalty fees, to use, copy, modify, and distribute this
>>> + software and its documentation for any purpose, provided that the above
>>> + copyright notice and the following two paragraphs appear in all copies
>>> + of this software.
>>> +
>>> + IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
>>> + FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
>>> + ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
>>> + THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
>>> + SUCH DAMAGE.
>>> +
>>> + THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
>>> + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
>>> + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
>>> + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
>>> + CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
>>> + ENHANCEMENTS, OR MODIFICATIONS.
>>> +
>>> + PT_COPYRIGHT_VERSION_2
>>> + COPYRIGHTENDKEY
>>> +
>>> */
>>>
>>> package ptolemy.vergil.basic;
>>> @@ -35,6 +34,7 @@
>>> import java.awt.geom.Point2D;
>>> import java.net.URL;
>>> import java.util.Iterator;
>>> +import java.util.LinkedList;
>>> import java.util.List;
>>>
>>> import javax.swing.AbstractAction;
>>> @@ -51,14 +51,20 @@
>>> import org.kepler.tagging.gui.TaggingPanel;
>>>
>>> import ptolemy.actor.CompositeActor;
>>> +import ptolemy.actor.gui.ColorAttribute;
>>> import ptolemy.actor.gui.Configuration;
>>> import ptolemy.actor.gui.DialogTableau;
>>> import ptolemy.data.expr.Parameter;
>>> import ptolemy.kernel.Entity;
>>> import ptolemy.kernel.InstantiableNamedObj;
>>> +import ptolemy.kernel.util.Attribute;
>>> +import ptolemy.kernel.util.ChangeRequest;
>>> import ptolemy.kernel.util.DebugEvent;
>>> import ptolemy.kernel.util.DebugListener;
>>> +import ptolemy.kernel.util.IllegalActionException;
>>> import ptolemy.kernel.util.Locatable;
>>> +import ptolemy.kernel.util.NameDuplicationException;
>>> +import ptolemy.kernel.util.Nameable;
>>> import ptolemy.kernel.util.NamedObj;
>>> import ptolemy.kernel.util.Settable;
>>> import ptolemy.kernel.util.ValueListener;
>>> @@ -114,6 +120,31 @@
>>> ///////////////////////////////////////////////////////////////////
>>> //// public methods ////
>>>
>>> + public void clearAllErrorHighlights() {
>>> + ChangeRequest request = _getClearAllErrorHighlightsChangeRequest();
>>> + _frame.getModel().requestChange(request);
>>> + }
>>> +
>>> + /** Highlight the specified object and all its containers to
>>> + * indicate that it is the source of an error.
>>> + * @param culprit The culprit.
>>> + */
>>> + public void highlightError(final Nameable culprit) {
>>> + if (culprit instanceof NamedObj) {
>>> + ChangeRequest request = new ChangeRequest(this, "Error Highlighter") {
>>> + protected void _execute() throws Exception {
>>> + _addErrorHighlightIfNeeded(culprit);
>>> + NamedObj container = culprit.getContainer();
>>> + while (container != null) {
>>> + _addErrorHighlightIfNeeded(container);
>>> + container = container.getContainer();
>>> + }
>>> + }
>>> + };
>>> + ((NamedObj) culprit).requestChange(request);
>>> + }
>>> + }
>>> +
>>> /** Add commands to the specified menu and toolbar, as appropriate
>>> * for this controller. In this base class, nothing is added.
>>> * @param menu The menu to add to, or null if none.
>>> @@ -420,8 +451,34 @@
>>> * will not have been fully constructed by the time this is called.
>>> */
>>> protected void _createControllers() {
>>> + }
>>> +
>>> + protected boolean _areThereActiveErrorHighlights() {
>>> + return !_errorHighlights.isEmpty();
>>> }
>>> +
>>> + /**
>>> + *
>>> + * @return
>>> + */
>>> + protected ChangeRequest _getClearAllErrorHighlightsChangeRequest() {
>>> + ChangeRequest request = new ChangeRequest(this,
>>> + "Error Highlight Clearer", true) {
>>> + protected void _execute() throws Exception {
>>> + for (Attribute highlight : _errorHighlights) {
>>> + highlight.setContainer(null);
>>> + }
>>> + }
>>> + };
>>>
>>> + // Mark the Error Highlight Clearer request as
>>> + // non-persistant so that we don't mark the model as being
>>> + // modified. ptolemy/actor/lib/jni/test/Scale/Scale.xml
>>> + // required this change.
>>> + request.setPersistent(false);
>>> + return request;
>>> + }
>>> +
>>> /** Initialize interactions for the specified controller. This
>>> * method is called when a new controller is constructed. This
>>> * base class does nothing, but derived classes may attach interactors
>>> @@ -643,6 +700,30 @@
>>> protected UnitSolverDialogAction _unitSolverDialogAction = new UnitSolverDialogAction();
>>>
>>> ///////////////////////////////////////////////////////////////////
>>> + //// private methods ////
>>> +
>>> + /** Add an error highlight color to the specified culprit if it is
>>> + * not already present.
>>> + * @param culprit The culprit to highlight.
>>> + * @exception IllegalActionException If the highlight cannot be added.
>>> + * @exception NameDuplicationException Should not be thrown.
>>> + */
>>> + private void _addErrorHighlightIfNeeded(Nameable culprit)
>>> + throws IllegalActionException, NameDuplicationException {
>>> + Attribute highlightColor = ((NamedObj) culprit)
>>> + .getAttribute("_highlightColor");
>>> + if (highlightColor == null) {
>>> + highlightColor = new ColorAttribute((NamedObj) culprit,
>>> + "_highlightColor");
>>> + ((ColorAttribute) highlightColor)
>>> + .setExpression("{1.0, 0.0, 0.0, 1.0}");
>>> + highlightColor.setPersistent(false);
>>> + ((ColorAttribute) highlightColor).setVisibility(Settable.EXPERT);
>>> + _errorHighlights.add(highlightColor);
>>> + }
>>> + }
>>> +
>>> + ///////////////////////////////////////////////////////////////////
>>> //// private variables ////
>>>
>>> /** The time to sleep upon animation. */
>>> @@ -658,6 +739,9 @@
>>> */
>>> private static ContextMenuFactoryCreator _contextMenuFactoryCreator;
>>>
>>> + /** List of error highlight attributes we have created. */
>>> + private List<Attribute> _errorHighlights = new LinkedList<Attribute>();
>>> +
>>> // The get documentation action.
>>> private GetDocumentationAction _getDocumentationAction = new GetDocumentationAction();
>>>
>>>
>>> _______________________________________________
>>> Kepler-cvs mailing list
>>> Kepler-cvs at kepler-project.org
>>> http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-cvs
>>
>> --
>> Christopher Brooks, PMP University of California
>> CHESS Executive Director US Mail: 337 Cory Hall
>> Programmer/Analyst CHESS/Ptolemy/Trust Berkeley, CA 94720-1774
>> ph: 510.643.9841 (Office: 545Q Cory)
>> home: (F-Tu) 707.665.0131 cell: 707.332.0670
>
--
Christopher Brooks, PMP University of California
CHESS Executive Director US Mail: 337 Cory Hall
Programmer/Analyst CHESS/Ptolemy/Trust Berkeley, CA 94720-1774
ph: 510.643.9841 (Office: 545Q Cory)
home: (F-Tu) 707.665.0131 cell: 707.332.0670
More information about the Kepler-dev
mailing list