coloration syntaxique de l'editeur !!
Publié : jeu. 01/sept./2005 11:10
.....
Forums PureBasic - Français
https://www.purebasic.fr/french/
cela n'a rien a voir avec la Lib !MetalOS a écrit :Ben moi je l'utilise dans mon editeur html mais le probleme quand j'utilise la molette de la souris pour naviger dans ma source html le prog par en vrie, le contenue de mon Editor Gadget devient fou, et je ne c pas pourquoi ?
Code : Tout sélectionner
;*********************************************
; Source By MetalOS
; Utilisation de l'user lib SyntaxHighlighting
; Code pour PB 4.00
;*********************************************
Enumeration
#Window_0
EndEnumeration
Enumeration
#Editor_0
#Text_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 216, 0, 350, 292, "Colorisation syntaxique", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
EditorGadget(#Editor_0, 15, 55, 315, 215)
TextGadget(#Text_0, 5, 5, 335, 35, "Exemple de colorisation syntaxique avec la lib SyntaxHighlighting")
EndIf
EndIf
EndProcedure
Open_Window_0()
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
If Event = #PB_Event_Gadget
If GadgetID = #Editor_0
;Code de la colorisation
ClearHighlightingAll(0, RGB(0, 0, 0), 8, "Georgia", 0)
SyntaxHighlightingAll(0, "html|HTML|/html|/HTML|title|TITLE|/title|/TITLE|/HEAD|head|/head|HEAD", "|", RGB(255, 0, 0), RGB(255, 255, 255), 8, "Georgia", 0)
SyntaxHighlightingAll(0, "body|BODY|/body|/BODY|body|BODY", "|", RGB(255, 0, 0), RGB(255, 255, 255), 8, "Georgia", 0)
SyntaxHighlightingAll(0, "abbr|ABBR|/abbr|/ABBR|acronym|ACRONYM|/acronym|/ACRONYM|address|ADDRESS|/address|/ADDRESS", "|", RGB(0, 0, 255), RGB(255, 255, 255), 8, "Georgia", 0)
SyntaxHighlightingAll(0, "<>|/0/1/2/3/4/5/6/7/8/9", "/", RGB(0, 0, 255), RGB(255, 255, 255), 8, "Georgia", 0)
HideGadget(0, 0)
;fin fu code dee la colorisation
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
End
SyntaxHighlightingLine
;*********************************************
; Source By MetalOS
; Utilisation de l'user lib SyntaxHighlighting
; Code pour PB 4.00
;*********************************************
Enumeration
#Window_0
EndEnumeration
Enumeration
#Editor_0
#Text_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow ( #Window_0 , 216, 0, 350, 292, "Colorisation syntaxique" , #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList ( WindowID ( #Window_0 ))
EditorGadget ( #Editor_0 , 15, 55, 315, 215)
TextGadget ( #Text_0 , 5, 5, 335, 35, "Exemple de colorisation syntaxique avec la lib SyntaxHighlighting" )
EndIf
EndIf
EndProcedure
Open_Window_0()
Repeat
Event = WaitWindowEvent ()
WindowID = EventWindow ()
GadgetID = EventGadget ()
EventType = EventType ()
If Event = #PB_Event_Gadget
If GadgetID = #Editor_0
;Code de la colorisation
ClearHighlightingLine (0, RGB (0, 0, 0), 8, "Georgia" , 0)
SyntaxHighlightingLine (0, "html|HTML|/html|/HTML|title|TITLE|/title|/TITLE|/HEAD|head|/head|HEAD" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 8, "Georgia" , 0)
SyntaxHighlightingLine (0, "body|BODY|/body|/BODY|body|BODY" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 8, "Georgia" , 0)
SyntaxHighlightingLine (0, "abbr|ABBR|/abbr|/ABBR|acronym|ACRONYM|/acronym|/ACRONYM|address|ADDRESS|/address|/ADDRESS" , "|" , RGB (0, 0, 255), RGB (255, 255, 255), 8, "Georgia" , 0)
SyntaxHighlightingLine (0, "<>|/0/1/2/3/4/5/6/7/8/9" , "/" , RGB (0, 0, 255), RGB (255, 255, 255), 8, "Georgia" , 0)
HideGadget (0, 0)
;fin fu code dee la colorisation
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
End
;*********************************************
; Source By MetalOS
; Utilisation de l'user lib SyntaxHighlighting
; Code pour PB 4.00
;*********************************************
Enumeration
#Window_0
EndEnumeration
Enumeration
#Editor_0
#Text_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow ( #Window_0 , 216, 0, 350, 292, "Colorisation syntaxique" , #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList ( WindowID ( #Window_0 ))
EditorGadget ( #Editor_0 , 15, 55, 315, 215)
TextGadget ( #Text_0 , 5, 5, 335, 35, "Exemple de colorisation syntaxique avec la lib SyntaxHighlighting" )
EndIf
EndIf
EndProcedure
Open_Window_0()
; a faire une fois apres le chargement de ta page ! -<<<<<<<<<<<<<<<< DOBRO
ClearHighlightingAll (0, RGB (0, 0, 0), 8, "Georgia" , 0)
SyntaxHighlightingAll (0, "html|HTML|/html|/HTML|title|TITLE|/title|/TITLE|/HEAD|head|/head|HEAD" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 8, "Georgia" , 0)
SyntaxHighlightingAll (0, "body|BODY|/body|/BODY|body|BODY" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 8, "Georgia" , 0)
SyntaxHighlightingAll (0, "abbr|ABBR|/abbr|/ABBR|acronym|ACRONYM|/acronym|/ACRONYM|address|ADDRESS|/address|/ADDRESS" , "|" , RGB (0, 0, 255), RGB (255, 255, 255), 8, "Georgia" , 0)
SyntaxHighlightingAll (0, "<>|/0/1/2/3/4/5/6/7/8/9" , "/" , RGB (0, 0, 255), RGB (255, 255, 255), 8, "Georgia" , 0)
HideGadget (0, 0)
Repeat
Event = WaitWindowEvent ()
WindowID = EventWindow ()
GadgetID = EventGadget ()
EventType = EventType ()
If Event = #PB_Event_Gadget
If GadgetID = #Editor_0
EndIf
EndIf
; en fin de Boucle ça suffit !
; ne pas metre dans l'event editeur !! sinon il colorie en permanence ! <<<<<<<< DOBRO
;Code de la colorisation
ClearHighlightingLine (0, RGB (0, 0, 0), 8, "Georgia" , 0)
SyntaxHighlightingLine (0, "html|HTML|/html|/HTML|title|TITLE|/title|/TITLE|/HEAD|head|/head|HEAD" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 8, "Georgia" , 0)
SyntaxHighlightingLine (0, "body|BODY|/body|/BODY|body|BODY" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 8, "Georgia" , 0)
SyntaxHighlightingLine (0, "abbr|ABBR|/abbr|/ABBR|acronym|ACRONYM|/acronym|/ACRONYM|address|ADDRESS|/address|/ADDRESS" , "|" , RGB (0, 0, 255), RGB (255, 255, 255), 8, "Georgia" , 0)
SyntaxHighlightingLine (0, "<>|/0/1/2/3/4/5/6/7/8/9" , "/" , RGB (0, 0, 255), RGB (255, 255, 255), 8, "Georgia" , 0)
HideGadget (0, 0)
;fin fu code dee la colorisation
Until Event = #PB_Event_CloseWindow
End
comme expliqué dans l'exemple du dessusMetalOS a écrit :Oui mais si j'ouvre dans mon application un source html la colorisation de toute les lignes ne ce fait pas, sauf si je pointe mon curseur sur la ligne concernée.
c'est parceque les fonctions "SyntaxHighlightingLine"Parcontre le curseur clignote asser rapidement quand j'ecrit le mot qu'il va colorer, c normale ?