|
Lines 354-360
Link Here
|
| 354 |
IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); |
354 |
IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); |
| 355 |
IWorkbenchPage activePage = window.getActivePage(); |
355 |
IWorkbenchPage activePage = window.getActivePage(); |
| 356 |
IWorkbenchPart workbenchPart = getReference( part ).getPart( false ); |
356 |
IWorkbenchPart workbenchPart = getReference( part ).getPart( false ); |
| 357 |
activePage.activate( workbenchPart ); |
357 |
if( workbenchPart != null ) { |
|
|
358 |
activePage.activate( workbenchPart ); |
| 359 |
} |
| 358 |
} |
360 |
} |
| 359 |
|
361 |
|
| 360 |
private IWorkbenchPartReference getReference( final IPresentablePart part) { |
362 |
private IWorkbenchPartReference getReference( final IPresentablePart part) { |
|
Lines 375-380
Link Here
|
| 375 |
Image bg = stackBuilder.getImage( StackInitializer.CONF_BG_INACTIVE ); |
377 |
Image bg = stackBuilder.getImage( StackInitializer.CONF_BG_INACTIVE ); |
| 376 |
buttonArea.setBackgroundImage( bg ); |
378 |
buttonArea.setBackgroundImage( bg ); |
| 377 |
Control[] children = buttonArea.getChildren(); |
379 |
Control[] children = buttonArea.getChildren(); |
|
|
380 |
buttonArea.setLayout( new FormLayout() ); |
| 378 |
|
381 |
|
| 379 |
for( int i = 0; i < children.length; i++ ) { |
382 |
for( int i = 0; i < children.length; i++ ) { |
| 380 |
Control child = children[ i ]; |
383 |
Control child = children[ i ]; |
|
Lines 396-406
Link Here
|
| 396 |
fdCorner.height = cornerImage.getBounds().height; |
399 |
fdCorner.height = cornerImage.getBounds().height; |
| 397 |
if( part.isCloseable() ) { |
400 |
if( part.isCloseable() ) { |
| 398 |
Button close = new Button( buttonArea, SWT.PUSH ); |
401 |
Button close = new Button( buttonArea, SWT.PUSH ); |
| 399 |
close.setData( BUTTON_ID, ID_CLOSE ); |
402 |
close.setData( BUTTON_ID, ID_CLOSE ); |
| 400 |
String closeDesc = StackInitializer.TAB_INACTIVE_CLOSE_ACTIVE; |
403 |
close.setData( WidgetUtil.CUSTOM_VARIANT, "viewClose" ); |
| 401 |
Image closeImage = stackBuilder.getImage( closeDesc ); |
|
|
| 402 |
close.setImage( closeImage ); |
| 403 |
close.setData( WidgetUtil.CUSTOM_VARIANT, "clearButton" ); |
| 404 |
close.addSelectionListener( new SelectionAdapter() { |
404 |
close.addSelectionListener( new SelectionAdapter() { |
| 405 |
public void widgetSelected( SelectionEvent e ) { |
405 |
public void widgetSelected( SelectionEvent e ) { |
| 406 |
getSite().close( new IPresentablePart[] { part } ); |
406 |
getSite().close( new IPresentablePart[] { part } ); |
|
Lines 408-416
Link Here
|
| 408 |
} ); |
408 |
} ); |
| 409 |
FormData fdClose = new FormData(); |
409 |
FormData fdClose = new FormData(); |
| 410 |
close.setLayoutData( fdClose ); |
410 |
close.setLayoutData( fdClose ); |
| 411 |
fdClose.right = new FormAttachment( corner, 2 ); |
411 |
fdClose.right = new FormAttachment( 100, -5 ); |
| 412 |
fdClose.top = new FormAttachment( 0, 3 ); |
412 |
fdClose.top = new FormAttachment( 0, 6 ); |
| 413 |
|
413 |
fdClose.width = 8; |
|
|
414 |
fdClose.height = 8; |
| 415 |
close.setLayoutData( fdClose ); |
| 416 |
close.moveAbove( corner ); |
| 414 |
} |
417 |
} |
| 415 |
} |
418 |
} |
| 416 |
} |
419 |
} |
|
Lines 561-566
Link Here
|
| 561 |
public void dispose() { |
564 |
public void dispose() { |
| 562 |
ViewToolBarRegistry registry = ViewToolBarRegistry.getInstance(); |
565 |
ViewToolBarRegistry registry = ViewToolBarRegistry.getInstance(); |
| 563 |
registry.removeViewPartPresentation( this ); |
566 |
registry.removeViewPartPresentation( this ); |
|
|
567 |
if( toolBarLayer != null ) { |
| 568 |
toolBarLayer.dispose(); |
| 569 |
} |
| 570 |
presentationControl.dispose(); |
| 564 |
} |
571 |
} |
| 565 |
|
572 |
|
| 566 |
public Control getControl() { |
573 |
public Control getControl() { |
|
Lines 583-588
Link Here
|
| 583 |
|
590 |
|
| 584 |
public void removePart( final IPresentablePart oldPart ) { |
591 |
public void removePart( final IPresentablePart oldPart ) { |
| 585 |
Object object = buttonPartMap.get( oldPart ); |
592 |
Object object = buttonPartMap.get( oldPart ); |
|
|
593 |
if( toolBarLayer != null ) { |
| 594 |
toolBarLayer.setVisible( false ); |
| 595 |
} |
| 586 |
// remove the dirtyListener |
596 |
// remove the dirtyListener |
| 587 |
Object listener = dirtyListenerMap.get( oldPart ); |
597 |
Object listener = dirtyListenerMap.get( oldPart ); |
| 588 |
if( listener != null && listener instanceof IPropertyListener ) { |
598 |
if( listener != null && listener instanceof IPropertyListener ) { |
|
Lines 660-679
Link Here
|
| 660 |
private void changeSelectedActiveButton( final boolean selected ) { |
670 |
private void changeSelectedActiveButton( final boolean selected ) { |
| 661 |
Image buttonAreaBg = null; |
671 |
Image buttonAreaBg = null; |
| 662 |
Image corner = null; |
672 |
Image corner = null; |
| 663 |
Image close = null; |
673 |
String close = ""; |
| 664 |
if( selected ) { |
674 |
if( selected ) { |
| 665 |
buttonAreaBg |
675 |
buttonAreaBg |
| 666 |
= stackBuilder.getImage( StackInitializer.TAB_ACTIVE_BG_ACTIVE ); |
676 |
= stackBuilder.getImage( StackInitializer.TAB_ACTIVE_BG_ACTIVE ); |
| 667 |
corner = |
677 |
corner = |
| 668 |
stackBuilder.getImage( StackInitializer.TAB_ACTIVE_RIGHT_ACTIVE ); |
678 |
stackBuilder.getImage( StackInitializer.TAB_ACTIVE_RIGHT_ACTIVE ); |
| 669 |
close = stackBuilder.getImage( StackInitializer.TAB_ACTIVE_CLOSE_ACTIVE ); |
679 |
close = "viewClose"; |
| 670 |
|
680 |
|
| 671 |
} else { |
681 |
} else { |
| 672 |
buttonAreaBg = stackBuilder.getImage( StackInitializer.CONF_BG_INACTIVE ); |
682 |
buttonAreaBg = stackBuilder.getImage( StackInitializer.CONF_BG_INACTIVE ); |
| 673 |
corner |
683 |
corner |
| 674 |
= stackBuilder.getImage( StackInitializer.TAB_INACTIVE_CORNER_ACTIVE ); |
684 |
= stackBuilder.getImage( StackInitializer.TAB_INACTIVE_CORNER_ACTIVE ); |
| 675 |
close |
685 |
close = "viewCloseInactive"; |
| 676 |
= stackBuilder.getImage( StackInitializer.TAB_INACTIVE_CLOSE_ACTIVE ); |
|
|
| 677 |
} |
686 |
} |
| 678 |
Object object = buttonPartMap.get( currentPart ); |
687 |
Object object = buttonPartMap.get( currentPart ); |
| 679 |
if( object != null && object instanceof Composite ) { |
688 |
if( object != null && object instanceof Composite ) { |
|
Lines 689-695
Link Here
|
| 689 |
} else if( child instanceof Button ) { |
698 |
} else if( child instanceof Button ) { |
| 690 |
Button button = ( Button ) child; |
699 |
Button button = ( Button ) child; |
| 691 |
if( button.getData( BUTTON_ID ) != null ) { |
700 |
if( button.getData( BUTTON_ID ) != null ) { |
| 692 |
button.setImage( close ); |
701 |
button.setData( WidgetUtil.CUSTOM_VARIANT, close ); |
| 693 |
} |
702 |
} |
| 694 |
} |
703 |
} |
| 695 |
} |
704 |
} |