Javascript and Actions

This has been asked before.
Just got off the phone with Adobe Tech support, which told me "We aren't trained in Scripting, you'll need to post on the forums".
So here I am, posting on the forums hoping to get an official response from Adobe.
Why can't we call actions from Javascript? Or if we can like yout manuals say:
"A script can execute an action, but actions cannot execute scripts."
- ADOBE ILLUSTRATOR CS5 SCRIPTING GUIDE
- ADOBE ILLUSTRATOR CS4 SCRIPTING GUIDE
- ADOBE ILLUSTRATOR CS3 SCRIPTING GUIDE
- ADOBE ILLUSTRATOR CS2 SCRIPTING GUIDE
It's been there from the beginning with no reference to "Only works with Applescript and VBScript" or "Does not work with Javascript".
Adobe, if the functionality exists, why can't it exist in Javascript?
Why can't we have access to menu functions, or panel functions (like the Pathfinder toolset). Why can't I tell Illustrator to call the "Merge" pathfinder tool on object[1] and object[4]?
Has anyone discovered a way to get in touch with an official Adobe Illustrator Script-dev to get his/her take on the issue? Or has anyone found an official response from Adobe regarding it? Or has anyone found the magic function that allows calls to actions?
Thanks in advance,
TJ

I don't recall ever seeing someone from Adobe's Illustrator Scripting team posting in this forum… You do get this in the Ps & Id scripting forums… I think at best they may send you some 'tipex' so that you can remove that from your guides… There is a whole list of things that should have been added to this app's scripting capabilities but have not. In my trial of CS5 where was nothing that I was hoping to see added…

Similar Messages

  • Please Please help with JavaScript and Actions

    Hello!
    Is there a way to perform a saved Action from the Action Pallette using a JavaScript script? I know there is a way to do it with Visual Basic.
    Is there a way to run a Visual Basic script from a JavaScript script?(which could be a potential workaround if JavaScript CANNOT call on an Action)
    Is there a way to call on a JavaScript from an Action?
    Here's specific information on my problem:
    I am using Illustrator CS2 on a PC
    I have written all of the JavaScript scripts that I need to perform various layer selection procedures and they all work perfectly. I have placed them in the Presets > Scripts folder so that they appear in my file menu.
    I wrote a very long action that called on these scripts (using Insert Menu Item > then selecting the script by going File > Scripts) sequentially and did some selecting and copy-pasting and applying graphic styles in between scripts. The Action worked PERFECTLY and ran all the scripts I needed to an automated a process that usually takes me an hour in less than five minutes!
    I saved the actions and saved the file.
    After closing Illustrator all of the lines of the action that called on scripts disappeared! It seems this is a known bug...I currently know of no workaround.
    Can anyone help with any of the following things:
    1. Getting actions to SAVE the commands to run javascripts
    2. Writing a JavaScript that runs an Illustrator Action
    3. Writing a JavaScript that runs a Visual Basic script that runs an Illustrator Action.
    I spent three days learning the basics of JavaScript (mostly by trial and error) and successfully wrote all the scripts I needed...I was overjoyed! But now that I've closed illustrator my actions to run said scripts do not work. PLEASE ADVISE!!!
    Thanks in advance,
    Matthew

    try next
    1)if possible split JS-code into 2 parts (before/after action)
    2)make vbs script with contents
    Set appRef = CreateObject("Illustrator.Application.3")
    appRef.DoJavaScriptFile("C:\my1.js")
    appRef.DoScript(Action As String, From As String)
    'add wait while ActionIsRunning
    appRef.DoJavaScriptFile("C:\my2.js")
    3) run vbs (File > Scripts or double-click).

  • About how javascript and actionscript exchange data

    I am a new one to Flex,
    my system need web page(html) exchange data with Flash(flex),
    because the data is not only a value, so need define a
    strucure to transfer the data.
    i dont know which type of data usually worked between
    javascript and action script?
    hopecan get some suggestion.
    is the xml object can be used here?
    hope can get detail suggestion.
    some example would be great!
    thanks!
    bellow is my project status:
    I have use write a simple program to success exchange data
    between flex(actionscript) and html(javascript),
    now i need design some structure to transfer data between
    action script and javascript.
    in my project:
    there is some text areas in html page, and other text areas
    in flash,
    we called text areas in html page is groupA text areas
    text areas in flash is groupB text areas.
    each textarea in GroupA has a corrosponding textarea in
    GroupB.
    1.
    when a textarea's text changed(this textarea is in
    groupA/GroupB)
    the corrosponding textarea's text must change
    inmidietely(textarea in GrroupB/GroupA)
    2.when falsh add a new textarea, html page must add a
    corrosponding textarea.

    HI!
    Not sure where are you stuck with this, if you already have
    been able to comunicate with javascript and flash it measn you
    already have used the external interface and you should know you
    can send any kind of data to flash, this includes XML or even
    serialized objects.
    I haven't test how big the data you can send to or from
    javascript can be, but what i've done sofar works pretty good with
    any value.
    If you are not using the externalInterface but the old
    fscommand() then you should read the external interface
    documentation:
    http://livedocs.adobe.com/flex/2/langref/flash/external/package-detail.html

  • About how javascript and onscript exchange data

    I am a new one to Flex,
    my system need web page(html) exchange data with Flash(flex),
    because the data is not only a value, so need define a
    strucure to transfer the data.
    i dont know which type of data usually worked between
    javascript and action script?
    hopecan get some suggestion.
    is the xml object can be used here?
    hope can get detail suggestion.
    some example would be great!
    thanks!
    bellow is my project status:
    I have use write a simple program to success exchange data
    between flex(actionscript) and html(javascript),
    now i need design some structure to transfer data between
    action script and javascript.
    in my project:
    there is some text areas in html page, and other text areas
    in flash,
    we called text areas in html page is groupA text areas
    text areas in flash is groupB text areas.
    each textarea in GroupA has a corrosponding textarea in
    GroupB.
    1.
    when a textarea's text changed(this textarea is in
    groupA/GroupB)
    the corrosponding textarea's text must change
    inmidietely(textarea in GrroupB/GroupA)
    2.when falsh add a new textarea, html page must add a
    corrosponding textarea.

    HI!
    Not sure where are you stuck with this, if you already have
    been able to comunicate with javascript and flash it measn you
    already have used the external interface and you should know you
    can send any kind of data to flash, this includes XML or even
    serialized objects.
    I haven't test how big the data you can send to or from
    javascript can be, but what i've done sofar works pretty good with
    any value.
    If you are not using the externalInterface but the old
    fscommand() then you should read the external interface
    documentation:
    http://livedocs.adobe.com/flex/2/langref/flash/external/package-detail.html

  • [CS3][JS] How to get list of Actions and Action Groups

    Does anyone know of a Javascript method for retrieving the list of Action Group names and Action names as an array? I'm trying to do a check that the requested Action Group and Action is available before starting a script.
    Thank you.

    If you look at Image Processor.jsx you shuld find them near the bottom of the script.

  • Combo box in JavaScript and store the combo box values into database

    i am a developer, i have a task ie.. i have combo box in JavaScript and i have to store the combo box values into database through JavaServerPage..
    i please every one to have a look on this and please reply soon....

    dear sir,
    your suggestions are really greater the god.............
    i have applied as you said , now i am the page as updated and also i nform you that its multi select ....
    i will show the codings , then u will get a clear identification
    <script language= "JavaScript">
    <!--
    function one2two() {
        m1len = m1.length ;
        for ( i=0; i<m1len ; i++){
            if (m1.options.selected == true ) {
    m2len = m2.length;
    m2.options[m2len]= new Option(m1.options[i].text);
    for ( i = (m1len -1); i>=0; i--){
    if (m1.options[i].selected == true ) {
    m1.options[i] = null;
    function two2one() {
    m2len = m2.length ;
    for ( i=0; i<m2len ; i++){
    if (m2.options[i].selected == true ) {
    m1len = m1.length;
    m1.options[m1len]= new Option(m2.options[i].text);
    for ( i=(m2len-1); i>=0; i--) {
    if (m2.options[i].selected == true ) {
    m2.options[i] = null;
    //-->
    </script>
    <form method="POST" name="theForm" action="update.jsp">
    <table bgcolor="white" border="1" cellpadding="5" cellspacing="2" align="center">
    <tr><td align="center">
    <select id=menu1 size=10 multiple>
    <option>javascript</option>
    <option>php</option>
    <option>Zeo</option>
    <option>asp</option>
    <option>jsp</option>
    <option>ajax</option>
    <option>struts</option>
    </select>
    <p align="center"><input type="button" onClick="one2two()" value=" >> "></p>
    </td><td align="center">
    Languages you know:<BR>
    <SELECT NAME="language" multiple>
    <OPTION VALUE="c">C
    <OPTION VALUE="c++">C++
    </SELECT>
    <p align="center"><input type="button" onClick="two2one()" value=" << " ></p>
    </td></tr></table>
    <center><input type="submit" value="update"></center>
    </form>
    <h4><u>Back<h4>
    <script language= "JavaScript">
    var m1 = document.theForm.menu1;
    var m2 = document.theForm.language;
    </script>
    </body>
    </html>

  • How to use javascript and scriptlet simultaneously

    Hi all!!
    I have a jsp page on which there are two selection lists. One is for publisher names list and second is for journal names list corresponding to publisher selected in first selection list.
    When publisher name is selected in first selection list then all journal names should be listed in second selection list. it requires fetching rows in database.
    ie; action is onChange of first selection list ie; javascript and database is of scriptlet part.
    how to do that??
    I know that scriptlet can't be used in javascript. and it is possible by submitting this form. but i don't want to submit this form.
    Please help me out.
    Thanks

    Hi _abhi,
    Use the onchage action in the drop down tag which will redirect using URL encode to the same page and get the parameter data and pass the value to the second Drop down
    Cheers

  • How to find the JavaScript Script Actions?

    Where can I find the JavaScript Script Actions for being executed in the
    Correlation Engine Java VM process?
    sonfan
    sonfan's Profile: https://forums.netiq.com/member.php?userid=692
    View this thread: https://forums.netiq.com/showthread.php?t=42697

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1
    What do you mean? The action plugins are available for download from
    the regular Sentinel plug-in site:
    http://support.novell.com/products/s...elplugins.html
    The ability to access or manage plugins will depend on your product
    (Sentinel 6.1, 7.x, or Log Manager).
    What you want to do may also slightly affect how you access them so
    knowing that, and really knowing the entire story, would help.
    The SDK can also be used to build new ones, if you're interested.
    Good luck.
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v2.0.19 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://www.enigmail.net/
    iQIcBAEBAgAGBQJQbyY5AAoJEF+XTK08PnB5KVEP/RuXqAbhsFWtt5iBVF8OHn2y
    dlhgNcYbBHvC5YCrO+AD3lOD4kBX2NMCHXmZQiyU/c8eohGzG6iJgOXwIj1MiUiF
    fBkbvSi8tvT85j7og0noAUKMyhp4cASa8EPl0C5JiSRYZGvH57 PXDRxd+J5TUdyK
    lS9nHhmLXKgOTVeUcmUoqatywF2wgHbtvJsj0Ys5Zb1ITcddRK khenb8pn9cZrx0
    GUgQip3Z/wSPJphgpluVRs74z3qJkRwmpNBZCpRouDWJUM6ca2nwUOECMSO rIAD4
    KI2zHiJKdYosLdUpkIIFQpwmOEJ/JW0pLSL9TZxeO3/yz4gSuK/YFFw9GFAWtq/D
    ddl/9+iUoelYIl43PowvPG4gG8M/JCRLjL2f1FQ0ZHTPeAEIFPSzY1+1pu0O2fcG
    mq9vJ7cV1nrw2WGh46zCWVprB8bT1IEBffm8vj/6/tSysZAEgfZH/+2hmWMxstP8
    kZL03QeIJZ2Ks0fbZ4YroqIfPEI4qQTVHcRgV4OsgsRL2N6PiL aEJOaVqLthSCPG
    srUbECkg9JidSfp2BWDYI9tzOeOTwf4NCM7Wvlu2B9eqp97uEA cU0amuJrGYWxBP
    cKVqjTD6SwlvCsEo0614Q/ohlH524l+1gi985E3RNWeWn32BFt4sNCvaau4R0VJu
    n1RTg5azY9RlS/zjVR41
    =kCL+
    -----END PGP SIGNATURE-----

  • Access Custom Attributes in JavaScript and in Transactions

    Hello,
    I try to work with custom attributes. I've problems accessing the values in JavaScript and in transactions, but it works fine within .irpt pages.
    What's the trick?
    For a custom attribute called PLANT, can I write something like this in JavaScript?
    var p = ;
    Is there a way to access custom attributes in the Link Editor of an Action Block?
    Kind Regards,
    Matthias

    Hi Matthias,
    it is not possible to integrate that kind of MII variables in JavaScript like you discribed before.
    You are right that this kind of expression is possible in the .irpt file. The reason why it is working in the .irpt
    but not in the .js is, that the MII script parser is only replacing in HTML content. Everywhere you have
    scripting the parser will not replace the {...} markings (since the curly brackets also show start/end of functions aso.).
    Variables to JavaScript
    The easiest Way to get those variables is to create hidden fields in the .irpt file that you can access via JavaScript.
    For example:
    <input type="hidden" id="hidden_plant" value="{PLANT}" />
    This will be parsed to (e.g.)
    <input type="hidden" id="hidden_plant" value="Karlsruhe/DE" />
    Now you can access this value in JavaScript via:
    document.getElementById( "hidden_plant" ).value;
    Variables to Transactions
    To parse custom variables to a transaction you first have to specify corresponding transaction variables in the
    transaction itself. After saving the transaction you can map those variables to Parameters in the Xacute-Query-Editor.
    Including this transaction to your webpage you can simply assign the required value to the corresponding parameter.
    For example if you mapped the Plant variable of the transaction to Param.1 you can specify the information in the .irpt
    like:
    <applet id="trx_test" ....>
      <... />
      <param name="Param.1" value="{PLANT}" />
    </applet>
    Another possibility is to set the value dynamically via JavaScript if you use:
    document.getElementById( "trx_test" ).getQueryObject().setParam( 1, "Karlsruhe/DE" );
    Native access to user variables via the BLE is not possible (as far as I know).
    I hope this is what you wanted to hear?
    Best Regards
    Sebastian
    Edited by: Sebastian Holzschuh on Jun 10, 2008 12:16 PM

  • JavaScript and PS CS6: Performance issue

    Hi folks
    I have to admit we are stuck in our development: We have written a Phothoshop Plugin unsing extensive JavaScript and Flash Panels / Action Script.
    The Javascripts would, eg. select a given layer. When running the Javascript in PS CS5 or 5.1 everything is smooth and snappy but we've noticed, that the same JavaScript running in PS CS6 takes up to 300% more time.
    Does anyone having observed the same performance issues?
    Would it be faster to address the specific layers by their native Layer ID's rather than their names?
    Why is there such a performance slow down with the same JavaScripts / ActionScript-FlashPanel between CS5 and CS6?
    We have already contacted [email protected] (we are solution partner silver) but they do not start acting if you are using your own JavaScripts....
    You are our last hope :-( 
    I can send you some of the code but I don't want it to be publicly exposed here.
    Thanks in advance,
    Andrash

    Hi, since nobody bothers to answer we might have to find out ourselfs.
    Maybe it is caused by the way we address layers throug the script?
    Which method are you using?
    Are you addressing the layers directly or are you just cicling throug an array of layers?
    Are you pointing for the layers by their native ID or rather their layer names?
    How do you trigger the script: by another script? From a flash panel (Flex / Action Script)?
    We are using Flash Panels to start the script. The script simply calls a layer by it's name (a numerical ID that we apply to the layer). The script shall look up that specific layer and check if there is some content on the layer. We created a logger to see where the heavy amount of time is consumed and it seems, that it is while jumping to the layer.
    In CS5 that was all a matter of a split second. Now in CS6 it takes a couple of seconds (4sec.). We asked ADOBE Techsupport for help, but they didn't even bother to look at the problem since we are working with self written code (as every developer does.....?!?!). I wonder what techsupport is good for if not answering techical problems like this one.
    I hope that, with your answers we might circle in the cause of the problem!
    Cheers,
    Andreas

  • How to call javascript function & action method on clicking jsf  button?

    I have one jsf custom button. I am checking client side validations in mail by calling javascript function & also sending mail by calling action method of a bean which will execute at server side for onclick event of that button. Because of this when I click on that button its calling both javascript function and action method. So even though validations failed its sending mail. How can I overcome this problem?? Please help me....

    I am asking regarding commanLinks in jsf. I have the following code block in jsf. Even though mailSentMessage('true'); returns false, its calling action="#{emailObjectAction.sendEmail}" method. thats why I got that doubt. try the following code.
    <h:commandLink id="mailBtn123Send"      onclick="return mailSentMessage('true');" value="send mail"     action="#{emailObjectAction.sendEmail}">          
    </h:commandLink>

  • Corrupted Links & Missing Rollovers and Actions

    I don't know what the hell just happened... I've been working on this page all damn day and I must've toggled something by accident because all of a sudden the page has lost all rollovers, links and actions. I mean, they're GONE. And I can't seem to bring them back. Sometimes I'll restart and everything will be there, although it still won't work in the Live Render Window, and the next time there won't be anything but blank palettes where the info should be. I tried opening the html page in a browser and it won't work there either.
    Anybody have any idea what I did? The code seems to be there and all the rest of my pages work fine. I'm at my wits end and have basically lost the last 12 hours of work. I'm hoping I accidentally keyed some obscure toggle and this can be easily rectified. Otherwise... ugh.
    Any and all suggestions or help would be greatly appreciated.
    I don't know if it helps, but here's the first part of the code on my page:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <meta name="generator" content="Adobe GoLive" />
    <script type="text/javascript">
    window.resizeTo(1054, 630);
    </script>
    <csactionitem name="c3fd440e3"></csactionitem>
    <title>The Main Page</title>
    <link href="../css/basic.css" rel="stylesheet" type="text/css" media="all" />
    <style type="text/css" media="all"><!--
    body { margin: 0; }

    Can you upload the page somewhere or post the lot?
    I put both in a zipfile attached to this post.
    The first part of the page doesn't show what we need to see. Specifically we will first of all look at the link to the CSScriptLib.js file which should be in your GeneratedItems folder.
    I included that in the zipfile.
    Are you working with the site window open?
    Nope. Just with the Live Preview Window.
    Are the actions Head actions or are they attached to a link somewhere on the page?
    They're attached clicks on images.
    Have you recently changed any GoLive preferences?
    Not that I'm aware of. But who knows, maybe I accidentally typed a key combination that screwed me.
    Thanks you for our help!

  • Problem accessing /config_general/null/Default.action   Reason:There is no Action mapped for namespace/ config_general and action name default

    in use:
    vRO 5.1
    eclipse 3.7.2
    vRo plug-sdk 5.1
    steps:
    1.create a plug-in project from samples(choose solar system)
    2.find the dar package and upload it by vRo configuration
    3.vRo configuration said upload successfully,but the solar system configuration is not properly configued..
    problem:
    Problem accessing /config_general/null/Default.action   Reason:There is no Action mapped for namespace/ config_general and action name default
    How to solve it??
    Thanks so much!!

    There was problem from crm side...its working now..

  • COMMUNICATION BETWEEN JAVASCRIPT AND JAVA APPLET: US$20 AWARD FOR SOLUTION!

    COMMUNICATION BETWEEN JAVASCRIPT AND JAVA APPLET PROBLEM (Easy Filter Java Applet) -
    US$20 TO ANYONE WHO CAN RESOLVE THE PROBLEM
    To forum visitors:
    I am prepared to pay a standard shareware fee of US$20 to a user who can resolve this technical problem.
    If your advice resolves the problem, I'll forward the payment to your postal address (include your
    address with your reply, and also your email address)
    I am attempting to enable a HTML button (using Javascript's onClick command) to directly input a number into one of the parameter text boxes in the Easy Filter Java applet (ie, enter a new color value number in the text field of the standard Colors Multiplicator Filter interface).
    The applet is Freeware and can be downloaded at: http://www.javazoom.net/applets/easyfilter10/EasyFilter10.html
    (It is a very effective bitmap display and editing utility)
    To achieve this, I am trying to access the part of the applet that defines and sets the textbox. The text box is defined in the .class file by accessing the parameter details in the genericfilter.txt file (accompanies the .class files). I need to access 'private String appletInitialize()' and then one of the 'textFieldParameters' which sets the textbox.
    I understand the basic syntax for referencing the applet:
    document.appletname.setString("An example"). However, accessing the text fields in this applet is more complex!!
    Please can you recommend the correct Javascript syntax to achieve communication with the applet.
    Thank you for your kind assistance.
    JM Graham
    [email protected]
    The Java source code for the applet: EasyFilter.class
    # Easy Filter - E.B/JavaZOOM 1999 #
    # Contact: [email protected] #
    # http://javazoom.hypermart.net #
    /* Originally compiled from EasyFilter.java */
    import java.awt.*;
    import java.io.*;
    import java.net.*;
    import java.applet.Applet;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.awt.image.MemoryImageSource;
    import java.awt.image.PixelGrabber;
    import java.util.Vector;
    public synchronized class EasyFilter extends Applet implements KeyListener
    private String paramFileName;
    private Color bgColor;
    private Color fgColor;
    private Color parColor;
    private Color sepColor;
    private Color titleColor;
    private Color helpColor;
    private int WinWidth;
    private int WinHeight;
    private String title;
    private String logoFileName;
    private String originalImageFileName;
    private String filteredCaption;
    private String originalCaption;
    private Vector paramsName;
    private Vector paramsValue;
    private Vector paramsComment;
    private Panel panelParameters[];
    private Label labelParameters[];
    private TextField textFieldParameters[];
    private Label labelComments[];
    private int nbParameters;
    private ScrollPane scrollPaneParams;
    private Panel panelParams;
    private Image theLogo;
    private Image theOriginalImage;
    private Image theFilteredImage;
    private int theOriginalPixelArray[];
    private int logoWidth;
    private int logoHeight;
    private int imageWidth;
    private int imageHeight;
    private drawCanvas canvasTitle;
    private Panel panelTitle;
    private Label labelTitle;
    private Panel panelImages;
    private Panel panelOriginalImage;
    private drawCanvas canvasOriginalImage;
    private Label labelOriginalImage;
    private Panel panelFilteredImage;
    private drawCanvas canvasFilteredImage;
    private Label labelFilteredImage;
    private Panel panelHelp;
    private Label labelHelp;
    private int Yspc;
    private FilterImplementation theFilter;
    public void init()
    String string = null;
    string = appletInitialize();
    setBackground(bgColor);
    if (string != null)
    removeAll();
    setBackground(Color.white);
    setForeground(Color.black);
    Label label = new Label(new StringBuffer("Error: ").append(string).toString(), 1);
    Panel panel = new Panel();
    panel.add(label);
    add(panel);
    setLayout(new FlowLayout(1, 5, Yspc));
    public void keyPressed(KeyEvent keyEvent)
    panelHelp.removeAll();
    boolean flag = true;
    if (KeyEvent.getKeyText(keyEvent.getKeyCode()).equals("Enter"))
    for (int i = 0; i < nbParameters; )
    try
    paramsValue.setElementAt(new Double(textFieldParameters.getText()), i);
    i++;
    catch (NumberFormatException e)
    labelHelp.setText(labelParameters[i].getText() + ": Not a Number");
    flag = false;
    break;
    if (flag == 1)
    labelHelp.setText(" .... Running, please wait .... ");
    labelHelp.setAlignment(1);
    panelHelp.add(labelHelp);
    panelHelp.doLayout();
    theFilter.updateParameters(paramsValue);
    theFilter.computeFilter();
    theFilteredImage = createImage(new MemoryImageSource(theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight(), theFilter.getFinalImageBuffer(), 0, theFilter.getFinalImageWidth()));
    canvasFilteredImage.setImage(theFilteredImage);
    canvasFilteredImage.setBounds(0, 0, theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight());
    canvasFilteredImage.repaint();
    panelHelp.removeAll();
    labelHelp.setText("- Done -");
    else
    labelHelp.setText("- Press Enter to run the Filter -");
    labelHelp.setAlignment(1);
    panelHelp.add(labelHelp);
    panelHelp.doLayout();
    public void keyReleased(KeyEvent keyEvent)
    public void keyTyped(KeyEvent keyEvent)
    private String appletInitialize()
    WinWidth = size().width;
    WinHeight = size().height;
    if (getParameter("bgcolor") == null)
    bgColor = new Color(0, 0, 40);
    else
    bgColor = new Color(Integer.parseInt(getParameter("bgcolor"), 16));
    if (getParameter("fgcolor") == null)
    fgColor = new Color(255, 255, 255);
    else
    fgColor = new Color(Integer.parseInt(getParameter("fgcolor"), 16));
    if (getParameter("sepcolor") == null)
    sepColor = new Color(158, 128, 128);
    else
    sepColor = new Color(Integer.parseInt(getParameter("sepcolor"), 16));
    if (getParameter("parcolor") == null)
    parColor = new Color(24, 24, 24);
    else
    parColor = new Color(Integer.parseInt(getParameter("parcolor"), 16));
    if (getParameter("titlecolor") == null)
    titleColor = new Color(255, 255, 0);
    else
    titleColor = new Color(Integer.parseInt(getParameter("titlecolor"), 16));
    if (getParameter("helpcolor") == null)
    helpColor = new Color(0, 255, 255);
    else
    helpColor = new Color(Integer.parseInt(getParameter("helpcolor"), 16));
    paramsName = new Vector();
    paramsValue = new Vector();
    paramsComment = new Vector();
    paramFileName = getParameter("paramfile");
    String string = readParams(paramFileName);
    if (string != null)
    return string;
    MediaTracker mediaTracker = new MediaTracker(this);
    theOriginalImage = getImage(getDocumentBase(), originalImageFileName);
    mediaTracker.addImage(theOriginalImage, 0);
    if (logoFileName != null)
    theLogo = getImage(getDocumentBase(), logoFileName);
    mediaTracker.addImage(theLogo, 1);
    try
    mediaTracker.waitForAll();
    catch (InterruptedException e1)
    return "Error while loading image";
    if (mediaTracker.isErrorAny())
    return "Error while loading image";
    if (logoFileName != null)
    logoWidth = theLogo.getWidth(this);
    logoHeight = theLogo.getHeight(this);
    imageWidth = theOriginalImage.getWidth(this);
    imageHeight = theOriginalImage.getHeight(this);
    theOriginalPixelArray = new int[imageWidth * imageHeight];
    PixelGrabber pixelGrabber = new PixelGrabber(theOriginalImage, 0, 0, imageWidth, imageHeight, theOriginalPixelArray, 0, imageWidth);
    try
    pixelGrabber.grabPixels();
    panelTitle = new Panel();
    canvasTitle = new drawCanvas();
    labelTitle = new Label();
    panelTitle.setLayout(new FlowLayout(1, 10, Yspc));
    add(panelTitle);
    panelTitle.setBackground(bgColor);
    panelTitle.add(canvasTitle);
    canvasTitle.setImage(theLogo);
    canvasTitle.setBounds(0, 0, logoWidth, logoHeight);
    labelTitle.setText(title);
    catch (InterruptedException e2)
    return "Internal Error, Try RELOAD !";
    if (title != null)
    panelTitle.add(labelTitle);
    labelTitle.setForeground(titleColor);
    labelTitle.setFont(new Font("Dialog", 1, 14));
    panelImages = new Panel();
    panelOriginalImage = new Panel();
    canvasOriginalImage = new drawCanvas();
    labelOriginalImage = new Label();
    panelFilteredImage = new Panel();
    canvasFilteredImage = new drawCanvas();
    labelFilteredImage = new Label();
    panelImages.setLayout(new FlowLayout(1, 10, Yspc));
    add(panelImages);
    panelImages.setBackground(bgColor);
    panelOriginalImage.setLayout(new BorderLayout(0, 2));
    panelImages.add(panelOriginalImage);
    panelOriginalImage.setBackground(Color.black);
    panelOriginalImage.add("Center", canvasOriginalImage);
    canvasOriginalImage.setImage(theOriginalImage);
    canvasOriginalImage.setBounds(0, 0, imageWidth, imageHeight);
    labelOriginalImage.setText(originalCaption);
    labelOriginalImage.setAlignment(1);
    panelOriginalImage.add("South", labelOriginalImage);
    labelOriginalImage.setBackground(Color.lightGray);
    labelOriginalImage.setForeground(Color.black);
    labelOriginalImage.setFont(new Font("SansSerif", 0, 10));
    panelFilteredImage.setLayout(new BorderLayout(0, 2));
    panelImages.add(panelFilteredImage);
    panelFilteredImage.setBackground(Color.black);
    panelFilteredImage.add("Center", canvasFilteredImage);
    theFilter = new FilterImplementation(paramsValue, theOriginalPixelArray, imageWidth, imageHeight);
    theFilter.computeFilter();
    theFilteredImage = createImage(new MemoryImageSource(theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight(), theFilter.getFinalImageBuffer(), 0, theFilter.getFinalImageWidth()));
    canvasFilteredImage.setImage(theFilteredImage);
    canvasFilteredImage.setBounds(0, 0, theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight());
    labelFilteredImage.setText(filteredCaption);
    labelFilteredImage.setAlignment(1);
    panelFilteredImage.add("South", labelFilteredImage);
    labelFilteredImage.setBackground(Color.lightGray);
    labelFilteredImage.setFont(new Font("SansSerif", 0, 10));
    scrollPaneParams = new ScrollPane(0);
    panelParams = new Panel();
    nbParameters = paramsName.size();
    int i = WinHeight - (33 + 7 * Yspc + logoHeight + imageHeight + 23);
    if (i < Yspc + 2 + 24)
    i = Yspc + 2 + 24;
    scrollPaneParams.setBounds(0, 0, WinWidth - 10, i);
    panelParams.setLayout(new GridLayout(nbParameters, 1, 5, Yspc / 2));
    scrollPaneParams.add(panelParams);
    panelParams.setBackground(sepColor);
    panelParameters = new Panel[nbParameters];
    labelParameters = new Label[nbParameters];
    textFieldParameters = new TextField[nbParameters];
    labelComments = new Label[nbParameters];
    for (int j = 0; j < nbParameters; j++)
    panelParameters[j] = new Panel();
    panelParameters[j].setLayout(new FlowLayout(0, 5, 1));
    panelParams.add(panelParameters[j]);
    panelParameters[j].setBackground(parColor);
    labelParameters[j] = new Label();
    labelParameters[j].setText((String)paramsName.elementAt(j));
    panelParameters[j].add(labelParameters[j]);
    labelParameters[j].setForeground(fgColor);
    labelParameters[j].setFont(new Font("Dialog", 1, 12));
    textFieldParameters[j] = new TextField(8);
    textFieldParameters[j].setText(paramsValue.elementAt(j).toString());
    panelParameters[j].add(textFieldParameters[j]);
    textFieldParameters[j].setBackground(fgColor);
    textFieldParameters[j].addKeyListener(this);
    labelComments[j] = new Label();
    labelComments[j].setText((String)paramsComment.elementAt(j));
    panelParameters[j].add(labelComments[j]);
    labelComments[j].setForeground(fgColor);
    add(scrollPaneParams);
    panelHelp = new Panel();
    labelHelp = new Label();
    panelHelp.setLayout(new FlowLayout(1, 5, 0));
    add(panelHelp);
    panelHelp.setBackground(bgColor);
    labelHelp.setText(" Change colour values and press enter ");
    labelHelp.setAlignment(1);
    panelHelp.add(labelHelp);
    labelHelp.setForeground(helpColor);
    return null;
    private String readParams(String string1)
    Object object1;
    String string2;
    if (string1 == null)
    return "Filename of filter's parameters needed";
    try
    URL uRL = new URL(getDocumentBase(), string1);
    URLConnection uRLConnection = uRL.openConnection();
    uRLConnection.setDoInput(true);
    uRLConnection.setUseCaches(false);
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(uRLConnection.getInputStream()));
    string2 = null;
    catch ()
    return object1.getMessage();
    catch ()
    return object1.getMessage();
    catch ()
    return object1.getMessage();
    if (bufferedReader != null)
    Object object2;
    try
    for (object2 = bufferedReader.readLine(); object2 != null && string2 == null; object2 = bufferedReader.readLine())
    string2 = extractFormat(object2);
    catch ()
    string2 = object2.getMessage();
    finally
    bufferedReader.close();
    if (string2 != null)
    return string2;
    else
    return null;
    private String extractFormat(String string1)
    if (string1.length() == 0)
    return null;
    int i = 0;
    int j = string1.indexOf(" ", i);
    if (j == -1)
    return "Bad format error (space missing)";
    String string2 = string1.substring(i, j);
    if (string2.equals("TITLE"))
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in TITLE missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in TITLE missing)";
    title = string1.substring(i, j);
    return null;
    if (string2.equals("ORIGINALCAPTION"))
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in ORIGINALCAPTION missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in ORIGINALCAPTION missing)";
    originalCaption = string1.substring(i, j);
    return null;
    if (string2.equals("FILTEREDCAPTION"))
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in FILTEREDCAPTION missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in FILTEREDCAPTION missing)";
    filteredCaption = string1.substring(i, j);
    return null;
    if (string2.equals("LOGO"))
    i = j + 1;
    j = string1.length();
    logoFileName = string1.substring(i, j);
    return null;
    if (string2.equals("ORIGINALIMAGE"))
    i = j + 1;
    j = string1.length();
    originalImageFileName = string1.substring(i, j);
    return null;
    if (!string2.equals("PARAM"))
    return null;
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format in a PARAM line";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format in a PARAM line";
    paramsName.addElement(string1.substring(i, j));
    i = j + 2;
    j = string1.indexOf(32, i);
    if (j == -1)
    return "Bad format in a PARAM line";
    try
    paramsValue.addElement(new Double(string1.substring(i, j)));
    j = string1.indexOf(34, i);
    catch (NumberFormatException e)
    return "Bad format in a PARAM line";
    if (j == -1)
    return "Bad format (Double quote in PARAM comment missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in PARAM comment missing)";
    paramsComment.addElement(string1.substring(i, j));
    return null;
    public EasyFilter()
    logoHeight = 33;
    Yspc = 5;

    Addition to my above submission
    To clarify, I'll offer the US$20 to the FIRST person who offers me a workable solution to the problem, not to everyone!!!
    JMGRAHAM

  • Communication between javascript and Objective-c in iOS.

    We wanted to have a communication between javascript and objective c code. We have already tried the below approach.
    To load fake URLs in JS and append a string which will be used as parameter to the Objective-C code and parse that URL in this delegate method:
    -(BOOL)webView(UIWebView *)webView shouldStartLoadWithRequest(NSURLRequest *)request navigationType(UIWebViewNavigationType)navigationType
    Then send the return value by calling the native method stringByEvaluatingJavaScriptFromString again with parameter callID.
    But we wanted to access Objective class object in Javascript code so that we can call it's methods from javascript code using this object.Android supports this behaviour using addJavaScriptInterface method in webview. Is it possible to have the similar approach in IOS? If not what is the best approach possible to acheive this? If we could achieve similar behaviour then we don't need to change the Jacascript code and will be reused. Please suggest the best possible solution.
    Regards,
    Karthik M.

    https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptu al/SafariJSProgTopics/Tasks/ObjCFromJavaScript.html

Maybe you are looking for

  • How to Import Apple Mail Folders on Second User Account

    I purchased a new MBP after the old one failed.  At the Apple Store I set up a User ID for the new MBP.  I then used the Migration utility later on to bring in all my data from my late MBP.  This included all my Mail folders.  Now I want to get a sel

  • Apple AV Cable's

    The Apple av cables are awesome. They look great and also give a really crisp picture when connecting the video ipod to a t.v. However if your t.v is more than 25 cm from where you plug in the audio leads then make sure you get a coupler and a photo

  • Logged Out session can be accessed again After logout (DAD authentication)

    Hello, Please find the details of my problem below: SCENERIO: Current Authentication: No Authentication (USING DAD) Authorization: MYAUTH Frequency: Once Per Session declare lv_retval boolean; lv_srec pkg_myutil.r_sessionrectype; begin begin -- This

  • WAD Problem: data below 6th level of Hierarchy is not displaying.

    Hello Experts, I am executing a template in the portal and while giving selections for particular 'cost element' in the selection screen, the message is coming saying no records available. There are 9 levels of hierarchy and up to 6 levels the data i

  • Downloading iLife for Mac OSX 10.6.8?

    I have a MacBook (late 2006) running OSX 10.6.8. I would like to download iMovie either '09 or '11, but from the Mac App Store, I get a message saying I need OSX 10.7.4. I do not want to pay to update to Lion or Mountain Lion because I am getting a n