Ignore:
Timestamp:
2009-09-16T17:45:50+02:00 (17 years ago)
Author:
stoecker
Message:

see #3475 - patch by Petr Dlouhý - cleanups

Location:
trunk/src/org/openstreetmap/josm/data/osm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/Filter.java

    r2129 r2145  
    1111public class Filter extends SearchSetting {
    1212   private final String version = "1";
    13    public Boolean filtered = false;
    14    public Boolean disabled = true;
     13   public Boolean enable = true;
     14   public Boolean hide = false;
    1515   public Boolean inverted = false;
    1616   public Boolean applyForChildren = true;
     
    3434      caseSensitive = Boolean.parseBoolean(prfs[3]);
    3535      regexSearch = Boolean.parseBoolean(prfs[4]);
    36       filtered = Boolean.parseBoolean(prfs[6]);
    37       disabled = Boolean.parseBoolean(prfs[7]);
     36      enable = Boolean.parseBoolean(prfs[6]);
     37      hide = Boolean.parseBoolean(prfs[7]);
    3838      inverted = Boolean.parseBoolean(prfs[8]);
    3939      applyForChildren = Boolean.parseBoolean(prfs[9]);
     
    4444      return version + ";" +
    4545          text + ";" + mode + ";" + caseSensitive + ";" + regexSearch + ";" +
    46           "legacy" + ";" + filtered + ";" + disabled + ";" +
     46          "legacy" + ";" + enable + ";" + hide + ";" +
    4747          inverted + ";" + applyForChildren;
    4848   }
  • trunk/src/org/openstreetmap/josm/data/osm/Filters.java

    r2129 r2145  
    2121public class Filters extends AbstractTableModel{
    2222
     23   public int disabledCount, hiddenCount;
     24
    2325   public Filters(){
    2426      loadPrefs();
     
    2931      Collection<OsmPrimitive> seld = new LinkedList<OsmPrimitive> ();
    3032      Collection<OsmPrimitive> self = new LinkedList<OsmPrimitive> ();
     33      if(Main.main.getCurrentDataSet() == null)return;
    3134      Main.main.getCurrentDataSet().setFiltered();
    3235      Main.main.getCurrentDataSet().setDisabled();
    3336      for (Filter flt : filters){
    34             if(flt.filtered){
    35                SearchAction.getSelection(flt, self, new Function(){
    36                   public Boolean isSomething(OsmPrimitive o){
    37                      return o.isFiltered();
    38                   }
    39                });
    40             }
    41             if(flt.disabled) {
     37            if(flt.enable){
    4238               SearchAction.getSelection(flt, seld, new Function(){
    4339                  public Boolean isSomething(OsmPrimitive o){
     
    4541                  }
    4642               });
     43               if(flt.hide) {
     44                  SearchAction.getSelection(flt, self, new Function(){
     45                     public Boolean isSomething(OsmPrimitive o){
     46                        return o.isFiltered();
     47                     }
     48                  });
     49               }
    4750            }
    4851      }
     52      disabledCount = seld.size() - self.size();
     53      hiddenCount = self.size();
    4954      Main.main.getCurrentDataSet().setFiltered(self);
    5055      Main.main.getCurrentDataSet().setDisabled(seld);
     
    134139
    135140   public String getColumnName(int column){
    136       String[] names = { tr("F"), tr("D"), tr("Text"), tr("C"), tr("I"), tr("M") };
     141      String[] names = { tr("E"), tr("H"), tr("Text"), tr("C"), tr("I"), tr("M") };
    137142      return names[column];
    138143   }
     
    143148   }
    144149
     150   public boolean isCellEnabled(int row, int column){
     151      if(!filters.get(row).enable && column!=0) return false;
     152      return true;
     153   }
     154
    145155   public boolean isCellEditable(int row, int column){
     156      if(!filters.get(row).enable && column!=0) return false;
    146157      if(column < 5)return true;
    147158      return false;
     
    151162      Filter f = filters.get(row);
    152163      switch(column){
    153          case 0: f.filtered = (Boolean)aValue;
    154                  savePref(row);
    155                  filter();
    156                  return;
    157          case 1: f.disabled = (Boolean)aValue;
    158                  savePref(row);
    159                  filter();
    160                  return;
     164         case 0: f.enable = (Boolean)aValue;
     165                 savePref(row);
     166                 filter();
     167                 fireTableRowsUpdated(row, row);
     168                 break;
     169         case 1: f.hide = (Boolean)aValue;
     170                 savePref(row);
     171                 filter();
     172                 break;
    161173         case 2: f.text = (String)aValue;
    162174                 savePref(row);
    163                  return;
     175                 break;
    164176         case 3: f.applyForChildren = (Boolean)aValue;
    165177                 savePref(row);
    166178                 filter();
    167                  return;
     179                 break;
    168180         case 4: f.inverted = (Boolean)aValue;
    169181                 savePref(row);
    170182                 filter();
    171                  return;
    172       }
     183                 break;
     184      }
     185      if(column!=0)fireTableCellUpdated(row, column);
    173186   }
    174187
     
    176189      Filter f = filters.get(row);
    177190      switch(column){
    178          case 0: return f.filtered;
    179          case 1: return f.disabled;
     191         case 0: return f.enable;
     192         case 1: return f.hide;
    180193         case 2: return f.text;
    181194         case 3: return f.applyForChildren;
Note: See TracChangeset for help on using the changeset viewer.