|
Lines 15-21
Link Here
|
| 15 |
import org.eclipse.swt.SWT; |
15 |
import org.eclipse.swt.SWT; |
| 16 |
import org.eclipse.swt.custom.CTabFolder; |
16 |
import org.eclipse.swt.custom.CTabFolder; |
| 17 |
import org.eclipse.swt.custom.CTabItem; |
17 |
import org.eclipse.swt.custom.CTabItem; |
|
|
18 |
import org.eclipse.swt.graphics.Color; |
| 18 |
import org.eclipse.swt.graphics.FontData; |
19 |
import org.eclipse.swt.graphics.FontData; |
|
|
20 |
import org.eclipse.swt.graphics.RGB; |
| 19 |
import org.eclipse.swt.layout.FillLayout; |
21 |
import org.eclipse.swt.layout.FillLayout; |
| 20 |
import org.eclipse.swt.widgets.Button; |
22 |
import org.eclipse.swt.widgets.Button; |
| 21 |
import org.eclipse.swt.widgets.Composite; |
23 |
import org.eclipse.swt.widgets.Composite; |
|
Lines 74-81
Link Here
|
| 74 |
return folderToTest; |
76 |
return folderToTest; |
| 75 |
} |
77 |
} |
| 76 |
|
78 |
|
| 77 |
protected CTabFolder createTestTabFolder(String styleSheet) { |
79 |
private CTabFolder createTestTabFolder(String styleSheet) { |
| 78 |
CTabFolder folder = createTestTabFolder(); |
80 |
return createTestTabFolder(styleSheet, true); |
|
|
81 |
} |
| 82 |
|
| 83 |
protected CTabFolder createTestTabFolder(String styleSheet, boolean open) { |
| 84 |
CTabFolder folder = createTestTabFolder(open); |
| 79 |
|
85 |
|
| 80 |
engine = createEngine(styleSheet, folder.getDisplay()); |
86 |
engine = createEngine(styleSheet, folder.getDisplay()); |
| 81 |
|
87 |
|
|
Lines 367-373
Link Here
|
| 367 |
assertEquals(SWT.NORMAL, data.getStyle()); |
373 |
assertEquals(SWT.NORMAL, data.getStyle()); |
| 368 |
} |
374 |
} |
| 369 |
} |
375 |
} |
| 370 |
|
376 |
|
| 371 |
for (int i = 0; i < folder2.getItemCount(); i++) { |
377 |
for (int i = 0; i < folder2.getItemCount(); i++) { |
| 372 |
CTabItem item = folder2.getItem(i); |
378 |
CTabItem item = folder2.getItem(i); |
| 373 |
FontData data = item.getFont().getFontData()[0]; |
379 |
FontData data = item.getFont().getFontData()[0]; |
|
Lines 375-381
Link Here
|
| 375 |
assertEquals(11, data.getHeight()); |
381 |
assertEquals(11, data.getHeight()); |
| 376 |
assertEquals(SWT.NORMAL, data.getStyle()); |
382 |
assertEquals(SWT.NORMAL, data.getStyle()); |
| 377 |
} |
383 |
} |
| 378 |
|
384 |
|
| 379 |
folder2.setSelection(0); |
385 |
folder2.setSelection(0); |
| 380 |
spinEventLoop(); |
386 |
spinEventLoop(); |
| 381 |
|
387 |
|
|
Lines 425-431
Link Here
|
| 425 |
assertEquals(SWT.NORMAL, data.getStyle()); |
431 |
assertEquals(SWT.NORMAL, data.getStyle()); |
| 426 |
} |
432 |
} |
| 427 |
} |
433 |
} |
| 428 |
|
434 |
|
| 429 |
for (int i = 0; i < folder2.getItemCount(); i++) { |
435 |
for (int i = 0; i < folder2.getItemCount(); i++) { |
| 430 |
CTabItem item = folder2.getItem(i); |
436 |
CTabItem item = folder2.getItem(i); |
| 431 |
FontData data = item.getFont().getFontData()[0]; |
437 |
FontData data = item.getFont().getFontData()[0]; |
|
Lines 433-439
Link Here
|
| 433 |
assertEquals(11, data.getHeight()); |
439 |
assertEquals(11, data.getHeight()); |
| 434 |
assertEquals(SWT.NORMAL, data.getStyle()); |
440 |
assertEquals(SWT.NORMAL, data.getStyle()); |
| 435 |
} |
441 |
} |
| 436 |
|
442 |
|
| 437 |
folder2.setSelection(0); |
443 |
folder2.setSelection(0); |
| 438 |
spinEventLoop(); |
444 |
spinEventLoop(); |
| 439 |
|
445 |
|
|
Lines 482-488
Link Here
|
| 482 |
CTabItem item = folder2.getItem(i); |
488 |
CTabItem item = folder2.getItem(i); |
| 483 |
assertTrue(item.getShowClose()); |
489 |
assertTrue(item.getShowClose()); |
| 484 |
} |
490 |
} |
| 485 |
|
491 |
|
| 486 |
folder2.setSelection(0); |
492 |
folder2.setSelection(0); |
| 487 |
spinEventLoop(); |
493 |
spinEventLoop(); |
| 488 |
|
494 |
|
|
Lines 497-506
Link Here
|
| 497 |
CTabFolder folder2 = createFolder(folder.getShell()); |
503 |
CTabFolder folder2 = createFolder(folder.getShell()); |
| 498 |
|
504 |
|
| 499 |
SWTElement.setCSSClass(folder2, "viewStack"); |
505 |
SWTElement.setCSSClass(folder2, "viewStack"); |
| 500 |
engine = createEngine("CTabItem { show-close: false }" |
506 |
engine = createEngine( |
| 501 |
+ "CTabItem:selected { show-close: true }" |
507 |
"CTabItem { show-close: false }" |
| 502 |
+ "CTabFolder.viewStack CTabItem { show-close: false }" |
508 |
+ "CTabItem:selected { show-close: true }" |
| 503 |
+ "CTabFolder.viewStack CTabItem.selected { show-close: true }", |
509 |
+ "CTabFolder.viewStack CTabItem { show-close: false }" |
|
|
510 |
+ "CTabFolder.viewStack CTabItem.selected { show-close: true }", |
| 504 |
folder.getDisplay()); |
511 |
folder.getDisplay()); |
| 505 |
engine.applyStyles(folder.getShell(), true); |
512 |
engine.applyStyles(folder.getShell(), true); |
| 506 |
|
513 |
|
|
Lines 525-531
Link Here
|
| 525 |
CTabItem item = folder2.getItem(i); |
532 |
CTabItem item = folder2.getItem(i); |
| 526 |
assertFalse(item.getShowClose()); |
533 |
assertFalse(item.getShowClose()); |
| 527 |
} |
534 |
} |
| 528 |
|
535 |
|
| 529 |
folder2.setSelection(0); |
536 |
folder2.setSelection(0); |
| 530 |
spinEventLoop(); |
537 |
spinEventLoop(); |
| 531 |
|
538 |
|
|
Lines 538-541
Link Here
|
| 538 |
} |
545 |
} |
| 539 |
} |
546 |
} |
| 540 |
} |
547 |
} |
|
|
548 |
|
| 549 |
public void testBackground() throws Exception { |
| 550 |
CTabFolder folder = createTestTabFolder( |
| 551 |
"CTabItem { background-color: #0000ff }", false); |
| 552 |
assertEquals(new RGB(0, 0, 255), folder.getBackground().getRGB()); |
| 553 |
|
| 554 |
for (int i = 0; i < folder.getItemCount(); i++) { |
| 555 |
assertEquals("#0000ff", engine.retrieveCSSProperty(folder |
| 556 |
.getItem(i), "background-color", null)); |
| 557 |
} |
| 558 |
} |
| 559 |
|
| 560 |
public void testBackground2() throws Exception { |
| 561 |
CTabFolder folder = createTestTabFolder(false); |
| 562 |
Color preStyledSelectionBackground = folder.getSelectionBackground(); |
| 563 |
|
| 564 |
RGB rgb = new RGB(0, 0, 255); |
| 565 |
String colour = "#0000ff"; |
| 566 |
|
| 567 |
// we want to make sure we pick a unique colour so that we actually test that the selection's colour has not changed |
| 568 |
if (rgb.equals(preStyledSelectionBackground.getRGB())) { |
| 569 |
rgb = new RGB(0, 255, 0); |
| 570 |
colour = "#00ff00"; |
| 571 |
} |
| 572 |
|
| 573 |
CSSEngine engine = createEngine("CTabItem { background-color: " + colour + " }", |
| 574 |
folder.getDisplay()); |
| 575 |
engine.applyStyles(folder, true); |
| 576 |
|
| 577 |
assertEquals(rgb, folder.getBackground().getRGB()); |
| 578 |
|
| 579 |
for (int i = 0; i < folder.getItemCount(); i++) { |
| 580 |
assertEquals(colour, engine.retrieveCSSProperty(folder.getItem(i), |
| 581 |
"background-color", null)); |
| 582 |
} |
| 583 |
|
| 584 |
assertEquals(preStyledSelectionBackground.getRGB(), folder |
| 585 |
.getSelectionBackground().getRGB()); |
| 586 |
} |
| 587 |
|
| 588 |
public void testSelectionBackground() throws Exception { |
| 589 |
CTabFolder folder = createTestTabFolder( |
| 590 |
"CTabItem:selected { background-color: #00ff00 }", false); |
| 591 |
assertEquals(new RGB(0, 255, 0), folder.getSelectionBackground() |
| 592 |
.getRGB()); |
| 593 |
|
| 594 |
for (int i = 0; i < folder.getItemCount(); i++) { |
| 595 |
assertEquals("#00ff00", engine.retrieveCSSProperty(folder |
| 596 |
.getItem(i), "background-color", "selected")); |
| 597 |
} |
| 598 |
} |
| 599 |
|
| 600 |
public void testForeground() throws Exception { |
| 601 |
CTabFolder folder = createTestTabFolder("CTabItem { color: #0000ff }", |
| 602 |
false); |
| 603 |
assertEquals(new RGB(0, 0, 255), folder.getForeground().getRGB()); |
| 604 |
|
| 605 |
for (int i = 0; i < folder.getItemCount(); i++) { |
| 606 |
assertEquals("#0000ff", engine.retrieveCSSProperty(folder |
| 607 |
.getItem(i), "color", null)); |
| 608 |
} |
| 609 |
} |
| 610 |
|
| 611 |
public void testForeground2() throws Exception { |
| 612 |
CTabFolder folder = createTestTabFolder(false); |
| 613 |
Color preStyledSelectionForeground = folder.getSelectionForeground(); |
| 614 |
|
| 615 |
RGB rgb = new RGB(0, 0, 255); |
| 616 |
String colour = "#0000ff"; |
| 617 |
|
| 618 |
// we want to make sure we pick a unique colour so that we actually test that the selection's colour has not changed |
| 619 |
if (rgb.equals(preStyledSelectionForeground.getRGB())) { |
| 620 |
rgb = new RGB(0, 255, 0); |
| 621 |
colour = "#00ff00"; |
| 622 |
} |
| 623 |
|
| 624 |
CSSEngine engine = createEngine("CTabItem { color: " + colour + " }", |
| 625 |
folder.getDisplay()); |
| 626 |
engine.applyStyles(folder, true); |
| 627 |
|
| 628 |
assertEquals(rgb, folder.getForeground().getRGB()); |
| 629 |
|
| 630 |
for (int i = 0; i < folder.getItemCount(); i++) { |
| 631 |
assertEquals(colour, engine.retrieveCSSProperty(folder.getItem(i), |
| 632 |
"color", null)); |
| 633 |
} |
| 634 |
|
| 635 |
assertEquals(preStyledSelectionForeground.getRGB(), folder |
| 636 |
.getSelectionForeground().getRGB()); |
| 637 |
} |
| 638 |
|
| 639 |
public void testSelectionForeground() throws Exception { |
| 640 |
CTabFolder folder = createTestTabFolder( |
| 641 |
"CTabItem:selected { color: #00ff00 }", false); |
| 642 |
assertEquals(new RGB(0, 255, 0), folder.getSelectionForeground() |
| 643 |
.getRGB()); |
| 644 |
|
| 645 |
for (int i = 0; i < folder.getItemCount(); i++) { |
| 646 |
assertEquals("#00ff00", engine.retrieveCSSProperty(folder |
| 647 |
.getItem(i), "color", "selected")); |
| 648 |
} |
| 649 |
} |
| 541 |
} |
650 |
} |