Quintiq file version 2.0
#parent: #root
Method UpdateDialog () id:Method_LibWiz_DialogInitProcess_UpdateDialog
{
  #keys: '[121114.1.2065112131]'
  Body:
  [*
    // Activate panel corresponding to manual step or choice based on current init element
    if( not isnull( DataHolderCurrentInitManualStep.Data() ) )
    {
      LayeredPanel.ActivatePanel( PanelInitManualStep );
      
      manualstep := DataHolderCurrentInitManualStep.Data();
      if( manualstep.IsImage() )
      {
        LayeredPanelDescription.ActivatePanel( PanelImageExplanationManualStep );
        ImageManualStep.Image( manualstep.Description() );
      }
      else
      {
        LayeredPanelDescription.ActivatePanel( PanelEditorExplanation );
      }
      
      Dialog.SetSearchDialogData( EditorDescription );
    }
    else if( not isnull( DataHolderCurrentInitChoice.Data() ) )
    {
      LayeredPanel.ActivatePanel( PanelInitChoice );
      
      Dialog.SetSearchDialogData( EditorExplanation );
    }
    else if( not isnull( DataHolderCurrentInitSequence.Data() ) )
    {
      LayeredPanel.ActivatePanel( PanelInitSequence );
      
      sequencestep := DataHolderCurrentInitSequence.Data();
      if( sequencestep.IsImage() )
      {
        LayeredPanelDescriptionSequence.ActivatePanel( PanelImageExplanationSequenceStep );
        ImageSequenceStep.Image( sequencestep.Description() );
      }
      else
      {
        LayeredPanelDescriptionSequence.ActivatePanel( PanelEditorExplanationSequence );
      }
    
      Dialog.SetSearchDialogData( EditorDescriptionSequence );
    }
    else
    {
      LayeredPanel.ActivatePanel( PanelEmpty );
      Dialog.SetSearchDialogData( null( Editor ) );
    }
    
    // Make sure that current init element remains visible in the list
    key := guard( Dialog.Data().Current().Key(), Key::ZeroKey() );
    if( key <> Key::ZeroKey() )
    {
      ListInitElement.EnsureVisible( Dialog.Data().Current().Key() );
    }
    
    //Update buttons
    Dialog.UpdateButtons();
  *]
}
