2 Replies Latest reply on Jul 1, 2015 1:27 AM by bballarin

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

    bballarin Level 1

      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
          }
      }