J'ai besoin pour déterminer si une sélection donnée est entre une ligne de départ et une ligne d'extrémité. J'ai un ILineRange
et un décalage donné dans la fenêtre d'éclipse. (Je dois savoir, si la sélection (d'une partie à distance) a été faite dans la fenêtre actuelle de l'utilisateur local. Malheureusement, je ne peux pas obtenir un ILineRange
de la sélection. Je dois compter sur getOffset() et getLength() .. .
Toute personne a une idée?
Je pense qu'il n'y a pas une solution propre pour cela, comme le décalage (ou les caractères par ligne varient (nouvelles lignes de ligne ou un gros bloc de commentaire).Déterminer si un décalage est entre les numéros de ligne?
4
A
Répondre
1
La conversion entre les positions et les compensations peut être fait avec l'API de IDocument (méthodes autour getLine *()). (Je ne suis pas sûr que je bien compris votre question, mais j'espère que cette information est utile.)
1
peut-être que vous pouvez vérifier si cette org.eclipse.linuxtools.dataviewers.annotatedsourceeditor.STOverviewRuler
class traite le même genre de problème que vous avez
Quelque chose le long des lignes de.
if (ANNOTATION_HEIGHT_SCALABLE) {
int numbersOfLines= document.getNumberOfLines(annotationOffset, annotationLength);
// don't count empty trailing lines
IRegion lastLine= document.getLineInformationOfOffset(annotationOffset + annotationLength);
if (lastLine.getOffset() == annotationOffset + annotationLength) {
numbersOfLines -= 2;
hh= (numbersOfLines * size.y)/maxLines + ANNOTATION_HEIGHT;
if (hh < ANNOTATION_HEIGHT)
hh= ANNOTATION_HEIGHT;
} else
hh= ANNOTATION_HEIGHT;
}
fAnnotationHeight= hh;
int startLine= textWidget.getLineAtOffset(annotationOffset - visible.getOffset());
yy= Math.min((startLine * size.y)/maxLines, size.y - hh);
Questions connexes
- 1. Déterminer si l'utilisateur est en ligne
- 2. comment déterminer si une personne est en ligne ou non
- 3. Comment déterminer si un gif est animé?
- 4. Supprimer les numéros de ligne de SyntaxHighlighter
- 5. Déterminer si un type est statique
- 6. PHP capturant les numéros de ligne?
- 7. Déterminer si un répertoire est inscriptible
- 8. Comment déterminer si objet est un NSNumber
- 9. Comment déterminer si un pthread est actif?
- 10. Déterminer si l'erreur $ .ajax est un délai
- 11. numéros de ligne
- 12. Déterminer où les changements de pente de ligne (algorithme)
- 13. PHP numéros de detmine entre deux numéros, puis interroger
- 14. Comment savoir si le décalage est actionné avec RawInput?
- 15. Comment déterminer si un groupe est un groupe de sécurité?
- 16. Comment déterminer si la ligne intersecte un simple polygone?
- 17. Déterminer si l'utilisateur est connecté
- 18. déterminer si uiview est affiché
- 19. Comment déterminer si mon flux est répertorié sur un site Web de radio en ligne?
- 20. Comment déterminer si un fichier PHP est chargé via cron/ligne de commande
- 21. Déterminer si un point est sur une route
- 22. .NET: Comment déterminer si un objet est un objet COM?
- 23. Lex: numéros de ligne d'impression
- 24. Déterminer si un UIViewController est présenté de manière modale
- 25. Déterminer si un chemin est un chemin réseau VBA
- 26. Ruby - déterminer si un nombre est un premier
- 27. Regex pour déterminer si un fichier est un fichier rar
- 28. .net différence entre les touches de décalage droit et gauche
- 29. Déterminer si un Url est absolu ou relatif de vb
- 30. Déterminer si un formulaire est complètement hors de l'écran
Quand vous dites « fenêtre », vous voulez dire la fenêtre de sortie de l'éclipse? –
avec « fenêtre » Je veux dire les lignes visibles de la fenêtre de l'éditeur actuellement ouvert pour l'utilisateur local. – Gnark
aucune des 2 réponses données ne s'applique? –