MACXT_Programmes = {}
MACXT_Fichiers_Programmes = System.listDirectory(MACXT_Path.."/Programs/")
MACXT_Fichiers_Programmes_Nombre = table.getn(MACXT_Fichiers_Programmes)
part_Programmes = 3
Maxselect_MACXT = 1
Selecteur_MACXT_Programmes_Dock = 3
PosX_Selecteur_MACXT_Programmes_Dock = 10
Afficher_Dock_Programmes_Now = 0
function MACXT_Programmes:NewAppli_MACXT()
   Other_Process = 0
   Afficher_Erreur_MACXT = 0
   MACXT_Repertoire:Repertoire_Menu()
   MACXT_Repertoire:Actualise_Menu()
   MACXT_Repertoire:Actualise_Systeme_Barre()
   MACXT_Repertoire:Actualise_Properties()
   MACXT_Repertoire:Actualise_Fonction()
   MACXT_Repertoire:Actualise_Texte_Window()
   MACXT_Repertoire:Actualise_Draw_Button()
   MACXT_Repertoire:Actualise_Personnal_Texte()
   PosY_Selecteur_MACXT_Menu = MACXT_Barre1:height() + 8
   PosX_Selecteur_MACXT_Barre = MACXT_Barre1:width()
   PosY_Selecteur_MACXT_Barre_Fonction = MACXT_Barre1:height() + 5
   if Posy_Personnal_Texte then
      PosY_Selecteur_Personnal_Texte = Posy_Personnal_Texte
   end
   Selecteur_MACXT_Menu = 1
   Selecteur_MACXT_Barre_Fonction = 1
   Selecteur_MACXT_Barre = 0
   Selecteur_MACXT_Properties = 1
   Selecteur_Button_MACXT = 1
   Selecteur_Personnal_Texte = 1
   Action_Barre = nil
   NombreChoixMACXT = nil
   Afficher_Programmes_MACXT__ = 0
   MACXT_Fichiers_Programmes_Nombre__ = 0
   Afficher_Personnal_Window = 0
   y = 200
   MACXT_Repertoire:Anti_Bug()
end
function MACXT_Programmes:Afficher_Programmes_MACXT()
   PosX_Programmes_MACXT = 10
   if MACXT_Menu_Afficher_Menu ~= 1 then
      for Programmes_MMACXT=part_Programmes,part_Programmes + 5 do
         if Programmes_MMACXT == MACXT_Fichiers_Programmes_Nombre + 1 then break end
            if MACXT_Fichiers_Programmes[Programmes_MMACXT].directory == true then
               if string.len(MACXT_Fichiers_Programmes[Programmes_MMACXT].name) > 7 then
			      file_Applications = string.sub(MACXT_Fichiers_Programmes[Programmes_MMACXT].name,0,7)-- .. "..."
		        else
			      file_Applications = MACXT_Fichiers_Programmes[Programmes_MMACXT].name
		       end
               longueur = string.len(MACXT_Fichiers_Programmes[Programmes_MMACXT].name)
               screen:blit(PosX_Programmes_MACXT,205,ImgDir_MACXT)
               --screen:fillRect(PosX_Programmes_MACXT+3,248,PosX_Programmes_MACXT + string.len(MACXT_Fichiers_Programmes[Programmes_MMACXT].name)*8.5-PosX_Programmes_MACXT,12,Color.new(0,0,255))
               screen:print(PosX_Programmes_MACXT+10,250,file_Applications,Color.new(255,255,255))
            end
            Maxselect_MACXT = Maxselect_MACXT + 1
            PosX_Programmes_MACXT = PosX_Programmes_MACXT + 70
      end
   end
end
function MACXT_Programmes:Entrer_Programme()
   System.currentDirectory(System.currentDirectory().."/"..MACXT_Fichiers_Programmes[Selecteur_MACXT_Programmes_Dock].name)
   dofile("Index.lua")
end
function MACXT_Programmes:Run_Dock_Programmes()
   if Afficher_Dock_Programmes_Now == 1 then
      Afficher_Programmes_MACXT__ = 1
   end
   if Afficher_Programmes_MACXT__ ~= 1 then
      oldpad = nil
      Selecteur_MACXT_Programmes_Dock = 3
      PosX_Selecteur_MACXT_Programmes_Dock = 10
      part_Programmes = 3
   end
   if Afficher_Dock_Programmes_Now ~= 1 then
      if y > 267 then
         Afficher_Programmes_MACXT__ = 1
      end
   end
   if Afficher_Erreur_MACXT == 1 then
      MACXT_Graphic:New_Textes()
      Window_Hauteur = 105
      Window_Longueur = 265
      MACXT_Graphic:Init_New_Personnal_Window()
      MACXT_Title = "Erreur"
      MACXT_Texte_Window[1] = {Caption = "Impossible de lancer"}
      MACXT_Texte_Window[2] = {Caption = "l'application, veuillez"}
      MACXT_Texte_Window[3] = {Caption = "verifier que tous les fichiers"}
      MACXT_Texte_Window[4] = {Caption = "sont presents."}
      MACXT_Repertoire:Actualise_Texte_Window()
      Affichage_Button = "Horizontal_Drawing"
      MACXT_Draw_Button[1] = {Caption = "Choisir Boot",Action = "Choose_Boot"}
      MACXT_Draw_Button[2] = {Caption = "Annuler",Action = "Fermer_Fenetre"}
      MACXT_Repertoire:Actualise_Draw_Button()
      if Action_Button == "Fermer_Fenetre" then
         Afficher_Erreur_MACXT = 0
         MACXT_Repertoire:Anti_Bug()
      end
      if Action_Button == "Choose_Boot" then
         Finder_Module_Directory = MACXT_Path.."/Programs/"..Selecteur_MACXT_Programmes_Dock
         Module_Finder:Init_Finder_Module()
         Afficher_Erreur_MACXT = 0
         MACXT_Repertoire:Anti_Bug()
      end
      if Afficher_Erreur_MACXT == 0 then
         Afficher_Personnal_Window = 0
      end
   end
   if Afficher_Programmes_MACXT__ == 1 then
      Other_Process = 1
      screen:blit(0,5,MACXT_Dock_Image)
      MACXT_Programmes:Afficher_Programmes_MACXT()
      System.currentDirectory(MACXT_Path.."/Programs")
      if x >= 10 and x <= 420 and y >= 200 and y <= 272 and Afficher_Aide_MACXT == 1 then
         MACXTAide = MACXT_Fichiers_Programmes[Selecteur_MACXT_Programmes_Dock].name
      end
      if x > PosX_Selecteur_MACXT_Programmes_Dock + 70 and x < 410 then
         Selecteur_MACXT_Programmes_Dock = Selecteur_MACXT_Programmes_Dock + 1
         PosX_Selecteur_MACXT_Programmes_Dock = PosX_Selecteur_MACXT_Programmes_Dock + 70
      end
      if x < PosX_Selecteur_MACXT_Programmes_Dock and Selecteur_MACXT_Programmes_Dock > 3 then
         Selecteur_MACXT_Programmes_Dock = Selecteur_MACXT_Programmes_Dock - 1
         PosX_Selecteur_MACXT_Programmes_Dock = PosX_Selecteur_MACXT_Programmes_Dock - 70
      end
      if MACXT_Fichiers_Programmes_Nombre > 6 then
         if MACXTKeyPad:r() and part_Programmes < MACXT_Fichiers_Programmes_Nombre-5 then
            Selecteur_MACXT_Programmes_Dock = Selecteur_MACXT_Programmes_Dock + 1
            part_Programmes = part_Programmes + 1
         end
      end
      if MACXTKeyPad:l() then
         if part_Programmes > 3 then
            part_Programmes = part_Programmes - 1
            Selecteur_MACXT_Programmes_Dock = Selecteur_MACXT_Programmes_Dock - 1
         end
       end
      if MACXTKeyPad:cross() and y >= 205 then
	     System.sleep(300)
         System.currentDirectory(System.currentDirectory().."/"..MACXT_Fichiers_Programmes[Selecteur_MACXT_Programmes_Dock].name)
         fichiers_Programmes = nil
         fichiers_Programmes = System.listDirectory()
         n_fichiers_Programmes = table.getn(fichiers_Programmes)
         for e=1,n_fichiers_Programmes do
            if e == n_fichiers_Programmes + 1 then break end
            if fichiers_Programmes[e].name == "Index.lua" or fichiers_Programmes[e].name == "index.lua" then
               dofile("Index.lua")
             else
               --Afficher_Erreur_MACXT = 1
               Afficher_Programmes_MACXT__ = 0
            end
         end
         Afficher_Programmes_MACXT__ = 0
         y = y - 2
      end
      if y < 200 then
	     Other_Process = 0
         Afficher_Programmes_MACXT__ = 0
      end
   end
end
