UIQ: Programmer « touch »
C’est le pari fou que je me suis lancĂ©, il y’a un petit moment dĂ©jĂ . Dès que j’ai reçu mon W950i, j’ai commencĂ© Ă chercher des moyens de programmer mes propres applications UIQ 3, en fouinant dans le framework de base UIQ, et dans les developing tricks de Sony Ericsson, parmi d’autres.
J’ai ainsi rĂ©uni quelques centaines de Mo en pdf de documentation sur UIQ, les 3 tomes de « Programming for Symbian OS », et d’autres.
En fait, mon projet, un peu fou, est nĂ© quand j’ai vu que l’API de base UIQ est tout simplement gĂ©nial. De lĂ sont venus plusieurs idĂ©es, trĂ©s simples Ă implĂ©menter, je me demande d’ailleurs pourquoi personne n’y avait pensĂ©:
-Un gestionnaire de contacts Finger-Friendly:
du scroll iPhone-like, en utilisant la classe CContacts, pour gérer les interactions avec la base de données des contacts :
void CContactDataView::RetrieveContactDetailsL()
Et une classe que l’on crĂ©era, CAutoscroller, qui hĂ©rite de CTimer, trĂ©s logiquement, pour reprendre la nomenclature du portail dĂ©veloppeur SE, une classe que l’on crĂ©era donc, qui permettra de dĂ©filer la liste automatiquement, la ListBox plus exactement, avec plusieurs paramètres diffĂ©rents: le iPhone-like, avec un compte Ă rebours au bout duquel le dĂ©filement s’arrĂŞte, progressivement, un dĂ©filement perpĂ©tuel, etc.. On utilisera ici la classe la plus appropriĂ©e Ă l’utilisation au doigt: j’ai nommĂ©:
class CCountAutoScroller : public CAutoScroller
-Un gestionnaire d’applications 3D
Cette fois c’est en naviguant dans la librairie openGL, Embedded Systems dans le cas prĂ©sent, version, c’est d’ailleurs dommage, 1.X; c’est en naviguant dans la documentation donc, que j’ai trouvĂ© de quoi faire un gestionnaire de « fenĂŞtres », un switcher en fait, pour changer rapidement entre les applications, chaque application Ă©tant reprĂ©sentĂ©e sur les faces d’un cube, par une capture du dernier Ă©cran actif de cette app. L’idĂ©e du cube, ça ne s’invente pas, est issue du tutorial OpenGL du site du zĂ©ro, qui m’a donnĂ© une illumination quand j’ai vu ce qu’on pouvait faire en OpenGL. Et maintenant, on voit des publicitĂ©s LG S-Series vantant cette interface. Dire que j’avais eu l’idĂ©e en premier!
De plus, ayant depuis abandonnĂ© le dĂ©veloppement par manque de temps, (bah un bac, y faut ce qu’il faut!) j’ai vu une application en tout point similaire Ă la mienne, mais basĂ©e sur Symbian OS S60 3rd Ed., Nokia en gros. Dommage. Tous des copieurs!
Pour préçiser, j’avait comme idĂ©e de l’intĂ©grer comme plug-in Ă GDesk, la formidable application de Gary M. Leach, qui a sauvĂ© UIQ3, ce monsieur fournissant gĂ©nĂ©reusement un SDK pour dĂ©velopper du plug-in, basĂ© sur le systeme natif de plug-ins du framework UIQ.
-Une DLL Partagée à ces apps, + le support du finger scrolling dans toutes les listboxes
LĂ c’est tout de suite plus compliquĂ©. J’essaie en fait de centraliser le support du fingertouch dans une seule DLL, le problème de la RAM Ă©tant proĂ©minent dans ce genre de plateformes (bah 64Mo de RAM sur mon tĂ©lĂ©phone, 25 au dĂ©marrage, faut faire gaffe)
Et j’essaie en plus de rajouter le support du fingertouch sur les autres listboxes, un peu Ă la manière de l’application du formidable, encore une fois, CellPhoneSoft, Paddissimo, qui consiste en un genre de « surcouche », dans le sens premier du terme cette fois, qui contrĂ´le les applications visibles en transparence en dessous, via l’Ă©mulation de KeyPress’, disponible encore une fois dans le framework UIQ. Les touches que je veut Ă©muler sont ici les diffĂ©rents sens de la molette. Avec toujours, la classe CTimer pour dĂ©finir « l’automatisme » de la chose.
Enfin plein de bonnes choses en fin de compte. Mais de loin pas assez de temps pour tout dĂ©velopper dans les règles de l’art. Vivement que je passe mon bac, et que je commence Ă Ă©tudier, dans ce domaine. Ca me fera des devoirs maisons, mais en facultatif.

