Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 278239
Collapse All | Expand All

(-)src/org/eclipse/rap/internal/design/example/business/stacks/ViewStackPresentation.java (-14 / +23 lines)
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
      }

Return to bug 278239