Lun 23/12/2013 - Actualités

Xavier
Administrateur du site
Messages : 817
Enregistré le : mer. 22 juin 2011 18:25

Lun 23/12/2013 - Actualités

Message non lu par Xavier »

ScrollBars


Plusieurs pistes ont été étudiées afin de tenter de corriger l'anomalie suivante :
- P2 - Si trop de composants sont affichés sur la Barre et que la résolution est réduite, les composants sont tronqués.

Le scrolling pouvant être obtenu de plusieurs façons, via des composants existants ou via des méthodes "maison", les premiers prototypes ont été tentés avec des composants existants afin de minimiser le rework et les régressions possibles. C'est le composant PageScroller qui a finalement pu être utilisé, les solutions à base de ScrollBar et ScrolBox n'ont donc pas été essayées sérieusement. Il a quand même fallu plusieurs prototypes afin de trouver une combinaison de composants acceptant de cohabiter correctement.

0) Situation en Beta 08 : ControlBar / Panel / SBP (SBP = SpeedButton, Bevel & Panel, les composants actuels qui permettent de peaufiner le look au pixel près...)
-> Panels tronqués si au delà de la largeur, d'où l'anomalie.

1) PageScroller / ControlBar / Panel / SBP
-> CPU à 100% au move des Panels, raison suspectée : les deux composants de fond entrent en conflit

2) CoolBar / Panel / SBP
-> On essaye la CoolBar, qui donne une barre bombée sous Vista / Seven. Les Panels restent plats, ils ne sont pas prévus pour y être insérés. Il faut casser la Barre actuelle et utiliser les composants liés.

3) CoolBar / ToolBar / ToolButton
-> C'est la combinaison officielle à base de CoolBar (outils d'Internet Explorer), mais les ToolButtons sont très contraignants (libellé, taille, icône). Les solutions à base de ToolButton sont abandonnées.

4) ControlBar / ToolBar / SBP
-> Retour à la ControlBar et son look plat, les ToolBars sont logiquement tronquées comme les Panels, par contre les SBP sont positionnés automatiquement, 1 pixel trop haut, il faut tricher et mettre des Bevels entre chaque composants pour les aérer un peu. Ils se mélangent à l'affichage, un vrai cauchemar. Les solutions à base de ToolBar sont abandonnées.

5) ControlBar / PageScroller / SBP
-> Tentative de mettre un PageScroller par ruban mais il n'accepte qu'un seul composant ! On y est presque...

6) ControlBar / PageScoller / Panel / SBP
-> Le scrolling se fait individuellement par ruban via des minis-boutons qui apparaissent aux extrémités :
SB6.png
La taille minimale des Rubans a été fixée à 100 pixels. Les Menus et le drag-and-drop d'icônes ont dû être retravaillés pour gérer l'impact du scrolling sur les positions relatives des composants, ce qui a pris un peu de temps, les tests devant se faire en machine virtuelle. Le résultat est presque parfait, il reste des "compressions totales" de Ruban dans des cas extrêmes (ex: 10 rubans biens chargés, résolution de 2560*1600 réduite en 800*600, ça ne tient plus) : réduire la taille minimale à ~50 résoudrait ça mais serait gênant pour les autres cas. Avec le recul, cette solution était la seule viable avec la (3), pas mal de temps perdu sur les autres combinaisons... :?
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Denis
Messages : 180
Enregistré le : jeu. 23 juin 2011 09:21

Re: Lun 23/12/2013 - Actualités

Message non lu par Denis »

Eh beh, tu es bien courageux, ou alors tu disposes de pas mal de temps libre pour faire ces tests;-)
Répondre