[kepler-users] kepler parameters
Christopher Brooks
cxh at eecs.berkeley.edu
Mon Oct 24 09:46:22 PDT 2011
Hi Kianwee,
My comments are interspersed with your text below.
On 10/24/11 8:39 AM, Edward A. Lee wrote:
>
> The documentation for FileParameter says:
>
> "If this attribute contains a parameter named allowFiles with value
> false, then when a file browser is used to select a file, that file
> browser will be set to not show files (only directories will be
> shown). If this attribute contains a parameter named allowDirectories
> with value true, then the file browser will permit the user to select
> directories (the default behavior is that when a directory is
> selected, that directory is opened and its contained files and
> directories are listed)."
>
> (I'm not sure about Kepler, but in Ptolemy, just drag in a FileParameter
> from the Utilities menu, right click on it, and select Documentation.)
>
> I'm not sure what you mean by "list parameter." Can you cite a specific
> example?
>
> Edward
>
>
> On 10/24/11 3:22 AM, kianwee chen wrote:
>> Hi everyone, I am trying to create a composite actor and trying to setup
>> the parameters for the composite actor. Thus I have some question on
>> adding parameters in composite actors.
>>
>> 1.) Directory parameter:
>>
>> -I would like to let the users specify a directory on the composite
>> actor parameters interface, I know there is a file parameter but I need
>> a directory parameter. How can I customise a directory parameter ?
See Edward's explanation above.
>>
>> -I have a problem with relative path too, when I setup a file parameter
>> it returns the string of the path relative to my current kepler file
>> that is open. Is there a way to get the base file path ? Something like
>> $CWD, but instead the file path of my currently open file ?
The FileParameter documentation says:
<p>If the model containing this
attribute has been saved to a MoML file, then the file name can be
given relative to the directory containing that MoML file.
If the model has not been saved to a file,
then the classpath is used for identifying relative file names.</p>
<p>Files can be given relative to a <i>base</i>, where the baseis
the URI of the first container above this one that has a URIAttribute.
Normally, this URI specifies the file or URL containing the model
definition. Thus, files that are referred to here can be kept in the
same directory as the model, or in a related directory, and can
moved together with the model.</p>
So, if you type in a relative path, then the file should be relative to
the model.
There is a Ptolemy test at
ptolemy/actor/lib/io/test/auto/FileReader.xml
that illustrates the various possibilities. If this test is run in the
ptolemy/actor/lib/io/test
directory, then it will work. If the test is run elsewhere, then the
"FileReader Relative to CWD"
actor will fail because that actor uses $CWD, which is expected to be
ptolemy/actor/lib/io/test
in that test.
In Java, the value of the user.dir property is the " User's current
working directory".
However, when a Java program is opened in a graphical windowing system
by clicking on
a menu choice, then the value of user.dir is not clearly defined. It
should probably be
the same value as the user's home directory, but I've seen various values.
For a FileParameter, the value of $CWD is set to the value of the
user.dir property,
which is probably not what you want. I often end up using $CLASSPATH,
which looks in
the classpath for the resource. The file chooser does not have a way to
add $CLASSPATH,
you have to type it in manually.
>>
>> 2.) List Parameter:
>> - I have seen some actor have List parameters how do I customise one for
>> my composite actor too ?
For atomic actors, the ptolemy/actor/lib/MathFunction.java uses the
addChoice() method:
// Parameters
function = new StringParameter(this, "function");
function.setExpression("exp");
function.addChoice("exp");
function.addChoice("log");
function.addChoice("modulo");
function.addChoice("sign");
function.addChoice("square");
function.addChoice("sqrt");
_function = _EXP;
I believe that addChoice() is defined in ptolemy/gui/Query.java
For a CompositeActor, you would probably need to edit the MoML by hand
and add a Parameter:
<property name="function" class="ptolemy.data.expr.StringParameter"
value="square">
<property name="style" class="ptolemy.actor.gui.style.ChoiceStyle">
<property name="exp" class="ptolemy.kernel.util.StringAttribute"
value="exp">
</property>
<property name="log" class="ptolemy.kernel.util.StringAttribute"
value="log">
</property>
<property name="modulo" class="ptolemy.kernel.util.StringAttribute"
value="modulo">
</property>
<property name="sign" class="ptolemy.kernel.util.StringAttribute"
value="sign">
</property>
<property name="square" class="ptolemy.kernel.util.StringAttribute"
value="square">
</property>
<property name="sqrt" class="ptolemy.kernel.util.StringAttribute"
value="sqrt">
</property>
</property>
</property>
_Christopher
>>
>> Thanks alot !!
>> ckw
>>
>>
>> _______________________________________________
>> Kepler-users mailing list
>> Kepler-users at kepler-project.org
>> http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>
>
> _______________________________________________
> Kepler-users mailing list
> Kepler-users at kepler-project.org
> http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
--
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nceas.ucsb.edu/kepler/pipermail/kepler-users/attachments/20111024/bca97378/attachment.html>
More information about the Kepler-users
mailing list