Changeset 1282

Show
Ignore:
Timestamp:
11/09/07 10:13:01 (1 year ago)
Author:
koshi
Message:

bug fix. (#197 improved icon scale)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • org.jalcedo.generator/trunk/org.jalcedo.generator.icon.ui/META-INF/MANIFEST.MF

    r1235 r1282  
    33Bundle-Name: %plugin.name 
    44Bundle-SymbolicName: org.jalcedo.generator.icon.ui;singleton:=true 
    5 Bundle-Version: 0.0.1.v20071106 
     5Bundle-Version: 0.0.1.v20071109 
    66Bundle-Activator: org.jalcedo.generator.icon.ui.Activator 
    77Require-Bundle: org.eclipse.ui, 
  • org.jalcedo.generator/trunk/org.jalcedo.generator.icon.ui/src/org/jalcedo/generator/icon/ui/internal/resource/messages.properties

    r1256 r1282  
    3333EditIconSetWizardPage.title = Edit Icon set 
    3434EditIconSetWizardPage.description = Edit icon set to import. 
     35EditIconSetWizardPage.add = Add Icon set... 
     36EditIconSetWizardPage.remove = Remove 
     37#error 
     38EditIconSetWizardPage.getIconImageError = get icon image error. 
     39EditIconSetWizardPage.setIconSetError = set icon set error. 
    3540 
    3641#--- Edit Icon Wizard --- 
  • org.jalcedo.generator/trunk/org.jalcedo.generator.icon.ui/src/org/jalcedo/generator/icon/ui/internal/wizard/EditIconSetWizardPage.java

    r1256 r1282  
    1212package org.jalcedo.generator.icon.ui.internal.wizard; 
    1313 
     14import java.io.File; 
     15import java.io.FileFilter; 
     16import java.io.IOException; 
     17 
     18import org.eclipse.jface.dialogs.MessageDialog; 
     19import org.eclipse.jface.viewers.ISelectionChangedListener; 
     20import org.eclipse.jface.viewers.IStructuredContentProvider; 
     21import org.eclipse.jface.viewers.LabelProvider; 
     22import org.eclipse.jface.viewers.SelectionChangedEvent; 
     23import org.eclipse.jface.viewers.TableViewer; 
     24import org.eclipse.jface.viewers.Viewer; 
    1425import org.eclipse.jface.wizard.WizardPage; 
     26import org.eclipse.swt.SWT; 
     27import org.eclipse.swt.events.SelectionAdapter; 
     28import org.eclipse.swt.events.SelectionEvent; 
     29import org.eclipse.swt.layout.GridData; 
     30import org.eclipse.swt.layout.GridLayout; 
     31import org.eclipse.swt.widgets.Button; 
    1532import org.eclipse.swt.widgets.Composite; 
     33import org.eclipse.swt.widgets.Table; 
     34import org.jalcedo.generator.icon.model.CategorizedIcons; 
     35import org.jalcedo.generator.icon.ui.Activator; 
    1636import org.jalcedo.generator.icon.ui.internal.resource.Messages; 
    1737 
     
    2141 */ 
    2242public class EditIconSetWizardPage extends WizardPage { 
     43    private String FILE_FILTER = ".svn"; 
     44    private TableViewer iconSetViewer; 
    2345     
    2446    public EditIconSetWizardPage(){ 
     
    3355    public void createControl(Composite parent) { 
    3456        // TODO Auto-generated method stub 
     57        Composite container = new Composite(parent, SWT.NONE); 
     58        container.setLayout(new GridLayout(2, false)); 
     59         
     60        createListArea(container); 
     61        createButtonArea(container); 
     62         
     63        doValidate(); 
     64        setControl(container); 
     65    } 
     66     
     67    public TableViewer getIconSetViewer(){ 
     68        return iconSetViewer; 
     69    } 
     70     
     71    private Composite createListArea(Composite parent){ 
     72        Composite container = new Composite(parent, SWT.NONE); 
     73        GridLayout layout = new GridLayout(); 
     74        layout.marginWidth = 0; 
     75        layout.marginHeight = 0; 
     76        container.setLayout(layout); 
     77        container.setLayoutData(new GridData(GridData.FILL_BOTH)); 
     78         
     79        Table table = new Table(container, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL); 
     80        GridData gd = new GridData(GridData.FILL_BOTH); 
     81        table.setLayoutData(gd); 
     82         
     83        iconSetViewer = new TableViewer(table); 
     84        iconSetViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); 
     85        iconSetViewer.setContentProvider(new iconSetProvider()); 
     86        iconSetViewer.setLabelProvider(new LabelProvider(){ 
     87            @Override 
     88            public String getText(Object element) { 
     89                return ((File) element).getName(); 
     90            } 
     91        }); 
     92         
     93        iconSetViewer.addSelectionChangedListener(new ISelectionChangedListener(){ 
     94            public void selectionChanged(SelectionChangedEvent event) { 
     95                doValidate(); 
     96            } 
     97        }); 
     98         
     99        try { 
     100            CategorizedIcons importIcon = new CategorizedIcons(Activator.getDefault().getBundle()); 
     101            iconSetViewer.setInput(importIcon.getIconFile()); 
     102        } catch (IOException e) { 
     103            MessageDialog.openError(getShell(), "Error", Messages.getString("EditIconSetWizardPage.getIconImageError")); //$NON-NLS-1$ 
     104            e.printStackTrace(); 
     105        } 
     106        return container; 
     107    } 
     108     
     109    private Composite createButtonArea(Composite parent){ 
     110        Composite container = new Composite(parent, SWT.NONE); 
     111        GridLayout layout = new GridLayout(); 
     112        layout.marginWidth = 0; 
     113        layout.marginHeight = 0; 
     114        container.setLayout(layout); 
     115        GridData gd = new GridData(GridData.FILL_VERTICAL); 
     116        container.setLayoutData(gd); 
     117         
     118        Button button = new Button(container, SWT.PUSH); 
     119        button.setText(Messages.getString("EditIconSetWizardPage.add")); //$NON-NLS-1$ 
     120        button.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); 
     121        button.addSelectionListener(new SelectionAdapter(){ 
     122            @Override 
     123            public void widgetSelected(SelectionEvent e) { 
     124                // TODO Auto-generated method stub 
     125                super.widgetSelected(e); 
     126            } 
     127        }); 
     128         
     129        button = new Button(container, SWT.PUSH); 
     130        button.setText(Messages.getString("EditIconSetWizardPage.remove")); //$NON-NLS-1$ 
     131        button.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); 
     132        button.addSelectionListener(new SelectionAdapter(){ 
     133            @Override 
     134            public void widgetSelected(SelectionEvent e) { 
     135                // TODO Auto-generated method stub 
     136                super.widgetSelected(e); 
     137            } 
     138        }); 
     139         
     140        return container; 
     141    } 
     142     
     143    private void doValidate(){ 
     144        if(iconSetViewer.getInput()==null){ 
     145            setErrorMessage(Messages.getString("EditIconSetWizardPage.setIconSetError")); //$NON-NLS-1$ 
     146            setPageComplete(false); 
     147            return; 
     148        } 
     149        setErrorMessage(null); 
     150        setPageComplete(true); 
     151    } 
     152     
     153     
     154    private class iconSetProvider implements IStructuredContentProvider{ 
     155        public Object[] getElements(Object inputElement) { 
     156            if(inputElement instanceof File){ 
     157                return ((File)inputElement).listFiles(getFilter()); 
     158            } 
     159            return null; 
     160        } 
    35161 
     162        public void dispose() {} 
     163 
     164        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} 
     165         
     166        private FileFilter getFilter(){ 
     167            return new FileFilter(){ 
     168                public boolean accept(File pathname) { 
     169                    if(!pathname.getName().endsWith(FILE_FILTER) && pathname.isDirectory()){ 
     170                        return true; 
     171                    } 
     172                    return false; 
     173                } 
     174            }; 
     175        } 
    36176    } 
    37177 
  • org.jalcedo.generator/trunk/org.jalcedo.generator.icon.ui/src/org/jalcedo/generator/icon/ui/internal/wizard/EditIconWizardPage.java

    r1256 r1282  
    5454import org.eclipse.swt.events.SelectionEvent; 
    5555import org.eclipse.swt.graphics.Image; 
    56 import org.eclipse.swt.graphics.ImageData; 
    5756import org.eclipse.swt.graphics.Point; 
    5857import org.eclipse.swt.layout.GridData; 
     
    329328            } 
    330329        }); 
    331          
    332         explorerViewer.addSelectionChangedListener(new ISelectionChangedListener(){ 
    333             public void selectionChanged(SelectionChangedEvent event) { 
    334                 IStructuredSelection selection = (IStructuredSelection) event.getSelection(); 
    335                 availableListViewer.getTable().removeAll(); 
    336                 for(Object obj : selection.toArray()){ 
    337                     availableListViewer.setInput(obj); 
    338                 } 
    339             } 
    340         }); 
    341          
    342330        //ディレクトリ下のファイル一覧を持ってくるモデルを適用 
    343331        try { 
     
    348336            e.printStackTrace(); 
    349337        } 
     338        explorerViewer.addSelectionChangedListener(new ISelectionChangedListener(){ 
     339            public void selectionChanged(SelectionChangedEvent event) { 
     340                IStructuredSelection selection = (IStructuredSelection) event.getSelection(); 
     341                availableListViewer.getTable().removeAll(); 
     342                for(Object obj : selection.toArray()){ 
     343                    availableListViewer.setInput(obj); 
     344                } 
     345            } 
     346        }); 
     347         
    350348        return container; 
    351349    } 
     
    586584            if(element instanceof Icon){ 
    587585                Icon icon = (Icon) element; 
    588                 ImageData data = getImage(icon).getImageData(); 
    589                 return Messages.getString("EditIconWizardPage.path")+icon.getPath().substring(0, icon.getPath().lastIndexOf(File.separator))+"\n" //$NON-NLS-1$ 
    590                     +Messages.getString("EditIconWizardPage.size")+data.width+"*"+data.height+"\n" //$NON-NLS-1$ 
    591                     +Messages.getString("EditIconWizardPage.type")+(icon.getName().substring(icon.getName().lastIndexOf('.')+1)).toUpperCase(); //$NON-NLS-1$ 
    592             } 
    593             return ""; 
     586                if(icon.getWidth()*icon.getHeight() != 0){ 
     587                    return Messages.getString("EditIconWizardPage.path")+icon.getPath().substring(0, icon.getPath().lastIndexOf(File.separator))+"\n" //$NON-NLS-1$ 
     588                        + Messages.getString("EditIconWizardPage.size")+icon.getWidth()+"*"+icon.getHeight()+"\n" //$NON-NLS-1$ 
     589                        + Messages.getString("EditIconWizardPage.type")+(icon.getName().substring(icon.getName().lastIndexOf('.')+1)).toUpperCase(); //$NON-NLS-1$ 
     590                } 
     591            } 
     592            return null; 
    594593        } 
    595594 
     
    615614         
    616615        private Image getImage(Icon icon){ 
     616            ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(Activator.PLUGIN_ID, icon.getPath()); 
    617617            if(imageRegistry.get(icon.getPath()) == null){ 
    618                 ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin( 
    619                         Activator.PLUGIN_ID, icon.getPath()); 
    620                 if(imageDescriptor.getImageData() != null){ 
    621                     imageRegistry.put(icon.getPath(), ImageDescriptor.createFromImageData( 
    622                             imageDescriptor.getImageData().scaledTo(16,16))); 
    623                 }else{ 
    624                     imageRegistry.put(icon.getPath(), imageDescriptor); 
     618                imageRegistry.put(icon.getPath(), imageDescriptor); 
     619            } 
     620            if(imageDescriptor!= null){ 
     621                icon.setWidth(imageDescriptor.getImageData().width); 
     622                icon.setHeight(imageDescriptor.getImageData().height); 
     623                if(icon.getWidth()!=16 || icon.getHeight()!=16){ 
     624                    imageRegistry.remove(icon.getPath()); 
     625                    imageRegistry.put(icon.getPath(), ImageDescriptor.createFromImageData(imageDescriptor.getImageData().scaledTo(16,16))); 
    625626                } 
    626627            } 
  • org.jalcedo.generator/trunk/org.jalcedo.generator.icon/META-INF/MANIFEST.MF

    r1241 r1282  
    33Bundle-Name: %plugin.name 
    44Bundle-SymbolicName: org.jalcedo.generator.icon 
    5 Bundle-Version: 0.0.1.v20071107 
     5Bundle-Version: 0.0.1.v20071109 
    66Bundle-Activator: org.jalcedo.generator.icon.Activator 
    77Require-Bundle: org.eclipse.core.runtime, 
  • org.jalcedo.generator/trunk/org.jalcedo.generator.icon/src/org/jalcedo/generator/icon/model/CategorizedIcons.java

    r1169 r1282  
    2424 */ 
    2525public class CategorizedIcons{ 
    26     private String importIconFile = "icons"; //$NON-NLS-1$ 
     26    private String importIconDir = "icons"; //$NON-NLS-1$ 
    2727     
    2828    private Bundle bundle; 
     
    3838    /** 
    3939     *  
    40      * @param importIconFile 
     40     * @param importIconDir 
    4141     */ 
    42     public void setImportIconFileName(String importIconFile){ 
    43         this.importIconFile = importIconFile
     42    public void setImportIconDirName(String importIconDir){ 
     43        this.importIconDir = importIconDir
    4444    } 
    4545     
     
    5050     */ 
    5151    public File getIconFile() throws IOException{ 
    52         URL iconFileURL = bundle.getEntry(importIconFile); 
     52        URL iconFileURL = bundle.getEntry(importIconDir); 
    5353        return new File(FileLocator.toFileURL(iconFileURL).getPath()); 
    5454    } 
  • org.jalcedo.generator/trunk/org.jalcedo.generator.icon/src/org/jalcedo/generator/icon/model/Icon.java

    r1231 r1282  
    77    private String path; 
    88    private String name; 
     9    private int width; 
     10    private int height; 
    911     
    1012    public Icon(String key, String path, String name){ 
     
    4648    } 
    4749     
     50    public int getWidth() { 
     51        return width; 
     52    } 
     53 
     54    public void setWidth(int width) { 
     55        this.width = width; 
     56    } 
     57 
     58    public int getHeight() { 
     59        return height; 
     60    } 
     61 
     62    public void setHeight(int height) { 
     63        this.height = height; 
     64    } 
     65 
    4866    /* (non-Javadoc) 
    4967     * @see java.lang.Object#equals(java.lang.Object)