PureBasic
https://www.purebasic.fr/french/

[RESOLU][CanvasGadget] Perte de Focus après appui sur CTRL
https://www.purebasic.fr/french/viewtopic.php?f=14&t=13209
Page 1 sur 2

Auteur:  grabiller [ Lun 01/Oct/2012 11:04 ]
Sujet du message:  [RESOLU][CanvasGadget] Perte de Focus après appui sur CTRL

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.

Auteur:  Backup [ Lun 01/Oct/2012 12:33 ]
Sujet du message:  Re: [CanvasGadget] Perte de Focus après appui sur CONTROL

les callBack existent sous Linux ?

Auteur:  grabiller [ Lun 01/Oct/2012 12:40 ]
Sujet du message:  Re: [CanvasGadget] Perte de Focus après appui sur CONTROL

callback ?

Auteur:  Fred [ Lun 01/Oct/2012 13:06 ]
Sujet du message:  Re: [CanvasGadget] Perte de Focus après appui sur CONTROL

Eassie de mettre un AddKeyboardShortcut() pour prendre le controle sur les raccourcis par defaut.

Auteur:  falsam [ Lun 01/Oct/2012 13:46 ]
Sujet du message:  Re: [CanvasGadget] Perte de Focus après appui sur CONTROL

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

Auteur:  grabiller [ Lun 01/Oct/2012 14:23 ]
Sujet du message:  Re: [CanvasGadget] Perte de Focus après appui sur CONTROL

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.

Auteur:  falsam [ Lun 01/Oct/2012 14:28 ]
Sujet du message:  Re: [CanvasGadget] Perte de Focus après appui sur CONTROL

Whaouuu joli ces controles !!! Tous avec un canvas ?

Par contre l'éxe sous Window est déjà bien lourd :)

Auteur:  grabiller [ Lun 01/Oct/2012 14:32 ]
Sujet du message:  Re: [CanvasGadget] Perte de Focus après appui sur CONTROL

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'.

Auteur:  falsam [ Lun 01/Oct/2012 14:36 ]
Sujet du message:  Re: [CanvasGadget] Perte de Focus après appui sur CONTROL

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.)

Auteur:  grabiller [ Lun 01/Oct/2012 14:44 ]
Sujet du message:  Re: [CanvasGadget] Perte de Focus après appui sur CONTROL

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).

Auteur:  Ar-S [ Lun 01/Oct/2012 14:52 ]
Sujet du message:  Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT

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 ;)

Auteur:  grabiller [ Lun 01/Oct/2012 17:15 ]
Sujet du message:  Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT

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 ?

Auteur:  Ar-S [ Lun 01/Oct/2012 18:02 ]
Sujet du message:  Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT

Je parle du bleu de surbrillance et du gris du texte. Le "fond" gris n'étant pas visible en surbrillance.

Auteur:  grabiller [ Lun 01/Oct/2012 20:05 ]
Sujet du message:  Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT

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.

Auteur:  G-Rom [ Lun 01/Oct/2012 22:24 ]
Sujet du message:  Re: [RESOLU][CanvasGadget] Perte de Focus après appui sur CT

T'es pas la moitié d'un trou de balle 8O , superbe la gui. includebinary ou procedural ?

Page 1 sur 2 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/