//AB/ Project File List
//AB/ Object prj is a Dialog_Project
//AB/     Set ProjectName to "File List"
//AB/     Set ProjectFileName to "GlbFileList.DG"
//AB/     Set GenerateFileName to "NONAME3"

// Project Object Structure
//   oFileLookUp is a ModalPanel
//     File_list is a List
//     OOK_bn is a Button
//     OCancel_bn is a Button

// Register all objects
Register_Object File_list
Register_Object OCancel_bn
Register_Object OOK_bn
Register_Object oFileLookUp



//AB-StoreTopStart
//AB-StoreTopEnd

//AB-IgnoreStart



//AB-IgnoreEnd

CD_Popup_Object oFileLookUp is a ModalPanel

    //AB-StoreTopStart
    Set Minimize_Icon to TRUE
    On_Key KEnter Send KeyEnter
    On_Key KCancel Send Close_Panel

    Procedure KeyEnter
        Send Move_Value_Out To (File_list(Current_Object))
    End_Procedure
    //AB-StoreTopEnd

    Set Label to "Data Files"
    Set Size to 148 133
    Set Location to 4 5

    //AB-DDOStart


    //AB-DDOEnd

    Object File_list is a List
        Set Size to 105 114
        Set Location to 6 7

        //AB-StoreStart
        Procedure Mouse_Click Integer iWin integer iChar
            Forward Send Mouse_Click iWin iChar
            Send Move_value_out
        End_Procedure

        Procedure Activating
           Forward Send Activating
           Send Delete_data
           Send Load_list
        End_Procedure

        function verify_file string sTemp_file returns integer
           integer iRC
           get item_matching sTemp_file  to iRC
           function_return iRC
        end_function

        //--------------------------------------------------------------------->
        // We stash the file number to obtain it from the file name when
        // selected since we use the number to open the file.
        //--------------------------------------------------------------------->
        Procedure Load_list
           String sUser sName
           Integer iArray_obj

           Move (File_array(Current_Object)) To iArray_obj
           Move 0 To Filenumber
           Repeat
              Filelist Next To sUser sName
              If (FOUND)  Begin
                  Send Add_item Msg_none sName
                  SET Array_value Of iArray_obj Item ;
                      (Item_count(iArray_obj)) To Filenumber
              END
           UNTIL (Not(FOUND))

           send sort_items ascending
        End_Procedure

        Procedure Move_value_out
           Integer iCI
           String sFileName
           GET current_item to iCI
           //--------------------------------------------------------------------->
           // Set DF Internal Variable Filenumber
           //--------------------------------------------------------------------->
           GET Integer_value Of (File_array(Current_Object)) Item iCI To FileNumber
           Get Value iCI to sFileName
           Set psFileName to sFileName
           Send Close_Panel
        End_Procedure
        //AB-StoreEnd

    End_Object    // File_list

    Object OOK_bn is a Button
        Set Label to "&Ok"
        Set Location to 115 16

        //AB-StoreStart
        Procedure OnClick
            Send Move_Value_Out To (File_list(Current_Object))
        End_Procedure
        //AB-StoreEnd

    End_Object    // OOK_bn

    Object OCancel_bn is a Button
        Set Label to "&Cancel"
        Set Location to 115 71

        //AB-StoreStart
        Procedure OnClick
            Send Close_Panel
        End_Procedure
        //AB-StoreEnd

    End_Object    // OCancel_bn

CD_End_Object    // oFileLookUp

//AB/ End_Object    // prj