updateModel( item.getText( 0 ), text.getText( ) );
	public void widgetSelected( SelectionEvent e )	{		if ( e.getSource( ).equals( btnAdd ) )		{			String sKey = txtNewKey.getText( );			if ( sKey.length( ) > 0 && !propMap.containsKey( sKey ) )			{				propMap.put( sKey, "" ); //$NON-NLS-1$				String[] sProperty = new String[2];				sProperty[0] = sKey;				sProperty[1] = ""; //$NON-NLS-1$				TableItem tiProp = new TableItem( table, SWT.NONE );				tiProp.setBackground( color );				tiProp.setText( sProperty );			}		}		else if ( e.getSource( ).equals( btnRemove ) )		{			if ( table.getSelection( ).length != 0 )			{				propMap.remove( table.getSelection( )[0].getText( 0 ) );				table.remove( table.getSelectionIndex( ) );				Control editor = editorValue.getEditor( );				if ( editor != null )				{					editor.dispose( );				}			}		}		else if ( e.getSource( ).equals( btnAccept ) )		{			for ( int i = 0; i < table.getItemCount( ); i++ )			{				propMap.put( table.getItem( i ).getText( 0 ), table.getItem( i )						.getText( 1 ) );			}			if ( editorValue.getEditor( ) != null					&& !editorValue.getEditor( ).isDisposed( ) )			{				propMap.put( table.getSelection( )[0].getText( 0 ),						( (Text) editorValue.getEditor( ) ).getText( ) );			}			chart.getExtendedProperties( ).clear( );			chart.getExtendedProperties( )					.addAll( createExtendedProperties( propMap ) );			getShell( ).close( );		}		else if ( e.getSource( ).equals( btnCancel ) )		{			// propMap = propMapBackup;			getShell( ).close( );		}		else if ( e.getSource( ).equals( table ) )		{			Control oldEditor = editorValue.getEditor( );			if ( oldEditor != null )				oldEditor.dispose( );			// Identify the selected row			TableItem item = (TableItem) e.item;			if ( item == null )				return;			// The control that will be the editor must be a child of the Table			Text newEditor = new Text( table, SWT.NONE );			newEditor.setText( item.getText( 1 ) );			newEditor.addModifyListener( new ModifyListener( ) {				public void modifyText( ModifyEvent e )				{					Text text = (Text) editorValue.getEditor( );					editorValue.getItem( ).setText( 1, text.getText( ) );				}			} );			newEditor.selectAll( );			newEditor.setFocus( );			editorValue.setEditor( newEditor, item, 1 );		}	}