[CS2/CS3] - Browsing all inline graphical objects

Hello,     I have a text frame, where are placed inline graphical objects (square, circle, ...) and I want to browse all these objects.<br/><br/>
Sample:
I have valid UIDRef to entire text frame, but when I use this code:
InterfacePtr<IHierarchy> hierarchy(textFrameUIDRef, UseDefaultIID());
int32 childCount = hierarchy->GetChildCount();
value of childCount == 1, when I use recursive call to get child I am given also value "1" and this node has no children.
Thank you for your help !

Thank you for your answers,
   I followed your advices and I browsed code from "CodeSnippet", where is an access to get OwnedItemStrands.
According the attached snapshot from Programming Guide (p. 375), I am able to get kSplineItemBoss, that is fine, but I need to skip from Text fundamentals to Graphical fundamentals. I need to be able to catch ISpread interface of graphical objects?
Thank you, marxin

Similar Messages

  • Question on Graphics Object

    Dear all,
    A Graphics object draw on some surface. It would be appreciated if anyone could explain to me which surface is the Graphics object is drawn on? How to determine? How to change it?
    Many thanks!
    Francis

    Hello,
    A graphics object is a graphic context : Every objects where you can draw something can be associated to a Graphics object.
    For example, an image, an paper of a printer can have a Graphics abject.
    Graphics contains graphical objects like in ps.
    See Graphics objects as links.

  • [CS2][JS] How to scale all inline images to 70%

    To all the script gurus out there. can you help me make a script that scale all inline images to 70%? 'coz we got this client and they supply us with lots of eps files then the instruction would be to reduce the size of all images without touching the original ones. it takes time to process all of them in indesign manually.
    help please.

    Thank you so much guys. I'll try it later. Although I have one more problem. I got this LabelGraphics script from Indesignsecret.com modified for CS2 (originally from CS3), and it works fine for displayed figures but for inline it only labels the figures in first page.
    here's the code:
    //LabelGraphics.jsx
    main();
    //=============================================================\\
    function main(){
    if(app.documents.length != 0){
    if(app.documents.item(0).allGraphics.length != 0){
    myDisplayDialog();
    else{
    alert("Document contains no graphics.");
    else{
    alert("Please open a document and try again.");
    //=============================================================\\
    function myDisplayDialog(){
    var myLabelWidth = 100;
    var myStyleNames = myGetParagraphStyleNames();
    var myDialog = app.dialogs.add({name:"Graphics name"});
    with(myDialog.dialogColumns.add()){
    //Label type
    with(dialogRows.add()){
    with(dialogColumns.add()){
    staticTexts.add({staticLabel:"Label Type", minWidth:myLabelWidth});
    with(dialogColumns.add()){
    var myLabelTypeDropdown = dropdowns.add({stringList:["File name", "File path", "XMP description", "XMP author","Paste from clipboard"], selectedIndex:0});
    with(dialogRows.add()){
    with(dialogColumns.add()){
    staticTexts.add({staticLabel:"Label Offset", minWidth:myLabelWidth});
    with(dialogColumns.add()){
    var myLabelOffsetField = measurementEditboxes.add({editValue:0});
    //Style to apply
    with(dialogRows.add()){
    with(dialogColumns.add()){
    staticTexts.add({staticLabel:"Label Style", minWidth:myLabelWidth});
    with(dialogColumns.add()){
    var myLabelStyleDropdown = dropdowns.add({stringList:myStyleNames, selectedIndex:4});
    //=============================================================\\
    var myResult = myDialog.show();
    if(myResult == true){
    var myLabelType = myLabelTypeDropdown.selectedIndex;
    var myLabelHeight = 24; // A generic label height that will be adjusted later
    myPasteFailure = false;
    var myLabelOffset = myLabelOffsetField.editValue;
    var myLabelStyle = myStyleNames[myLabelStyleDropdown.selectedIndex];
    myDialog.destroy();
    var myOldXUnits = app.documents.item(0).viewPreferences.horizontalMeasurementUnits;
    var myOldYUnits = app.documents.item(0).viewPreferences.verticalMeasurementUnits;
    app.documents.item(0).viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;
    app.documents.item(0).viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
    try{
    myAddLabels(myLabelType, myLabelHeight, myLabelOffset, myLabelStyle);
    catch(e){
    alert("Unable to add lables. " + e);
    try{
    resizeOverset() ;
    catch(e){
    alert("Unable to correct overset text. " + e);
    if (myPasteFailure == true){
    alert("Unable to paste from clipboard.");
    app.documents.item(0).viewPreferences.horizontalMeasurementUnits = myOldXUnits;
    app.documents.item(0).viewPreferences.verticalMeasurementUnits = myOldYUnits;
    else{
    myDialog.destroy();
    //=============================================================\\
    function myAddLabels(myLabelType, myLabelHeight, myLabelOffset, myLabelStyleName){
    var myDocument = app.documents.item(0);
    myStoriesArray = new Array();
    if (app.selection.length == 0) // If nothing is selected apply caption to all graphics in the document
    var myConfirmation = confirm("Add captions to all images in the document?", false, "LabelGraphics.jsx" );
    if (myConfirmation == true)
    var myGraphics = myDocument.allGraphics;
    else
    { // If graphics are selected, just add captions to the selected items, as long as they are rectangles(image frames)
    var myConfirmation = true;
    var mySelections = app.selection;
    myGraphics = new Array();
    for(i = 0; i < mySelections.length; i++){
    if(mySelections[i] == "[object Rectangle]"){ //Check to make sure selection only includes rectangles
    myGraphics.push(mySelections[i].allGraphics[0]);
    else{
    //alert("Objects other than graphics were selected!");
    //Nothing happens if you don't select at least one graphic
    myLabelStyle = myDocument.paragraphStyles.item(myLabelStyleName);
    if (myConfirmation == true){
    for(var myCounter = 0; myCounter < myGraphics.length; myCounter++){
    try{
    myAddLabel(myDocument, myGraphics[myCounter], myLabelType, myLabelHeight, myLabelOffset, myLabelStyle, myStoriesArray);
    catch(e){};
    //=============================================================\\
    function myAddLabel(myDocument, myGraphic, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle, myStoriesArray){
    var myLabel;
    var myLink = myGraphic.itemLink;
    var myPasteFromClipboard = false;
    //Create the label layer if it does not already exist.
    var myLabelLayer = myDocument.layers.item("Grapiks");
    try{
    myLabelLayer.name;
    catch (myError){
    myLabelLayer = myDocument.layers.add({name:"Grapiks"});
    //Label type defines the text that goes in the label.
    switch(myLabelType){
    //File name
    case 0:
    myLabel = myLink.name;
    break;
    //File path
    case 1:
    myLabel = myLink.filePath;
    break;
    //XMP description
    case 2:
    try{
    myLabel = myLink.linkXmp.description;
    catch(myError){
    myLabel = "No description available.";
    break;
    //XMP author
    case 3:
    try{
    myLabel = myLink.linkXmp.author
    catch(myError){
    myLabel = "No author available.";
    break;
    //Paste from the clipboard
    case 4:
    try{
    myPasteFromClipboard = true;
    catch(myError){
    myLabel = "No clipboard data available.";
    break;
    var myFrame = myGraphic.parent;
    myX1 = myFrame.geometricBounds[1];
    myY1 = myFrame.geometricBounds[2] + myLabelOffset;
    myX2 = myFrame.geometricBounds[3];
    myY2 = myY1 + myLabelHeight;
    if (myPasteFromClipboard ==true)
    try{
    var myTextFrame = myFrame.parent.textFrames.add(myLabelLayer, undefined, undefined,{geometricBounds:[myY1, myX1, myY2, myX2]});
    myTextFrame.insertionPoints.item(0).select();
    app.paste();
    catch(e){
    myTextFrame.remove();
    myPasteFailure = true;
    else{
    var myTextFrame = myFrame.parent.textFrames.add(myLabelLayer, undefined, undefined,{geometricBounds:[myY1, myX1, myY2, myX2], contents:myLabel});
    myTextFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.leadingOffset;
    myTextFrame.paragraphs.item(0).appliedParagraphStyle = myLabelStyle;
    myFrameParentStory = myTextFrame.parentStory;
    myStoriesArray.push(myFrameParentStory);
    //=============================================================\\
    function myGetParagraphStyleNames(){
    var myStyleNames = app.documents.item(0).paragraphStyles.everyItem().name;
    return myStyleNames;
    function resizeOverset() {
    for (var j = myStoriesArray.length - 1; j >= 0; j--) {
    myLastFrame = myStoriesArray[j].texts[0].parentTextFrames[myStoriesArray[j].texts[0].parentTextFrames.l ength - 1];
    myNewY2 = myLastFrame.geometricBounds[3]; //get the width of the text frame before doing fit()
    myLastFrame.fit(FitOptions.FRAME_TO_CONTENT);
    myNewY1 = myLastFrame.geometricBounds[1];
    myNewX1 = myLastFrame.geometricBounds[2];
    myNewX2 = myLastFrame.geometricBounds[0];

  • All copies illustrator crash, cs2 cs3 cs4 Leopard 10.5.8 powermac 1.8 dual

    I crashes every time i open it. it suddenly started happening. i could get just past  the opening pane at first allowing me to choose what kind of document to open print rgb etc, the it stopped doing that. i get the opening pane the it crashes, it aslo happens in past copies cs2 cs3 cs4 non of my illustrator copies will open

    It could be an issue with your font caches.  Go get fontnuke and try deleting all your system and application font caches.
    It doesn't sound like a preference issue if it's affecting all the other versions.  Do you have the suite installed?  Is Photoshop working properly?

  • Selecting text under inline graphic

    I need to edit text under an inline graphic. I am not able to select / edit the text.
    I've tried to "send to back" (the graphic), but it still says above the text.
    I'm doing this in order to get round corners around a table.
    If you know how to drill down and select the text, I would be much obliged.
    I'm using CS4 ME version.
    Thanks for any and all assistance.

    There is no layering with an in-line graphic (what InDesign now calls Anchored Object). The object is inserted in the text flow, and since text flows as it is entered, an in-line object will be cover text that is before it in the flow (ie. before the insertion point) and  text after the insertion point will be superimposed on top of it. That doesn't mean that you can directly select that text that appears to be "on top" of the object though. To select that text you will need to position your cursor in text that is not covered by the graphic and use the arrow keys to navigate to the point in the text that you want to edit. (alternately you could just use find/change).
    You should still post a screen shot of what you're doing because there may be more to it than this. For instance, if your in-line graphic is a table that is already in a text frame as opposed to simply inserted into the text, you could be unnecessarily complicating things.

  • Adjust height of Inline graphic against the baseline

    In CS2 I was adjusting the height of inline graphics on the baseline by calling:<br /><br />     InterfacePtr<IGeometry> geom(UIDRef(db, inlineUID), UseDefaultIID());<br />     if (geom->SetPathBoundingBox(newBBox, IGeometry::kResizeItemAndChildren) != kSuccess)<br /><br />This no longer works in CS3.<br /><br />I've also tried using:<br /><br />Utils<Facade::IGeometryFacade>()->SetItemsBounds(uids, Transform::CoordinateSpace::Parent(), Geometry::PathBounds(), rects);<br /><br />but that doesn't work either.<br /><br />Anyone know how to do this?<br /><br />Walter

    Can any one tell how to replace
    CS2 code
    PageItemUtils::SetItemBounds( iiItemGeometry, newBox, kTrue);
    for CS3 version during porting....

  • How to change font/ font color etc in a graphic object using JCombobox?

    Hello
    My program im writing recently is a small tiny application which can change fonts, font sizes, font colors and background color of the graphics object containing some strings. Im planning to use Jcomboboxes for all those 4 ideas in implementing those functions. Somehow it doesnt work! Any help would be grateful.
    So currently what ive done so far is that: Im using two classes to implement the whole program. One class is the main class which contains the GUI with its components (Jcomboboxes etc..) and the other class is a class extending JPanel which does all the drawing. Therefore it contains a graphics object in that class which draws the string. However what i want it to do is using jcombobox which should contain alit of all fonts available/ font sizes/ colors etc. When i scroll through the lists and click the one item i want - the graphics object properties (font sizes/ color etc) should change as a result.
    What ive gt so far is implemented the jcomboboxes in place. Problem is i cant get the font to change once selecting an item form it.
    Another problem is that to set the color of font - i need to use it with a graphics object in the paintcomponent method. In this case i dnt want to create several diff paint.. method with different property settings (font/ size/ color)
    Below is my code; perhaps you'll understand more looking at code.
    public class main...
    Color[] Colors = {Color.BLUE, Color.RED, Color.GREEN};
            ColorList = new JComboBox(Colors);
    ColorList.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent ev) {
                     JComboBox cb = (JComboBox)ev.getSource();
                    Color colorType = (Color)cb.getSelectedItem();
                    drawingBoard.setBackground(colorType);
              });;1) providing the GUI is correctly implemented with components
    2) Combobox stores the colors in an array
    3) ActionListener should do following job: (but cant get it right - that is where my problem is)
    - once selected the item (color/ font size etc... as i would have similar methods for each) i want, it should pass the item into the drawingboard class (JPanel) and then this class should do the job.
    public class DrawingBoard extends JPanel {
           private String message;
           public DrawingBoard() {
                  setBackground(Color.white);
                  Font font = new Font("Serif", Font.PLAIN, fontSize);
                  setFont(font);
                  message = "";
           public void setMessage(String m) {
                message = m;
                repaint();
           public void paintComponent(Graphics g) {
                  super.paintComponent(g);
                  //setBackground(Color.RED);
                  Graphics2D g2 = (Graphics2D) g;
                  g2.setRenderingHint             
                  g2.drawString(message, 50, 50);
           public void settingFont(String font) {
                //not sure how to implement this?                          //Jcombobox should pass an item to this
                                   //it should match against all known fonts in system then set that font to the graphics
          private void settingFontSize(Graphics g, int f) {
                         //same probelm with above..              
          public void setBackgroundColor(Color c) {
               setBackground(c);
               repaint(); // still not sure if this done corretly.
          public void setFontColor(Color c) {
                    //not sure how to do this part aswell.
                   //i know a method " g.setColor(c)" exist but i need to use a graphics object - and to do that i need to pass it in (then it will cause some confusion in the main class (previous code)
           My problems have been highlighted in the comments of code above.
    Any help will be much appreciated thanks!!!

    It is the completely correct code
    I hope that's what you need
    Just put DrawingBoard into JFrame and run
    Good luck!
    public class DrawingBoard extends JPanel implements ActionListener{
         private String message = "message";
         private Font font = new Font("Serif", Font.PLAIN, 10);
         private Color color = Color.RED;
         private Color bg = Color.WHITE;
         private int size = 10;
         public DrawingBoard(){
              JComboBox cbFont = new JComboBox(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames());
              cbFont.setActionCommand("font");
              JComboBox cbSize = new JComboBox(new Integer[]{new Integer(14), new Integer(13)});
              cbSize.setActionCommand("size");
              JComboBox cbColor = new JComboBox(new Color[]{Color.BLUE, Color.RED, Color.GREEN});
              cbColor.setActionCommand("color");
              JComboBox cbBG = new JComboBox(new Color[]{Color.BLUE, Color.RED, Color.GREEN});
              cbBG.setActionCommand("bg");
              add(cbFont);
              cbFont.addActionListener(this);
              add(cbSize);
              cbSize.addActionListener(this);
              add(cbColor);
              cbColor.addActionListener(this);
              add(cbBG);
              cbBG.addActionListener(this);
         public void setMessage(String m){
              message = m;
              repaint();
         protected void paintComponent(Graphics g){
              super.paintComponent(g);
              Graphics2D g2 = (Graphics2D)g;
              g2.setColor(bg);//set background color
              g2.fillRect(0,0, getWidth(), getHeight());          
              g2.setColor(color);//set text color
              FontRenderContext frc = g2.getFontRenderContext();
              TextLayout tl = new TextLayout(message,font,frc);//set font and message
              AffineTransform at = new AffineTransform();
              at.setToTranslation(getWidth()/2-tl.getBounds().getWidth()/2,
                        getWidth()/2 + tl.getBounds().getHeight()/2);//set text at center of panel
              g2.fill(tl.getOutline(at));
         public void actionPerformed(ActionEvent e){
              JComboBox cb = (JComboBox)e.getSource();
              if (e.getActionCommand().equals("font")){
                   font = new Font(cb.getSelectedItem().toString(), Font.PLAIN, size);
              }else if (e.getActionCommand().equals("size")){
                   size = ((Integer)cb.getSelectedItem()).intValue();
              }else if (e.getActionCommand().equals("color")){
                   color = (Color)cb.getSelectedItem();
              }else if (e.getActionCommand().equals("bg")){
                   bg = (Color)cb.getSelectedItem();
              repaint();
    }

  • Manage multiple versions(ID CS,CS2,CS3,CS4) of INDD files Indesign proxy for PC

    Dear scripters,
    I have multiple version of ID installed in my system. I have ID CS,CS2,CS3 and CS4. While I am opening (double click) the ID CS file, automatically the file opening in CS4. For solving this problem I have searched in the forums I found there is a program called INDESIGN PROXY for MAC OSX. It manages the problems well.
    Now I am in the process of developing the application same like that for windows using VB. Here is my observation about Indesign proxy.
    1. While user double clicks the Indesign file the argument is not passing to the Indesign.exe, but the argument passes to the Indesign proxy. Something like this
    "C:\Program Files\Adobe\Adobe InDesign CS4\InDesign.exe" "%1"
    to this
    "C:\Program Files\IDproxy\proxy.exe" "%1"
    2. The proxy exe lists all the version of IDs in a dialog box. If user selects CS2, the proxy exe passes the command argument something like this
    "C:\Program Files\Adobe\Adobe InDesign CS2\InDesign.exe" "%1"
    3. Now the file will open in correct version.
    I am comfort with VB forums and coding but I am struck getting the file path while user double click's the file. I short need to get the file path of "%1" argument.
    I think I am detailed.
    Kindly advice me how can I proceed more?
    Thanks
    regards
    a r u l
    vpublish.net

    I don't think it's a mistake.
    "InDesign CS4 (3.0)"
    means: this is the OM for InDesign 3.0 (i.e., InDesign CS) that is contained in InDesign CS4.
    Wait -- do you mean there might be a difference between "the OM for InDesign 4.0 (i.e., InDesign CS2) that is contained in InDesign CS4" and, say, "OM for InDesign 4.0 (i.e., InDesign CS2) that is contained in InDesign CS5" ?
    Why on earth would anyone need that? I imagine it's not because even with versioning the 'older' scripts may not behave the same -- there must be dozens of mails about versioning not working ... I mean, if Adobe knows what causes older scripts to stop working (because, if I understand you correctly, they retroactively change it in the documentation for older versions), wouldn't it be yet easier to not cause those changes?

  • Best way to draw thousands of graphic objects on the screen

    Hello everybody, I'm wanting to develop a game where at times thousands of graphic objects are displayed on-screen. What better way to do this in terms of performance and speed?
    I have some options below. Do not know if the best way is included in these options.
    1 - Each graphical object is displayed on a MovieClip or Sprite.
    2 - There is a Bitmap that represents the game screen. All graphical objects that are displayed on screen have your images stored in BitmapData. Then the Bitmap that represents the game screen copies for themselves the BitmapData of graphical objects to be screened, using for this bitmapData.copyPixels (...) or BitmapData.draw  (...). The Bitmap that represents the screen is added to the stage via addChild (...).
    3 - The graphical objects that are displayed on screen will have their images drawn directly on stage or in a MovieClip/Sprite added to this stage by addChild (...). These objects are drawn using the methods of the Graphics class, as beginBitmapFill and beginFill.
    Recalling that the best way probably is not one of these 3 above.
    I really need this information to proceed with the creation of my game.
    Please do not be bothered with my English because I'm using Google translator.
    Thank you in advance any help.

    Thanks for the information kglad. =)
    Yes, my game will have many objects similar in appearance.
    Some other objects will use the same image stored, just in time to render these objects is that some effects (such as changing the colors) will be applied in different ways. But the picture for them all is the same.
    Using the second option, ie, BitmapDatas, which of these two methods would be more efficient? copyPixels or draw?
    Thank you in advance any help. =D

  • -Why when I open same PDF in Photoshop in opens as blank page (all the graphic info disappears)??? -And why when I'm trying to measure a page in the "image size" (in order to send to client, for example) the graphic info disappears as well??

    -Why when I open same PDF in Photoshop in opens as blank page (all the graphic info disappears)???
    -And why when I'm trying to measure a page in the "image size" (in order to send to client, for example) the graphic info disappears as well??

    Hi Mac Attack,
    My computer will not disconnect from the internet.  It seems to find a clone router and continues even when I shut down and unplug my my own home iy
    Your main question was 'chopped' in the title. Please reply in the body of a reply box with the full question and anything you have tried. And no, the long report was not helpful .
    If the same website is opening each time you launch a browser (Safari?) hold down the shift key as you launch to prevent previous pages from opening.
    Have a look at your settings in Safari > Preferences. Especially General and Privacy.
    Reset Safari to remove cookies and other stored data.
    System Preferences > General
    Have a look at your settings in System Preferences >  Security & Privacy.
    Call back with more questions.
    Regards,
    Ian

  • CS2/CS3/CS4: Cannot get file path in Unicode of the current document on Windows

    Hi All,
    In my automation plugin I need to have full absolute path of the opened document with any possible non-English letters. Using SDK examples Listener and Getter that come with Photoshop SDK the full absolute path which I obtain is in the default ANSI code page (CP_ACP) and I can convert it to Unicode using MultiByteToWideChar() API. However this works well when I have corresponding to document name language set in the "Control Panel -> Regional and Language Options -> Advanced -> Select a language to match the language version of the non-Unicode programs you want to use." For example if name of the document has Russian letters and chosen language in "Regional and Language Options" is also Russian the described conversion works well. If I change "Regional and Language Options" to English for example, full path returned by Photoshop SDK API (AliasToFullPath in PIUFile.cpp) for the document with Russian letters will contain "????????.psd" symbols.
    So I need to have an ability to get absolute file path in Unicode. Is it possible in Photoshop CS2/CS3/CS4 for Windows? I have searched forum and SDK but could not find info on it.
    Is it possible to have native HANDLE of the opened file to get file info using Windows API?
    Please advice.
    Below given slightly modified code from Photoshop CS3 which I use to get absolute file pat of the opened document.
    Thanks and regards,
    Sergey
    std::string outFilePath;
    int32 theID = 0;
    SPErr error = kSPNoError;
    error = PIUGetInfo(classDocument, keyDocumentID, &theID, NULL);
    if (error == kSPNoError)
    Handle theFileHandle = NULL;
    error = PIUGetInfoByID(theID, classDocument, keyFileReference, &theFileHandle, NULL);
    if (error == kSPNoError)
    int32 length = sPSHandle->GetSize(theFileHandle);
    Boolean oldLock = FALSE;
    Ptr pointer = NULL;
    sPSHandle->SetLock(theFileHandle, true, &pointer, &oldLock);
    if (pointer != NULL)
    outFilePath = (char*)pointer;
    sPSHandle->SetLock(theFileHandle, oldLock, &pointer, &oldLock);

    Hi All,
    Does anybody know, whether it is possible to get Unicode file path of the current document in Photoshop via Photoshop SDK API or without them?
    Thanks,
    Serhiy

  • [JS] (CS2) (CS3) Test for container

    Hello,
    I would like to make sure that whatever I have selected (app.selection) is the container and NOT the content, regardless of what the selection is (Item or Text). I know if you have multiple selections, you can only have objects and that is fine. But what if my selection is a rectangle placed in a textframe within a textframe, how do I reset the selection to be the be the OBJECT which contains all?
    Thank you.

    Work your way up the parental chain and take the last exit before the page.
    You could adapt this function:
    Dave Saunders, "[JS] InDesign CS3: finding page of arbitrary object?" #1, 24 Oct 2007 3:24 pm
    Dave

  • How does one Float a Graphic Object with Text? (Don't want the Graphics Frame stationary)

    I now know just enough InDesign to be dangerous.  So, help me from blowing myself up.
    SITUATION:
    I desire a Callout/Quote Box to emphase a quote--to separate it from the flowing text of the manuscript.  So, I created a curved-edge rectangle (graphic object) to make the "box", then filled it with the quoted text).  All was well in the land of Adobe Novice UNTIL I deleted some text above the newly-created graphic box/quote box.  I need the graphic to flow with (stay embedded in; hold its position in) the text outside the manuscript, not say anchored to page.
    QUESTION:
    Is there a way to have a graphic object which is placed in a manuscript flow with the manuscript text, so that it "holds its position" relative to the text.  For example, if I delete a paragraph of text above the graphic object, I want the graphic object to adjust accordingly.
    ASIDE:
    I am open to any other tricks or methods others use to insert callout or quote-boxes within the flowing text of a manuscript/book.
    Thanks in advance.

    Create your callout. If you will use it often, you can actually grab it and drag it to the desktop for reuse in any Document; it becomes an InDesign Snippet (.inds).
    Copy the callout graphic, insert your text curser into the text frame where you want the callout. You've just Anchored an Object.
    This is where you want to read up on Anchored Objects. You can highlight and baseline shift the callout (often necessay for anchored objects) , change leading, apply text wrap with standoff (you would select it with the selection tool for this), all of which are way beyond what I have ever tried, but managed it in less than 3 minutes. Basically treat it as a selection of type. The challenges will be line breaks, keep with, gosh knows.
    Bob mentioned CS5.5 has more friendly features, which I am not familiar with, and are beyond quick replies.
    Work through the above at your discretion, ask more DIRECT questions as needed, and you will get help. 

  • Adding a doubleclick event on Inline Graphic Image

    Hello all,
    I'm trying to add a doubleClickEvent to an
    InlineGraphicElement, so that a popup window appears, and I can
    enter a new width and height. I'm having trouble adding a listener
    for the doubleClick event to an image that I'm about to add as an
    Inline Graphic Element. 1. Before or after I'm inserting the image
    with insertInlineGraphic(source,width,height), how can I add a
    double click event listener? 2. Once I get a doubleclick mouse
    event working, how again can I access the selected or doubleclicked
    image so I can modify width and height attributes?
    Thanks so much for the help!
    Justin

    Thanks so much for the reply on this. I finally figured out
    what you meant. I managed to capture double clicks in the canvas
    but the canvas won't register events on inline graphic elements
    (they seem to be blocking the canvas), and in addition I can't
    access the eventmirror, so I can't add a listener directly to an
    inline graphic element. So I'm not quite sure what the best way to
    handle this is.
    Justin

  • Putting a JTable on a Graphics-Object

    Hello,
    I want to print out a JTable. To do so I created a Pront-Job object and received with the 'getGraphics()'-method its Graphics object. My problem now is how I can put my JTable on it, because I found no matching method. Can anybody help me ?
    Thanx,
    Findus

    I don't think that there is a graphics object that can draw tables (maybe I am wrong, but I can't remember one).
    To help you out you could take all table entries, put it into a 2 dimensional array and let the print routine set all text by hand.
    Rommie.

Maybe you are looking for