else if ( e.getSource( ).equals( cmbDataSet ) )
else if ( e.getSource( ).equals( btnNewData ) )
	public void widgetSelected( SelectionEvent e )	{		if ( e.getSource( ).equals( btnUseReportData ) )		{			// Skip when selection is false			if ( !btnUseReportData.getSelection( ) )			{				return;			}			try			{				switchDataSet( null );			}			catch ( ChartException e1 )			{				ChartWizard.displayException( e1 );			}			cmbDataSet.setEnabled( false );			btnNewData.setEnabled( false );			btnFilters.setEnabled( hasDataSet( )					&& getDataServiceProvider( ).isInvokingSupported( ) );			btnParameters.setEnabled( hasDataSet( )					&& getDataServiceProvider( ).isInvokingSupported( ) );			btnBinding.setEnabled( hasDataSet( )					&& getDataServiceProvider( ).isInvokingSupported( ) );		}		else if ( e.getSource( ).equals( btnUseDataSet ) )		{			// Skip when selection is false			if ( !btnUseDataSet.getSelection( ) )			{				return;			}			if ( cmbDataSet.getText( ).length( ) == 0 )			{				cmbDataSet.setItems( getDataServiceProvider( ).getAllDataSets( ) );				cmbDataSet.select( 0 );			}			if ( cmbDataSet.getText( ).length( ) != 0 )			{				try				{					int bCancel = switchDataSet( cmbDataSet.getText( ) );					if ( bCancel == Window.CANCEL )					{						btnUseReportData.setSelection( true );						btnUseDataSet.setSelection( false );						return;					}				}				catch ( ChartException e1 )				{					ChartWizard.displayException( e1 );				}			}			cmbDataSet.setEnabled( true );			btnNewData.setEnabled( getDataServiceProvider( ).isInvokingSupported( ) );			btnFilters.setEnabled( hasDataSet( )					&& getDataServiceProvider( ).isInvokingSupported( ) );			btnParameters.setEnabled( hasDataSet( )					&& getDataServiceProvider( ).isInvokingSupported( ) );			btnBinding.setEnabled( hasDataSet( )					&& getDataServiceProvider( ).isInvokingSupported( ) );		}		else if ( e.getSource( ).equals( cmbDataSet ) )		{			try			{				ColorPalette.getInstance( ).restore( );				int bCancel = switchDataSet( cmbDataSet.getText( ) );				if ( bCancel == Window.CANCEL )				{					String[] datasetNames = cmbDataSet.getItems( );					for ( int i = 0; i < datasetNames.length; i++ )					{						if ( datasetNames[i].equals( getDataServiceProvider( ).getBoundDataSet( ) ) )						{							cmbDataSet.select( i );							return;						}					}									}			}			catch ( ChartException e1 )			{				ChartWizard.displayException( e1 );			}		}		else if ( e.getSource( ).equals( btnNewData ) )		{						// Bring up the dialog to create a dataset			int result = getDataServiceProvider( ).invoke( IDataServiceProvider.COMMAND_NEW_DATASET );			if ( result == Window.CANCEL )			{				return;			}			String[] sAllDS = getDataServiceProvider( ).getAllDataSets( );			if ( sAllDS.length == cmbDataSet.getItemCount( ) )			{				return;			}			else			{				String currentDataSet = cmbDataSet.getText( );				cmbDataSet.setItems( sAllDS );				cmbDataSet.setText( currentDataSet );			}		}		else if ( e.getSource( ).equals( btnFilters ) )		{			if ( getDataServiceProvider( ).invoke( IDataServiceProvider.COMMAND_EDIT_FILTER ) == Window.OK )			{				refreshTablePreview( );				doLivePreview( );			}		}		else if ( e.getSource( ).equals( btnParameters ) )		{			if ( getDataServiceProvider( ).invoke( IDataServiceProvider.COMMAND_EDIT_PARAMETER ) == Window.OK )			{				refreshTablePreview( );				doLivePreview( );			}		}		else if ( e.getSource( ).equals( btnBinding ) )		{			if ( getDataServiceProvider( ).invoke( IDataServiceProvider.COMMAND_EDIT_BINDING ) == Window.OK )			{				refreshTablePreview( );				doLivePreview( );			}		}		else if ( e.getSource( ) instanceof MenuItem )		{			MenuItem item = (MenuItem) e.getSource( );			IAction action = (IAction) item.getData( );			action.setChecked( !action.isChecked( ) );			action.run( );		}	}