btnAdd.setEnabled( isFileSystemFile( ) );
	protected Control createDialogArea( Composite parent )	{		UIUtil.bindHelp( parent, IHelpContextIds.RESOURCE_EDIT_DIALOG_ID );		loadMessage( );		final Composite innerParent = (Composite) super.createDialogArea( parent );		nameLabel = new Label( innerParent, SWT.NONE );		nameLabel.setText( Messages.getString( "ResourceEditDialog.message.ResourceFile" ) + propFileName ); //$NON-NLS-1$		nameLabel.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );		final Table table = new Table( innerParent, SWT.BORDER				| SWT.FULL_SELECTION );		GridData data = new GridData( GridData.FILL_BOTH );		table.setLayoutData( data );		table.setHeaderVisible( true );		table.setLinesVisible( true );		TableLayout tableLayout = new TableLayout( );		table.setLayout( tableLayout );		final TableColumn column1 = new TableColumn( table, SWT.NONE );		column1.setText( Messages.getString( "ResourceEditDialog.text.Key" ) ); //$NON-NLS-1$		column1.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				viewer.setSorter( new ResourceSorter( column1desc, false ) );				column1desc = !column1desc;			}		} );		final TableColumn column2 = new TableColumn( table, SWT.NONE );		column2.setText( Messages.getString( "ResourceEditDialog.text.Value" ) ); //$NON-NLS-1$		column2.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				viewer.setSorter( new ResourceSorter( column2desc, true ) );				column2desc = !column2desc;			}		} );		viewer = new TableViewer( table );		viewer.setContentProvider( new IStructuredContentProvider( ) {			public Object[] getElements( Object inputElement )			{				if ( inputElement instanceof Properties )				{					return ( (Properties) inputElement ).entrySet( ).toArray( );				}				return new Object[0];			}			public void inputChanged( Viewer viewer, Object oldInput,					Object newInput )			{			}			public void dispose( )			{			}		} );		viewer.setLabelProvider( new PropertyLabelProvider( ) );		viewer.addSelectionChangedListener( new ISelectionChangedListener( ) {			public void selectionChanged( SelectionChangedEvent event )			{				updateSelection( );			}		} );		innerParent.addControlListener( new ControlAdapter( ) {			// Resize the columns by proportion when the parent control is			// resized.			public void controlResized( ControlEvent e )			{				Rectangle area = innerParent.getClientArea( );				Point preferredSize = table.computeSize( SWT.DEFAULT,						SWT.DEFAULT );				int width = area.width - 2 * table.getBorderWidth( );				if ( preferredSize.y > area.height )				{					Point vBarSize = table.getVerticalBar( ).getSize( );					width -= vBarSize.x;				}				Point oldSize = table.getSize( );				if ( oldSize.x > width )				{					column1.setWidth( 2 * width / 5 );					column2.setWidth( width - column1.getWidth( ) );					table.setSize( width, area.height );				}				else				{					table.setSize( width, area.height );					column1.setWidth( 2 * width / 5 );					column2.setWidth( width - column1.getWidth( ) );				}			}		} );		Group gp = new Group( innerParent, SWT.NONE );		gp.setText( Messages.getString( "ResourceEditDialog.text.QuickAdd" ) ); //$NON-NLS-1$		gp.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );		gp.setLayout( new GridLayout( 4, false ) );		Label lb = new Label( gp, 0 );		lb.setText( Messages.getString( "ResourceEditDialog.text.Key" ) ); //$NON-NLS-1$		lb = new Label( gp, 0 );		lb.setText( Messages.getString( "ResourceEditDialog.text.Value" ) ); //$NON-NLS-1$		lb = new Label( gp, 0 );		lb = new Label( gp, 0 );		keyText = new Text( gp, SWT.BORDER | SWT.SINGLE );		keyText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );		valueText = new Text( gp, SWT.BORDER | SWT.SINGLE );		valueText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );		Button btn = new Button( gp, SWT.PUSH );		btn.setText( Messages.getString( "ResourceEditDialog.text.Add" ) ); //$NON-NLS-1$		btn.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				addSelection( );			}		} );		btnDelete = new Button( gp, SWT.PUSH );		btnDelete.setText( Messages.getString( "ResourceEditDialog.text.Delete" ) ); //$NON-NLS-1$		btnDelete.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				deleteSelection( );			}		} );		lb = new Label( innerParent, 0 );		lb.setText( Messages.getString( "ResourceEditDialog.message.AddNote" ) ); //$NON-NLS-1$		lb.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );		viewer.setInput( content );		return innerParent;	}