CIB JCoMod technical documentation (EN)

5. Quick start

5.8. JCoMod Wrapper example for CIB dialog browser: Job for displaying an HTML document via CIB dialog and usage of the callback mechanisms of dialog shown with the example OnTextboxPopupCallback/OnTextboxEntryCallback

import com.cib.comod.jobs.*;
import com.cib.comod.jobs.event.*;

public class TextboxCBSample 
{
 static ICibDialogCallbackListener m_CallbackAdapter;

 public TextboxCBSample()
 {
  m_CallbackAdapter = null;
 }

 public static void main(String [] args) 
 {
  // erzeuge einen JCibDialog-Job
  JCibDialogJob t_Job = new JCibDialogJob();

  // Der Job muß initialisiert werden
  if (!t_Job.initialize())
  {
   System.out.println("Fehler beim Initialisieren des Dialog-Job");
   return;
  }

  //hier richtige Dateinamen einfügen
  t_Job.setProperty(ICibDialogJob.PROPERTY_INPUTFILE, "D:\\XYZ.HTM");
  t_Job.setProperty(ICibDialogJob.PROPERTY_RULFILE, "D:\\XYZ.RUL");

  // füge dem Job einen Callbacklistener hinzu.
  // 
  // Der JCibDialogCallbackAdapter implementiert alle Callbackmethoden des
  // ICibDialogCallbackListener-Interfaces. Callback-Events werden nur
  // erzeugt, wenn die entsprechenden Callbacks auch per setProperty 
  // gesetzt werden.
  //
  // Hier wird gleich eine on-the-fly-Klasse von JcibDialogCallbackListener
  // abgeleitet und die Callbackmethoden überladen.
  //
  // Der CallbackAdapter empfiehlt sich vor allem dann
  // wenn nicht alle Callbacks gebraucht werden. Außerdem wird der
  // JcibDialogCallbackAdapter auch neue Callbacks implementieren, 
  // wenn noch weitere hinzukommen.
  t_Job.addCibDialogCallbackListener
  (m_CallbackAdapter = new JCibDialogCallbackAdapter()
   {
    public void callbackDialogOnTextboxPopup(DialogOnTextboxPopupCallbackEvent e) {callbackOnTextboxPopup(e);}
    public void callbackDialogOnTextboxEntry(DialogOnTextboxEntryCallbackEvent e) {callbackOnTextboxEntry(e);}
   }
  );
 
   // aktiviere die nötigen Callbacks
  t_Job.executeFunction(ICibDialogJob.FUNCTION_ACTIVATECALLBACK, "TextboxPopupCallback");
  t_Job.executeFunction(ICibDialogJob.FUNCTION_ACTIVATECALLBACK, "TextboxEntryCallback");
  t_Job.setProperty(ICibDialogJob.PROPERTY_CALLBACKUSERDATA, new Integer(777));
 
  //Dialog anzeigen
  t_Job.execute();
 }
 
 public static void callbackOnTextboxPopup(DialogOnTextboxPopupCallbackEvent e) 
 {
      //zwei Test-Einträge zur Verfügung stellen
      e.PopupEntries = "Test1a|Test2b";
 }
 
 public static void callbackOnTextboxEntry(DialogOnTextboxEntryCallbackEvent e) 
 {
     //Abhängig von der Auswahl einen Textbaustein in den Dialog einfügen
     //(nur MLE Editfelder)
      if (e.SelectedPopupEntry.compareTo("Test1a") == 0)
      {
           e.SelectedText = "Textbaustein1";
      }
      else if(e.SelectedPopupEntry.compareTo("Test2b") == 0)
      {
           e.SelectedText = "Textbaustein2";
      }
 }
}