Changeset 1153

Show
Ignore:
Timestamp:
05/02/08 19:11:53 (4 months ago)
Author:
fraserofthenight
Message:

Added "use library import path" to file import UI to allow mimicking of current behavior

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/descent.ui/src/descent/internal/ui/preferences/FileImportBlock.java

    r1151 r1153  
    1919import org.eclipse.jface.viewers.ViewerSorter; 
    2020import org.eclipse.swt.SWT; 
     21import org.eclipse.swt.events.SelectionAdapter; 
    2122import org.eclipse.swt.events.SelectionEvent; 
    2223import org.eclipse.swt.events.SelectionListener; 
     
    112113    } 
    113114     
     115    private Button fUseImportsCheckbox; 
     116     
    114117    private TableViewer fViewer; 
     118    private List<File> fList = new ArrayList<File>(); 
     119     
    115120    private Button fNewButton; 
    116121    private Button fEditButton; 
    117122    private Button fRemoveButton; 
    118     private List<File> fList = new ArrayList<File>(); 
    119123     
    120124    public FileImportBlock(IStatusChangeListener context, 
     
    139143        comp.setLayout(layout); 
    140144         
     145        createCheckbox(comp); 
    141146        createListControl(comp); 
    142147        createButtons(comp); 
    143          
     148         
     149        updateEnablement(); 
     150         
    144151        return comp; 
     152    } 
     153     
     154    private void createCheckbox(Composite comp) 
     155    { 
     156        fUseImportsCheckbox = new Button(comp, SWT.CHECK); 
     157        fUseImportsCheckbox.setFont(comp.getFont()); 
     158        fUseImportsCheckbox.setText("Use library import path"); 
     159        fUseImportsCheckbox.addSelectionListener(new SelectionAdapter() 
     160        { 
     161            public void widgetSelected(SelectionEvent evt) 
     162            { 
     163                updateEnablement(); 
     164            } 
     165        }); 
     166         
     167        GridData gd = new GridData(); 
     168        gd.horizontalSpan = 2; 
     169        fUseImportsCheckbox.setLayoutData(gd); 
    145170    } 
    146171     
     
    212237        fEditButton = createButton(comp, listener, "Edit..."); 
    213238        fRemoveButton = createButton(comp, listener, "Remove"); 
    214          
    215         updateEnablement(); 
    216239    } 
    217240     
     
    235258    private void updateEnablement() 
    236259    { 
    237         File file = getSelectedElement(); 
    238         if(null == file) 
     260        if(fUseImportsCheckbox.getSelection()) 
    239261        { 
    240             fEditButton.setEnabled(false); 
    241             fRemoveButton.setEnabled(false); 
     262            fViewer.getControl().setEnabled(false); 
     263            fNewButton.setEnabled(false); 
     264            fEditButton.setEnabled(false); 
     265            fRemoveButton.setEnabled(false); 
    242266        } 
    243267        else 
    244268        { 
    245             fEditButton.setEnabled(true); 
    246             fRemoveButton.setEnabled(true); 
     269            fViewer.getControl().setEnabled(true); 
     270            fNewButton.setEnabled(true); 
     271             
     272            File file = getSelectedElement(); 
     273            if(null == file) 
     274            { 
     275                fEditButton.setEnabled(false); 
     276                fRemoveButton.setEnabled(false); 
     277            } 
     278            else 
     279            { 
     280                fEditButton.setEnabled(true); 
     281                fRemoveButton.setEnabled(true); 
     282            } 
    247283        } 
    248284    } 
     
    324360        return new String[] { title, message }; 
    325361    } 
    326  
     362     
    327363    @Override 
    328364    protected void validateSettings(Key changedKey, String oldValue,