DISABLE BOTTON ADD RECORD (DYNTOOLBAR)

Discussão em 'Progress 4GL' iniciado por carlos, Fevereiro 10, 2010.

  1. carlos

    carlos Membro Participativo

    Te comento que hice lo que me indicaste lo puse en un botton y me funciono, logro desabilitar a todos y si coloco "Add" solo desabilita ese boton, pero cuando entro a otra pagina me vielve a habilitar el boton y como haria para colocar que cada ves que ingrese a esa pagina o a esa hoja me desabilite los botones que necesito.

    Carlos.
  2. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Perdone mi español,
    1 - Si yo entiendo que quieran saber qué caso, a incluir SmartWindow siempre deshabilitar el botón?

    2 - ¿O usted tiene la SmartFolders SmartWindow, y, en algunos casos se puede deshabilitar y habilitar otro?

    Si el caso 1, tratar de crear nuevos procedures para Reemplazar a createObjects o EnableObject, y la prueba antes y después de ejecutar el "RUN SUPER.

    Si desea deshabilitar el resto de botones, no recuerdo si se puede pasar separados por comas o tienen que realizar la función para cada uno.

    Si vuelve a habilitar, se debe revisar la función de EnableAction.

    t +

    by Google
  3. carlos

    carlos Membro Participativo

    Te comento que tengo un smarfolder con 3 paginas y cada pagina tiene un Dyntoolbar, lo que quiero es que se desabiliten algunas funciones del dyntoolbar de la pagina 3 pero de manera automatica.
    Existe algun trigger donde pueda ver los valores del smartfolder y pueda identificar en que pagina estoy ubicadado.

    Espero haberme dejado entender.

    Carlos.
  4. carlos

    carlos Membro Participativo

    Te comento que ya encontre las funciones que hacen que se desabiliten definitivamente los botones son las siguientes:

    DYNAMIC-FUNCTION("setDisabledActions":U IN h_dyntoolbar-5, "Add,Copy,Delete" /* CHARACTER */).
    DYNAMIC-FUNCTION("disableActions":U IN h_dyntoolbar-5, INPUT "Add,Copy,Delete" /* CHARACTER */).


    Solo falta poner esto cuando haga un RUN smartwindows.w me desabilite definitivamente los bontones del dyntoolbar de la pagina 3.

    Voy a seguir haciendo experimientos y si encuentras algo que me pueda ayudar me escribes por favor.

    Carlos.
  5. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Vale,

    El problema es que su DynaToolbar sólo se carga cuando se carga la Folder, de modo que el error cuando se coloca en el caso de la creación y SmartWindow inicialización.

    Reemplazar crea un evento de "changePage y después de la súper se corre el siguiente comando, y devuelve el identificador de la Folder, dar si ejecuta 3 de las funciones para desactivarlo.
    Código:
    /*------------------------------------------------------------------------------
      Purpose:     Super Override changePage
      Parameters:  
      Notes:       
    ------------------------------------------------------------------------------*/
    
      /* Code placed here will execute PRIOR to standard behavior. */
    
      RUN SUPER.
    
      /* Code placed here will execute AFTER standard behavior.    */
    
      IF DYNAMIC-FUNCTION('getCurrentPage':U) = 3 THEN
      DO:
          DYNAMIC-FUNCTION("setDisabledActions":U IN h_dyntoolbar-5, "Add,Copy,Delete" /* CHARACTER */).
          DYNAMIC-FUNCTION("disableActions":U IN h_dyntoolbar-5, INPUT "Add,Copy,Delete" /* CHARACTER */).
      END.
    
    
    [] 's
  6. carlos

    carlos Membro Participativo

    Mira que encontre donde poder colocar esas funciones para que cuando entre a esas paginas en el smartfolder:

    Es un procedimiento dentro del smartwindows y se llama (selectPage)

    /*------------------------------------------------------------------------------
    Purpose: Super Override
    Parameters:
    Notes:
    ------------------------------------------------------------------------------*/

    DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.

    /* Code placed here will execute PRIOR to standard behavior. */

    RUN SUPER( INPUT piPageNum).

    /* Code placed here will execute AFTER standard behavior. */

    CASE getCurrentPage(): /* Funcion que devuelve el nro. de la pagina */
    WHEN 0 THEN DO:
    END.
    WHEN 1 THEN DO:
    END.
    WHEN 2 THEN DO:
    END.
    WHEN 3 THEN DO:
    /*MESSAGE "Pagina: " getCurrentPage() VIEW-AS ALERT-BOX.*/
    DYNAMIC-FUNCTION('setDisabledActions':U IN h_dyntoolbar-5, INPUT "Add,Copy,Delete" /* CHARACTER */).
    DYNAMIC-FUNCTION('disableActions':U IN h_dyntoolbar-5, INPUT "Add,Copy,Delete" /* CHARACTER */).

    DYNAMIC-FUNCTION('setDisabledActions':U IN h_dyntoolbar-6, INPUT "Copy" /* CHARACTER */).
    DYNAMIC-FUNCTION('disableActions':U IN h_dyntoolbar-6, INPUT "Copy" /* CHARACTER */).
    END.
    END CASE.

    END PROCEDURE.


    Haber si me puedes dar una mano para poder adicionar un botton al dynToolbar.

    Muchas gracias amigo.

    Carlos.

Compartilhe esta Página