Quantcast
Channel: Adobe Community : All Content - FrameMaker Scripting
Viewing all articles
Browse latest Browse all 888

Bringing the active table under focus when script is interrupted by a dialog box

$
0
0

I have customized a script that browse tables into a Fm file and prompt the user if he wants the current active table to be reformated or not

 

I haven't find a clean way to have the table that is currently selected in the variable "tbl" to be visible on the screen when the scripts sends a dialog.

 

The workaround that I have found consists in starting some formating on the table before sending the prompt, in that case the currently processed table is visible when the prompt arises.

 

But I would like to have the table visible and avoid doing any processing on the table before the user has had a chance to answer the prompt.

 

I assume there must be a method to bring the focus of the active window on an element that is selected in a variable?

 

function ApplyTableFormat(doc)
{
    if (doc.ObjectValid())
    {
        var tbl = doc.SelectedTbl
        var tbltitle;
        var tblTextItem;
        while (tbl.ObjectValid())
        {
            tbltitle = "";
            tblTextItem = tbl.FirstPgf.GetText(Constants.FTI_String);
              for (var i = 0 ; i < tblTextItem.length; i++)
              {
                   tbltitle += tblTextItem[i].sdata ;
              }

            /* How to make my "tbl" visible in the active doc window ? */ 
            if(Alert("Formating: " + tbl.FirstPgf.PgfNumber + tbltitle +" ?\nClick cancel to abort.",Constants.FF_ALERT_CANCEL_DEFAULT))
                 return;
            /* insert table formating code here */

            tbl = tbl.NextTblInDoc;
        }
    }
    else
    {
      Alert ("No active doc" ,Constants.FF_ALERT_CONTINUE_WARN)
      return
    }
}


Viewing all articles
Browse latest Browse all 888

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>