Inconsistent event behavior

Can anyone reproduce this bug?
1. Select File->Open... select two Photoshop documents, and press "Open"
2. Select File->Scripts->Script Events Manager...
Change the Photoshop Event drop-down to "Everything" and the script to "Welcome"
Press "Add", then "Done" then press "OK" on the Script Alert box.
3. Click the Tab or Title Bar of the inactive document.
Results: Nothing happens
Expected Results: Photoshop should trigger an event when switching documents, and the Script Event dialog box should pop-up. 
Switching back to the first document will trigger an event, and switching to the secend document again will trigger an event.
I made a panel that gives information about the current selected document, but this bug makes it unreliable.

Hello !
I don't have this behavior with CS4.
Opening several docs then defining the notifier for all events, then selecting an inactive document: the script is called on a "select" event. 
When the notifier is already defined, the open command of several docs raises the good number of "open" events, but only the first has some arguments (file path) and the next have not ??.

Similar Messages

  • Inconsistent aggregation behavior activation will be terminated 0PUR_DS03

    Hi All,
    Iam getting the following error while activating ODS 0PUR_DS03 delta request
    Inconsistent aggregation behavior activation will be terminated.
    The Initiales request for it went smoothly but giving error while activating Delta request only.
    I found one sap note 1081423 but it is applicable before 16 and Iam already on support package 16 .
    Thanks and Regards .
    Akash

    Hi,
    But the correction are already been done for SP16.
    https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/spat/index.htm?sp1=SAPKW70016
    Have you checked the Notes, 1074388 1074236 and 875986.
    Edited by: Aduri on Dec 11, 2008 12:55 PM

  • Inconsistent aggregation behavior - activation will be terminated

    Hi BW Gurus
    DSO activation is failing with the error message : "Inconsistent aggregation behavior - activation will be terminated"
    Can any one please suggest on the above issue like how it will be caused and resolved
    Thanks in advance
    Venkat

    Hi....
    If u r getting error in data activation, try the below procedure
    If u want to activate the DSO the status of all the requests must be green.
    If all requests are not in green then this eeror will come.
    Right click on the DSO-> Administrator data target.
    Thaere check whrther the status of any request is yellow or red.
    May be that load going on in some other chain......just click on the Monitor icon.
    Then in the IP monitor .
    Go to the Details tab.
    Expand the Process chain node->right click ->Display messages.
    If you are loading through DTP.
    Then it will take u to the DTP monitor.......
    If PC node is not there,then go to the header tab->click on the IP->it will take u to the IP scheduler
    ->there in the Schedule tab->a Where used list icon is there,it will show u all the chains.
    If that is also not there...then that IP is not a part of any chain,may be it is an Adhoc run,
    wait until the load get completed, then repeat the DSO activation.
    If there is any red request,then first check why it failed, try to rectify the error and repeating the load.if it is not required just delete the request
    then repeat the DSO activation
    Hope this helps.......
    Regards,
    BRS

  • Inconsistent Form Behavior on Failed Struts Validation

    So I'm working on a strange bug regarding an Edit User form for an application, where some fields revert to their default and some fields do not.
    We have a form for editing users in our system, with most of the usual information inputted in text boxes (login, first name, last name, password, password confirmation). We also have three possible levels of 'admin' - none, admin, and superadmin. These are chosen via radio buttons. There are also a couple of checkboxes (like 'user is active'). Overall, it's a fairly simple form.
    When the form is submitted, we do struts validation. We've set up the validation via comment annotation in our Java code, like so:
         * @struts.validator type="minlength"
         *                   arg1value="${var:minlength}"
         * @struts.validator-var name="minlength" value="8"
         * @struts.validator type="maxlength"
         *                   arg2value="${var:maxlength}"
         * @struts.validator-var name="maxlength" value="50"
        public void setPassword1(String string) {
            password1 = string;
        }All of the fields in our form are set from user properties, so they're initialized by the values in the user object. For example, if we had user John Smith, an admin, with login 'jsmith,' we'd have the first name and last name fields initialized to John and Smith, and the radio buttons for Admin set to 'admin.' For reference, here's the EditUser.jsp code for the radio buttons, based off of the selectedAdminRole property:
    <div class="InputElement">
            <label for="selectedAdminRole"><bean:message key="userForm.adminType"/></label>
              <html:radio styleId="selectedAdminRole" property="selectedAdminRole" value="None"
                          disabled="${userForm.loggedInUser.admin and userForm.userId == userForm.loggedInUser.id}">None</html:radio>
              <html:radio property="selectedAdminRole" value="Admin"
                          disabled="${userForm.loggedInUser.admin and userForm.userId == userForm.loggedInUser.id}">Admin</html:radio>
              <c:if test="${userForm.loggedInUser.superAdmin}">
                  <html:radio property="selectedAdminRole" value="SuperAdmin">Super</html:radio>
              </c:if>
         </div>As you can see above, the struts validator requires passwords to be at least 8 characters long. So if the user tries to change their password to something with less than that, they'll fail validation and they'll end up back on the form with the validation errors in red at the top of the page. However, the form data that they've edited will be preserved. So if John had tried to change his first name to 'Fred,' he'd still see 'Fred' in the First Name text field, even though it wouldn't actually get saved to the user object until he submitted the form with no errors. This works with radio buttons too - if John had tried to set his admin status down to 'none' from 'admin,' the radio button 'none' would still be checked. Basically, it preserves all your progress on the form until you navigate away.
    Unfortunately, it does NOT do this when you create a new user. Creating a new user uses the same form, and since there's no user object to get the fields from, they all get initialized to blank - except for one of the checkboxes ('user is active') and the radio buttons for admin (starts with 'none' checked). Now, if the user fills out the form and hits submit, but fails the struts validation, it preserves all the form data in the text fields, but reverts the checkboxes and the radio buttons to their default state.
    This leads to the following problem: say I'm trying to create a new admin, Jane Smith. I fill out the whole form, check the 'admin' button, and then enter a four-letter password. I submit, and the form fails struts validation and throws me back to the page with an error message informing me that passwords need to be at least 8 characters. I look over the form again - the login field is still 'janesmith,' the first name field is still 'Jane,' the last name field is still 'Smith,' everything looks fine except I screwed up the password. I enter an 8 letter password and resubmit. Jane then logs in and complains that she's not an admin, because I didn't notice that the 'admin' button had reset itself to the default of 'none' when I failed validation.
    My question is, why does it reset the radio buttons and checkboxes - but not the text fields - on failed validation when a new user is being created, but resets nothing at all when an existing user is being edited? I'd like it to reset none of the information when a new user is being created, but I cannot figure out the reason for this inconsistent behavior.
    If anyone can help me figure out how to get this working so that nothing gets reset - or at least explain to me the reason for this inconsistent behavior - I would be very grateful. I will also try to provide any additional information I can if this isn't enough.

    So what you are saying is that radio and checkboxes don't retain their state when validation fails?
    Checkboxes are always troublesome because of their design. If not selected, they don't submit any value - so you have to specifically unset them.
    My first instinct would be to look at the formbean which you are populating from, and see what (if anything) modifies its values.
    - for originally loading the new user page is it an action or JSP? Does it apply any default values to the form?
    - check the "input" page you redirect to when validation fails. Is it an action or a JSP?
    - is the same form being uses on the newUser jsp and whatever action you are submitting it to?
    - is there a form reset() method?
    My theory is that the "input" page you are redirecting to when validation fails is an action, and it sets some values on the form prior to loading.
    But thats just a guess at this point. Its hard to debug this without a working example. Its been a while since I worked with struts, and never with annotations providing the validation.
    Suggestion for debugging: dump the contents of the form bean at strategic points in the process to see that the values are what you think they should be.
    - running the save action
    - just after validation
    - on the jsp page.
    Hope this helps some,
    evnafets

  • Event behaviors in CS3

    Hi all,
    I did import a "SWF" small movie into a new flash
    document.... the idea is to create two buttons, STOP/PAUSE and
    PLAY. But I can't figure this out using the behaviors tool from the
    windows menu..
    In the first layer is the movie "sample.swf" including an
    instance name.
    second layer a stop button to stop the sample.swf at any
    frame..
    In the behaviors windows, when I add an event ' I got an
    "icon _root" and underneath and other icon with the name of the
    movie. The second icon should have the name of the button, but it
    doesn't work??
    Can anyone help please...
    Thanks
    roque

    Do you want a behavior, or a shape style?
    Russ

  • Inconsistent KVM behavior in Leopard?

    Has anyone else had problems with inconsistent behavior when using a KVM under Leopard? (Display mirroring is not enabled)
    Under Tiger, when I switched my laptop to my Cinema display, the entire contents of the display would move - dock, menubar, all applications and windows.
    Since installing Leopard, the behavior is inconsistent. The Dock and the menubar move, as do some applications. However, most applications remain on the laptop screen. Additionally, an application such as Safari, when moved to the Cinema display, still opens new windows on the laptop screen.
    Any thoughts?

    Does the delete button have a light glow around it? If it does, you can tap the space bar and that will be selected.
    If not, look in the System Preferences application, go to the Keyboard and Mouse panel, Keyboard Shortcuts tab, you'll select the Full keyboard access, both options allow this function.
    I use this tapping on the space bar for many different options in various dialog boxes throughout the OS and applications.
    This has worked at least since Tiger, may have been around longer, I don't recall. But I have used it for years and love it.
    Hope that helps.
    Joel.

  • Inconsistent selection behavior when deleting files in Cover Flow

    I love browsing through my pictures folder using Cover Flow. However, I've noticed that deleting a file by pressing Cmd-Delete produces inconsistent selection results. Sometimes Finder will select the next file down the list, and sometimes it will select no file at all. However, the Cover Flow portion of the window will always show the next file.
    It is misleading when Cover Flow shows the next file, but the file selection pane shows no file selected. I often hit the down-arrow (or right-arrow) key, expecting to skip to the next file, but the first file in the folder gets selected, Cover Flow re-winds its view, and I have to re-find my last position.
    There is also no way to select the current file by clicking on the Cover Flow preview currently showing. I have to click some other file and re-browse to the current file in order to sync up the two panes.
    Is this a bug? Does Apple know about it?

    As mentioned, cover flow does not change the basic Finder operation. Return allows editing the name and Cmd-O or Cmd-downarrow opens the item. It also functions similar to the list view, when you open a folder, the subfolders are added to the cover flow; they do not replace the cover flow icons.

  • PLEASE HELP - Inconsistent AQ Behavior!

    HELP!!!! HELP!!!! HELP!!!!
    We are using Java 1.3 and Oracle 8.1.7's aqapi.jar. A frontend application enqueues messages OK. The other "side" of the queue dequeues these messages MOST of the time, but not all the time. If we change it from blocking forever to polling (timing out every 10 seconds and reconnecting), this still happens.
    We are seeing this with RAW payloads (as well as Object payloads).
    Storage space should not be an issue nor should network traffic with regards to the staging environment box we are dealing with.
    Here are the enqueue and dequeue options we are using:
    // Use most default Enqueue options
    AQEnqueueOption enqueueOption = new AQEnqueueOption();
    enqueueOption.setVisibility(AQEnqueueOption.VISIBILITY_IMMEDIATE)
    AQDequeueOption dequeueOption = new AQDequeueOption();
    dequeueOption.setDequeueMode(AQDequeueOption.DEQUEUE_LOCKED);
    dequeueOption.setNavigationMode(AQDequeueOption.NAVIGATION_FIRST_MESSAGE);
    dequeueOption.setWaitTime(AQDequeueOption.WAIT.FOREVER); //(or set with a time)
    dequeueOption.setVisibility(AQDequeueOption.VISIBILITY_ONCOMMIT);
    We are using CorrelationIDs to make sure we are getting the proper response to our request.
    I know JDBC drivers are not certified for JDK 1.3, but...why would it work most of the time? An example would be enqueuing 71 similar messages using the same calls and only 65 being dequeued on the other side. This example happened all within the span of 5 minutes. None of the Java calls we are using are synchronized and the enqueuing message expirations are set high enough(60+ seconds).
    We ARE NOT using JMS. We are NOT using OCI. It queue is setup as a single consumer queue. Pure Java to AQ over JDBC. There is a separate in and out queue table each with one queue (so we have separated the connections when one is committed, the other queue is not affected).
    If you need more information to help with this, please let me know. We've been trying at this for MONTHS!! HELLLPP!!!!
    null

    We are seeing similar behavior and would greatly appreciate any help.
    Our application enqueues messages without any problems, and the registered message listener receives the sent messages just fine, at first... After a while (can be minutes, hours, days), the listener just stops receiving messages. We can still enqueue messages, but the are not dequeued.
    If we stop our application and start it again, we DO receive all of the messages that were previously stuck in the queue. However, unfortunately we are not able to receive any new messages.
    If we shutdown Oracle and restart it, everything works fine again... at least until AQ wedges again.
    Oddly enough, the messages are in the 'READY' state, so you would think that the listener would receive them, but it does not.
    All indicators are that this is an Oracle AQ problem, as the only way to make things work correctly again is to stop and restart Oracle.
    We checked for trace (.trc) files when this problem occurred, but no new ones where generated.
    Any thoughts, suggestions, workarounds, tracing options that we can set, queries we can run to get more debug info, etc would be greatly appreciated.
    Please feel free to email me directly: [email protected] We would prefer to use Oracle AQ, but are on the verge of trying our luck with WebLogic JMS...
    Thank you in advance!

  • Inconsistent insert behavior

    Please help.
    1. The following code snippet does not work properly:
    <td colspan="3">Contact relationship to peer
    educator</td>
    <td> </td>
    </tr>
    <tr>
    <td>
    <?php if (isset($_POST['Contact2Peer']) &&
    is_array($_POST['Contact2Peer'])) {
    echo '$_POST[\'Contact2Peer\'] is an array. It contains: ';
    print_r($_POST['Contact2Peer']);
    elseif (!isset($_POST['Contact2Peer'])) {
    echo '$_POST[\'Contact2Peer\'] does not exist';
    else {
    echo '$_POST[\'Contact2Peer\'] is of the following data
    type:
    '.gettype($_POST['Contact2Peer']);
    } ?>
    <?php foreach($_POST['Contact2Peer'] as $peerrel)
    echo "<p>".$peerrel."</p>";
    $insertSQLTPR = sprintf("INSERT INTO TEENPEERRELATIONSHIP
    (PEEREDU_OWNS_ID,
    TEEN_ID,
    PEEREDU_TALKS_ID,
    CONTACT_DATE,
    Contact2PeerID)
    VALUES (%s,
    %s,
    %s,
    %s,
    %s)",
    GetSQLValueString($_POST['peereduid'], "int"),
    GetSQLValueString($_POST['teenid'], "int"),
    GetSQLValueString($_POST['peereduid'], "int"),
    GetSQLValueString($_POST['ContactDate'], "date"),
    GetSQLValueString($peerrel, "int"));
    mysql_select_db($database_cnPeer_Outreach,
    $cnPeer_Outreach);
    $Result1 = mysql_query($insertSQLTPR, $cnPeer_Outreach) or
    die(mysql_error());
    ?> </td>
    <td colspan="2"> </td>
    <td> </td>
    </tr>
    <tr>
    <td>Encounter referred by:</td>
    <td colspan="2"> </td>
    <td> </td>
    </tr>
    <tr>
    <td>
    <?php if (isset($_POST['ReferredBy']) &&
    is_array($_POST['ReferredBy'])) {
    echo '$_POST[\'ReferredBy\'] is an array. It contains: ';
    print_r($_POST['ReferredBy']);
    elseif (!isset($_POST['ReferredBy'])) {
    echo '$_POST[\'ReferredBy\'] does not exist';
    else {
    echo '$_POST[\'ReferredBy\'] is of the following data type:
    '.gettype($_POST['ReferredBy']);
    } ?>
    <?php foreach($_POST['ReferredBy'] as $refby)
    {echo "<p>".$refby."</p>";
    $insertSQLCRB = sprintf("INSERT INTO CONTACTREFERREDBY
    (PEEREDU_OWNS_ID,
    TEEN_ID,
    PEEREDU_TALKS_ID,
    CONTACT_DATE,
    PERSONTYPE_ID)
    VALUES (%s,
    %s,
    %s,
    %s,
    %s)",
    GetSQLValueString($_POST['peereduid'], "int"),
    GetSQLValueString($_POST['teenid'], "int"),
    GetSQLValueString($_POST['peereduid'], "int"),
    GetSQLValueString($_POST['ContactDate'], "date"),
    GetSQLValueString($refby, "int"));
    mysql_select_db($database_cnPeer_Outreach,
    $cnPeer_Outreach);
    $Result1 = mysql_query($insertSQLCRB, $cnPeer_Outreach) or
    die(mysql_error());
    ?> </td>
    2. It produces the following results:
    (var_dump POST)
    array(28) {
    ["PeerEducator"]=> string(1) "2"
    ["ContactDate"]=> string(10) "2007-04-30"
    ["Contact2Peer"]=> array(1) { [0]=> string(1) "3" }
    ["ReferredBy"]=> array(1) { [0]=> string(1) "2" }
    ["ContactType"]=> string(11) "Small Group"
    ["NumPeople"]=> string(1) "5"
    ["Location"]=> string(4) "home"
    ["ContactLength"]=> string(2) "10"
    ["Topic"]=> array(2) { [0]=> string(1) "A" [1]=>
    string(1) "D" }
    ["Materials"]=> array(2) { [0]=> string(1) "B"
    [1]=> string(1) "R" }
    ["KnowTeenWire"]=> string(1) "1"
    ["UseTeenWire"]=> string(1) "1"
    ["ReferredFor"]=> array(2) { [0]=> string(1) "A"
    [1]=> string(1) "M" }
    ["Escort"]=> string(1) "1"
    ["VisitTeenWire"]=> string(1) "1"
    ["PresentReferral"]=> string(1) "1"
    ["RecTalkTo"]=> array(2) { [0]=> string(1) "1"
    [1]=> string(1) "3" }
    ["TalkAbout"]=> string(13) "you know what"
    ["Action"]=> array(2) { [0]=> string(1) "D" [1]=>
    string(1) "L" }
    ["ContactTalkTo"]=> array(2) { [0]=> string(1) "1"
    [1]=> string(1) "3" }
    ["ContactMedicalVisit"]=> array(2) { [0]=> string(1)
    "C" [1]=> string(1) "O" }
    ["Comments"]=> string(4) "none"
    ["ContactLater"]=> string(1) "0"
    ["ConvenientDay"]=> string(0) ""
    ["ConvenientTime"]=> string(0) ""
    ["Submit"]=> string(6) "Submit"
    ["teenid"]=> string(1) "6"
    ["peereduid"]=> string(1) "2"
    Contact relationship to peer educator
    $_POST['Contact2Peer'] is of the following data type: array
    3
    Encounter referred by:
    $_POST['ReferredBy'] is an array. It contains: Array ( [0]
    => 2 )
    2
    Column 'CONTACT_DATE' cannot be null
    3. The second insert fails even though the first insert
    works. Also of interest but may be superfluous is the fact that the
    two arrays Contact2Peer and ReferredBy trigger different results in
    the debugging code.
    4. Dreamweaver support would not even touch this case.

    Please help.
    1. The following code snippet does not work properly:
    <td colspan="3">Contact relationship to peer
    educator</td>
    <td> </td>
    </tr>
    <tr>
    <td>
    <?php if (isset($_POST['Contact2Peer']) &&
    is_array($_POST['Contact2Peer'])) {
    echo '$_POST[\'Contact2Peer\'] is an array. It contains: ';
    print_r($_POST['Contact2Peer']);
    elseif (!isset($_POST['Contact2Peer'])) {
    echo '$_POST[\'Contact2Peer\'] does not exist';
    else {
    echo '$_POST[\'Contact2Peer\'] is of the following data
    type:
    '.gettype($_POST['Contact2Peer']);
    } ?>
    <?php foreach($_POST['Contact2Peer'] as $peerrel)
    echo "<p>".$peerrel."</p>";
    $insertSQLTPR = sprintf("INSERT INTO TEENPEERRELATIONSHIP
    (PEEREDU_OWNS_ID,
    TEEN_ID,
    PEEREDU_TALKS_ID,
    CONTACT_DATE,
    Contact2PeerID)
    VALUES (%s,
    %s,
    %s,
    %s,
    %s)",
    GetSQLValueString($_POST['peereduid'], "int"),
    GetSQLValueString($_POST['teenid'], "int"),
    GetSQLValueString($_POST['peereduid'], "int"),
    GetSQLValueString($_POST['ContactDate'], "date"),
    GetSQLValueString($peerrel, "int"));
    mysql_select_db($database_cnPeer_Outreach,
    $cnPeer_Outreach);
    $Result1 = mysql_query($insertSQLTPR, $cnPeer_Outreach) or
    die(mysql_error());
    ?> </td>
    <td colspan="2"> </td>
    <td> </td>
    </tr>
    <tr>
    <td>Encounter referred by:</td>
    <td colspan="2"> </td>
    <td> </td>
    </tr>
    <tr>
    <td>
    <?php if (isset($_POST['ReferredBy']) &&
    is_array($_POST['ReferredBy'])) {
    echo '$_POST[\'ReferredBy\'] is an array. It contains: ';
    print_r($_POST['ReferredBy']);
    elseif (!isset($_POST['ReferredBy'])) {
    echo '$_POST[\'ReferredBy\'] does not exist';
    else {
    echo '$_POST[\'ReferredBy\'] is of the following data type:
    '.gettype($_POST['ReferredBy']);
    } ?>
    <?php foreach($_POST['ReferredBy'] as $refby)
    {echo "<p>".$refby."</p>";
    $insertSQLCRB = sprintf("INSERT INTO CONTACTREFERREDBY
    (PEEREDU_OWNS_ID,
    TEEN_ID,
    PEEREDU_TALKS_ID,
    CONTACT_DATE,
    PERSONTYPE_ID)
    VALUES (%s,
    %s,
    %s,
    %s,
    %s)",
    GetSQLValueString($_POST['peereduid'], "int"),
    GetSQLValueString($_POST['teenid'], "int"),
    GetSQLValueString($_POST['peereduid'], "int"),
    GetSQLValueString($_POST['ContactDate'], "date"),
    GetSQLValueString($refby, "int"));
    mysql_select_db($database_cnPeer_Outreach,
    $cnPeer_Outreach);
    $Result1 = mysql_query($insertSQLCRB, $cnPeer_Outreach) or
    die(mysql_error());
    ?> </td>
    2. It produces the following results:
    (var_dump POST)
    array(28) {
    ["PeerEducator"]=> string(1) "2"
    ["ContactDate"]=> string(10) "2007-04-30"
    ["Contact2Peer"]=> array(1) { [0]=> string(1) "3" }
    ["ReferredBy"]=> array(1) { [0]=> string(1) "2" }
    ["ContactType"]=> string(11) "Small Group"
    ["NumPeople"]=> string(1) "5"
    ["Location"]=> string(4) "home"
    ["ContactLength"]=> string(2) "10"
    ["Topic"]=> array(2) { [0]=> string(1) "A" [1]=>
    string(1) "D" }
    ["Materials"]=> array(2) { [0]=> string(1) "B"
    [1]=> string(1) "R" }
    ["KnowTeenWire"]=> string(1) "1"
    ["UseTeenWire"]=> string(1) "1"
    ["ReferredFor"]=> array(2) { [0]=> string(1) "A"
    [1]=> string(1) "M" }
    ["Escort"]=> string(1) "1"
    ["VisitTeenWire"]=> string(1) "1"
    ["PresentReferral"]=> string(1) "1"
    ["RecTalkTo"]=> array(2) { [0]=> string(1) "1"
    [1]=> string(1) "3" }
    ["TalkAbout"]=> string(13) "you know what"
    ["Action"]=> array(2) { [0]=> string(1) "D" [1]=>
    string(1) "L" }
    ["ContactTalkTo"]=> array(2) { [0]=> string(1) "1"
    [1]=> string(1) "3" }
    ["ContactMedicalVisit"]=> array(2) { [0]=> string(1)
    "C" [1]=> string(1) "O" }
    ["Comments"]=> string(4) "none"
    ["ContactLater"]=> string(1) "0"
    ["ConvenientDay"]=> string(0) ""
    ["ConvenientTime"]=> string(0) ""
    ["Submit"]=> string(6) "Submit"
    ["teenid"]=> string(1) "6"
    ["peereduid"]=> string(1) "2"
    Contact relationship to peer educator
    $_POST['Contact2Peer'] is of the following data type: array
    3
    Encounter referred by:
    $_POST['ReferredBy'] is an array. It contains: Array ( [0]
    => 2 )
    2
    Column 'CONTACT_DATE' cannot be null
    3. The second insert fails even though the first insert
    works. Also of interest but may be superfluous is the fact that the
    two arrays Contact2Peer and ReferredBy trigger different results in
    the debugging code.
    4. Dreamweaver support would not even touch this case.

  • Inconsistent Editing behavior

    A Contribute 3 user on our intranet site frequently needs to
    edit linked Word (and sometimes Excel) documents which have
    hyperlinks from a home page. Rather than click on the document and
    have Word itself open in a new window, she likes to be able to have
    the document open within Contribute. Here's how she decribes the
    problem she is having --
    To modify a document I open Contribute, go to the Home page,
    and click the hyperlink for that document. When things work, the
    document opens within Contribute and the “Edit” button
    at the top is visible, allowing me to edit the document within
    Contribute. I make the changes, save and it goes to the Contribute
    page and I select the “Publish” button.
    But....
    Other times, I open Contribute, Choose the document, it will
    not have the “Edit” button, instead it opens it up in a
    new window in Word and adds a version number [1] behind the name. I
    can make the changes in Word. However, it will not allow me
    save/publish it within Contribute.
    I cannot explain why sometimes it works one way and other
    times it's different. I prefer to be able to edit these Word files
    directly within Contribute. (Version 3 is what I'm using). After
    the document is edited, I do not want a new version (with the [1]
    appended. I want to have my old version overwritten and replaced
    with the edited version on the website.
    Thoughts on what's going on here??? - Thanks
    - Rick

    filed bug w/apple

  • Inconsistent Safari behavior after installing Mountain Lion

    Since installing Mountain Lion, when I go to some pages I'll click on a button and it won't be active. Other buttons on the same page will be active. Sometimes there's a Flash Player interface, but not always.

    I ordered something from a website I haven't used before, and it was very slow, but I don't know if it's that website or safari.  Safari is the only browser I use.

  • Inconsistent Dock Behavior

    I unchecked "Automatically Hide and show dock", but certain applications still SOMETIMES go ahead and hide the dock. Any idea what's up with that?
    Also, the dock sometimes adds a text identification which floats beside the icon (I have my dock on the left side of the screen), obscuring what's behind it. This effectively doubles or triples the unusable space on the left side of my screen. Is there any way to keep it from showing this text? Oddly, there's nothing consistent about when it does or doesn't show this text.
    system:
    G5, 10.4.11

    Hi, do you have a screen shot of that?

  • Behaviors inconsistent when trimming - fix?

    Hi There,
    One thing that has been bugging me in Motion is the inconsistency between behaviors when you trim them.
    As an example, if you apply a Throw behavior to an object, then trim it, the object stops where you trim it, then stays there after the play head has passed the out point.
    But if you apply a Grow behavior then trim it, the object expands to it's full scale (doesn't stop where you trim it) and then snaps back to it's start position after the play head passes the out point.
    Is there a global preference to set them all to behavior in the same way - either complete the behavior at the trim point or stop the behavior at the trim point?
    Cheers

    Nope, they work the way they work - if you want to make an animation change - spin, then stop, or grow, then stop, etc. - I recommend using keyframes. The basic motion behaviors are great for ongoing motion - position, rotation, scale, etc. - but for changes I always use keyframes.

  • "event cannot be created...server error", and more

    I have NEVER been able to reliably or consistently have iCloud sync calendar events between my iPhone5, iCloud and MacBook Pro (all running latest software). Occassionally if I enter an event on the phone it'll show up on the iCloud account (and vice versa), but certainly not always, or even most of the time. Events entered on the Mac virtually never sync to anywhere else. [Contacts, no problem.] I tried reinstaling Mntn Lion and for about five minutes several test events from each of the three sources (phone, iCloud and pwrbk) did show up in the other places but then it reverted to the inconsistent, useless behavior as before.
    Now I can't even create events on the web: when I try I get a message: "This event couldn't be created because of a server error; please try again." This happens regardless of browser (Chrome, Safari or Firefox). Tried creating a new iCloud acct but no work.
    Is anyone able to help: would appreciate (love, love, love) a step by step walk through the necessary steps on each device to make thi happen. Without this functionality I have to always carry around the Pwrbk to have my calendar available, missig out on one of the major functionalities offered by these devices.
    Many, many thanks and a golden star to anyone who can help ne through this.
    Thanks, Aloha,
    Ali B.

    I used to have 2 calendars on my Mac before using iCloud (Home and Work) and I backed them up by exporting to .ics files.  I had so much headache with the iCloud syncing that decided to create a new Apple ID and to start everything new. 
    I first imported the Home and Work ICS files into my Mac and then I created a new "Family" calendar for my family's activities.  Only the new Family calendar gets synced by iCloud.  The Home and Work calendar would not get synced.  I tried entering my calendar item from Mac and from my iPhone.  Only the new Family calendar gets synced.  So weird.
    And when I tried entering something from iCloud.com, I get the same "This event couldn't be created because of a server error; please try again." message.
    Any advice would be much appreciated!

  • Floating boxes applet with drag events need click event

    I Have an applet cobbled from the net & modified. Is works but needs one major event added. It draws "Graphics.drawline" boxes with a text "String" inside each box ( the text string represents an URL location). These "boxes" are objects which are "draggable to other locations on canvas & therefore can be independently positioned by user. Each box redraws itself periodically to a slightly different screen location & becomes stationary after a 5 or 6 seconds. The point is, all of this "drag & mobility" behavior must remain intact & is not part of the "problem task".
    Task: Need to have an "event" behavior added in one of two ways ( or a 3rd way if there is another ) whichever is quickest/ easiest. "Clickable mouse events" must be added to each box. ( boxes are built in a loop so adding to one will add to other locations & create as many "buttons" as there are boxes) . At each box's location, clicking one box should be an event which fires & clicking a different box should be a separate event which fires. Separate , so that URL location can be "hotlinked" to each box. That URL is currently displayed in the boxes (visible when running applet).
    1st possible solution: Exchange these "boxes" which appear on canvas into clickable event "Graph panel.buttons" ( for example or some other clickable object) which maintains existing "drag" behavior of boxes. These buttons must each have "clickability" with mouse events to enable placing "getAppletContext. showDocument()" code with these events ( e.g., "hotlinked" to http locations).
    or
    2nd possible solution:. The drawstring boxes are currently dead string text with no event model other than the "drag" feature associated with each box. Must add an additional mouse event behavior to existing boxes so they are "clickable" ( or text inside is clickable) and can then execute "showDocument()" URL when clicked independently.
    Maybe there is a #3. I don't know what that would be. Open to try anything without losing the drag & placement mobility of existing boxes.
    These "boxes" could be images, or event buttons - doesnt matter.
    Not sure if #2 is possible & have not been able to accomplish #1. Must stay within existing AWT framework so IE browsers can run it natively ( which of course IE cannot run Swing graphics unless a Sun plugin loaded ).
    Applet is a single file ( creating 4 classes).
    html file (which invokes it) passes a string param which is broken into above noted URL strings in each box.
    Running this applet, you see a "button" event ( at base of canvas labeled "NewUrl" ) which pops up an url location when clicked ( using "showdocument"). This button is not attached to locations or text of each box object ( which is the "task" to accomplish) . The button does represent the kind of event behavior which each "box" should have when task is achieved. So the box can be exchanged with buttons or the boxes can be imbued with events to hyperlink like a button.
    In spirit of solution #1, here is the bonehead attempt I tried which did not work: copied entire "if" block of logic from the button event (sited in preceding paragraph) into region of code which builds boxes ( "for" loop of "drawstring" method).
    "g.drawString(doit, x - (w-10)/2, (y - (h-4)/2) + fm.getAscent());"
    I copied all the "if" block of logic for button creation into the area immediately after the above line ( for loop which builds the boxes). Hoping that I could create buttons with events, along with all the boxes (which are getting created using "drawstring" above in a "for" loop). These "buttons" must also have positioning info of each box to appear in different locations on the canvas. Positioning data is not in that "if" block of code but it would have been a start to get the multiple buttons created ( even if all drawn in one spot). The "if" code block I've provieded for an example begins with the line:
    " if ("NewUrl".equals(arg)) { "
    and ends with with lines:
    " return true; "
    " } " //< -- end of above if block
    This full "if" block can be seen in the listing below:
    This "if" block creates the "NewUrl" button. Of course, I got a bunch of errors when I tried to copy this block to the above location:
    variable: "arg" "not found in class GraphPanel".
    methods: "getcodebase, showstatus, getappletcontext()"
    "not found in class GraphPanel".
    ----------- The applet code in total follows next
    Here are both the java & htm complete source.
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.*;
    import java.util.*;
    import java.awt.*;
    import java.applet.Applet;
    import java.applet.*;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.event.*;
    class Node {
    double x;
    double y;
    double dx;
    double dy;
    boolean fixed;
    String lbl;
    class Edge {
    int from;
    int to;
    double len;
    } // eEdgeCla
    class GraphPanel extends Panel implements Runnable {
    Box box;
    int nnodes;
    Node nodes[] = new Node[100];
    int nedges;
    Edge edges[] = new Edge[200];
    Thread relaxer;
    boolean showit;
    boolean random;
    GraphPanel(Box box) {
    this.box = box;
    } //ebox
    int findNode(String lbl) {
    for (int i = 0 ; i < nnodes ; i++) {
    if (nodes.lbl.equals(lbl)) {
    return i;
    return addNode(lbl);
    int addNode(String lbl) {
    Node n = new Node();
    n.x = 10 + 380*Math.random();
    n.y = 10 + 380*Math.random();
    n.lbl = lbl;
    nodes[nnodes] = n;
    return nnodes++;
    void addEdge(String from, String to, int len) {
    Edge e = new Edge();
    e.from = findNode(from);
    e.to = findNode(to);
    e.len = len;
    edges[nedges++] = e;
    public void run() {
    int i3=0;
    while (true) {
    relax();
    if (random && (Math.random() < 0.03)) {
    Node n = nodes[(int) (1 * nnodes) ]; // no
    if (!n.fixed) {
    n.x += (100*0.02) - 50;
    n.y += (100*0.02) - 50; //
    try {
    Thread.sleep(4000);
    } catch (InterruptedException e) {
    break;
    i3++;
    } //ew
    } // epublrun()
    synchronized void relax() {
    for (int i = 0 ; i < nedges ; i++) {
    Edge e = edges;
    double vx = nodes[e.to].x - nodes[e.from].x;
    double vy = nodes[e.to].y - nodes[e.from].y;
    double len = Math.sqrt(vx * vx + vy * vy);
    double f = (edges.len - len) / (len * 3) ;
    double dx = f * vx;
    double dy = f * vy;
    nodes[e.to].dx += dx;
    nodes[e.to].dy += dy;
    nodes[e.from].dx += -dx;
    nodes[e.from].dy += -dy;
    } //efo
    for (int i = 0 ; i < nnodes ; i++) {
    Node n1 = nodes;
    double dx = 0;
    double dy = 0;
    for (int j = 0 ; j < nnodes ; j++) {
    if (i == j) {
    continue;
    Node n2 = nodes[j];
    double vx = n1.x - n2.x;
    double vy = n1.y - n2.y;
    double len = vx * vx + vy * vy;
    if (len == 0) {
    dx += 0.02;
    dy += 0.02;
    } else if (len < 100*100) {
    dx += vx / len;
    dy += vy / len;
    } //ef3a
    double dlen = dx * dx + dy * dy;
    if (dlen > 0) {
    dlen = Math.sqrt(dlen) / 2;
    n1.dx += dx / dlen;
    n1.dy += dy / dlen;
    } //ef3
    Dimension d = size();
    // f4
    for (int i = 0 ; i < nnodes ; i++) {
    Node n = nodes;
    if (!n.fixed) {
    n.x += Math.max(-5, Math.min(5, n.dx));
    n.y += Math.max(-5, Math.min(5, n.dy));
    if (n.x < 0) {
    n.x = 0;
    } else if (n.x > d.width) {
    n.x = d.width;
    if (n.y < 0) {
    n.y = 0;
    } else if (n.y > d.height) {
    n.y = d.height;
    n.dx /= 2;
    n.dy /= 2;
    repaint();
    Node pick;
    boolean pickfixed;
    Image offscreen;
    Dimension offscreensize;
    Graphics offgraphics;
    final Color fixedColor = Color.green;
    final Color selectColor = Color.gray;
    final Color edgeColor = Color.black;
    final Color nodeColor = new Color(200, 90, 50);
    final Color showitColor = Color.gray;
    final Color arcColor1 = Color.black;
    final Color arcColor2 = Color.orange;
    final Color arcColor3 = Color.blue;
    public void paintNode( Graphics g, Node n, FontMetrics fm) {
    int x = (int)n.x;
    int y = (int)n.y;
    g.setColor((n == pick) ? selectColor : (n.fixed ? fixedColor : nodeColor));
    int w = fm.stringWidth(n.lbl) + 10;
    int h = fm.getHeight() + 4;
    g.fillRect(x - w/2, y - h / 2, w, h);
    g.setColor(Color.black);
    g.drawRect(x - w/2, y - h / 2, w-1, h-1);
    String doit = n.lbl.replace('x','/');
    g.drawString(doit, x - (w-10)/2, (y - (h-4)/2) + fm.getAscent());
    } // epa
    public synchronized void update(Graphics g) {
    Dimension d = size();
    if ((offscreen == null) || (d.width != offscreensize.width) || (d.height != offscreensize.height)) {
    offscreen = createImage(d.width, d.height);
    offscreensize = d;
    offgraphics = offscreen.getGraphics();
    offgraphics.setFont(getFont());
    offgraphics.setColor(getBackground());
    offgraphics.fillRect(0, 0, d.width, d.height);
    for (int i = 0 ; i < nedges ; i++) {
    Edge e = edges;
    int x1 = (int)nodes[e.from].x;
    int y1 = (int)nodes[e.from].y;
    int x2 = (int)nodes[e.to].x;
    int y2 = (int)nodes[e.to].y;
    int len = (int)Math.abs(Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)) - e.len);
    offgraphics.setColor((len < 10) ? arcColor1 : (len < 20 ? arcColor2 : arcColor3)) ;
    offgraphics.drawLine(x1, y1, x2, y2);
    if (showit) {
    String lbl = String.valueOf(len);
    offgraphics.setColor(showitColor);
    offgraphics.drawString("href= http://localhost:"+lbl, x1 + (x2-x1)/2, y1 + (y2-y1)/2);
    offgraphics.setColor(edgeColor);
    } //ef5
    FontMetrics fm = offgraphics.getFontMetrics();
    for (int i = 0 ; i < nnodes ; i++) {
    paintNode( offgraphics, nodes, fm); //or
    g.drawImage(offscreen, 0, 0, null);
    public synchronized boolean mouseDown(Event evt, int x, int y) {
    double bestdist = Double.MAX_VALUE;
    for (int i = 0 ; i < nnodes ; i++) {
    Node n = nodes;
    double dist = (n.x - x) * (n.x - x) + (n.y - y) * (n.y - y);
    if (dist < bestdist) {
    pick = n;
    bestdist = dist;
    pickfixed = pick.fixed;
    pick.fixed = true;
    pick.x = x;
    pick.y = y;
    repaint();
    return true;
    public synchronized boolean mouseDrag(Event evt, int x, int y) {
    pick.x = x;
    pick.y = y;
    repaint();
    return true;
    } //e-pubsyncmousedrag
    public synchronized boolean mouseUp(Event evt, int x, int y) {
    pick.x = x;
    pick.y = y;
    pick.fixed = pickfixed;
    pick = null;
    repaint();
    return true;
    public void start() {
    relaxer = new Thread(this);
    relaxer.start();
    public void stop() {
    relaxer.stop();
    public class Box extends Applet {
    GraphPanel panel;
    public void init() {
    setLayout(new BorderLayout());
    panel = new GraphPanel(this);
    add("Center", panel);
    Panel p = new Panel();
    add("South", p);
    p.add(new Button("Reposition"));
    p.add(new Button("NewUrl"));
    p.add(new Checkbox("Showit"));
    String edges = getParameter("edges"); // putinli
    for (StringTokenizer t = new StringTokenizer(edges, ",") ; t.hasMoreTokens() ; ) {
    String str = t.nextToken();
    int i = str.indexOf('-');
    if (i > 0) { int len = 50;
    int j = str.indexOf('/');
    if (j > 0) {
    len = Integer.valueOf(str.substring(j+1)).intValue();
    str = str.substring(0, j);
    panel.addEdge(str.substring(0,i), str.substring(i+1), len);
    } //ef8
    Dimension d = size();
    String center = getParameter("center");
    if (center != null){
    Node n = panel.nodes[panel.findNode(center)];
    n.x = d.width / 2;
    n.y = d.height / 2;
    n.fixed = true;
    } // eif
    } // ep
    public void start() {
    panel.start();
    public void stop() {
    panel.stop();
    public boolean action(Event evt, Object arg) {
    if (arg instanceof Boolean) {
    if (((Checkbox)evt.target).getLabel().equals("Showit")) {
    panel.showit = ((Boolean)arg).booleanValue();
    }// e-
    else {
    panel.random = ((Boolean)arg).booleanValue();
    return true;
    } // e-if instof bool
    if ("Reposition".equals(arg)) {
    Dimension d = size();
    for (int i = 0 ; i < panel.nnodes ; i++) {
    Node n = panel.nodes;
    if (!n.fixed) {
    n.x = 10 + (d.width-20)*Math.random();
    n.y = 10 + (d.height-20)*Math.random();
    } //ei
    } //ef9
    return true;
    } //eif scram
    if ("NewUrl".equals(arg)) {
    Dimension d = size();
    URL url = getCodeBase();
    try {
    getAppletContext().showDocument( new URL(url+"main.htm"), "_blank" );
    try {
    Thread.sleep(1000);
    } catch (InterruptedException e) { }
    } catch(MalformedURLException e) {
    showStatus("814 URL not found");
    for (int i = 0 ; i < panel.nnodes ; i++) {
    Node n = panel.nodes;
    if (!n.fixed) {
    n.x += (80*0.02) - 40;
    n.y += (80*0.02) - 40;
    return true;
    } //ei
    return false;
    -----------------------htm file to launch------------------------------
    <html>
    <head>
    <title>R
    </title>
    </head>
    <body>
    <h3>
    <center>
    R
    </center>
    </h3>
    I
    <b>
    </b>
    <table border = 1>
    <td>De<td>Test List<tr>
    <td>N <td><tr>
    <td>N <td><tr>
    </table>
    <b>view </b>
    <applet code="Box.class" CODEBASE=. width=1000 height=600
    ALT="Test ">
    <param name=edges value="http:xxabc.htm-http:xxnet.htm,http:xxthis.htm-http:xx.comet.htm,http:xxnewsighting.htm-http:xxstar.htm,http:xxmoon.htm-http:xxNeptune.htm">
    <hr>
    </applet>
    </b>
    <p>
    <table border = 1>
    <tr>
    <tr>
    </table>
    </html>
    </body>
    instructions to compile :
    0 : The discussion becomes easy to follow after 1st compiling
    & viewing the applet.
    1. : cut out applet code.
    2. : the post somehow deleted all references to "" <--- HERE
    see, the data has been deleted again as I preview this post.
    ( that "" should contain an "i" array increment argument:
    "open square bracket" "i" "close square bracket" ) array
    so "javac Box.java" will get 10 errors. These "[" "i" "]"
    array args must be replaced to compile the code.
    3. : All array variables inside the 10 "for" loops ( the bare words
    "edges" and "nodes" ) without array increment "i" should
    read "edges" "[" "i" "]" & "nodes" "[" "i" "]".
    The 10 location lines are approx:
    line #65, #129, #136, #149, #195, #283, #311, #331, #477, #522
    4. : These 10 edits reqresent a missing "i" to all 10 for loop arrays.
    for eddges & nodes. fix this & javac Box.java" will get
    4 class files.
    5. : cut "Box.htm" from post & do "appletviewer Box.htm"
    or put in an apache "htdoc" or tomcat "servlet" http delivered
    directory & call "http://localhost/Box.htm.
    6. : of course, selecting the event button "NewUrl" will not
    work in appletviewer but will work in an http web location.
    7. : post your questions to problem or fixes to problem as I'm
    monitoring closely. TIA.

    Thanks for code post tip to fix array deletion problem.
    Here is code reposted using delimiters with will
    compile straight out of cut/paste.import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.*;
    import java.util.*;
    import java.awt.*;
    import java.applet.Applet;
    import java.applet.*;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.event.*;
    class Node {
    double x;
    double y;
    double dx;
    double dy;
    boolean fixed;
    String lbl;
    class Edge {
    int from;
    int to;
    double len;
    } // eEdgeCla
    class GraphPanel extends Panel implements Runnable {
    Box box;
    int nnodes;
    Node nodes[] = new Node[100];
    int nedges;
    Edge edges[] = new Edge[200];
    Thread relaxer;
    boolean showit;
    boolean random;
    GraphPanel(Box box) {
    this.box = box;
    } //ebox
    int findNode(String lbl) {
    for (int i = 0 ; i < nnodes ; i++) {
    //if (nodes.lbl.equals(lbl)) {
    if (nodes.lbl.equals(lbl)) {
    return i;
    return addNode(lbl);
    int addNode(String lbl) {
    Node n = new Node();
    n.x = 10 + 380*Math.random();
    n.y = 10 + 380*Math.random();
    n.lbl = lbl;
    nodes[nnodes] = n;
    return nnodes++;
    void addEdge(String from, String to, int len) {
    Edge e = new Edge();
    e.from = findNode(from);
    e.to = findNode(to);
    e.len = len;
    edges[nedges++] = e;
    public void run() {
    int i3=0;
    while (true) {
    relax();
    if (random && (Math.random() < 0.03)) {
    Node n = nodes[(int) (1 * nnodes) ]; // no
    if (!n.fixed) {
    n.x += (100*0.02) - 50;
    n.y += (100*0.02) - 50; //
    try {
    Thread.sleep(4000);
    } catch (InterruptedException e) {
    break;
    i3++;
    } //ew
    } // epublrun()
    synchronized void relax() {
    for (int i = 0 ; i < nedges ; i++) {
    //Edge e = edges;
    Edge e = edges[i];
    double vx = nodes[e.to].x - nodes[e.from].x;
    double vy = nodes[e.to].y - nodes[e.from].y;
    double len = Math.sqrt(vx * vx + vy * vy);
    //double f = (edges.len - len) / (len * 3) ;
    double f = (edges[i].len - len) / (len * 3) ;
    double dx = f * vx;
    double dy = f * vy;
    nodes[e.to].dx += dx;
    nodes[e.to].dy += dy;
    nodes[e.from].dx += -dx;
    nodes[e.from].dy += -dy;
    } //efo
    for (int i = 0 ; i < nnodes ; i++) {
    //Node n1 = nodes[i];
    Node n1 = nodes[i];
    double dx = 0;
    double dy = 0;
    for (int j = 0 ; j < nnodes ; j++) {
    if (i == j) {
    continue;
    Node n2 = nodes[j];
    double vx = n1.x - n2.x;
    double vy = n1.y - n2.y;
    double len = vx * vx + vy * vy;
    if (len == 0) {
    dx += 0.02;
    dy += 0.02;
    } else if (len < 100*100) {
    dx += vx / len;
    dy += vy / len;
    } //ef3a
    double dlen = dx * dx + dy * dy;
    if (dlen > 0) {
    dlen = Math.sqrt(dlen) / 2;
    n1.dx += dx / dlen;
    n1.dy += dy / dlen;
    } //ef3
    Dimension d = size();
    // f4
    for (int i = 0 ; i < nnodes ; i++) {
    //Node n = nodes;
    Node n = nodes[i];
    if (!n.fixed) {
    n.x += Math.max(-5, Math.min(5, n.dx));
    n.y += Math.max(-5, Math.min(5, n.dy));
    if (n.x < 0) {
    n.x = 0;
    } else if (n.x > d.width) {
    n.x = d.width;
    if (n.y < 0) {
    n.y = 0;
    } else if (n.y > d.height) {
    n.y = d.height;
    n.dx /= 2;
    n.dy /= 2;
    repaint();
    Node pick;
    boolean pickfixed;
    Image offscreen;
    Dimension offscreensize;
    Graphics offgraphics;
    final Color fixedColor = Color.green;
    final Color selectColor = Color.gray;
    final Color edgeColor = Color.black;
    final Color nodeColor = new Color(200, 90, 50);
    final Color showitColor = Color.gray;
    final Color arcColor1 = Color.black;
    final Color arcColor2 = Color.orange;
    final Color arcColor3 = Color.blue;
    public void paintNode( Graphics g, Node n, FontMetrics fm) {
    int x = (int)n.x;
    int y = (int)n.y;
    g.setColor((n == pick) ? selectColor : (n.fixed ? fixedColor : nodeColor));
    int w = fm.stringWidth(n.lbl) + 10;
    int h = fm.getHeight() + 4;
    g.fillRect(x - w/2, y - h / 2, w, h);
    g.setColor(Color.black);
    g.drawRect(x - w/2, y - h / 2, w-1, h-1);
    String doit = n.lbl.replace('x','/');
    g.drawString(doit, x - (w-10)/2, (y - (h-4)/2) + fm.getAscent());
    } // epa
    public synchronized void update(Graphics g) {
    Dimension d = size();
    if ((offscreen == null) || (d.width != offscreensize.width) || (d.height != offscreensize.height)) {
    offscreen = createImage(d.width, d.height);
    offscreensize = d;
    offgraphics = offscreen.getGraphics();
    offgraphics.setFont(getFont());
    offgraphics.setColor(getBackground());
    offgraphics.fillRect(0, 0, d.width, d.height);
    for (int i = 0 ; i < nedges ; i++) {
    //Edge e = edges;
    Edge e = edges[i];
    int x1 = (int)nodes[e.from].x;
    int y1 = (int)nodes[e.from].y;
    int x2 = (int)nodes[e.to].x;
    int y2 = (int)nodes[e.to].y;
    int len = (int)Math.abs(Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)) - e.len);
    offgraphics.setColor((len < 10) ? arcColor1 : (len < 20 ? arcColor2 : arcColor3)) ;
    offgraphics.drawLine(x1, y1, x2, y2);
    if (showit) {
    String lbl = String.valueOf(len);
    offgraphics.setColor(showitColor);
    offgraphics.drawString("href= http://localhost:"+lbl, x1 + (x2-x1)/2, y1 + (y2-y1)/2);
    offgraphics.setColor(edgeColor);
    } //ef5
    FontMetrics fm = offgraphics.getFontMetrics();
    for (int i = 0 ; i < nnodes ; i++) {
    //paintNode( offgraphics, nodes, fm); //or
    paintNode( offgraphics, nodes[i], fm); //or
    g.drawImage(offscreen, 0, 0, null);
    public synchronized boolean mouseDown(Event evt, int x, int y) {
    double bestdist = Double.MAX_VALUE;
    for (int i = 0 ; i < nnodes ; i++) {
    //Node n = nodes;
    Node n = nodes[i];
    double dist = (n.x - x) * (n.x - x) + (n.y - y) * (n.y - y);
    if (dist < bestdist) {
    pick = n;
    bestdist = dist;
    pickfixed = pick.fixed;
    pick.fixed = true;
    pick.x = x;
    pick.y = y;
    repaint();
    return true;
    public synchronized boolean mouseDrag(Event evt, int x, int y) {
    pick.x = x;
    pick.y = y;
    repaint();
    return true;
    } //e-pubsyncmousedrag
    public synchronized boolean mouseUp(Event evt, int x, int y) {
    pick.x = x;
    pick.y = y;
    pick.fixed = pickfixed;
    pick = null;
    repaint();
    return true;
    public void start() {
    relaxer = new Thread(this);
    relaxer.start();
    public void stop() {
    relaxer.stop();
    public class Box extends Applet {
    GraphPanel panel;
    public void init() {
    setLayout(new BorderLayout());
    panel = new GraphPanel(this);
    add("Center", panel);
    Panel p = new Panel();
    add("South", p);
    p.add(new Button("Reposition"));
    p.add(new Button("NewUrl"));
    p.add(new Checkbox("Showit"));
    String edges = getParameter("edges"); // putinli
    for (StringTokenizer t = new StringTokenizer(edges, ",") ; t.hasMoreTokens() ; ) {
    String str = t.nextToken();
    int i = str.indexOf('-');
    if (i > 0) { int len = 50;
    int j = str.indexOf('/');
    if (j > 0) {
    len = Integer.valueOf(str.substring(j+1)).intValue();
    str = str.substring(0, j);
    panel.addEdge(str.substring(0,i), str.substring(i+1), len);
    } //ef8
    Dimension d = size();
    String center = getParameter("center");
    if (center != null){
    Node n = panel.nodes[panel.findNode(center)];
    n.x = d.width / 2;
    n.y = d.height / 2;
    n.fixed = true;
    } // eif
    } // ep
    public void start() {
    panel.start();
    public void stop() {
    panel.stop();
    public boolean action(Event evt, Object arg) {
    if (arg instanceof Boolean) {
    if (((Checkbox)evt.target).getLabel().equals("Showit")) {
    panel.showit = ((Boolean)arg).booleanValue();
    }// e-
    else {
    panel.random = ((Boolean)arg).booleanValue();
    return true;
    } // e-if instof bool
    if ("Reposition".equals(arg)) {
    Dimension d = size();
    for (int i = 0 ; i < panel.nnodes ; i++) {
    //Node n = panel.nodes;
    Node n = panel.nodes[i];
    if (!n.fixed) {
    n.x = 10 + (d.width-20)*Math.random();
    n.y = 10 + (d.height-20)*Math.random();
    } //ei
    } //ef9
    return true;
    } //eif scram
    if ("NewUrl".equals(arg)) {
    Dimension d = size();
    URL url = getCodeBase();
    try {
    getAppletContext().showDocument( new URL(url+"main.htm"), "_blank" );
    try {
    Thread.sleep(1000);
    } catch (InterruptedException e) { }
    } catch(MalformedURLException e) {
    showStatus("814 URL not found");
    for (int i = 0 ; i < panel.nnodes ; i++) {
    //Node n = panel.nodes;
    Node n = panel.nodes[i];
    if (!n.fixed) {
    n.x += (80*0.02) - 40;
    n.y += (80*0.02) - 40;
    return true;
    } //ei
    return false;

Maybe you are looking for

  • Tables required for Invoice and Accounts

    Hi, I have done PO through (ME21) Tcode then Created Invoice for that PO through MIRO. And run Automatic Payment program through F110. Now I need to Know Account Document number for particular Invoice. i.e in which table it will store the value. Rega

  • How do I change the Version Code in the Flash Android settings for the Android app Market?

    I recently tried to update my app in the Android app market and when I uploaded it I got the following message: "The new apk's versionCode (1000000) already exists." In the Flash Adnroid settings I changed the version label but that did not help. So

  • ALSA or Pulseaudio: which solution saves more energy?

    Yes that's what I'm wondering. Is Pulseaudio using more energy than ALSA used alone? Maybe because it's more sophisticated designed or so? I tried to google the answer but couldn't find out much.. Just some informations that Pulseaudio could be confi

  • WAD Report image display

    Hi All, Im using WAD 7.0 and in process of designing a Sales Dashboard. I need to insert the company logo on top of the Dashboard, The images located in the MIME repository contains standard images which SAP supports, i try adding the relevant image

  • Mar 2009 Oracle Certification E-Magazine now online

    !http://blogs.oracle.com/certification/2009-0224-1330.jpg! <p>The March 2009 edition of the Oracle Certification E-Magazine is now online.</p> <p>Get the latest certification track updates, program news, and details on new Oracle certifications, upgr