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 :wink:

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 8O , superbe la gui. includebinary ou procedural ?