JS-Referring to user selected objects

I am trying to create a script for CS4 where I can manually select some, not all, images and have the script move them to a layer and/or apply a preset ID shadow. My question is. . . How do I write script to refer to the objects I have manually selected in my ID document? I'm new to scripting and just starting to get the hang of it. Any help would be greatly appreciated.

Here's a class for InDesign JS that encapsulates the user selection and allows many manipulations:
The “TSelection” class : http://marcautret.free.fr/geek/indd/selection/TSelection.zip
Documentation (in French, sorry!) : http://marcautret.free.fr/geek/indd/selection/
Class diagram : http://marcautret.free.fr/geek/indd/selection/TSelection-Interface.pdf
@+
Marc

Similar Messages

  • How to bind a user selected value to a view object bind variable?

    Hi
    I have two pages in ADF BC application. In the first page ,i will give a drop down menu to user which displays all the table names in my databse.
    when the user selects a table and goes to the second page..he should be given a menu or a check list of all the columns in the user selected table....
    to display the columns i have used the query
    Select COLUMN_NAME from user_tab_columns where table_name = : table_name in the view object.
    now how to bind the user selected table value in the first page to the table_name bind variable in view object ?
    thanks
    swathi.

    Hi,
    depends on how the select box is implemented. With ADF and ADF Faces, the default value selection is the list index. In a value change listener you could look up the selected value from the underlying iterator. Store this value e.g. in a session attribute and point the NDValue of the ExecuteWithParams operation to #{sessionScope.your_attribute}
    Frank

  • Concurrent user selecting on same object

    Hi, the issue are like this, there is few patient in table. Nurse as user will select the patient and serve them, the question is, IF the 1st user select on patient A, 2nd user must be prompt that 1st user are selecting the patient A
    What im did is declare 1 vector, storing on the ID and user IPaddress (request.getRemoteAddr()), mean that when 1st user select on patient A, vector will store on (patientA ID and 1st user IP), so when 2nd user click on patient A, system will do checking base on the vector. If 1st user click on patient B, vector that storing (patientA ID and 1st user IP) will be release.
    Things run fine for the first few testing, BUT, if the user have close the application or click on another page, the patient A will forever save in the vector. And others ppl will not selecting on it anymore
    How should i solve it?
    1) anyone can let me know is there any command to check user IP address are connecting to system?
    2) is there any command can overtake my issue?
    Thanks for those who give suggestion.

    Yeah, everyone login have its own unique ID, but the problem is when userA select patientA, it will save in a vector ID + patientA
    How if the userA close the browser or go to another page, PatientA will forever stack with userA. Because patientA onli will be release when userA select on the others patient

  • How to update records in a table based on user selection..

    Hi all,
    This time the above doubt is totally based on the logic of coding which I tried a lot but didn't get any solution. so atlast I come to sdn site.
    please help..
    The requirement is like that I have a table with 6 fields (1 primary key and other are nonkeys). If the user inputs some values in the fields on the screen, then a row will be added in the table. Upto this i have done well. but when the user want to change some value  in the existing row of the table my program unable to do so. Because I couldn't get any logic to do that as there are 5 nonkey fields, so if any one field is modified then the respective row should be selected first based on the user selection and then it should be updated.
    At this point I could not get any idea as it may take a lots of if conditions (I guess) to reach to that particular row.
    Please help..
    thanks ,
    sekhar

    Hi Sekhar,
    I am afraid, the whole design of your program is wrong, let me explain
    Let us say you have two rows(5 non key fields) that the user wants to update and the data in these five non key fields are identical and in your program you are getting a number(which is the key) using a number range object. So you will have two entries in the table for the same data.
    And on the update page when the user enters the non key fields, how will the program know(or for that matter any one of us) which record to pick, if you have two identical books and if asked for a book wouldn't you ask which one among these two do you want?
    Possible Solution: Identify a possible key maintaining the integrity of the data, that is a combination of the non key fields which will help you identify a unique row and make these fields as key fields in the table.
    A more costly solution(if you do not want to change the non key field keys to key fields) would be to, adding a check(using select statement) to see if the non key fields combination already exists in the Z table before inserting a record into the table.
    If yes, throw a message to the user and just update the values in the table, else insert the record.
    Another solution would be to, use the non key fields to generate a key(using some logic) and using this instead of the number range object.
    regards,
    Chen

  • DOBJ.UPDATE_FAILED error while attaching adapters to Users Data Object

    PROBLEM DESCRITPION:-
    The following error occured while trying to attach entity adapters to Users Data Object (com.thortech.xl.dataobj.tcUSR) in Post-Update section.
    Error Message: The security level for this data item indicates that it cannot be updated.
    Update failed.
    Update failed.
    Error Keyword: DOBJ.UPDATE_FAILED
    Description: Update failed.
    Action: E
    Severity: C
    Kindly suggest to fix this issue.

    Resolved the DOBJ.UPDATE_FAILED problem - I modified the dvt_data_level to 0 for dvt_post_update_sequence selective entries.
    Able to attach the custom event handlers to Users Data Object - No more DOBJ.INVALID_UPDATE error!

  • Script to apply a random CMYK swatches from a group of swatches to selected objects.

    I would like to write some scripts for randomising the allocation of swatches to adjacent object.
    Example:
    Imagine a map of Europe and all her nation states/territories. I have a User Defined Swatch Library. I can open the AI document it was made from as I understand from this thread that having the swatches as objects on the page makes them easier to be referenced in a script. 
    I want to iterate through the selected objects and randomly assign one of the colours in the swatch document as a fill to each object. It would be great if hidden swatches (they are all small rectangular 'colour chip' filled paths) on page were not included in the reference swatches randomly choosen from.
    Iterating the selected objects I can do, but not sure what references I need to use to create an array of swatches to randomly choose from.
    I see I can make an array of swatches using the general swatch group from Adobe's CreateSwatchGroup scripts:
    JS
    var docRef = app.documents.add(DocumentColorSpace.CMYK)
    // Create a new SwatchGroup
    var swatchGroup = docRef.swatchGroups.add();
    swatchGroup.name = "CreateSwatchGroup";
    // Get list of swatches in general swatch group
    var genSwatchGroup = docRef.swatchGroups[0];
    // Collect 5 random swatches from general swatch group and move to new group
    var i = 0;
    while (i < 5) {
              var swatches = genSwatchGroup.getAllSwatches();
              swatchCount = swatches.length;
              var swatchIndex = Math.round(Math.random() * (swatchCount - 1)); // 0-based index
              // New swatch group does not allow patterns or gradients
              if (swatches[swatchIndex].color.typename != "PatternColor" && swatches[swatchIndex].color.typename != "GradientColor") {
                        swatchGroup.addSwatch(swatches[swatchIndex]);
                        i++;
    // Updates swatch list with swatches moved to new swatch group
    swatches = swatchGroup.getAllSwatches();
    // [… etc etc]
    AS
    tell application "Adobe Illustrator"
    activate
              set docRef to make new document with properties {color space:CMYK}
    -- Create a new SwatchGroup
              set swatchGroupRef to make new swatchgroup in current document with properties {name:"CreateSwatchGroup"}
    -- Get list of swatches in general swatch group
              set genSwatchGroup to swatchgroup 1 of docRef
    -- Collect 5 random swatches from the general swatch group and move to new group
              set i to 0
              repeat until i is 5
                        set swatchesRef to get all swatches genSwatchGroup
                        set swatchCount to count every item in swatchesRef
                        set swatchIndex to random number from 1 to swatchCount
                        set currentSwatch to item swatchIndex of swatchesRef
      -- New swatch group does not allow patterns or gradients
                        if class of color of currentSwatch is not pattern color info and class of color of currentSwatch is not gradient color info then
      add swatch swatchGroupRef swatch currentSwatch
                                  set i to i + 1
                        end if
              end repeat
    -- [… etc etc]
    If someone can help me to create the Swatch Array object of swatches loaded from a seperate document (or unique layer) then I think I can work my way to changing the fill on the existing paths (the nations in my map of Europe example).
    Would be very cool if I could detect neighbooring paths (nieghbooring nations in my map of Europe example) make sure the colour being assigned is not within a certain hue/CMYK range of the random colour and if it is rechoose random colour. I have no idea how to perform the logic of determining neighbooring paths in an Illustartor script. Anybody?!
    I'd prefer Applescript for sake of readiblity and also I'm learning AS ATM. Plus I'm using Script Debugger.app (which is excellent) to work with AS and I can't seem to run JSX scripts from within Extend Script Toolkit 2 (perhaps I need to make my scripts point to Illustrator?)
    But Javascript is okay if someone has this covered already :-)

    I would like to write some scripts for randomising the allocation of swatches to adjacent object.
    Example:
    Imagine a map of Europe and all her nation states/territories. I have a User Defined Swatch Library. I can open the AI document it was made from as I understand from this thread that having the swatches as objects on the page makes them easier to be referenced in a script. 
    I want to iterate through the selected objects and randomly assign one of the colours in the swatch document as a fill to each object. It would be great if hidden swatches (they are all small rectangular 'colour chip' filled paths) on page were not included in the reference swatches randomly choosen from.
    Iterating the selected objects I can do, but not sure what references I need to use to create an array of swatches to randomly choose from.
    I see I can make an array of swatches using the general swatch group from Adobe's CreateSwatchGroup scripts:
    JS
    var docRef = app.documents.add(DocumentColorSpace.CMYK)
    // Create a new SwatchGroup
    var swatchGroup = docRef.swatchGroups.add();
    swatchGroup.name = "CreateSwatchGroup";
    // Get list of swatches in general swatch group
    var genSwatchGroup = docRef.swatchGroups[0];
    // Collect 5 random swatches from general swatch group and move to new group
    var i = 0;
    while (i < 5) {
              var swatches = genSwatchGroup.getAllSwatches();
              swatchCount = swatches.length;
              var swatchIndex = Math.round(Math.random() * (swatchCount - 1)); // 0-based index
              // New swatch group does not allow patterns or gradients
              if (swatches[swatchIndex].color.typename != "PatternColor" && swatches[swatchIndex].color.typename != "GradientColor") {
                        swatchGroup.addSwatch(swatches[swatchIndex]);
                        i++;
    // Updates swatch list with swatches moved to new swatch group
    swatches = swatchGroup.getAllSwatches();
    // [… etc etc]
    AS
    tell application "Adobe Illustrator"
    activate
              set docRef to make new document with properties {color space:CMYK}
    -- Create a new SwatchGroup
              set swatchGroupRef to make new swatchgroup in current document with properties {name:"CreateSwatchGroup"}
    -- Get list of swatches in general swatch group
              set genSwatchGroup to swatchgroup 1 of docRef
    -- Collect 5 random swatches from the general swatch group and move to new group
              set i to 0
              repeat until i is 5
                        set swatchesRef to get all swatches genSwatchGroup
                        set swatchCount to count every item in swatchesRef
                        set swatchIndex to random number from 1 to swatchCount
                        set currentSwatch to item swatchIndex of swatchesRef
      -- New swatch group does not allow patterns or gradients
                        if class of color of currentSwatch is not pattern color info and class of color of currentSwatch is not gradient color info then
      add swatch swatchGroupRef swatch currentSwatch
                                  set i to i + 1
                        end if
              end repeat
    -- [… etc etc]
    If someone can help me to create the Swatch Array object of swatches loaded from a seperate document (or unique layer) then I think I can work my way to changing the fill on the existing paths (the nations in my map of Europe example).
    Would be very cool if I could detect neighbooring paths (nieghbooring nations in my map of Europe example) make sure the colour being assigned is not within a certain hue/CMYK range of the random colour and if it is rechoose random colour. I have no idea how to perform the logic of determining neighbooring paths in an Illustartor script. Anybody?!
    I'd prefer Applescript for sake of readiblity and also I'm learning AS ATM. Plus I'm using Script Debugger.app (which is excellent) to work with AS and I can't seem to run JSX scripts from within Extend Script Toolkit 2 (perhaps I need to make my scripts point to Illustrator?)
    But Javascript is okay if someone has this covered already :-)

  • Message missing from alert box & Can you disable everything until user selects an answer?

    Question 1 - My alert box window is working, and the title and buttons function as they should, but does anyone know why my message is not showing up?
    Question 2 - How do you program the alert box window so that no other buttons on your application work until the user selects one of your alert window buttons? I can do this manually by setting everything to enabled = false, but I know this happens automatically every other time I've used the alert window component, but it's not working for me now.
    Question 3 - How can I prevent multiple alert windows from popping up? My alert comes up when a user clicks a button called 'Delete'. Would be solved if I had the answer to question 2.
    var myMess:String = '';
    var myTitle:String = '';
    function confirmDelete(){
        selectedAlt = list_dg.selectedItem.ALT_CODE;
        myMess = "Are you sure you want to delete this ALT code: "+selectedAlt+"?";
        myTitle = "Confirm Delete ALT Code Function                                                    ";
        var alertBox:Object = Alert.show(myMess,myTitle,Alert.YES|Alert.NO,this,deleteConfirmHandler);
        alertBox.setSize(450, 125);
    // HANDLER FOR CONFIRM DELETE ALT ALERT WINDOW
    deleteConfirmHandler = function(evt_obj:Object):Void {   
        var myAnswer = evt_obj.detail;
        // returns 1 if yes, 2 if no.
        if (myAnswer == 1){
                deleteAlt();
        else {   
            altDetail.moveAssign_btn.enabled       = false;
            altDetail.moveAvail_btn.enabled        = false;
            altDetail.avail_list.selectedIndex     = null;
            altDetail.assigned_list.selectedIndex  = null;

    I think you were on the right track, it did have something to do with the parent fla file. Once I complied it's parent file (and imported the window and alert classes into the parent), my message appeared in the alert box.
    It doesn't make any sense, because the component is not in the parent file, it's in the sub-parent fla file, but I guess you just have to compile all the files in the hierarchy for it to work... It also doesn't make sense why everything else worked before (the title, the yes and no buttons) except for the message.
    Thanks for the suggestion (to look at the depths, etc), however, I'm still unable to understand why the alert is not modal as it should be. If anyone has any suggestions on how to fix the buttons to make them modal, please let me know. Thanks.

  • Querying for a script insert multiple selected objects...

    Is there a script or plugin which insert multiple selected objects in one new text frame with one click?
    And is there a script or plugin which extract the content of anchored text frame out it's frame and replace it with it's frame. and extract selected text and insert it inside a new anchored text frame in it's place? (like convert text to table - convert table to text, but instead table we use text frame)

    Hi,
    Using OMB scripting to set attribute properties in a data mapping sort of defeats the purpose of utilizing a graphical user interface to define and set properties for a data mapping? Surely the GUI data mapping tool was created to get away from writing scripts and scripting would also require that you know the name of the data mapping, table operator and the set of attribute names for which you have to write one line of script to set each property value, i.e. 90 lines to set 90 attribute values.
    Cheers,
    Phil

  • Howto use user defined object in where clausel

    i create a user defined object adm_t
    SQL> desc adm_t
    Name Null? Type
    USER_ID NUMBER(38)
    STATUS NUMBER(38)
    DATUM DATE
    then i create a table test
    create table test
    admin adm_t;
    There is no problem to insert or select the data, but i don't know howto use the object in the where clausel.
    select * from test where test.admin = adm_t(1,1,sysdate); works fine
    but i only want get data for user_id = 1 independend of status, datum like
    select * from test where test.admin = adm_t(1,%,%);
    Need help

    The solution is to use a synonyms for table test
    select * from test a where a.adm.user_id = 1

  • Object to user defined object

    I pushed user defined objects in to the Vector or Stack.
    But they return an java defined Object type when I try to use them.
    Is there way that I can convert this Object into my defined object.
    MyClass a;
    MyClass b;
    Stack table = new Stack();
    table.push(a);
    table.push(b);
    //now when i use pop to get it back it returns an Object type
    Object temp = table.pop();
    //how do I change this object into MyClass so i can have access to MyClass stuff?

    dam..thank you so much I feel stupid..Don't.
    Casting is one of those things that can take a while to get used to.
    In your original post, you asked: how do I change this object into MyClass so i can have access to MyClass stuff?
    It's important that you understand that casting doesn't change the object in any way.
    All it does is cause a reference that's been declared as one type to be treated as a different type. So even though all the compiler knows about what's returned from pop() is that it refers to an Object, you're telling it you know better, and that the object pointed at will in fact be a MyClass, and so you can access MyClass' members.
    If, at runtime, the object you happen to pop off the stack isn't a MyClass, casting won't magically turn it into one. You'll get a ClassCastException.

  • How do I get a  value of a  cell when user selects in a JTable?

    Hi everybody,
    I need some help in order to complete my task. I 've a JTable. When user selects any particular column . I should able to get user selected value. I added a MouseListener to the table. And I 've written the following code - in mousePressed()
    JTable table = (JTable) e.getSource();
    iint col =JTablePartNumbers.getInstance().getSelectedColumn();
    int row = JTablePartNumbers.getInstance().getSelectedRow();
    System.out.println("row col value" +JTableModelPartNumbers.getInstance().getValueAt(row,col));
    I'm getting col and row value but when I'm using TableModel.getValue(row,col) - it is giving me null value.
    And my getValueAt() method is defined as
    public Object getValueAt( int nRow, int nCol )
         System.out.println("the nRow" nRow "And nCol " nCol "And row count" + getRowCount());
         int rowCount = getRowCount();
         System.out.println("the row count" +rowCount);
    if ( ( nRow < 0 ) || ( nRow >= getRowCount() ))
         return null;
              // Taking
              StartNewRevisedGenericSGMLFragmentsModel row = (StartNewRevisedGenericSGMLFragmentsModel) partNumberDetails.elementAt( nRow );
         //     System.out.println("row value" nRow "Col value" +nCol);
              switch ( nCol )
                   case 0:
                   return row.getParNo();                               case 1:
                        return row.getRev(); // gets model data
                   case 2:
                        return row.getDoneDate( );// gets revision data
              Vector rowVec = (Vector) partNumberDetails.get(nRow);
         return (String) rowVec.get(nCol);
    so please help me out resolving this problem.
    Thanks in advance
    purnima

    try calling jtable.getSelectionModel().addListSelectionListener(...)
    by the way, any good design of a generic UI Table must have a feature to do what you're talking about in an easy way. If it didn't, why would anyone use it?

  • [Agentry] Identifying the selected object in multi-tab lists on iPad

    hi all,
    On iPad, we can create a multi-tab lists to group objects based on different criteria as shown below.
    In my implementation, I created a Tile Display which holds a screen set called “Lists” with multiple list screens.
    Once we select an object in one of the lists, we need to either display details of the it or execute some transactions on that object. Then I had difficulty to find a way to identify the selected object. Since this is a screen set inside a tile display. I first tried to see if I can drill down on the tile display.
    As shown above, I cannot go further on the tile display.
    Then I tried to see if I can find the object on the “Lists” screen set. There are four screens each of which has “selected object” option. During the application’s execution, the user may switch between lists/tabs. Is there any method we can figure out which tab/screen the user is currently on?  With that piece of information, I can identify the screen and then the object accordingly.
    My development environment is 6.0.42 and iOS 7.1.
    If this is not correct way to accomplish such function, is there any work around available to present a workable multi-lists tile on iPad?
    Thanks a lot.
    -Yang

    Jason,
    My following question might be a bit off the original topic. Please let me know if you want me to open a new post.
    I actually tried the navigation as well as the list selection. The navigation did happen. However, instead of presenting the Lists screen in the original tile display, a new full screen is created after the navigation which covers the original screen on iPad.
    This leads to a general question regarding the navigation on screen with tile display. For pocket PC, the navigation is straight forward as a new screen is going to be created to cover the original screen. On tablet, if tile display is used, is it possible to navigate to, i.e., activate the focus on, a particular screen inside a tile display?
    Please let me know if I make my question clear.
    Thanks a lot.
    -Yang

  • Restrict user SELECT query time on a particular VIEW

    Hi - I am trying to restrict user SELECT statemnet time on a particular view.There is a user called ABC and he is accessing many objects in database.All SELECT statments are fine execept when he query a particular VIEW.That view SELECT causing performance problem.So I am trying to restrict the SELECT query time on a VIEW.
    Can you please help me to achive this task through some SQL command like ALTER USER etc...
    Thanks for your help.

    user2538196 wrote:
    Hi - I am trying to restrict user SELECT statemnet time on a particular view.There is a user called ABC and he is accessing many objects in database.All SELECT statments are fine execept when he query a particular VIEW.That view SELECT causing performance problem.So I am trying to restrict the SELECT query time on a VIEW.
    Can you please help me to achive this task through some SQL command like ALTER USER etc...
    Thanks for your help.It sounds like you are really trying to solve a performance problem with the view. I agree with Justin that the solution to restrict access to the view dynamically sounds unwieldy.
    Consider tuning the view, or perhaps the query using the view. Post the view and see if anyone can help you tune it.

  • Display Different reports depending on values in a User Selectable Dropdown

    Hello,
    I want to create a report which has a Drop-down and depending on the value selected from the drop-down, i want to display different reports.
    Say, a drop-down has 3 values, v1, v2 and v3. Now, if a user selects v1, he/she should see report r1. If v2 is selected, the user should see report r2. if v3 is selected from the drop-down, then report r3 should be visible. All the 3 reports have different structures (even different no. of columns). Also, v1, v2 and v3 are 3 different values belonging to a same picklist type field.
    Do you think this is possible? If yes, How ?
    Any sort of help will be highly appreciated. Thanks in advance.
    Regards,
    Ramil.

    The only way i could see this working would be to create a picklist on a object and then create your three reports placing them within the same folder and name the report something under 30 charters then place the same name in the picklist value and create a weblink to the report which at selection of the report will run either report.

  • Cannot select objects in Adobe Fireworks

    I suddenly could not select objects in Adobe Fireworks on my MacBook Pro. I was using a Magic Mouse.
    I replace the mouse, but the problem persisted — it wasn't the mouse
    I restarted Fireworks, but the problem persisted — it wasn't Fireworks
    I searched the Adobe community and found this thread
    One user stated that his Spotify was causing the problem. I didn't use spotify but I did just install the Radia app on my machine. It is an app that plays Pandora.
    I closed the Radia music app (thinking it similar to Spotify) and the mouse immediately started working again.
    If you have this problem. Check for other software causing an issue; specifically ones that have a home up in your task bar.

    Radia has replied to my support request.
    "Hi,
    Radia binds your Mac’s media key to enable you control it convenient and fast. Try disabling the binding to see if the problem goes away:
    open Radia window > click on the gear icon > select Preferences… > uncheck Bind Media Key"
    Restart both your design program and Radia and you should be good to go!

Maybe you are looking for

  • Dual Apple Cinema Studio Displays where one uses DVI-to-ADC adapter

    I have an Apple Power Mac G4 MDD dual 1.25 GHz desktop with 2GB RAM running OSX Tiger 10.4. It is supporting two Apple Cinema Studio LCD flat panel 17" displays simultaneously. Currently, it has three internal hard drives and one SuperDrive. I use th

  • How to delete my AdobeCC account ?

    Hello, Does anyone know how to delete an AdobeCC Account ? I don't need mine anymore, as I will not buy any software. Thanks for your help Hastien

  • Toshiba 22BL702 (B) USB Video Issues

    Hello, I recently bought a bought 22BL702 (B) and have been trying to play an .avi movie via the USB, however it says "invalid or unsupported file".I checked the manual online and it says that .avi is supported. Any ideas on how to get it working? Th

  • Problem using sockets locally

    Hey, I'm writing a simple client/server app and I'm trying to test it on my local machine. Every time I try to connect to the server I get a ConnectException. I'm running Ubuntu Intrepid (which I suspect may have something to do with my problem). Thi

  • ICloud mail cannot be login

    After I move my MobileMe account to iCloud, I cannot login my mail account., After I move my MobileMe account to iCloud, I cannot login my mail account. It keeps asking me to create a me.com email address. Why?