|
Lines 63-68
Link Here
|
| 63 |
import org.eclipse.ui.forms.events.HyperlinkEvent; |
63 |
import org.eclipse.ui.forms.events.HyperlinkEvent; |
| 64 |
import org.eclipse.ui.forms.events.IHyperlinkListener; |
64 |
import org.eclipse.ui.forms.events.IHyperlinkListener; |
| 65 |
import org.eclipse.ui.internal.forms.Messages; |
65 |
import org.eclipse.ui.internal.forms.Messages; |
|
|
66 |
import org.eclipse.ui.internal.forms.widgets.BreakSegment; |
| 66 |
import org.eclipse.ui.internal.forms.widgets.ControlSegment; |
67 |
import org.eclipse.ui.internal.forms.widgets.ControlSegment; |
| 67 |
import org.eclipse.ui.internal.forms.widgets.FormFonts; |
68 |
import org.eclipse.ui.internal.forms.widgets.FormFonts; |
| 68 |
import org.eclipse.ui.internal.forms.widgets.FormTextModel; |
69 |
import org.eclipse.ui.internal.forms.widgets.FormTextModel; |
|
Lines 278-285
Link Here
|
| 278 |
if (segments.length > 0) { |
279 |
if (segments.length > 0) { |
| 279 |
selectableInTheLastRow = false; |
280 |
selectableInTheLastRow = false; |
| 280 |
int pwidth = 0; |
281 |
int pwidth = 0; |
|
|
282 |
int currentMax = 0; |
| 281 |
for (int j = 0; j < segments.length; j++) { |
283 |
for (int j = 0; j < segments.length; j++) { |
| 282 |
ParagraphSegment segment = segments[j]; |
284 |
ParagraphSegment segment = segments[j]; |
|
|
285 |
|
| 286 |
if( segment instanceof BreakSegment ) { |
| 287 |
currentMax = Math.max(currentMax, pwidth); |
| 288 |
pwidth = 0; |
| 289 |
} |
| 290 |
|
| 283 |
segment.advanceLocator(gc, wHint, loc, resourceTable, |
291 |
segment.advanceLocator(gc, wHint, loc, resourceTable, |
| 284 |
false); |
292 |
false); |
| 285 |
if (wHint != SWT.DEFAULT) { |
293 |
if (wHint != SWT.DEFAULT) { |
|
Lines 290-302
Link Here
|
| 290 |
if (segment instanceof IFocusSelectable) |
298 |
if (segment instanceof IFocusSelectable) |
| 291 |
selectableInTheLastRow = true; |
299 |
selectableInTheLastRow = true; |
| 292 |
} |
300 |
} |
|
|
301 |
|
| 293 |
if (wHint == SWT.DEFAULT) |
302 |
if (wHint == SWT.DEFAULT) |
| 294 |
width = Math.max(width, pwidth); |
303 |
width = Math.max(width, Math.max(currentMax, pwidth)); |
|
|
304 |
|
| 295 |
loc.y += loc.rowHeight; |
305 |
loc.y += loc.rowHeight; |
| 296 |
} else { |
306 |
} else { |
| 297 |
// empty new line |
307 |
// empty new line |
| 298 |
loc.y += lineHeight; |
308 |
loc.y += lineHeight; |
| 299 |
} |
309 |
} |
|
|
310 |
|
| 300 |
} |
311 |
} |
| 301 |
gc.dispose(); |
312 |
gc.dispose(); |
| 302 |
if (selectableInTheLastRow) |
313 |
if (selectableInTheLastRow) |