Je construis un outil graphique pour les programmeurs pour faciliter l'utilisation d'une bibliothèque. La bibliothèque a un type de données que j'appellerai AbstractType
dont tous les types héritent de - Image
, File
, etc. La liste des types d'objets est énumérable.
Lorsque l'utilisateur spécifie l'objet AbstractType
dans la feuille de propriétés, comment dois-je organiser le formulaire?
Ma pensée actuelle est quelque chose comme ceci:
télécharger la source bmml - Wireframes créés avec Balsamiq Mockups
Fondamentalement, le type est modifié sur un onglet, ce qui modifie le formulaire sur l'autre onglet. Donc, si vous choisissez Image
, l'autre onglet aurait des champs pour "Largeur", "Hauteur", etc., mais si vous passiez ensuite à File
, l'autre onglet changerait ses champs pour avoir un champ "chemin".
Autrement dit: N'UTILISEZ PAS D'OUTILS.
Ce n'est pas à cela que les onglets sont destinés, alors utilisez simplement la boîte que vous avez. Une fois que l'utilisateur a sélectionné le type, affichez les champs que vous avez dans le deuxième onglet, uniquement ceux juste en dessous du champ de sélection que vous avez dans la première case. Fondamentalement: n'utilisez qu'une seule case et supprimez les onglets, puis le "type abstrait" ne rendra aucune utilisation, problème ergo résolu, le type sera visible à tout moment, vous n'aurez pas besoin d'étiquettes et les utilisateurs seront conscients qu'en changeant la liste déroulante, ils peuvent changer le type selon les besoins, sans avoir besoin d'aller et venir
Pour développer le point de Devin ...
Les onglets masquent le changement d'état, demandant aux utilisateurs de savoir ce que vous voulez sans l'aide d'indices visuels. Lorsqu'une interaction change l'état d'une autre chose, rendez ce changement évident. Dans ce cas, changer le premier contrôle devrait faire apparaître immédiatement les contrôles supplémentaires (une petite animation pour adoucir le changement est toujours appréciée).
Lorsque cela est possible, il est agréable de faire savoir aux utilisateurs à quoi s'attendre à l'avance. Si les contrôles supplémentaires ont été normalisés d'un "type d'objet" au suivant, vous pouvez les afficher dans un état désactivé. Dans votre cas, il semble que les paramètres supplémentaires (s'ils existent) seront différents d'un type d'objet au suivant. Dans de tels cas, je préfère simplement les remplir à la demande.