public void lineGetStyle(LineStyleEvent e) { StyleRange style = new StyleRange(); style.metrics = new GlyphMetrics(0, 0, Integer.toString(100000).length()*5); e.bullet = new Bullet(ST.BULLET_DOT, style); } });
for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; int[] lines = bullet.removeIndices(startLine, replaceLineCount, newLineCount, update); if (lines != null) { if (redrawLines == null) { if (bullets[i].size() == 0) removed++; for (int i = 0, j = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.size() > 0) newBulletsList[j++] = bullet;
Bullet getLineBullet (int index, Bullet defaultBullet) { if (bullets == null) return defaultBullet; if (bulletsIndices != null) return defaultBullet; for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.indexOf(index) != -1) return bullet; } return defaultBullet; } int getLineHeight() {
void setLineBullet(int startLine, int count, Bullet bullet) { if (bulletsIndices != null) { bulletsIndices = null; bullets = null; } if (bullets == null) { if (bullet == null) return; bullets = new Bullet[1]; bullets[0] = bullet; } int index = 0; while (index < bullets.length) { if (bullet == bullets[index]) break; index++; } if (bullet != null) { if (index == bullets.length) { Bullet[] newBulletsList = new Bullet[bullets.length + 1]; System.arraycopy(bullets, 0, newBulletsList, 0, bullets.length); newBulletsList[index] = bullet; bullets = newBulletsList; } bullet.addIndices(startLine, count); } else { updateBullets(startLine, count, 0, false); styledText.redrawLinesBullet(redrawLines); redrawLines = null; } } void setLineIndent(int startLine, int count, int indent) {
for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; int[] lines = bullet.removeIndices(startLine, replaceLineCount, newLineCount, update); if (lines != null) { if (redrawLines == null) { if (bullets[i].size() == 0) removed++; for (int i = 0, j = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.size() > 0) newBulletsList[j++] = bullet;
Bullet getLineBullet (int index, Bullet defaultBullet) { if (bullets == null) return defaultBullet; if (bulletsIndices != null) return defaultBullet; for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.indexOf(index) != -1) return bullet; } return defaultBullet; } int getLineHeight() {
void setLineBullet(int startLine, int count, Bullet bullet) { if (bulletsIndices != null) { bulletsIndices = null; bullets = null; } if (bullets == null) { if (bullet == null) return; bullets = new Bullet[1]; bullets[0] = bullet; } int index = 0; while (index < bullets.length) { if (bullet == bullets[index]) break; index++; } if (bullet != null) { if (index == bullets.length) { Bullet[] newBulletsList = new Bullet[bullets.length + 1]; System.arraycopy(bullets, 0, newBulletsList, 0, bullets.length); newBulletsList[index] = bullet; bullets = newBulletsList; } bullet.addIndices(startLine, count); } else { updateBullets(startLine, count, 0, false); styledText.redrawLinesBullet(redrawLines); redrawLines = null; } } void setLineIndent(int startLine, int count, int indent) {
@Override public void lineGetStyle(LineStyleEvent event) { StyleRange range = new StyleRange(); range.foreground = Display.getCurrent().getSystemColor(SWT.COLOR_GRAY); int maxNumLine = styledText.getLineCount(); int bulletLength = Integer.toString(maxNumLine).length(); // right padding int widthBullet = ((bulletLength + 1) * styledText.getLineHeight()) / 2; range.metrics = new GlyphMetrics(0, 0, widthBullet); event.bullet = new Bullet(ST.BULLET_TEXT, range); event.bullet.text = String.format("%" + bulletLength + "s", styledText.getLineAtOffset(event.lineOffset) + 1); }
for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; int[] lines = bullet.removeIndices(startLine, replaceLineCount, newLineCount, update); if (lines != null) { if (redrawLines == null) { if (bullets[i].size() == 0) removed++; for (int i = 0, j = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.size() > 0) newBulletsList[j++] = bullet;
Bullet getLineBullet (int index, Bullet defaultBullet) { if (bullets == null) return defaultBullet; if (bulletsIndices != null) return defaultBullet; for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.indexOf(index) != -1) return bullet; } return defaultBullet; } int getLineHeight() {
void setLineBullet(int startLine, int count, Bullet bullet) { if (bulletsIndices != null) { bulletsIndices = null; bullets = null; } if (bullets == null) { if (bullet == null) return; bullets = new Bullet[1]; bullets[0] = bullet; } int index = 0; while (index < bullets.length) { if (bullet == bullets[index]) break; index++; } if (bullet != null) { if (index == bullets.length) { Bullet[] newBulletsList = new Bullet[bullets.length + 1]; System.arraycopy(bullets, 0, newBulletsList, 0, bullets.length); newBulletsList[index] = bullet; bullets = newBulletsList; } bullet.addIndices(startLine, count); } else { updateBullets(startLine, count, 0, false); styledText.redrawLinesBullet(redrawLines); redrawLines = null; } } void setLineIndent(int startLine, int count, int indent) {
private Bullet createBullet(Composite main) { StyleRange style = new StyleRange(); style.metrics = new GlyphMetrics(0, 0, 40); style.foreground = main.getDisplay().getSystemColor(SWT.COLOR_BLACK); Bullet bullet = new Bullet(style); return bullet; }
for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; int[] lines = bullet.removeIndices(startLine, replaceLineCount, newLineCount, update); if (lines != null) { if (redrawLines == null) { if (bullets[i].size() == 0) removed++; for (int i = 0, j = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.size() > 0) newBulletsList[j++] = bullet;
Bullet getLineBullet (int index, Bullet defaultBullet) { if (bullets == null) return defaultBullet; if (bulletsIndices != null) return defaultBullet; for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.indexOf(index) != -1) return bullet; } return defaultBullet; } int getLineHeight() {
void setLineBullet(int startLine, int count, Bullet bullet) { if (bulletsIndices != null) { bulletsIndices = null; bullets = null; } if (bullets == null) { if (bullet == null) return; bullets = new Bullet[1]; bullets[0] = bullet; } int index = 0; while (index < bullets.length) { if (bullet == bullets[index]) break; index++; } if (bullet != null) { if (index == bullets.length) { Bullet[] newBulletsList = new Bullet[bullets.length + 1]; System.arraycopy(bullets, 0, newBulletsList, 0, bullets.length); newBulletsList[index] = bullet; bullets = newBulletsList; } bullet.addIndices(startLine, count); } else { updateBullets(startLine, count, 0, false); styledText.redrawLinesBullet(redrawLines); redrawLines = null; } } void setLineIndent(int startLine, int count, int indent) {
@Override public void lineGetStyle(LineStyleEvent event) { StyledText styledText = (StyledText) event.widget; // Using ST.BULLET_NUMBER sometimes results in weird alignment. // event.bulletIndex = styledText.getLineAtOffset(event.lineOffset); StyleRange styleRange = new StyleRange(); styleRange.foreground = Display.getCurrent().getSystemColor( SWT.COLOR_GRAY); int maxLine = styledText.getLineCount(); int bulletLength = Integer.toString(maxLine).length(); // Width of number character is half the height in monospaced font, add // 1 character width for right padding. int bulletWidth = (bulletLength + 1) * styledText.getLineHeight() / 2; styleRange.metrics = new GlyphMetrics(0, 0, bulletWidth); event.bullet = new Bullet(ST.BULLET_TEXT, styleRange); // getLineAtOffset() returns a zero-based line index. int bulletLine = styledText.getLineAtOffset(event.lineOffset) + 1; event.bullet.text = String.format("%" + bulletLength + "s", bulletLine); }
for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; int[] lines = bullet.removeIndices(startLine, replaceLineCount, newLineCount, update); if (lines != null) { if (redrawLines == null) { if (bullets[i].size() == 0) removed++; for (int i = 0, j = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.size() > 0) newBulletsList[j++] = bullet;
Bullet getLineBullet (int index, Bullet defaultBullet) { if (bullets == null) return defaultBullet; if (bulletsIndices != null) return defaultBullet; for (int i = 0; i < bullets.length; i++) { Bullet bullet = bullets[i]; if (bullet.indexOf(index) != -1) return bullet; } return defaultBullet; } int getLineHeight() {
void setLineBullet(int startLine, int count, Bullet bullet) { if (bulletsIndices != null) { bulletsIndices = null; bullets = null; } if (bullets == null) { if (bullet == null) return; bullets = new Bullet[1]; bullets[0] = bullet; } int index = 0; while (index < bullets.length) { if (bullet == bullets[index]) break; index++; } if (bullet != null) { if (index == bullets.length) { Bullet[] newBulletsList = new Bullet[bullets.length + 1]; System.arraycopy(bullets, 0, newBulletsList, 0, bullets.length); newBulletsList[index] = bullet; bullets = newBulletsList; } bullet.addIndices(startLine, count); } else { updateBullets(startLine, count, 0, false); styledText.redrawLinesBullet(redrawLines); redrawLines = null; } } void setLineIndent(int startLine, int count, int indent) {
Bullet bullet0 = new Bullet (style); problemsText.setLineBullet(0, problems.length, bullet0); width = problemsText.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;