Je suis nouveau sur RCP et j'essaie de créer une nouvelle vue ou un nouvel éditeur. À l'état actuel, je suis en train d'étendre ViewPart
.Utilisation d'une partie éditeur dans un composite
La mise en page que je veux réaliser est une SashForm
où les deux côtés ont un CTabFolder
. Un des côtés de SashForm
est fondamentalement un MultiPageEditorPart
. L'un de ses onglets devrait être un éditeur pour un langage spécifique avec la coloration syntaxique et des fonctionnalités similaires. D'après ce que je comprends, je pourrais étendre AbstractTextEditor
pour cela (et peut-être l'utiliser comme un onglet d'un MultiPageEditorPart
).
Si je tente de réaliser cette mise en page avec un ViewPart
comme conteneur de niveau supérieur qui contient une SashForm
, je ne peux pas ajouter un EditorPart
à l'un des côtés de la SashForm
. Bien sûr, je pourrais mettre en œuvre cet éditeur à partir de zéro comme Composite
mais je veux éviter cela.
Je suis également prêt à utiliser un EditorPart
ou MultiPageEditorPart
comme conteneur de niveau supérieur, mais alors je devrais trouver un moyen de faire fonctionner la mise en page SashForm
. L'éditeur entier devrait être divisé en premier et chaque côté devrait avoir des onglets.
Est-ce que quelqu'un a une idée pour résoudre ce problème?
Si quelque chose n'est pas clair s'il vous plaît demander. J'ai l'impression d'avoir mis cela en mots un peu compliqué.
Qu'est-ce qui détermine votre décision de coller les deux "faces" principales de votre vue avec le 'SashForm'? Je suis sûr que vous avez une raison, mais peut-être pourriez-vous vous en dissuader? Compte tenu des complexités que vous achetez, je me demande s'il ne vaudrait pas mieux laisser chacun de ces deux côtés vivre dans son propre 'ViewPart'. L'un pourrait être un 'MultiPageEditorPart' et l'autre' CTabFolder'. Cela donnerait à vos utilisateurs plus de liberté pour positionner les deux pièces sur leurs écrans. – stracka
J'ai réfléchi à ça. La vue est une interface de recherche. L'un des côtés est pour la formulation de la requête l'autre pour les résultats. De cette façon, je veux soutenir le processus cyclique de validation des résultats et de raffinement des requêtes par l'utilisateur. Si je le divise en deux vues, cela peut fonctionner avec une recherche ouverte à la fois. Avec plus d'un (ce qui est une exigence), l'utilisateur aurait du mal à attribuer une vue de résultat à sa requête. –
Garder ces deux pièces collées semble une bonne idée. Je pense que vous devriez juste faire un 'ViewPart' qui a un composant d'édition de texte de quelque sorte sur la gauche, au lieu d'un' EditorPart'. Tout ce que 'EditorPart' est vraiment en train de vous acheter est la gestion de drapeau sale et Save support; coloration syntaxique et ainsi de suite, vous pouvez obtenir à partir d'une variété de différents contrôles de texte là-bas. – stracka