Hinzufügen von Schaltflächen für die Codegenerierung

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  ActiveX Integration > Beispiele zur ActiveX-Integration > HTML > HTML-Integration auf Applikationsebene >

Hinzufügen von Schaltflächen für die Codegenerierung

Zwar stehen die Codegenerierungsfunktionen für das aktive Dokument über Menüs zur Verfügung, doch möchten wir Schaltflächen hinzufügen, mit denen Sie Code generieren können, ohne dass Sie vorher nach dem Pfad für die Ausgabe gefragt werden. Wir verwenden dazu eine ähnliche Methode wie im vorigen Abschnitt.

 

Zuerst kommen die Schaltflächen:

 

<input type="button" value="Generate XSLT" onclick="BtnGenerate( 0 )">
<input type="button" value="Generate Java" onclick="BtnGenerate( 1 )">
<input type="button" value="Generate C++" onclick="BtnGenerate( 2 )">
<input type="button" value="Generate C#" onclick="BtnGenerate( 3 )">

 

Anschließend kommt das Skript, mit dem der Code in Unterordnern des aktuell definierten Standardausgabeordners generiert wird.

 

// ----------------------------------------------------------------------
// generate code for active document into language-specific subfolders of
// the current default output dicrectory. No user intercation necessary.
function BtnGenerate(languageID)
{
  // get top-level object of automation interface
  var objApp = objMapForceControl.Application;
 
  // get the active document
  var objDocument = objApp.ActiveDocument;
 
  // retrive object to set the generation output path
  var objOptions = objApp.Options;
 
  if ( objDocument == null )
     alert( "no active document found" );
  else
  {
     objOptions.XSLTDefaultOutputDirectory = objOptions.CodeDefaultOutputDirectory = GetDefaultOutputDirectory();
   
    if (languageID == 0)
     {
        objOptions.XSLTDefaultOutputDirectory = objOptions.XSLTDefaultOutputDirectory + "\\XSLTGen";
        objDocument .GenerateXSLT();
     }
    else if (languageID == 1)
     {
        objOptions.CodeDefaultOutputDirectory = objOptions.CodeDefaultOutputDirectory + "/JavaCode";
        objDocument .GenerateJavaCode();
     }
    else if (languageID == 2)
     {
        objOptions.CodeDefaultOutputDirectory = objOptions.CodeDefaultOutputDirectory + "/CPPCode";
        objDocument .GenerateCppCode();
     }
    else if (languageID == 3)
     {
        objOptions.CodeDefaultOutputDirectory = objOptions.CodeDefaultOutputDirectory + "/CSharpCode";
        objDocument .GenerateCHashCode();
     }
  }
}


© 2019 Altova GmbH