changeOverlaySeriesType( );
String oldSeriesName = ( (SeriesDefinition) ChartUIUtil.getOrthogonalSeriesDefinitions( chartModel, 1 ) .get( 0 ) ).getDesignTimeSeries( ).getDisplayName( ); if ( !cbSeriesType.getText( ).equals( oldSeriesName ) ) { needUpdateModel = true; changeOverlaySeriesType( ); }
	public void widgetSelected( SelectionEvent e )	{		Object oSelected = e.getSource( );		if ( oSelected.getClass( ).equals( Button.class ) )		{			if ( oSelected.equals( cbOrientation ) )			{				if ( cbOrientation.getSelection( ) )				{					this.orientation = Orientation.HORIZONTAL_LITERAL;				}				else				{					this.orientation = Orientation.VERTICAL_LITERAL;				}				createAndDisplayTypesSheet( sType );				setDefaultSubtypeSelection( );			}			else if ( oSelected.equals( cbMultipleY ) )			{				lblSeriesType.setEnabled( cbMultipleY.getSelection( ) );				cbSeriesType.setEnabled( cbMultipleY.getSelection( ) );				ChartAdapter.ignoreNotifications( true );				if ( cbMultipleY.getSelection( ) )				{					addOverlayAxis( );				}				else				{					removeOverlayAxis( );				}				ChartAdapter.ignoreNotifications( false );				changeTask( null );			}			else			{				Button btn = (Button) e.getSource( );				if ( btn.getSelection( ) )				{					if ( this.sSubType != null							&& !getSubtypeFromButton( btn ).equals( sSubType ) )					{						int iTypeIndex = vSubTypeNames.indexOf( sSubType );						if ( iTypeIndex >= 0 )						{							( (Button) cmpTypeButtons.getChildren( )[iTypeIndex] ).setSelection( false );							cmpTypeButtons.redraw( );						}					}					sSubType = getSubtypeFromButton( btn );				}				else				{					if ( this.sSubType != null							&& getSubtypeFromButton( btn ).equals( sSubType ) )					{						// Clicking on the same button should not cause it to be						// unselected						btn.setSelection( true );					}				}			}		}		else if ( oSelected.getClass( ).equals( Table.class ) )		{			sSubType = null;			sType = ( (TableItem) e.item ).getText( ).trim( );			createAndDisplayTypesSheet( sType );			setDefaultSubtypeSelection( );			// Pack to display enough space for different chart			container.packWizard( );			cmpMisc.layout( );		}		else if ( oSelected.equals( cbDimension ) )		{			this.sDimension = cbDimension.getItem( cbDimension.getSelectionIndex( ) );			createAndDisplayTypesSheet( this.sType );			setDefaultSubtypeSelection( );		}		else if ( oSelected.equals( cbSeriesType ) )		{			changeOverlaySeriesType( );		}		else if ( oSelected.equals( cbOutput ) )		{			( (ChartWizardContext) getContext( ) ).setOutputFormat( cbOutput.getText( ) );		}		refreshChart( );		if ( oSelected.getClass( ).equals( Table.class ) )		{			updateAdapters( );			// Ensure populate list after chart model generated			populateSeriesTypesList( );		}		else if ( oSelected.equals( cbDimension ) )		{			updateAdapters( );		}		if ( chartModel != null && chartModel instanceof ChartWithAxes )		{			if ( ( (Axis) ( (ChartWithAxes) chartModel ).getAxes( ).get( 0 ) ).getAssociatedAxes( )					.size( ) > 1 )			{				Axis overlayAxis = (Axis) ( (Axis) ( (ChartWithAxes) chartModel ).getAxes( )						.get( 0 ) ).getAssociatedAxes( ).get( 1 );				cbMultipleY.setSelection( true );				String sDisplayName = PluginSettings.instance( )						.getSeriesDisplayName( ( (SeriesDefinition) overlayAxis.getSeriesDefinitions( )								.get( 0 ) ).getDesignTimeSeries( )								.getClass( )								.getName( ) );				cbSeriesType.select( cbSeriesType.indexOf( sDisplayName ) );			}		}	}