Page 1 sur 2
[RESOLU][CanvasGadget] Perte de Focus après appui sur CTRL
Publié : lun. 01/oct./2012 11:04
par grabiller
Bonjour,
Ayant implémenté un widget d'entrée de texte avec le CanvasGadget, je suis confronté à un petit soucis sous Linux (Ubuntu 12.04.1):
Lorsque le CanvasGadget a le focus et que j'appuie sur CONTROL (+X/+C/+V pour gérer le clipboard) je perds immédiatement le focus. Cette touche est interceptée par le desktop.
Connaissez-vous la ruse pour que je puisse garder le focus lors de l'appui sur cette touche ?
Cordialement,
Guy.
Re: [CanvasGadget] Perte de Focus après appui sur CONTROL
Publié : lun. 01/oct./2012 12:33
par Backup
les callBack existent sous Linux ?
Re: [CanvasGadget] Perte de Focus après appui sur CONTROL
Publié : lun. 01/oct./2012 12:40
par grabiller
callback ?
Re: [CanvasGadget] Perte de Focus après appui sur CONTROL
Publié : lun. 01/oct./2012 13:06
par Fred
Eassie de mettre un AddKeyboardShortcut() pour prendre le controle sur les raccourcis par defaut.
Re: [CanvasGadget] Perte de Focus après appui sur CONTROL
Publié : lun. 01/oct./2012 13:46
par falsam
C'est ce que je fais aussi sous environnement Windows et ça fonctionne aussi sous OSx. par contre je n'ai pas testé sous Linux.
Un peu de code pour illustrer l'utilisation de
AddKeyboardShortcut() Bien qu'il n'y ait pas de menu, les évenements sont gérés comme un événement de menu.
Code : Tout sélectionner
Enumeration
#Mainform
#Canvas
#Kbd_CtrlC
#Kbd_CtrlV
#Kbd_CtrlX
EndEnumeration
Define.l Event, WEvent, MEvent, GEvent, TEvent
Global WindowStyle.i=#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget
Procedure Open_MainForm()
OpenWindow(#Mainform, 0, 0, 500, 400, "New Form", WindowStyle)
CanvasGadget(#Canvas, 10, 10, 480, 380, #PB_Canvas_Keyboard)
;ShortCut
AddKeyboardShortcut(#Mainform, #PB_Shortcut_Control|#PB_Shortcut_C, #Kbd_CtrlC)
AddKeyboardShortcut(#Mainform, #PB_Shortcut_Control|#PB_Shortcut_V, #Kbd_CtrlV)
AddKeyboardShortcut(#Mainform, #PB_Shortcut_Control|#PB_Shortcut_X, #Kbd_CtrlX)
EndProcedure
Procedure Start()
;Initialisation application, police, etc ..
Open_MainForm()
EndProcedure
start()
Repeat
Event = WaitWindowEvent(10)
WEvent = EventWindow()
MEvent = EventMenu()
GEvent = EventGadget()
TEvent = EventType()
Select Event
Case #PB_Event_Menu
Select MEvent
Case #Kbd_CtrlC
Debug "Copy"
Case #Kbd_CtrlV
Debug "Paste"
Case #Kbd_CtrlX
Debug "Delete"
EndSelect
Case #PB_Event_Gadget
Select GEvent
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Re: [CanvasGadget] Perte de Focus après appui sur CONTROL
Publié : lun. 01/oct./2012 14:23
par grabiller
Fred a écrit :Eassie de mettre un AddKeyboardShortcut() pour prendre le controle sur les raccourcis par defaut.
Effectivement, ça marche mieux avec les shortcuts, merci bien.
En plus j'avais l'option "Montrer le curseur lors de l'appui sur CTRL" d'activé dans Ubuntu
Voici ce que ça donne:
http://www.raafal.org/download/raafal.x ... nux.tar.gz
Et sous Windows & MacOSX en passant:
http://www.raafal.org/download/raafal.x ... indows.zip
http://www.raafal.org/download/raafal.x ... macosx.zip
@falsam:
Merci.
Re: [CanvasGadget] Perte de Focus après appui sur CONTROL
Publié : lun. 01/oct./2012 14:28
par falsam
Whaouuu joli ces controles !!! Tous avec un canvas ?
Par contre l'éxe sous Window est déjà bien lourd
Re: [CanvasGadget] Perte de Focus après appui sur CONTROL
Publié : lun. 01/oct./2012 14:32
par grabiller
falsam a écrit :Whaouuu joli ces controles !!! Tous avec un canvas ?
Merci )
Oui tous entièrement dessinés et gérés grâce au CanvasGadget.
Aucun subclassing ou contrôle natif (à part le menu que je n'ai pas encore 'canvaswidgété').
Le menu permet de changer de thème 'light'/'dark'.
Re: [CanvasGadget] Perte de Focus après appui sur CONTROL
Publié : lun. 01/oct./2012 14:36
par falsam
grabiller a écrit :Oui tous entièrement dessinés et gérés grâce au CanvasGadget.
Le menu permet de changer de thème 'light'/'dark'.
Le menu j'ai vu aussi. Bravo. Forcément je suis un peu jaloux du résultat obtenu. Hahahaha. Peut être que tu pourrais faire une lib pour ces différent gadget hein ? En tout cas c'est du beau travail. (j’arrête là la flatterie.)
Re: [CanvasGadget] Perte de Focus après appui sur CONTROL
Publié : lun. 01/oct./2012 14:44
par grabiller
falsam a écrit :../.. Peut être que tu pourrais faire une lib pour ces différent gadget hein ? ../..
Disons que si je fais cela c'est pour ne dépendre d'aucune lib (Qt,etc..) et pour ne coder que ce dont j'ai besoin pour le projet.
Du coup ça n'est justement pas adapté à une lib générique, d'autant que je hardcode un maximum de choses tout en allant à l'essentiel. Donc c'est vraiment spécifique au projet.
Ceci dit, le projet étant opensource tu pourra toujours reprendre le code pour l'adapter à tes besoins.
(les sources seront disponible lors de la première release du framework, d'ici quelques mois sans doute).
Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT
Publié : lun. 01/oct./2012 14:52
par Ar-S
Très belle petite interface. Bravo.
Il ni a que la couleur de la surbrillance (couleur background) du "text label 2" qu'il faudrait changer lors du changement au thème dark.
Pour le thème light aussi mais là il faudrait soit éclaircir le background soit assombrir la couleur texte.
Sinon ça pète
Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT
Publié : lun. 01/oct./2012 17:15
par grabiller
Ar-S a écrit :Très belle petite interface. Bravo.
Il ni a que la couleur de la surbrillance (couleur background) du "text label 2" qu'il faudrait changer lors du changement au thème dark.
Pour le thème light aussi mais là il faudrait soit éclaircir le background soit assombrir la couleur texte.
Sinon ça pète
Merci Ar-S. Tu parles du bleu ou du gris ?
Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT
Publié : lun. 01/oct./2012 18:02
par Ar-S
Je parle du bleu de surbrillance et du gris du texte. Le "fond" gris n'étant pas visible en surbrillance.
Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT
Publié : lun. 01/oct./2012 20:05
par grabiller
Ar-S a écrit :Je parle du bleu de surbrillance et du gris du texte. Le "fond" gris n'étant pas visible en surbrillance.
Je vois merci.
Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT
Publié : lun. 01/oct./2012 22:24
par G-Rom
T'es pas la moitié d'un trou de balle
, superbe la gui. includebinary ou procedural ?