Gestion des clic EplorerTreeGadget & ExplorerListGadget [Ok]
Publié : jeu. 22/avr./2010 15:10
Salut à tous !
j'ai encore un problème (pour changer
).
Cette fois ci je n'arrive pas a faire marcher le EventType() qui doit
me permettre de récupérer les clic de la souris.
Je pense ne pas l'avoir placé au bon endroit, d'après mon manque d'expérience
je dirai qu'il entre en "conflit" avec la mise a jour auto du chemin affiché par les
gadgets, de plus le fait d'avoir plusieurs fenêtres filles possibles complique encore
la chose pour mon petit niveau.
J'ai pourtant bien essayé avec l'aide mais la description est très simpliste et
ayant beaucoup de "merdier" dans mon programme, je n'arrive pas à le faire
cohabiter avec le reste du programme.
J'ai aussi effectué une recherche mais je n'ai pas trouvé de quoi régler mon problème
De plus j'ai une réaction étrange de la part du ExplorerListGadget si je sélectionne
un fichier dans le ExplorerTreeGadget adjacent, a savoir que seul le fichier sélectionné
est affiché à présent :
avant :

après :

La je ne sais pas si c'est normal ou si c'est un bug.
Si quelqu'un passant par là peux me donner un petit coup de main, ce serait avec
grand plaisir!
j'ai encore un problème (pour changer

Cette fois ci je n'arrive pas a faire marcher le EventType() qui doit
me permettre de récupérer les clic de la souris.
Je pense ne pas l'avoir placé au bon endroit, d'après mon manque d'expérience
je dirai qu'il entre en "conflit" avec la mise a jour auto du chemin affiché par les
gadgets, de plus le fait d'avoir plusieurs fenêtres filles possibles complique encore
la chose pour mon petit niveau.
J'ai pourtant bien essayé avec l'aide mais la description est très simpliste et
ayant beaucoup de "merdier" dans mon programme, je n'arrive pas à le faire
cohabiter avec le reste du programme.
J'ai aussi effectué une recherche mais je n'ai pas trouvé de quoi régler mon problème

De plus j'ai une réaction étrange de la part du ExplorerListGadget si je sélectionne
un fichier dans le ExplorerTreeGadget adjacent, a savoir que seul le fichier sélectionné
est affiché à présent :
avant :

après :

La je ne sais pas si c'est normal ou si c'est un bug.
Si quelqu'un passant par là peux me donner un petit coup de main, ce serait avec
grand plaisir!
Code : Tout sélectionner
ExamineDesktops()
T_x_Window = DesktopWidth(0)
T_y_Window = DesktopHeight(0)
#Flag = #PB_Window_MaximizeGadget | #PB_Window_Maximize | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_WindowCentered
#Flag_EG = #PB_Explorer_AlwaysShowSelection | #PB_Explorer_NoDriveRequester
Enumeration
#Window
#Window_Lov
#Editor_Menu = 20
#Editor_Menu_Lov
#Editor_Menu_Fermer
#Editor_Menu_Quit
#Editor_Lov_Web = 200
#Editor_Lov_ETG
#Editor_Lov_ELG
EndEnumeration
Procedure Editor_Lov()
T_x_Window = DesktopWidth(0)
T_y_Window = DesktopHeight(0)
P_x_ETG = 0
P_y_ETG = 0
T_x_ETG = T_x_Window/3
T_y_ETG = T_y_Window/2
P_x_ELG = T_x_Window/3
P_y_ELG = 0
T_x_ELG = (T_x_Window/3)*2
T_y_ELG = T_y_Window/2
P_x_Web = 0
P_y_Web = T_y_Window/2
T_x_Web = T_x_Window-2
T_y_Web = T_y_Window/2
MDIGadget(0, 0, 0, 0, 0, 1, 1, #PB_MDI_BorderLess | #PB_MDI_AutoSize)
AddGadgetItem(0, #Window_Lov, "Lovable")
SetWindowState(#Window_Lov, #PB_Window_Maximize)
WebGadget(#Editor_Lov_Web, P_x_Web,P_y_Web, T_x_Web, T_y_Web, "www.google.fr")
EG_Lov$ = "C:\"
ExplorerTreeGadget(#Editor_Lov_ETG, P_x_ETG, P_y_ETG, T_x_ETG, T_y_ETG, EG_Lov$)
ExplorerListGadget(#Editor_Lov_ELG, P_x_ELG, P_y_ELG, T_x_ELG, T_y_ELG, EG_Lov$)
SetGadgetItemAttribute(#Editor_Lov_ELG, 0, #PB_Explorer_ColumnWidth, 455, 0)
SetGadgetItemAttribute(#Editor_Lov_ELG, 0, #PB_Explorer_ColumnWidth, 100, 1)
SetGadgetItemAttribute(#Editor_Lov_ELG, 0, #PB_Explorer_ColumnWidth, 160, 2)
SetGadgetItemAttribute(#Editor_Lov_ELG, 0, #PB_Explorer_ColumnWidth, 120, 3)
UseGadgetList(WindowID(#Window))
EndProcedure
If OpenWindow(#Window, 0, 0, T_x_Window, T_y_Window, "Programme_main", #Flag)
CreateMenu(#Editor_Menu, WindowID(#Window))
MenuTitle("Fichier")
MenuItem(#Editor_Menu_Lov, "Lovable" + Chr(9) + "Ctrl+2")
AddKeyboardShortcut(#Window, #PB_Shortcut_Control | #PB_Shortcut_2, #Editor_Menu_Lov)
MenuBar()
MenuItem(#Editor_Menu_Fermer, "Fermer" + Chr(9) + "Ctrl+W")
AddKeyboardShortcut(#Window, #PB_Shortcut_Control | #PB_Shortcut_W, #Editor_Menu_Fermer)
MenuBar()
MenuItem(#Editor_Menu_Quit, "Quitter" + Chr(9) + "Crtl+Q")
AddKeyboardShortcut(#Window, #PB_Shortcut_Control | #PB_Shortcut_Q, #Editor_Menu_Quit)
Quit = 0
Repeat
Event = WaitWindowEvent()
Select EventWindow()
Case #Window_Lov
Select Event
Case #PB_Event_CloseWindow : CloseWindow(#Window_Lov)
Case #PB_Event_Gadget
Select EventGadget()
Case #Editor_Lov_ETG : Chemin_ETG_Lov_0$ = GetGadgetText(#Editor_Lov_ETG) : SetGadgetText(#Editor_Lov_ELG , Chemin_ETG_Lov_0$)
Select EventType()
Case #PB_EventType_LeftClick
Case #PB_EventType_RightClick : ;menu a mettre
Case #PB_EventType_LeftDoubleClick : File$ = GetGadgetItemText(#Editor_Lov_ETG,0 ,0) : OpenFile(0, Chemin_ETG_Lov_0$ + File$)
EndSelect
Case #Editor_Lov_ELG : Chemin_ELG_Lov_0$ = GetGadgetText(#Editor_Lov_ELG) : SetGadgetText(#Editor_Lov_ETG , Chemin_ELG_Lov_0$)
Select EventType()
Case #PB_EventType_LeftClick
Case #PB_EventType_RightClick : ;menu a mettre
Case #PB_EventType_LeftDoubleClick : File$ = GetGadgetItemText(#Editor_Lov_ELG,0 ,0) : OpenFile(0, Chemin_ELG_Lov_0$ + File$)
EndSelect
EndSelect
EndSelect
Case #Window
Select Event
Case #PB_Event_CloseWindow : Quit = 1
Case #PB_Event_Menu
Select EventMenu()
Case #Editor_Menu_Lov : Editor_Lov()
Case #Editor_Menu_Fermer : NumeroFenetre = GetActiveWindow() : FenetreActive = GetGadgetState(NumeroFenetre) : CloseWindow(FenetreActive)
Case #Editor_Menu_Quit : Quit = 1
EndSelect
EndSelect
EndSelect
Until Quit = 1
EndIf