Globales Scripting für iNOW UI Ereignisse

scripting
extension

#1

Über den iNOW UI Script Editor kann ein Erweiterungsscript erstellt werden, mit dem iNOW UI Ereignisse global behandelt werden können.

Screenerkennung im Code

Diese Routine wird vor der regulären Screenidentifizierung ausgeführt.
Wenn man args.FlexId auf eine FlexId setzt, dann wird dieser Bildschirm verwendet.
Wenn man args.FlexId auf eine null und args.CancelDefaultDetection auf True setzt,
dann wird die regulären Screenidentifizierung nicht durchgeführt und der Bildschirm läuft OnTheFly. .

/// <summary>
/// called when checking for FLEX screens
/// </summary>
/// <param name="args">arguments for FlexId</param>
public override void CheckFlexScreen(CustomFlexIdArguments args)
{
    if (args.Screen.GetText(0, 0, 80).Contains("Work with User Jobs"))
    {
        args.FlexId = "WRKUSRJOB";
    }   
}

IgnoreScreen Erkennung im Code

Wenn man args.IsIgnoreScreen auf auf True setzt, dann wird dieser Bildschirm automatisch mit Datenfreigabe übersprungen.
Wenn man args.CancelDefaultDetection auf True setzt, dann wird die regulären IgnoreScreen-Erkennung nicht durchgeführt.

/// <summary>
/// called when checking for ignore screens
/// </summary>
/// <param name="args">arguments for Ignore Screen</param>
public override void CheckIgnoreScreen(CustomFlexIgnoreArguments args)
{
    if (args.Screen.GetText(0, 0, 80).Contains("Sign-on")  && args.Screen.GetText(0, 0, 80).Contains("Information")
    {
        args.IsIgnoreScreen = true;
    }
}

Globaler Code vor BeforeHostDataChange

Die folgende Routine wird vor dem Ereignisse BeforeHostDataChange der Bildschirme ausgeführt.
Wenn man args.CancelDefaultRoutine auf True Setzt, dann wird die OriginalRoutine des Bildschirms nicht ausgeführt.

/// <summary>
/// called before BeforeHostDataChange 
/// </summary>
/// <param name="args">arguments for HostDataChanged</param>
public override void BeforeBeforeHostDataChange(CustomFlexScreenArguments args)
{
   var userControl = args.Control as FlexUserControl;
   if (userControl == null) return;
   MessageBox.Show(userControl.ScreenId + " before BeforeHostDataChange");
}

Globaler Code vor HostDataChanged

Die folgende Routine wird vor dem Ereignisse HostDataChanged der Bildschirme ausgeführt.
Wenn man args.CancelDefaultRoutine auf True Setzt, dann wird die OriginalRoutine des Bildschirms nicht ausgeführt.

/// <summary>
/// called before HostDataChanged
/// </summary>
/// <param name="args">arguments for HostDataChanged</param>
public override void BeforeHostDataChanged(CustomFlexScreenArguments args)
{
   var userControl = args.Control as FlexUserControl;
   if (userControl == null) return;
   MessageBox.Show(userControl.ScreenId + " before HostDataChange");
}

Globaler Code nach HostDataChanged

Die folgende Routine wird nach dem Ereignisse HostDataChanged der Bildschirme ausgeführt.
Der Parameter args.CancelDefaultRoutine hat keine Funktion.

/// <summary>
/// called after HostDataChanged
/// </summary>
/// <param name="args">arguments for HostDataChanged</param>
public override void AfterHostDataChanged(CustomFlexScreenArguments args)
{
   var userControl = args.Control as FlexUserControl;
   if (userControl == null) return;
   MessageBox.Show(userControl.ScreenId + " after HostDataChange");
}

Globaler Code vor HostDataChanged eines Design Controls

Die folgende Routine wird vor dem Ereignisse HostDataChanged des Design Controls ausgeführt.
Wenn man args.CancelDefaultRoutine auf True Setzt, dann wird die OriginalRoutine des Design Controls nicht ausgeführt.

/// <summary>
/// called before HostDataChange of a Design Control
/// </summary>
/// <param name="args">arguments for HostDataChanged</param>
public override void BeforeDCHostDataChanged(CustomFlexScreenArguments args)
{
   var designControl = args.Control as FlexDesignUserControl;
   if (designControl == null) return;
   MessageBox.Show(designControl.Name + " before HostDataChange (DC)");
}

Globaler Code nach HostDataChanged eines Design Controls

Die folgende Routine wird nach dem Ereignisse HostDataChanged des Design Controls ausgeführt.
Der Parameter args.CancelDefaultRoutine hat keine Funktion.

/// <summary>
/// called after HostDataChanged of a Design Control
/// </summary>
/// <param name="args">arguments for HostDataChanged</param>
public override void AfterDCHostDataChanged(CustomFlexScreenArguments args)
{
   var designControl = args.Control as FlexDesignUserControl;
   if (designControl == null) return;
   MessageBox.Show(designControl.Name + " after HostDataChange (DC)");
}

unlisted #2

listed #3