10.8-style labels in 10.9?

Has anyone found a way to revert this "tag" nonsense to the old Label format? I just want the colored icons/backgrounds and to get rid of the whole multi-tag thing, mostly.

There is none. I agree it stinks compared to the way they've done it since 2001.
File a complaint. http://www.apple.com/feedback/macosx.html
I did. If enough people do, they'll look at changing it back.

Similar Messages

  • How to make address labels to print

    I'm trying to create labels to use on the back of photos.  I am using Avery 18160 style labels to print on.
    Thank you.

    charlotteontheroad wrote:
    (how to make address labels to print) I'm trying to create labels to use on the back of photos.  I am using Avery 18160 style labels to print on.
    Thank you.
    What are you trying ask exactly? Avery 18160 is listed as inkjet labels so obviously you need an inkjet printer.  Then you use whatever software you want that has label templates.  For example, Microsoft Word or iWorks Pages.  Those aren't the only way to make lables, but are the most common.

  • "Text wrapping" labels (or other elements) in a BorderContainer?

    Hello, I have been using Flex since Flex 2.0 but am new to the recommended Spark layout elements/containers/groups.
    Is there a way to get a Container to force internal elements to "wrap" (like text wrapping, ie. to automatically move down below if there is no space left in the container for them)...
    I know I could probably work a hack in which I measure the width of each element I am adding, keep a running tally to determine if there is width left in the BorderContainer, and move the element down to a new row (maybe I would need a new HGroup to do this?) accordingly, but I was wondering if there is a more straightforward or efficient way.
    In particular, I am adding a sequence of words as button-style labels (ie. labels with rollover and click events for each word), hence I cannot benefit from the auto-wrapping feature of a Text element, though I need my series to be constrained into a specific space similar to the Text display.  Can this be easily done using Container or Group/HGroup?

    Thanks! I found that and it works perfectly...
    Not sure why the forums here are not letting me log in under my correct account or use the "Correct answer" button...

  • Bigger labels?

    Is there a way to make the new tags look like the old style labels? Those dots are just too small. I preferred when the entire file name was colored, or even the old OS9 colored icons. Much easier to spot.

    Hi photjon,
    I finally got my colorful Labels back using this little App from Tran Ky Nam Software (I’m not affiliated). It’s called XtraFinder and I’ve used it in previous iterations of OS X to get tabs in Finder. When Mavericks came along with Finder tabs, I stopped using it, even though it had a great feature for double clicking on a tab and have it display two tabs worth of Finder in the same window. Anyways, the whole Tags instead of Labels thing was infuriating and I revisited XtraFinder and the 3/25/2014 release has Legacy Labels! I now have XtraFinder as a Login Item and once I set my preferences (colorful sidebar icons!) and restarted Finder I had all of my colorful stripes again. It seems to color the filename with the last Tag that it’s given, meaning I still have multiple Tags, too.
    Here’s the link to the download
    http://www.trankynam.com/xtrafinder/
    Good luck everyone, you can now we can all get back to work (grin).
    M

  • How to gain access to a label added to JTextPane

    I have a JTextPane that uses text and JLabels. I need to be able to gain access to both the text and the JLabels' text. I 've looked at both the structure and the veiw structure but haven't been able to solve this. Could someone give me a strategy.
    Thanks

    Camickr,
    The following code represents the three methods that I have used to get the text imbedded within the label inserted in line in a JTextPane. If you run the code the first data that comes out is the Document dump. This shows that in the example there are three paragraphs. In each of the paragraphs is content and components. What I am trying to accomplish is to get the text from the JLabel. Or the name field from the dump. I have no clue how to get these.
    The second approach was to go down the elelment structure and attempt to get the name. It appears that the name I am printing is the attribute name(default). This is not what I want. I am looking for the name that appears in the dump, what ever that is.
    The third approach is to use the view structure. The view structure is not providing what I expect. I would have expected a separate view for the components and the other content. I should site that the view structure code borrows heavily from Kim Topley's Swing Advanced Programming.
    I would really appreciate any help you can provide.
    Regards,
    Sandy
    package javaapplication6;
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.text.*;
    * @author Sandy
    class TestJTextPane extends JFrame
        private Style style;
        private JTextPane DisplayLetterPane;
        private DefaultStyledDocument sDocument;
        private StyleContext sContext;
        private JLabel label;
        public TestJTextPane()
            loadTextPane();
        public void loadTextPane()
            sContext = new StyleContext();
          sDocument = new DefaultStyledDocument(sContext);
          Style defaultStyle = sContext.getStyle(StyleContext.DEFAULT_STYLE);
          DisplayLetterPane = new JTextPane(sDocument);
          try
                  sDocument.insertString(sDocument.getLength(), "The first president of the US was ", defaultStyle);
                  createLabel("George Washington");
                  sDocument.insertString(sDocument.getLength(), " ", style);
                  sDocument.insertString(sDocument.getLength(), ". He was the father of our country.\nThe second president of the US was", defaultStyle);
                  createLabel("John Adams");
                  sDocument.insertString(sDocument.getLength(), " ", style);
                  sDocument.insertString(sDocument.getLength(), ". He came from Mass.\nThe third president of the US was", defaultStyle);
                  createLabel("Thomas Jefferson");
                  sDocument.insertString(sDocument.getLength(), " ", style);
              catch(BadLocationException Ble)
                    System.out.println("Ble");
          System.out.println("********************* AbstactDocument Dump ****************");
          ((AbstractDocument)DisplayLetterPane.getDocument()).dump(System.out);
          System.out.println("********************** Document Structure *****************");
           Element section = DisplayLetterPane.getDocument().getDefaultRootElement();
             for(int p = 0; p < section.getElementCount(); p++)
                 Element para = section.getElement(p);
                 for(int q = 0; q<para.getElementCount(); q++ )
                     System.out.println(para.getElement(q).getName());
                     if(para.getElement(q).getName().equals("content"))
                         try
                            System.out.println( DisplayLetterPane.getDocument().getText(para.getElement(q).getStartOffset(), para.getElement(q).getEndOffset()- para.getElement(q).getStartOffset()));
                         catch(BadLocationException ddd)
                     else
                           System.out.println( "73 " + para.getElement(q).getStartOffset() + " " + para.getElement(q).getEndOffset());
                          Style holdStyle = sDocument.getLogicalStyle(para.getElement(q).getStartOffset());
                          System.out.println(holdStyle.getName());
           System.out.println("******************** View Structure ***************");
           View rootView = DisplayLetterPane.getUI().getRootView(DisplayLetterPane);
          System.out.println( "82 " + rootView.getViewCount()+ " " + DisplayLetterPane.getDocument().getLength());
          displayView(rootView,  DisplayLetterPane.getDocument());
        public static void displayView(View view,
                             Document doc) {
              String name = view.getClass().getName();
                    System.out.println("88 " + name + "viewcount " + view.getViewCount());
    //          for (int i = 0; i < indent; i++) {
    //               out.print("\t");
              int start = view.getStartOffset();
              int end = view.getEndOffset();
              System.out.println(name + "; offsets [" + start + ", " + end + "]");
              int viewCount = view.getViewCount();
              if (viewCount == 0) {
                   int length = end - start;
                   try {
                        String txt = doc.getText(start, length);
    //                                String txt1 = doc.getText(90, 98);
    //                                System.out.println("xxx" + txt1);
                        System.out.println(name + "; offsets [" + start + ", " + end + "]" );
                        System.out.println("104 [" + txt + "]");
                   } catch (BadLocationException e) {
                                System.out.println("amihere");
              } else {
                   for (int i = 0; i < viewCount; i++) {
                                System.out.println("110 " + viewCount);
                        displayView(view.getView(i), doc);
        public void createLabel(String presName)
           label = new JLabel(presName);
           FontMetrics fm =  label.getFontMetrics( label.getFont());
           label.setPreferredSize(new Dimension (fm.stringWidth(presName), 26));
           label.setMaximumSize(new Dimension (fm.stringWidth(presName), 26));
           label.setMinimumSize(new Dimension (fm.stringWidth(presName), 26));
           label.setVerticalAlignment(JLabel.TOP);
           label.setOpaque(true);
           label.setBackground(Color.CYAN);
           style = sDocument.addStyle(label.getText(), null);
           StyleConstants.setComponent(style, label);
    public class Main {
         * @param args the command line arguments
        public static void main(String[] args) {
            // TODO code application logic here
            TestJTextPane TJP = new TestJTextPane();
    }

  • Want to get placed images Dimension and Creation Date in Catalog

    Below is the script which is free with CS4. Is there anybody who can modify this script in a way which provide the creation date and dimension of the images in image catalog.
    //ImageCatalog.jsx
    //An InDesign C4 JavaScript
    @@@BUILDINFO@@@ "ImageCatalog.jsx" 2.0.0 5-December-2007
    //Creates an image catalog from the graphic files in a selected folder.
    //Each file can be labeled with the file name, and the labels are placed on
    //a separate layer and formatted using a paragraph style ("label") you can
    //modify to change the appearance of the labels.
    //For more information on InDesign scripting, go to http://www.adobe.com/products/indesign/scripting/index.html
    //Or visit the InDesign Scripting User to User forum at http://www.adobeforums.com .
    //The myExtensions array contains the extensions of the graphic file types you want
    //to include in the catalog. You can remove extensions from or add extensions to this list.
    //myExtensions is a global. Mac OS users should also look at the file types in the myFileFilter function.
    main();
    function main(){
    var myFilteredFiles;
    //Make certain that user interaction (display of dialogs, etc.) is turned on.
    app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
    myExtensions = [".jpg", ".jpeg", ".eps", ".ps", ".pdf", ".tif", ".tiff", ".gif", ".psd", ".ai"]
    //Display the folder browser.
    var myFolder = Folder.selectDialog("Select the folder containing the images", "");
    //Get the path to the folder containing the files you want to place.
    if(myFolder != null){
       if(File.fs == "Macintosh"){
        myFilteredFiles = myMacOSFileFilter(myFolder);
       else{
        myFilteredFiles = myWinOSFileFilter(myFolder);
       if(myFilteredFiles.length != 0){
         myDisplayDialog(myFilteredFiles, myFolder);
         alert("Done!");
    //Windows version of the file filter.
    function myWinOSFileFilter(myFolder){
    var myFiles = new Array;
    var myFilteredFiles = new Array;
    for(myExtensionCounter = 0; myExtensionCounter < myExtensions.length; myExtensionCounter++){
      myExtension = myExtensions[myExtensionCounter];
            myFiles = myFolder.getFiles("*"+ myExtension);
      if(myFiles.length != 0){
       for(var myFileCounter = 0; myFileCounter < myFiles.length; myFileCounter++){
        myFilteredFiles.push(myFiles[myFileCounter]);
    return myFilteredFiles;
    function myMacOSFileFilter(myFolder){
    var myFilteredFiles = myFolder.getFiles(myFileFilter);
    return myFilteredFiles;
    //Mac OS version of file filter
    //Have to provide a separate version because not all Mac OS users use file extensions
    //and/or file extensions are sometimes hidden by the Finder.
    function myFileFilter(myFile){
    var myFileType = myFile.type;
    switch (myFileType){
      case "JPEG":
      case "EPSF":
      case "PICT":
      case "TIFF":
      case "8BPS":
      case "GIFf":
      case "PDF ":
       return true;
       break;
      default:
      for(var myCounter = 0; myCounter<myExtensions.length; myCounter++){
       var myExtension = myExtensions[myCounter]; 
       if(myFile.name.indexOf(myExtension)>-1){
        return true;
        break;  
    return false;
    function myDisplayDialog(myFiles, myFolder){
    var myLabelWidth = 112;
    var myStyleNames = myGetParagraphStyleNames(app);
    var myLayerNames = ["Layer 1", "Labels"];
    var myDialog = app.dialogs.add({name:"Image Catalog"});
    with(myDialog.dialogColumns.add()){
      with(dialogRows.add()){
       staticTexts.add({staticLabel:"Information:"});
      with(borderPanels.add()){
       with(dialogColumns.add()){
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Source Folder:", minWidth:myLabelWidth});
         staticTexts.add({staticLabel:myFolder.path + "/" + myFolder.name});
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Number of Images:", minWidth:myLabelWidth});
         staticTexts.add({staticLabel:myFiles.length + ""});
      with(dialogRows.add()){
        staticTexts.add({staticLabel:"Options:"});
      with(borderPanels.add()){
       with(dialogColumns.add()){
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Number of Rows:", minWidth:myLabelWidth});
         var myNumberOfRowsField = integerEditboxes.add({editValue:3});
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Number of Columns:", minWidth:myLabelWidth});
         var myNumberOfColumnsField = integerEditboxes.add({editValue:3});
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Horizontal Offset:", minWidth:myLabelWidth});
         var myHorizontalOffsetField = measurementEditboxes.add({editValue:12, editUnits:MeasurementUnits.points});
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Vertical Offset:", minWidth:myLabelWidth});
         var myVerticalOffsetField = measurementEditboxes.add({editValue:24, editUnits:MeasurementUnits.points});
        with (dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Fitting:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myFitProportionalCheckbox = checkboxControls.add({staticLabel:"Proportional", checkedState:true});
          var myFitCenterContentCheckbox = checkboxControls.add({staticLabel:"Center Content", checkedState:true});
          var myFitFrameToContentCheckbox = checkboxControls.add({staticLabel:"Frame to Content", checkedState:true});
        with(dialogRows.add()){
          var myRemoveEmptyFramesCheckbox = checkboxControls.add({staticLabel:"Remove Empty Frames:", checkedState:true});
      with(dialogRows.add()){
        staticTexts.add({staticLabel:""});
      var myLabelsGroup = enablingGroups.add({staticLabel:"Labels", checkedState:true});
      with (myLabelsGroup){
       with(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"], selectedIndex:0});
        //Text frame height
        with(dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Label Height:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myLabelHeightField = measurementEditboxes.add({editValue:24, editUnits:MeasurementUnits.points});
        //Text frame offset
        with(dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Label Offset:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myLabelOffsetField = measurementEditboxes.add({editValue:0, editUnits:MeasurementUnits.points});
        //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:0});
        //Layer
        with(dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Layer:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myLayerDropdown = dropdowns.add({stringList:myLayerNames, selectedIndex:0});
            var myResult = myDialog.show();
            if(myResult == true){
       var myNumberOfRows = myNumberOfRowsField.editValue;
       var myNumberOfColumns = myNumberOfColumnsField.editValue;
       var myRemoveEmptyFrames = myRemoveEmptyFramesCheckbox.checkedState;
       var myFitProportional = myFitProportionalCheckbox.checkedState;
       var myFitCenterContent = myFitCenterContentCheckbox.checkedState;
       var myFitFrameToContent = myFitFrameToContentCheckbox.checkedState;
       var myHorizontalOffset = myHorizontalOffsetField.editValue;
       var myVerticalOffset = myVerticalOffsetField.editValue;
       var myMakeLabels = myLabelsGroup.checkedState;
       var myLabelType = myLabelTypeDropdown.selectedIndex;
       var myLabelHeight = myLabelHeightField.editValue;
       var myLabelOffset = myLabelOffsetField.editValue;
       var myLabelStyle = myStyleNames[myLabelStyleDropdown.selectedIndex];
       var myLayerName = myLayerNames[myLayerDropdown.selectedIndex];
       myDialog.destroy();
       myMakeImageCatalog(myFiles, myNumberOfRows, myNumberOfColumns, myRemoveEmptyFrames, myFitProportional, myFitCenterContent, myFitFrameToContent, myHorizontalOffset, myVerticalOffset, myMakeLabels, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle,  myLayerName);
      else{
       myDialog.destroy();
    function myGetParagraphStyleNames(myDocument){
    var myStyleNames = new Array;
    var myAddLabelStyle = true;
    for(var myCounter = 0; myCounter < myDocument.paragraphStyles.length; myCounter++){
      myStyleNames.push(myDocument.paragraphStyles.item(myCounter).name);
      if (myDocument.paragraphStyles.item(myCounter).name == "Labels"){
       myAddLabelStyle = false;
    if(myAddLabelStyle == true){
      myStyleNames.push("Labels");
    return myStyleNames;
    function myMakeImageCatalog(myFiles, myNumberOfRows, myNumberOfColumns, myRemoveEmptyFrames, myFitProportional, myFitCenterContent, myFitFrameToContent, myHorizontalOffset, myVerticalOffset, myMakeLabels, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle,  myLayerName){
    var myPage, myFile, myCounter, myX1, myY1, myX2, myY2, myRectangle, myLabelStyle, myLabelLayer;
    var myParagraphStyle, myError;
    var myFramesPerPage = myNumberOfRows * myNumberOfColumns; 
    var myDocument = app.documents.add();
    myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;
    myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
    var myDocumentPreferences = myDocument.documentPreferences; 
    var myNumberOfFrames = myFiles.length;
    var myNumberOfPages = Math.round(myNumberOfFrames / myFramesPerPage);
    if ((myNumberOfPages * myFramesPerPage) < myNumberOfFrames){ 
      myNumberOfPages++;
    //If myMakeLabels is true, then add the label style and layer if they do not already exist.
    if(myMakeLabels == true){
      try{
       myLabelLayer = myDocument.layers.item(myLayerName);
       //if the layer does not exist, trying to get the layer name will cause an error.
       myLabelLayer.name;
      catch (myError){
       myLabelLayer = myDocument.layers.add({name:myLayerName});
      //If the paragraph style does not exist, create it.
      try{
       myParagraphStyle = myDocument.paragraphStyles.item(myLabelStyle);
       myParagraphStyle.name;
      catch(myError){
       myDocument.paragraphStyles.add({name:myLabelStyle});
    myDocumentPreferences.pagesPerDocument = myNumberOfPages; 
    myDocumentPreferences.facingPages = false; 
    var myPage = myDocument.pages.item(0); 
    var myMarginPreferences = myPage.marginPreferences;
    var myLeftMargin = myMarginPreferences.left; 
    var myTopMargin = myMarginPreferences.top; 
    var myRightMargin = myMarginPreferences.right; 
    var myBottomMargin = myMarginPreferences.bottom; 
    var myLiveWidth = (myDocumentPreferences.pageWidth - (myLeftMargin + myRightMargin)) + myHorizontalOffset
    var myLiveHeight = myDocumentPreferences.pageHeight - (myTopMargin + myBottomMargin)
    var myColumnWidth = myLiveWidth / myNumberOfColumns
    var myFrameWidth = myColumnWidth - myHorizontalOffset
    var myRowHeight = (myLiveHeight / myNumberOfRows)
    var myFrameHeight = myRowHeight - myVerticalOffset
    var myPages = myDocument.pages;
    // Construct the frames in reverse order. Don't laugh--this will 
    // save us time later (when we place the graphics). 
    for (myCounter = myDocument.pages.length-1; myCounter >= 0; myCounter--){ 
      myPage = myPages.item(myCounter);
      for (var myRowCounter = myNumberOfRows; myRowCounter >= 1; myRowCounter--){ 
       myY1 = myTopMargin + (myRowHeight * (myRowCounter-1));
       myY2 = myY1 + myFrameHeight;
       for (var myColumnCounter = myNumberOfColumns; myColumnCounter >= 1; myColumnCounter--){ 
        myX1 = myLeftMargin + (myColumnWidth * (myColumnCounter-1));
        myX2 = myX1 + myFrameWidth;
        myRectangle = myPage.rectangles.add(myDocument.layers.item(-1), undefined, undefined, {geometricBounds:[myY1, myX1, myY2, myX2], strokeWeight:0, strokeColor:myDocument.swatches.item("None")}); 
    // Because we constructed the frames in reverse order, rectangle 1 
    // is the first rectangle on page 1, so we can simply iterate through 
    // the rectangles, placing a file in each one in turn. myFiles = myFolder.Files; 
    for (myCounter = 0; myCounter < myNumberOfFrames; myCounter++){ 
      myFile = myFiles[myCounter]; 
      myRectangle = myDocument.rectangles.item(myCounter);
      myRectangle.place(File(myFile));
      myRectangle.label = myFile.fsName.toString();
      //Apply fitting options as specified.
      if(myFitProportional){
       myRectangle.fit(FitOptions.proportionally);
      if(myFitCenterContent){
       myRectangle.fit(FitOptions.centerContent);
      if(myFitFrameToContent){
       myRectangle.fit(FitOptions.frameToContent);
      //Add the label, if necessary.
      if(myMakeLabels == true){
       myAddLabel(myRectangle, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle, myLayerName);
    if (myRemoveEmptyFrames == 1){ 
      for (var myCounter = myDocument.rectangles.length-1; myCounter >= 0;myCounter--){ 
       if (myDocument.rectangles.item(myCounter).contentType == ContentType.unassigned){
        myDocument.rectangles.item(myCounter).remove();
       else{
        //As soon as you encounter a rectangle with content, exit the loop.
        break;
    //Function that adds the label.
    function myAddLabel(myFrame, myLabelType, myLabelHeight, myLabelOffset, myLabelStyleName, myLayerName){
    var myDocument = app.documents.item(0);
    var myLabel;
    var myLabelStyle = myDocument.paragraphStyles.item(myLabelStyleName);
    var myLabelLayer = myDocument.layers.item(myLayerName);
    var myLink =myFrame.graphics.item(0).itemLink;
    //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;
        if(myLabel.replace(/^\s*$/gi, "")==""){
         throw myError;
       catch(myError){
        myLabel = "No description available.";
       break;
      //XMP author
      case 3:
       try{
        myLabel = myLink.linkXmp.author
        if(myLabel.replace(/^\s*$/gi, "")==""){
         throw myError;
       catch(myError){
        myLabel = "No author available.";
       break;
    var myX1 = myFrame.geometricBounds[1];
    var myY1 = myFrame.geometricBounds[2] + myLabelOffset;
    var myX2 = myFrame.geometricBounds[3];
    var myY2 = myY1 + myLabelHeight;
    var myTextFrame = myFrame.parent.textFrames.add(myLabelLayer, undefined, undefined,{geometricBounds:[myY1, myX1, myY2, myX2], contents:myLabel});
    myTextFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.leadingOffset;
    myTextFrame.parentStory.texts.item(0).appliedParagraphStyle = myLabelStyle;   

    "Scripting Forum Conduct
    While this forum is a great place to get scripting help, it's also very easy to misuse it. Before using this forum, please read this post!"

  • My  PHP  form no longer works?

    Hi
    http://www.collegestudentvoice.com/form/form.php
    1. Programmer says there is no coding errors.  Nothing has changed.
    2. Host says there must be coding errors.
    3. There may version incompetibilities with Perl script between the form and the host version.
    these are 3 files:
    Sendform:
    <?php
    // Pear library includes
    // You should have the pear lib installed
    include_once('Mail.php');
    include_once('Mail/mime.php');
    //Settings
    $max_allowed_file_size = 10000000; // size in KB
    $allowed_extensions = array("jpg", "jpeg", "gif", "bmp");
    $upload_folder = 'files/'; //<-- this folder must be writeable by the script
    $your_email = '[email protected]';//<<--  update this to your email address
    $errors ='';
    if(isset($_POST['submit']))
        //Get the uploaded file information
        $name_of_uploaded_file =  basename($_FILES['uploaded_file']['name']);
        //get the file extension of the file
        $type_of_uploaded_file = substr($name_of_uploaded_file,
                                strrpos($name_of_uploaded_file, '.') + 1);
        $size_of_uploaded_file = $_FILES["uploaded_file"]["size"]/1024;
        ///------------Do Validations-------------
        if(empty($_POST['name'])||empty($_POST['email']))
            $errors .= "\n Name and Email are required fields. ";   
        if(IsInjected($visitor_email))
            $errors .= "\n Bad email value!";
        if($size_of_uploaded_file > $max_allowed_file_size )
            $errors .= "\n Size of file should be less than $max_allowed_file_size";
        //------ Validate the file extension -----
        $allowed_ext = false;
        for($i=0; $i<sizeof($allowed_extensions); $i++)
            if(strcasecmp($allowed_extensions[$i],$type_of_uploaded_file) == 0)
                $allowed_ext = true;       
        if(!$allowed_ext)
            $errors .= "\n The uploaded file is not supported file type. ".
            " Only the following file types are supported: ".implode(',',$allowed_extensions);
        //send the email
        if(empty($errors))
            //copy the temp. uploaded file to uploads folder
            $path_of_uploaded_file = $upload_folder . $name_of_uploaded_file;
            $tmp_path = $_FILES["uploaded_file"]["tmp_name"];
            if(is_uploaded_file($tmp_path))
                if(!copy($tmp_path,$path_of_uploaded_file))
                    $errors .= '\n error while copying the uploaded file';
            //send the email
            $name = $_POST['name'];
            $visitor_email = $_POST['email'];
            $user_message = $_POST['message'];
            $to = $your_email;
            $subject="New form submission";
            $from = $your_email;
            $text = "A user  $name has sent you this message:\n $user_message";
            $message = new Mail_mime();
            $message->setTXTBody($text);
            $message->addAttachment($path_of_uploaded_file);
            $body = $message->get();
            $extraheaders = array("From"=>$from, "Subject"=>$subject,"Reply-To"=>$visitor_email);
            $headers = $message->headers($extraheaders);
            $mail = Mail::factory("mail");
            $mail->send($to, $headers, $body);
            //redirect to 'thank-you page
            header('Location: thank-you.html');
    ///////////////////////////Functions/////////////////
    // Function to validate against any email injection attempts
    function IsInjected($str)
      $injections = array('(\n+)',
                  '(\r+)',
                  '(\t+)',
                  '(%0A+)',
                  '(%0D+)',
                  '(%08+)',
                  '(%09+)'
      $inject = join('|', $injections);
      $inject = "/$inject/i";
      if(preg_match($inject,$str))
        return true;
      else
        return false;
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <title>File upload form</title>
    <!-- define some style elements-->
    <style>
    label,a, body
        font-family : Arial, Helvetica, sans-serif;
        font-size : 12px;
    </style>   
    <!-- a helper script for vaidating the form-->
    <script language="JavaScript" src="scripts/gen_validatorv31.js" type="text/javascript"></script>   
    </head>
    <body>
    <?php
    if(!empty($errors))
        echo nl2br($errors);
    ?>
    <form method="POST" name="email_form_with_php"
    action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data">
    <p>
    <label for='name'>Name: </label><br>
    <input type="text" name="name" >
    </p>
    <p>
    <label for='email'>Email: </label><br>
    <input type="text" name="email" >
    </p>
    <p>
    <label for='message'>Message:</label> <br>
    <textarea name="message"></textarea>
    </p>
    <p>
    <label for='uploaded_file'>Select A File To Upload:</label> <br>
    <input type="file" name="uploaded_file">
    </p>
    <input type="submit" value="Submit" name='submit'>
    </form>
    <script language="JavaScript">
    // Code for validating the form
    // Visit http://www.javascript-coder.com/html-form/javascript-form-validation.phtml
    // for details
    var frmvalidator  = new Validator("email_form_with_php");
    frmvalidator.addValidation("name","req","Please provide your name");
    frmvalidator.addValidation("email","req","Please provide your email");
    frmvalidator.addValidation("email","email","Please enter a valid email address");
    </script>
    <noscript>
    <small><a href='http://www.html-form-guide.com/email-form/php-email-form-attachment.html'
    >How to attach file to email in PHP</a> article page.</small>
    </noscript>
    </body>
    </html>
    FORM:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>College Student</title>
    <link rel="stylesheet" type="text/css" href="css/view.css" media="all">
    <script type="text/javascript" src="js/view.js"></script>
    <script src="js/forms.js" type="text/javascript"></script>
    </head>
    <body id="main_body" >
        <div id="form_container">
    <form action="formaction.php" method="post" enctype="multipart/form-data" name="contactus" id="contactus"  style="border:none;" onsubmit="return validateForm()">
                        <div class="form_description">
                <h2><img src="CSVlogo.GIF" width="269" height="97" alt="Logo" /></h2>
                <p>Please type in your first and last names along with our school email address (i.e., [email protected]) when submitting your articles or photographs.</p>
    <p>Select the category that best describes the subject of  your article or photograph. (i.e., Business, Politics, Sports, Humor, etc.)</p>
    <p>When writing about a sporting event please include the name of the sport in the ‘Subject’ line of your email along with the date of the event and the names of the teams. (i.e., Basketball 01-15-11 L.A. Lakers vs.Detroit Pistons)</p>
            </div>       
            <div>
                    <?php
    if (isset($_GET['suc'])) {
    echo "<div style='color:#F00; padding:15px; display:block; margin:10px 0 10px 0;'> ";
    echo "Thank you for your submission!";
    echo "</div>";
    } else {
    ?>
    </div>
                <ul >
                        <li id="li_5" >
            <label class="description" for="Business">Business </label>
            <div>
            <select class="element select medium" name="Business">
                <option value="" selected="selected"></option>
    <option value="Classified" >Classified</option>
    <option value="careertips" >Career Tip</option>
            </select>
            </div>
            </li>        <li id="li_6" >
            <label class="description" for="ProfessionalSports">Professional Sports </label>
            <div>
            <select class="element select medium" name="ProfessionalSports">
                <option value="" selected="selected"></option>
    <option value="NBA" >NBA</option>
    <option value="NFL" >NFL</option>
    <option value="MLB" >MLB</option>
    <option value="otherprosports" >Other</option>
            </select>
            </div>
            </li>        <li id="li_7" >
            <label class="description" for="Humor101">Humor 101</label>
            <div>
            <select class="element select medium" name="Humor101">
                <option value="" selected="selected"></option>
    <option value="Cartoons" >Cartoons</option>
    <option value="Jokes" >Jokes</option>
    <option value="Stories" >Stories</option>
    <option value="Photographs" >Photographs</option>
            </select>
            </div>
            </li>        <li id="li_8" >
            <label class="description" for="CollegeSports">College Sports</label>
            <div>
            <select class="element select medium" name="CollegeSports">
                <option value="" selected="selected"></option>
    <option value="basketballcollege" >Basketball</option>
    <option value="baseballcollege" >Baseball</option>
    <option value="Footballcollege" >Football</option>
    <option value="Softball" >Softball</option>
    <option value="othercollege" >Other</option>
            </select>
            </div>
            </li>        <li id="li_9" >
            <label class="description" for="Politics">Politics</label>
            <div>
            <select class="element select medium" name="Politics">
                <option value="" selected="selected"></option>
    <option value="statelocal" >State/Local</option>
    <option value="National" >National</option>
    <option value="World" >World</option>
            </select>
            </div>
            </li>        <li id="li_1" >
            <label class="description" for="element_1">Name </label>
            <span>
                <input id="First" name="First" class="element text" maxlength="255" size="40" value=""/>
                <label>First</label>
            </span>
            <span>
                <input id="Last" name= "Last" class="element text" maxlength="255" size="40" value=""/>
                <label>Last</label>
            </span>
            </li>       
            <li id="li_sub" >
            <label class="description" for="Subject">Subject </label>
            <div>
                <input id="Subject" name="Subject" class="element text medium required" type="text" maxlength="255" value=""/>
            </div>
            </li>   
            <li id="li_2" >
            <label class="description" for="Email">Email </label>
            <div>
                <input id="Email" name="Email" class="element text medium required email" type="text" maxlength="255" value=""/>
            </div>
            </li>        <li id="li_3" >
            <label class="description" for="EmailC">Confirm Email </label>
            <div>
                <input id="EmailC" name="EmailC" class="element text medium" type="text" maxlength="255" value=""/>
            </div>
            </li>        <li id="li_4" >
            <label class="description" for="Suggestions">Suggestions </label>
            <div>
                <textarea id="Suggestions" name="Suggestions" class="element textarea medium"></textarea>
            </div>
            </li>
          <li id="li_5" >
            <label class="description" for="Upload">Upload File </label>
    <input type="file" name="uploaded_file">
            <div>
              </div>
            </li>
            <li id="li_6" >
            <label class="description" for="Upload">Are you human?</label>
            <?php
            require_once('recaptchalib.php');
              $publickey = "6LfwwsISAAAAAA7UTKJcDATLiK-e55gPFW1Opfrq"; // you got this from the signup page
              echo recaptcha_get_html($publickey);
            ?>
            <div>
              </div>
            </li>
                        <li class="buttons">
                    <input type="submit" name="Submit" value="Submit" class="button" />
    </li>
                </ul>
    </form>
    <!--        <div id="footer">
            </div>
    -->    </div>
    </body>
    </html>
    FORMACTION
    <?php
      require_once('recaptchalib.php');
    $privatekey = "6LfwwsISAAAAAAPShkJ6nV3qkgLDHCe2uXj9RTWw";
      $resp = recaptcha_check_answer ($privatekey,
                                    $_SERVER["REMOTE_ADDR"],
                                    $_POST["recaptcha_challenge_field"],
                                    $_POST["recaptcha_response_field"]);
      if (!$resp->is_valid) {
        die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
      else {
    include_once('Mail.php');
    include_once('Mail/mime.php');
    $errors ='';
    $max_allowed_file_size = 10000000; // size in KB
    $allowed_extensions = array("jpg", "jpeg", "gif", "bmp");
    $upload_folder = 'files/';
        $name_of_uploaded_file =  basename($_FILES['uploaded_file']['name']);
        $type_of_uploaded_file = substr($name_of_uploaded_file,
                                strrpos($name_of_uploaded_file, '.') + 1);
        $size_of_uploaded_file = $_FILES["uploaded_file"]["size"]/1024;
        if($size_of_uploaded_file > $max_allowed_file_size )
            $errors .= "\n Size of file should be less than $max_allowed_file_size";
        $allowed_ext = false;
        for($i=0; $i<sizeof($allowed_extensions); $i++)
            if(strcasecmp($allowed_extensions[$i],$type_of_uploaded_file) == 0)
                $allowed_ext = true;       
        if(!$allowed_ext)
            $errors .= "\n The uploaded file is not supported file type. ".
            " Only the following file types are supported: ".implode(',',$allowed_extensions);
        if(empty($errors))
            $path_of_uploaded_file = $upload_folder . $name_of_uploaded_file;
            $tmp_path = $_FILES["uploaded_file"]["tmp_name"];
            if(is_uploaded_file($tmp_path))
                if(!copy($tmp_path,$path_of_uploaded_file))
                    $errors .= '\n error while copying the uploaded file';
            $Business = Trim(stripslashes($_POST['Business']));
            $ProfessionalSports = Trim(stripslashes($_POST['ProfessionalSports']));
            $Humor101 = Trim(stripslashes($_POST['Humor101']));
            $CollegeSports = Trim(stripslashes($_POST['CollegeSports']));
            $Politics = Trim(stripslashes($_POST['Politics']));
            $EmailToBusiness = $Business . "@collegestudentvoice.net";
            $EmailToProfessionalSports = $ProfessionalSports . "@collegestudentvoice.net";
            $EmailToHumor101 =  $Humor101 ."@collegestudentvoice.net";
            $EmailToCollegeSports = $CollegeSports . "@collegestudentvoice.net";
            $EmailToPolitics = $Politics . "@collegestudentvoice.net";
            $EmailTo = "[email protected]";
            $EMailSubject = Trim(stripslashes($_POST['Subject']));
            $First = Trim(stripslashes($_POST['First']));
            $Last = Trim(stripslashes($_POST['Last']));
            $Email = Trim(stripslashes($_POST['Email']));
            $Suggestions = Trim(stripslashes($_POST['Suggestions']));
            $Body = "The following form has been filled";
            $Body .= "\n";
            $Body .= "---------------------------------------------------------------------------------";
            $Body .= "\n";
            $Body .= "\n";
            $Body .= "First Name: ";
            $Body .= $First;
            $Body .= "\n";
            $Body .= "Last Name: ";
            $Body .= $Last;
            $Body .= "\n";
            $Body .= "Email: ";
            $Body .= $Email;
            $Body .= "\n";
            $Body .= "Business: ";
            $Body .= $Business;
            $Body .= "\n";
            $Body .= "Professional Sports: ";
            $Body .= $ProfessionalSports;
            $Body .= "\n";
            $Body .= "Humor 101: ";
            $Body .= $Humor101;
            $Body .= "\n";
            $Body .= "College Sports: ";
            $Body .= $CollegeSports;
            $Body .= "\n";
            $Body .= "Politics: ";
            $Body .= $Politics;
            $Body .= "\n";
            $Body .= "Suggestions: ";
            $Body .= $Suggestions;
            $Body .= "\n";
            $Body .= "\n";
            $Body .= "---------------------------------------------------------------------------------\n";
            $Body .= "Emails sent to: " . strtolower($EmailToBusiness) . " / " .strtolower($EmailToProfessionalSports). " / " .strtolower($EmailToHumor101). " / " .strtolower($EmailToCollegeSports). " / ".strtolower($EmailToPolitics). "";
            $to = "[email protected]";
            $subject= $EMailSubject;
            $from = "[email protected]";
            $text = "\n $Body";
            $message = new Mail_mime();
            $message->setTXTBody($text);
            $message->addAttachment($path_of_uploaded_file);
            $body = $message->get();
            $extraheaders = array("From"=>$from, "Subject"=>$subject,"Reply-To"=>$Email);
            $headers = $message->headers($extraheaders);
            $mail = Mail::factory("mail");
            $mail->send($to, $headers, $body);
            if ($Business != "")
                        $mail->send(strtolower($EmailToBusiness), $headers, $body);
            if ($ProfessionalSports != "")
                        $mail->send(strtolower($EmailToProfessionalSports), $headers, $body);
            if ($Humor101 != "")
                        $mail->send(strtolower($EmailToHumor101), $headers, $body);
            if ($CollegeSports != "")
                        $mail->send(strtolower($EmailToCollegeSports), $headers, $body);
            if ($Politics != "")
                        $mail->send(strtolower($EmailToPolitics), $headers, $body);
            print "<meta http-equiv=\"refresh\" content=\"0;URL=form.php?suc=y\">";
    ?>

    bregent,
    you have explained everything was is happening.
    Mine firewall setttings block the scrip so when I fill the form and submit it, I do not get any errors, but that form information does not go anywhere.
    All firewall setting should be OFF  when a form is submitted?
    dreamweavewr101.1

  • Adding full screen code into Captivate 5's basic Button Widget

    Hi everyone!
    I was able to create a full screen button in Flash that works with Captivate 5 projects, however, I want to be able to active the full screen feature for every button created using the basic 'button' widget that comes with the Captivate program.  I am not a AS3 programmer so I think my issue is that I am confused as  to where to place the full screen code into the existing 'button widget'  code. Below is the code ...
    Thanks in advance!!
    edlearner
    HERE IS THE FULLSCREEN CODE THAT I USE
    button_name.addEventListener(MouseEvent.CLICK, fullScreen_action);
    function fullScreen_action(event:MouseEvent):void {
    stage.displayState=StageDisplayState.FULL_SCREEN;
    stop();
    HERE IS THE BASIC CODE FOR THE BUTTON WIDGET IN CAPTIVATE 5
    //..........................Template for Static Widget(AS3)....................
    //flash construct to use external interface : This is needed to use flash functionality for communication between two swfs
    import flash.external.ExternalInterface;
    import fl.controls.ComboBox;
    var widgetMode:String = '';
    var widgetParam:String = '';
    var varHand:Object = null;
    var movieHandle:Object = null;
    XML.prettyIndent = 0;
    XML.prettyPrinting = false;
    XML.ignoreWhitespace = true;
    var checkUpdatedXML = false;
    var playedByButton = false;
    var pauseFrame = 0;
    var addednoskipframe = false
    var myXML:XML;
    var myData:String = '<element1><textProperties><font face="Trebuchet MS" style="" size="12"/><textDecoration bold="true" underline="false" italic="false"/><color textColor="0x000000" highlightRequired="false" highlightColor="0xffffff"/></textProperties><captions style="BUTTON_1" themeLabel="0" backColor="0xffffcc" eventAssign="" eventParam="" txtXPos="9" txtYPos="4" imgXPos="190" imgYPos="40" a="1" b="0" c="0" d="1" tx="0" ty="0" bgSelected="false" borderColor="0xff9933" borderSelected="false" containerXPos="" containerYPos=""><text visible="true" width="42" height="20" a="1" b="0" c="0" d="1" tx="18" ty="4">Button</text><image visible="false" width="22" height="18" a="1" b="0" c="0" d="1" tx="NaN" ty="NaN"></image></captions></element1>';
    var xmlConfig:String = '<configs><styles label="Ivory" movieclip="BUTTON_1" backColor=""/><styles label="Frosted" movieclip="BUTTON_8" backColor=""/><styles label="Grey Space" movieclip="BUTTON_9" backColor=""/><styles label="Honey Comb" movieclip="BUTTON_10" backColor=""/><styles label="Mountain Blue" movieclip="BUTTON_11" backColor=""/><styles label="Aero" movieclip="BUTTON_12" backColor=""/><styles label="Gradient" movieclip="BUTTON_13" backColor=""/><styles label="Vivid 1" movieclip="BUTTON_14" backColor=""/><styles label="Vivid 2" movieclip="BUTTON_15" backColor=""/><styles label="Aqua" movieclip="BUTTON_16" backColor=""/><styles label="Glitter" movieclip="BUTTON_17" backColor=""/></configs>';
    //var xmlConfig:String = '<configs><styles label="Button 1" movieclip="BUTTON_1" backColor=""/><styles label="Button 2" movieclip="BUTTON_2" backColor=""/><styles label="Button 1" movieclip="BUTTON_1" backColor=""/><styles label="Button 2" movieclip="BUTTON_2" backColor=""/><styles label="Button 3" movieclip="BUTTON_3" backColor=""/><styles label="Button 4" movieclip="BUTTON_4" backColor=""/></configs>';
    var myConfig:XML = new XML(xmlConfig);
    var myWM = "";
    var mc:MovieClip;
    CaptionMc.visible = false;
    textFormatterMc.visible = false;
    //update ();
    var objName;
    function fnHandleButtonEvent (evt:MouseEvent)
        if (varHand != null)
            switch (Number(myXML.captions.@eventAssign))
                case 1 :
                    varHand.rdcmndResume = 1;
                    break;
                case 2 :
                    varHand.rdcmndPrevious = 1;
                    break;
                case 3 :
                    varHand.rdcmndNextSlide = 1;
                    break;
                case 4 :
                    varHand.cpCmndGotoSlide = varHand.cpInfoLastVisitedSlide;
                    varHand.rdcmndResume = 1;
                    break;
                case 5 :
                    if(varHand.rdinfoCurrentSlide != (Number(myXML.captions.@eventParam) - 1)){
                        varHand.cpCmndGotoSlide = Number(myXML.captions.@eventParam) - 1;
                        varHand.rdcmndResume = 1;
                    break;
                case 6 :
                    navigateToURL (new URLRequest(myXML.captions.@eventParam), "_blank");
                    break;
                case 7 :
                    navigateToURL (new URLRequest("mailto:"+myXML.captions.@eventParam), "_blank");
                    break;
            playedByButton = true;
    function update ()
        myXML = new XML(myData);
        if (myWM == "Edit")
            textFormatterMc.setData (myXML.textProperties);//strCaptivateXML:String
            textFormatterMc.init ();
            CaptionMc.setData (myXML.captions, textFormatterMc);
            CaptionMc.setConfig (myConfig.styles);
            CaptionMc.init ();
            CaptionMc.visible = true;
            textFormatterMc.visible = true;
            var arr = [textFormatterMc.sizeSelectorMc];
            initCursor(arr);
        else
            CaptionMc.visible = false;
            textFormatterMc.visible = false;
            if(mc != null){
                removeAllChildren(mc);
            }else{
                mc = new MovieClip();
                addChild (mc);
            var xmlRef = myXML.captions;
            var textMatrix:Matrix = new Matrix(xmlRef.text.@a, xmlRef.text.@b, xmlRef.text.@c, xmlRef.text.@d, xmlRef.text.@tx, xmlRef.text.@ty)
            var txt:TextField = new TextField();
            objName = txt;
            txt.name = "txt";
            txt.mouseEnabled = false;
            txt.selectable = false;
            txt.multiline = true;
            txt.wordWrap = true;
            mc.addChild (txt);
            txt.text = xmlRef.text;
            txt.mouseEnabled = false;
            txt.width = Number(xmlRef.text.@width);
            txt.height = Number(xmlRef.text.@height);
            //txt.x = Number(xmlRef.text.@tx);
            //txt.y = Number(xmlRef.text.@ty);
            txt.transform.matrix = textMatrix;
            var txtProp = myXML.textProperties;
            var tf = new TextFormat(txtProp.font. @ face,txtProp.font. @ size,txtProp.color. @ textColor,getBool(txtProp.textDecoration. @ bold),getBool(txtProp.textDecoration. @ italic),getBool(txtProp.textDecoration. @ underline));
            txt.setTextFormat (tf);
            if (txtProp.color. @ highlightRequired == "true")
                txt.background = true;
                txt.backgroundColor = uint(txtProp.color. @ highlightColor);
            txt.visible = getBool(xmlRef.text. @visible)
            var mcCaption = new MovieClip();
            var mcCaptionMatrix = new Matrix(xmlRef.@a, xmlRef.@b, xmlRef.@c, xmlRef.@d, xmlRef.@tx, xmlRef.@ty);
            var ClassName:Class = getDefinitionByName(xmlRef.@style) as Class;
            var objHolder = new ClassName();
            objHolder.buttonMode = true;
            objHolder.addEventListener (MouseEvent.CLICK, fnHandleButtonEvent);
            mcCaption.addChild (objHolder);
            objHolder.transform.matrix = mcCaptionMatrix;
            if (SimpleButton(objHolder.getChildByName("btn")) != null && xmlRef.@bgSelected == "true")
                var tempColorStr = [email protected]();
                if (tempColorStr.length > 0)
                    var objColorTransform = new ColorTransform();
                    objColorTransform.color = uint(tempColorStr);
                    SimpleButton(objHolder.getChildByName("btn")).transform.colorTransform = objColorTransform;
            if (MovieClip(objHolder.getChildByName("mcBorder")) != null && xmlRef.@borderSelected == "true")
                var borderColorStr = [email protected]();
                if (borderColorStr.length > 0)
                    var borderColorTransform = new ColorTransform();
                    borderColorTransform.color = uint(borderColorStr);
                    MovieClip(objHolder.getChildByName("mcBorder")).transform.colorTransform = borderColorTransform;
            mcCaption.addChild (objHolder);
            mc.addChildAt (mcCaption, 0);
            var mcIconMatrix = new Matrix(xmlRef.image.@a, xmlRef.image.@b, xmlRef.image.@c, xmlRef.image.@d, xmlRef.image.@tx, xmlRef.image.@ty)
            var mcIcon = new Loader();//IconMovie();
            mcIcon.contentLoaderInfo.addEventListener (Event.COMPLETE, imageLoaded);
            if (xmlRef.image != ""){
                mcIcon.load (new URLRequest(String(xmlRef.image)));
            mcIcon.name = "mcIcon";
            mcIcon.transform.matrix = mcIconMatrix;
            mcIcon.visible = getBool(xmlRef.image. @visible)
            mc.addChild (mcIcon);
    var cursor;
    var otherCursor;
    var downState = false;
    function initCursor(arr:Array){
        cursor = new Cursor();
        cursor.mouseEnabled = false
        cursor.visible = false;
        addChild(cursor);
        otherCursor = new StretchCursor();
        otherCursor.mouseEnabled = false
        otherCursor.visible = false;
        addChild(otherCursor);
        for(var i=0 ; i< arr.length; i++){
            arr[i].addEventListener(MouseEvent.ROLL_OVER, showCursor)
            arr[i].addEventListener(MouseEvent.ROLL_OUT, hideCursor)
            arr[i].addEventListener(MouseEvent.MOUSE_DOWN, showOtherCursor)
            arr[i].addEventListener(MouseEvent.MOUSE_UP, hideOtherCursor)
        this.addEventListener(MouseEvent.MOUSE_UP, hideOtherCursor);
        this.addEventListener(MouseEvent.ROLL_OUT, hideOtherCursor);
    function showCursor(e:MouseEvent){
        var txt = MovieClip(e.target).sizeTxt;
        if(!downState && txt.type == "dynamic"){
            cursor.visible = true;
            cursor.startDrag(true)
            Mouse.hide();
    function hideCursor(e:MouseEvent){
        if(!downState){
            cursor.stopDrag()
            cursor.visible = false;
            Mouse.show();
    function showOtherCursor(e:MouseEvent){
        var txt = MovieClip(e.currentTarget).sizeTxt;
        if(txt.type == "dynamic"){
            hideCursor(e);
            downState = true
            otherCursor.startDrag(true)
            otherCursor.visible = true;
            Mouse.hide();
    function hideOtherCursor(e:MouseEvent){
        downState = false;
        otherCursor.stopDrag()
        otherCursor.visible = false;
        Mouse.show();
    function removeAllChildren(mcRef:MovieClip){
        for(var i=(mcRef.numChildren-1); i>=0; i--){
            mcRef.removeChildAt(i);
    function imageLoaded (e:Event)
        var mc = e.target.content;
        mc.width = Number(myXML.captions.image. @ width);
        mc.height = Number(myXML.captions.image. @ height);
    function getBool (str:String):Boolean
        var ret:Boolean;
        if (str == "true")
            ret = true;
        else
            ret = false;
        return ret;
    function getModifiedXML ():String
        return myXML.toString();
    //to register enter frame function
    this.addEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
    //Captivate App will not recognize a Static Widget unless this function is implemented and returns true
    function isStatic ():Boolean
        return true;//denotes that this is indeed a Captivate Interactive Learning Object
    //a object needs to be created and values filled in . This is taken by captivate and stored as //xml string. This is the mean to pass values between captivate and widget swf.
    function getInspectorParameters ():Object
        //dev//Apply
        //set the data in _parameters fields. This is called by captivate to get the values of widget swf
        var _parameters: Object = new Object();
        _parameters.dataXML = getModifiedXML();
        return _parameters;
    // whenever widget is inserted the widget swf is passed on the parameters stored inside captivate so that it is drawn in updated stage.
    function setInspectorParameters (inParam:Object):void
        //Dev//on Double click //edit window
        myData = inParam.dataXML;
        myWM = widgetMode;
        update ();
    //is called whenever widget needs to be drawn as per the changed
    //parameters like OK to widget dialog and stage swf is updated with the current values.
    function setParameters (inParam:Object):void
        if (inParam.dataXML != null)
            //redraw the widget as parameters has changed
            //dev//OK button
            myData = inParam.dataXML;
            myWM = widgetMode;
            update ();
    //this function is called to set the variable on player
    function cpSetValue (variable:String, val):void
        if (variable == 'movieHandle')
            movieHandle = val;
            varHand = movieHandle.getMovieProps().variablesHandle;
            //using varHand the variables can be accessed for eg. varHand.rdcmndPause = 1;
        if (variable == 'widgetMode')
            widgetMode = val;
            //dev//set mode
    function getEditModeWidth ( ):int
        return 411;// return required width of widget properties dialog here
    function getEditModeHeight ( ):int
        return 480;// return required height of widget properties dialog here
    //Register all the functions with ExternalInterface
    if (ExternalInterface.available == true)
        ExternalInterface.addCallback ("isStatic",isStatic);
        ExternalInterface.addCallback ("getInspectorParameters",getInspectorParameters);
        ExternalInterface.addCallback ("setInspectorParameters",setInspectorParameters);
        ExternalInterface.addCallback ("setParameters",setParameters);
        ExternalInterface.addCallback ("cpSetValue", cpSetValue);
        ExternalInterface.addCallback ( "getEditModeWidth", getEditModeWidth);
        ExternalInterface.addCallback ( "getEditModeHeight", getEditModeHeight);
    //take care of optimised drawing inside this function. Check the widgetMode , widgetParams  and draw accordingly
    function onEnterEveryFrame (aevent:Event):void
        var wm:String = widgetMode;//this variable will be provided by Captivate App or Captivate Movie
        if (wm == null)
            wm = widgetMode;
        if (wm == null)
            wm = 'Stage';
            this.removeEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
        else if (wm == 'Edit')
            //Property inspection inside Captivate app
            myWM = wm;
            update ();
            this.removeEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
        else if (wm == 'Preview')
            //The code here is used for previewing the widget in the preview window of widget panel
            myWM = wm;
            update ();
            this.removeEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
        else
            //On stage scrubbing/live preview inside Captivate app (OR) at runtime inside Captivate movie.
            if(!checkUpdatedXML){
                if (movieHandle != null)
                    widgetParam = movieHandle.widgetParams();
                if (widgetParam != "")
                    var myXml:XML = new XML(widgetParam);
                    myData = myXml.property.(@id == "dataXML").string;
                    wm = "Runtime";
                    myWM = wm;
                    update ();
                    checkUpdatedXML = true
            if (movieHandle != null)
                if (movieHandle.isWidgetEnabled() == true)
                    if(addednoskipframe == false)
                        var slidestart = movieHandle.getSlideProps().startFrame;
                        var slideend = movieHandle.getSlideProps().endFrame;
                        pauseFrame = Math.ceil((slidestart  + slideend)/2);
                        var SlidePauseFrame = pauseFrame - slidestart + 1;
                        movieHandle.getSlideProps().slideHandle.AddNoSkipFrame(SlidePauseFrame);
                        addednoskipframe = true;
                    if(movieHandle.isWidgetEnabled()  && varHand.rdinfoCurrentFrame == pauseFrame && playedByButton == false)
                        varHand.rdcmndPause = 1;
                        this.removeEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
    stage.scaleMode = StageScaleMode.NO_SCALE;
    stage.align = StageAlign.TOP_LEFT;

    Hi again,
    I just added a virtual keyboard widget, so that you can enter text even in Fullscreen Mode
    http://www.m-gd.com/virtual-keyboard-captivate-widget-en/

  • White Bordered Text Frame

    Of three text frames in my document, after PDF export, one is showing a thin white border at the frame boundary.
    Not sure if that is the cause, but I noticed a + sign next to my text frame style label. Would like to get rid of that.
    Would you please show me how to get rid of the white border.

    Jack wrote:
    No, I think iD was "slapping my hand", virtually, for increasing type size the quick-and-easy way instead using a style. With a new style created and applied, all is well, with no more white borders in the PDF.
    Seems unlikely, but OK.
    OP = Original Poster = you.

  • How to kill the applet

    how to kill the applet which in the browser.
    With Regards
    Santhosh

    my code.. this is main program for my applet. can find out errors. if not i will send the code to u.
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import java.net.*;
    import java.io.*;
    public class StyleEditor extends Applet implements ItemListener ,ColorListener
        public ImageButton imgBold,imgItalic;
        public ColorButton colorButton;
        public Choice fontFace,fontSize;
        public TextArea textArea;
        public Panel toolBar,textPanel;
        public String content;
        public Font font = new Font("Arial",Font.ITALIC,16);
        public ColorDialog dialog;
        public Frame f;
        public String sColor;
        public InputStream in;
        private int size[] = {8,10,12,14,18,24,36};
        private Label textLabel;
        public void init()
            try
                setLayout(new BorderLayout());
                toolBar = new Panel();
                toolBar.setBackground(Color.lightGray);
                Toolkit toolkit = getToolkit();
                in = StyleEditor.class.getResourceAsStream("bold.gif");
                byte bin[] = new byte[in.available()];
                in.read(bin);
                Image ibold = toolkit.createImage(bin);
                in = StyleEditor.class.getResourceAsStream("italic.gif");
                byte binc[] = new byte[in.available()];
                in.read(binc);
                Image iitalic = toolkit.createImage(binc);
                imgBold = new ImageButton(ibold);
                imgItalic = new ImageButton(iitalic);
                fontFace = new Choice();
                fontSize = new Choice();
                colorButton = new ColorButton();
                f = new Frame();
                dialog = new ColorDialog(f,"Color Chooser",true,StyleEditor.this);
                textLabel = new Label("             Edit Style   ",Label.CENTER);
                textLabel.setFont(new Font("Arial",Font.BOLD,18));
                String editColor= getParameter("editcolor");
                if(editColor!=null)
                    int eValue = Integer.parseInt(editColor,16);
                    textLabel.setForeground(new Color(eValue));
                String fontArray[] = toolkit.getFontList();
                content = getParameter("style");
                String fname = getParameter("fname");
                String fsize = getParameter("fsize");
                Boolean bBold = new Boolean(getParameter("bold"));
                Boolean bItalic = new Boolean(getParameter("italic"));
                sColor= getParameter("oldcolor").substring(1);
                int value = Integer.parseInt(sColor,16);
                colorButton.setColor(new Color(value));
                boolean bold = bBold.booleanValue();
                boolean italic = bItalic.booleanValue();
                imgBold.setSelected(bold);
                imgItalic.setSelected(italic);
                for(int i=0;i<fontArray.length;i++)
                    fontFace.addItem(fontArray);
    fontFace.addItemListener(this);
    for(int i=0;i<size.length;i++)
    fontSize.addItem(size[i]+"");
    fontSize.addItemListener(this);
    toolBar.setLayout(new FlowLayout(FlowLayout.LEFT));
    toolBar.add(imgBold);
    toolBar.add(imgItalic);
    toolBar.add(fontFace);
    toolBar.add(fontSize);
    toolBar.add(colorButton);
    toolBar.add(textLabel);
    textPanel = new Panel();
    textPanel.setLayout(new BorderLayout());
    textArea = new TextArea(content);
    textArea.setEditable(false);
    textArea.setBackground(Color.white);
    textArea.setForeground(new Color(value));
    if(fname!=null && fsize!=null)
    setStyleFont(fname,fsize,bold,italic);
    textPanel.add(textArea);
    add(toolBar,BorderLayout.NORTH);
    add(textPanel,BorderLayout.CENTER);
    imgBold.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent ae)
    boldActionPerformed(ae);
    imgItalic.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent ae)
    italicActionPerformed(ae);
    colorButton.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent ae)
    if(!dialog.isVisible())
    dialog = null;
    dialog = new ColorDialog(f,"Color Chooser",true,StyleEditor.this);
    dialog.setLocation(colorButton.getLocation());
    dialog.setLocation(200,200);
    dialog.pack();
    dialog.setVisible(true);
    }catch(Exception e)
    System.out.println(e);
    public void setStyleFont(String fname,String fsize,boolean bold,boolean italic)
    int s = sizeValue(Integer.parseInt(fsize));
    fontFace.select(fname);
    fontSize.select(s+"");
    if(bold && italic)
    font = new Font(fname,Font.BOLD+Font.ITALIC,s);
    textArea.setFont(font);
    return;
    }else
    if(bold)
    font = new Font(fname,Font.BOLD,s);
    textArea.setFont(font);
    return;
    }else
    if(italic)
    font = new Font(fname,Font.ITALIC,s);
    textArea.setFont(font);
    return;
    }else
    font = new Font(fname,Font.PLAIN,s);
    textArea.setFont(font);
    return;
    public void itemStateChanged(ItemEvent e)
    String f = fontFace.getSelectedItem();
    String s = fontSize.getSelectedItem();
    font = new Font(f,font.getStyle(),Integer.parseInt(s));
    textArea.setFont(font);
    public void boldActionPerformed(ActionEvent ae)
    if(imgBold.isSelected())
    if(imgItalic.isSelected())
    font = new Font(font.getName(),Font.BOLD+Font.ITALIC,font.getSize());
    textArea.setFont(font);
    return;
    font = new Font(font.getName(),Font.BOLD,font.getSize());
    textArea.setFont(font);
    return;
    }else
    if(imgItalic.isSelected())
    font = new Font(font.getName(),Font.ITALIC,font.getSize());
    textArea.setFont(font);
    return;
    font = new Font(font.getName(),Font.PLAIN,font.getSize());
    textArea.setFont(font);
    return;
    public void italicActionPerformed(ActionEvent ae)
    if(imgItalic.isSelected())
    if(imgBold.isSelected())
    font = new Font(font.getName(),Font.BOLD+Font.ITALIC,font.getSize());
    textArea.setFont(font);
    return;
    font = new Font(font.getName(),Font.ITALIC,font.getSize());
    textArea.setFont(font);
    return;
    }else
    if(imgBold.isSelected())
    font = new Font(font.getName(),Font.BOLD,font.getSize());
    textArea.setFont(font);
    return;
    font = new Font(font.getName(),Font.PLAIN,font.getSize());
    textArea.setFont(font);
    return;
    public boolean isBold()
    return imgBold.isSelected();
    public boolean isItalic()
    return imgItalic.isSelected();
    public void colorSelection(Color currentColor)
    colorButton.setColor(currentColor);
    textArea.setForeground(currentColor);
    int r = currentColor.getRed();
    String red = Integer.toHexString(r);
    if(red.length()==1)
    red = 0+red;
    int g = currentColor.getGreen();
    String green =Integer.toHexString(g);
    if(green.length()==1)
    green = 0+green;
    int b = currentColor.getBlue();
    String blue =Integer.toHexString(b);
    if(blue.length()==1)
    blue = 0+blue;
    sColor = red+green+blue;
    public String getName()
    return font.getName();
    public int getFSize()
    switch(font.getSize())
    case 8 : return 1;
    case 10 : return 2;
    case 12 : return 3;
    case 14 : return 4;
    case 18 : return 5;
    case 24 : return 6;
    case 36 : return 7;
    default : return 0;
    public int sizeValue(int value)
    switch(value)
    case 1 : return 8;
    case 2 : return 10;
    case 3 : return 12;
    case 4 : return 14;
    case 5 : return 18;
    case 6 : return 24;
    case 7 : return 36;
    default : return 0;
    public void stop()
    System.out.println("Stop");
    destroy();
    public void destroy()
    imgBold=null;
    imgItalic=null;
    colorButton = null;
    fontFace =null;
    fontSize=null;
    textArea=null;
    toolBar=null;
    textPanel=null;
    content=null;
    font = null;
    dialog=null;
    f=null;
    sColor=null;
    in=null;
    textLabel=null;
    super.destroy();

  • Using CSS Problem

    Why do I have to use class selector and not a type selector?
    <mx:Style>
    Label {
    fontSize: 16px;
    fontWeight: bold;
    .test {
    fontSize: 16px;
    fontWeight: bold;
    </mx:Style>
    <mx:Label text="Test" styleName="test"/>
    If I remove the styleName property telling the label to use
    the .test
    class, the label it NOT styled and I can not see why. I don't
    want to
    have to put classes on all my labels, I want them to be
    defined as a type.

    A simple test example showing what I am experiencing. Why
    should the
    text controls be inheriting the Label styling?
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="vertical">
    <mx:Style>
    Label {
    fontSize: 16px;
    fontWeight: bold;
    color: red;
    .label {
    color: green;
    </mx:Style>
    <mx:Label text="Type Selector"/>
    <mx:Text text="Just a text control"/>
    <mx:Label text="Class Selector" styleName="label"/>
    <mx:Text text="Another text control"/>
    </mx:Application>

  • Link colors in Safari are off

    Hi,
    I have a website, www.proactiveparenting.net that I built using an online company. I use Firefox to interface with the website because it gives me more features to use then Safari does.
    My problem is the color of the links on just one of the pages on my website are red/brown instead of the colors I set them to be. This only in safari, on both Mac's and PC's and as I said only on one of the pages. The rest of the website's links are the colors they are designed to be.
    Here is a link to the page on the website that I'm referring to, www.proactiveparenting.net/seminarsondemand.
    If any of you have any insight into this issue I would be grateful

    There are multiple ways to change the color of links, but here's a straightforward way to try. In the anchor tag for each link, place a style label such as this:
    {a href="link.html" style="color:#000000"} Link text {/a}
    (NOTE: I used "}" in the code instead of greater/less than symbols...the forums wont display those properly)
    You can also define this using page-specific styles in the "head" section of the html page, or define them in a separate cascading style sheet. From what I can tell, styles have not been defined for links in the source on that page, and since there are only a few links on the page that are red, I'd recommend editing each of them independently.
    The color value above is for black, but the blue links on your other pages have the color #333366.

  • Custum SSIS control  commands

    Hi Guys,
    I have to do a few custom data and dimension synchronization packages and i would like to know if someone knows where i could get a list of commands or guide on how to go about the advanced settings of the data packages.
    An example would be:
    'DEBUG(ON)
    'PROMPT(SELECTINPUT,,,"Please select current Budget yeat",%TIME_DIM%)
    PROMPT(SELECTINPUT,,,"Please select intersection that is needed",%ENTITY_DIM%)
    TASK(Execute formulas,USER,%USER%)
    TASK(Execute formulas,APPSET,%APPSET%)
    TASK(Execute formulas,APP,%APP%)
    TASK(Execute formulas,LOGICFILE,%APPPATH%\..\AdminApp\%APP%\InventoryStep1.lgf)
    TASK(Execute formulas,SELECTION,%SELECTIONFILE%)
    TASK(Execute formulas,LOGICMODE,1)
    TASK(Execute formulas1,USER,%USER%)
    TASK(Execute formulas1,APPSET,%APPSET%)
    TASK(Execute formulas1,APP,%APP%)
    TASK(Execute formulas1,LOGICFILE,%APPPATH%\..\AdminApp\%APP%\InventoryStep2.lgf)
    TASK(Execute formulas1,SELECTION,%SELECTIONFILE%)
    TASK(Execute formulas1,LOGICMODE,1)
    TASK(Admin Task,DESCRIPTION,Admin_Process)
    TASK(Admin Task,APPSET,%APPSET%)
    TASK(Admin Task,APP,%APP%)
    TASK(Admin Task,USERID,%USER%)
    TASK(Admin Task,PROCESSMODE,3)
    TASK(Admin Task,PROCESSOPTION,2)
    TASK(Admin Task,APPLICATIONLIST,FINANCE)
    Does anyone have a document on the different options available to us when using the all the commands? Or even just what each one of them does/syntax?
    Regards,
    AvdB

    Hi Guys,
    Maybe this will help someone else in the future, it is the syntax list of the SSIS packages. I'm still wondering why this wasn't documented at all...
    PROMPT(INFILES, [variable], [label])
    PROMPT(OUTFILE, [variable], [label])
    PROMPT(SELECT, [variable], [second variable], [label], [dimensions])
    PROMPT(SELECTINPUT, [variable], [second variable], [label], [dimensions])
    PROMPT(TRANSFORMATION, [variable], [label])
    PROMPT(DELIMITER, [variable], [label])
    PROMPT(TEXT, [variable], [label], [PWD], [VALIDATE LIST])
    PROMPT(COPYMOVE, [variable], [second variable], [label], [dimensions])
    PROMPT(COPYMOVEINPUT, [variable], [second variable], [label], [dimensions])
    PROMPT(CHECKBOX, [variable], [label], [default value])
    PROMPT(CHECKBOXYES, [variable], [label])
    PROMPT(CHECKBOXNO, [variable], [label])
    PROMPT(COMBOBOX,[variable], [label], [combo box Style], [label List], [default label])
    PROMPT(MESSAGE,[label])
    PROMPT(RADIOBUTTON,[variable], [label], [default value], [label List], [value List])
    PROMPT(CHECKBOXGROUP,[variable], [label], [default value], [label List], [value List])
    GETINFO(FACTSELECTION_FROM_FILE,[variable],[FileName],[dimensions])
    GETINFO(DELETESTATEMENT_FROM_FILE,[variable],[FileName],[TableName],[Dimensions],[Delimiter],[TimeOrTIMEID])
    INFO([variablename], [value])
    BEGININFO([variablename])
    [value]
    ENDINFO
    TASK([Task Name], [PropertyName], [PropertyValue])
    CONNECTION([ConnectionName], [OleDbPropertyName], [PropertyValue])
    Global([variablename], [value])
    OLEDBCONN([ConnectionName],[OleDbPropertyName], [PropertyValue])OLEDBCONN([ConnectionName],[OleDbPropertyName], [PropertyValue])

  • Anybody can help me for RTF conversion?

    Anybody can help me for RTF conversion for selected text frames only in Indesign by script

    ID has no built-in way to export a story as RTF with style labeling in a column next to the text, similar to what you would see in Story Editor view, but there is a remote possibility that this could be scripted (ask in InDesign Scripting) or perhaps you can make InDesign Tagged Text work for you. Try exporting a few paragraphs to tagged text and see if it would be useful.

  • Connect specified words in textframe with lines

    Dear all,
    I want to use the script below and change it to a script that connects specified words with lines. Now it connects all the words with lines. I'm not sure what to do, so I hope someone can help me.
    Thanks in advance
    #include ./lib/bene.jsx
    //InDesign CS2 JavaScript
    //Set to 4.0 scripting object model
    app.scriptPreferences.version = 4.0;
    var myScriptName = app.activeScript.name;
    var myObjectList = new Array;
    if (app.documents.length != 0){
         if (app.selection.length != 0){
             for(var myCounter = 0;myCounter < app.selection.length; myCounter++){
                 switch (app.selection[myCounter].constructor.name){
                     //allow only textframes
                     case "TextFrame":
                         myObjectList.push(app.selection[myCounter]);
                         break;
             if (myObjectList.length != 0){
                 //run the thing! call a function           
                 myConnectWords(myObjectList);
             else{
                 alert ("Please select TextFrame and try again.");
         else{
             alert ("Please select an object and try again.");
    else{
         alert ("Please open a document, select an object, and try again.");
    //functions
    function myConnectWords(myObjectList){
         var myDocument = app.activeDocument;
         var myLayer, myCounter, myColor;
         //Measurement
         var myOldRulerOrigin = myDocument.viewPreferences.rulerOrigin;
         myDocument.viewPreferences.rulerOrigin = RulerOrigin.spreadOrigin;
         //Save the current measurement units.
         var myOldXUnits = myDocument.viewPreferences.horizontalMeasurementUnits;
         var myOldYUnits = myDocument.viewPreferences.verticalMeasurementUnits;
         //Set the measurement units to points.
         myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;
         myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
         //Get references  the None swatch.       
         var myNoneSwatch = myDocument.swatches.item("None");   
         //Create a color (if it does not already exist).   
         myColor = myDocument.colors.item(myScriptName);
         try{
             myColorName = myColor.name;
         catch (myError){
             var myColorArray = new Array(100, 0, 0, 0);
             myColor = myDocument.colors.add({model:ColorModel.process,  space: ColorSpace.CMYK, colorValue:myColorArray,name: myScriptName});        
         //Create a layer to hold the generated lines (if it does not already exist).
         myLayer = myDocument.layers.item(myScriptName);
         try{
             myLayerName = myLayer.name;
         catch (myError){
             myLayer = myDocument.layers.add({name:myScriptName});
         //Process the objects (here text frames) in the selection.   
         for(myCounter = 0; myCounter < myObjectList.length; myCounter ++){
             //get textframe
             var myNewFrame = myObjectList[myCounter];       
             //get all lines in the frame
             var myLines = myNewFrame.lines;
             //connect each word with all words in the next line
             for(myLineCounter = 0; myLineCounter < myLines.length-1; myLineCounter ++){
                 //get all words in the line + next line
                 var myLine = myLines[myLineCounter].words;           
                 var myNextLine = myLines[myLineCounter+1].words;           
                 //myPathPoints.push([myLine.insertionPoints[-2].horizontalOffset,myTmpY]);
                //combine this + next line words
                 for(i = 0; i < myLine.length; i++){   
                     //get word       
                     var myWord_i = myLine[i];
                     //array for points
                     var myPathPoints = new Array;
                     //add fist point X/Y               
                     myPathPoints[0]=[myWord_i.horizontalOffset,myWord_i.baseline]; 
                    for(j = 0; j < myNextLine.length; j++){
                        //get word
                        var myWord_j = myNextLine[j];                                     
                        if (myWord_j.baseline != myWord_i.baseline  && myWord_j.horizontalOffset != myWord_i.horizontalOffset) {
                            //add secound point X/Y
                            myPathPoints[1]=[myWord_j.horizontalOffset,myWord_j.baseline];
                            //draw the line
                            myDrawPolygon(myPathPoints, 1, 100, myColor, myNoneSwatch, myLayer);          
        myDocument.viewPreferences.rulerOrigin = myOldRulerOrigin; 
        //Set the measurement units back to their original state. 
        myDocument.viewPreferences.horizontalMeasurementUnits = myOldXUnits; 
        myDocument.viewPreferences.verticalMeasurementUnits = myOldYUnits; 

    Yup -- Fun little exercise, this was.
    Select either an entire text frame, or some text directly, and this script connects all of the words with the character style "label". The lines are at the baseline center of each word.
    if (app.documents.length == 0 || app.selection.length != 1 ||
    !(app.selection[0] instanceof TextFrame || app.selection[0].hasOwnProperty("baseline")))
    alert ("Please select a single text frame or some text first");
    } else
    charStyleName = "label";
    app.findTextPreferences = null;
    app.findTextPreferences.appliedCharacterStyle = app.activeDocument.characterStyles.item(charStyleName);
    list = app.selection[0].findText();
    if (list.length == 0)
      alert ('No text found with char style "'+charStyleName+'"');
    else if (list.length == 1)
      alert ('Only one text found with char style "'+charStyleName+'", no use in going on');
    else
      lpath = [];
      while (list.length)
       lpath.push ( centerOfWord (list.shift()) );
      if (app.selection[0] instanceof TextFrame)
       pg = app.selection[0].parent;
      else
       pg = app.selection[0].parentTextFrames[0];
      while (!(pg instanceof Spread || pg instanceof MasterSpread || pg instanceof Page))
       if (pg instanceof Document || pg instanceof Application)
        break;
       pg = pg.parent;
      l = pg.graphicLines.add({strokeWeight:0.5, strokeColor:app.activeDocument.swatches.item("Black")});
      l.paths[0].entirePath = lpath;
    function centerOfWord (word)
    var l = word.insertionPoints[0].horizontalOffset;
    var r = word.insertionPoints[-1].horizontalOffset;
    return [ (l+r)/2, word.baseline ];

Maybe you are looking for

  • Service Manager 2012 R2 Views - [mygroups] Token Not Working

    Hi All, Anyone else having issues with the [mygroups] token, or am I using it incorrectly? In the view builder, I am attempting to view incidents with a status of new and a primary owner set to [mygroups], however it will not allow me to use this.  I

  • Directory for shell scripts

    I'm looking for a logical place to save Unix shell scripts. ~/Documents doesn't sound right, nor would ~/bin because the scripts aren't binaries. I know it comes down to personal preference, but what makes the most sense, ~/Library/Scripts? and /Libr

  • Db startup

    Hi all! I am very new to Oracle and I am doing some selfstudy practice with Oracle XE. Today I have tried to do some changes to the startup parameters. Ufortunatelly the database could not startup after this (I have than tried to recopy the 'pre-chan

  • Oracle 11g Database as RPM's

    This question probably gets asked all the time, but we're relatively new to Oracle. Is Oracle 11g available as RPM's? If not, what about a command line installation script that DOES NOT require human interaction? At the very very least, can the requi

  • When I close FF the crash reporter opens ,Started yesterday

    As of yesterday , possibly after the windows updates , when I close the browser ,the crash reporter opens and says FF has crashed , when all that has occured is I closed it. Using V. 7.0.1