// Set the colors of the filter buttons according to which filters are active private void setColors() { // Panel 1 - Bearing & Distance if (inpDist.getText().length() > 0 || !(chkNW.state && chkNNW.state && chkN.state && chkNNE.state && chkNE.state && chkENE.state && chkE.state && chkESE.state && chkSE.state && chkSSE.state && chkS.state && chkSSW.state && chkSW.state && chkWSW.state && chkW.state && chkWNW.state)) btnBearing.backGround = COLOR_FILTERACTIVE; else btnBearing.backGround = COLOR_FILTERINACTIVE; if (!(chkNW.state || chkNNW.state || chkN.state || chkNNE.state || chkNE.state || chkENE.state || chkE.state || chkESE.state || chkSE.state || chkSSE.state || chkS.state || chkSSW.state || chkSW.state || chkWSW.state || chkW.state || chkWNW.state)) btnBearing.backGround = COLOR_FILTERALL; btnBearing.repaint(); // Panel 2 - Cache attributes if (!(chkArchived.state && chkAvailable.state && chkFound.state && chkOwned.state && chkNotArchived.state && chkNotAvailable.state && chkNotFound.state && chkNotOwned.state && chcStatus.getText().equals(""))) btnAttributes.backGround = COLOR_FILTERACTIVE; else btnAttributes.backGround = COLOR_FILTERINACTIVE; if ((chkArchived.state == false && chkNotArchived.state == false) || (chkAvailable.state == false && chkNotAvailable.state == false) || (chkFound.state == false && chkNotFound.state == false) || (chkOwned.state == false && chkNotOwned.state == false)) btnAttributes.backGround = COLOR_FILTERALL; btnAttributes.repaint(); // Panel 3 - Cache ratings if (inpDiff.getText().length() > 0 || inpTerr.getText().length() > 0) btnRatings.backGround = COLOR_FILTERACTIVE; else btnRatings.backGround = COLOR_FILTERINACTIVE; btnRatings.repaint(); // Panel 5 - Addi Waypoints if (chkParking.state || chkStage.state || chkQuestion.state || chkFinal.state || chkTrailhead.state || chkReference.state) { // At least one tick btnAddi.backGround = COLOR_FILTERACTIVE; addiWptChk.state = true; if (chkParking.state && chkStage.state && chkQuestion.state && chkFinal.state && chkTrailhead.state && chkReference.state) { // All ticked? addiWptChk.bgColor = Color.White; btnAddi.backGround = COLOR_FILTERINACTIVE; } else { addiWptChk.bgColor = Color.LightGray; } } else { // All not ticked btnAddi.backGround = COLOR_FILTERACTIVE; addiWptChk.bgColor = Color.White; addiWptChk.state = false; } btnAddi.repaint(); // Panel 4 - Cache types boolean allAddis = (chkParking.state && chkStage.state && chkQuestion.state && chkFinal.state && chkTrailhead.state && chkReference.state); if (!(chkTrad.state && chkMulti.state && chkVirtual.state && chkLetter.state && chkEvent.state && chkWebcam.state && chkMystery.state && chkEarth.state && chkLocless.state && chkMega.state && chkCito.state && chkWherigo.state && chkCustom.state && allAddis)) btnTypes.backGround = COLOR_FILTERACTIVE; else btnTypes.backGround = COLOR_FILTERINACTIVE; if (!(chkTrad.state || chkMulti.state || chkVirtual.state || chkLetter.state || chkEvent.state || chkWebcam.state || chkMystery.state || chkEarth.state || chkLocless.state || chkMega.state || chkCustom.state || chkParking.state || chkStage.state || chkQuestion.state || chkFinal.state || chkTrailhead.state || chkCito.state || chkWherigo.state || chkReference.state)) btnTypes.backGround = COLOR_FILTERALL; btnTypes.repaint(); // Panel 6 - Cache container if (!(chkMicro.state && chkSmall.state && chkRegular.state && chkLarge.state && chkVeryLarge.state && chkOther.state)) btnContainer.backGround = COLOR_FILTERACTIVE; else btnContainer.backGround = COLOR_FILTERINACTIVE; if (!(chkMicro.state || chkSmall.state || chkRegular.state || chkLarge.state || chkVeryLarge.state || chkOther.state)) btnContainer.backGround = COLOR_FILTERALL; btnContainer.repaint(); // Panel 7 - Search // Panel 8 - Cache attributes if (attV.selectionMaskYes == 0l && attV.selectionMaskNo == 0l) btnCacheAttributes.backGround = COLOR_FILTERINACTIVE; else btnCacheAttributes.backGround = COLOR_FILTERACTIVE; btnCacheAttributes.repaint(); }
public void setData(FilterData data) { ////////////////////////// // Panel 1 - Bearing & Distance ////////////////////////// if (data.getFilterDist().length() > 1) { if (data.getFilterDist().charAt(0) == 'L') chcDist.select(0); else chcDist.select(1); String dist = data.getFilterDist().substring(1); if (Global.getPref().metricSystem == Metrics.IMPERIAL) { double distValue = java.lang.Double.valueOf(dist).doubleValue(); double newDistValue = Metrics.convertUnit(distValue, Metrics.KILOMETER, Metrics.MILES); dist = String.valueOf(newDistValue); } inpDist.setText(dist); } else { chcDist.select(0); inpDist.setText(""); } String fltRose = data.getFilterRose(); chkNW.state = fltRose.charAt(0) == '1'; chkNNW.state = fltRose.charAt(1) == '1'; chkN.state = fltRose.charAt(2) == '1'; chkNNE.state = fltRose.charAt(3) == '1'; chkNE.state = fltRose.charAt(4) == '1'; chkENE.state = fltRose.charAt(5) == '1'; chkE.state = fltRose.charAt(6) == '1'; chkESE.state = fltRose.charAt(7) == '1'; chkSE.state = fltRose.charAt(8) == '1'; chkSSE.state = fltRose.charAt(9) == '1'; chkS.state = fltRose.charAt(10) == '1'; chkSSW.state = fltRose.charAt(11) == '1'; chkSW.state = fltRose.charAt(12) == '1'; chkWSW.state = fltRose.charAt(13) == '1'; chkW.state = fltRose.charAt(14) == '1'; chkWNW.state = fltRose.charAt(15) == '1'; ////////////////////////// // Panel 2 - Cache attributes ////////////////////////// String fltVar = data.getFilterVar(); chkArchived.state = fltVar.charAt(0) == '1'; chkAvailable.state = fltVar.charAt(1) == '1'; chkFound.state = fltVar.charAt(2) == '1'; chkOwned.state = fltVar.charAt(3) == '1'; chkNotArchived.state = fltVar.charAt(4) == '1'; chkNotAvailable.state = fltVar.charAt(5) == '1'; chkNotFound.state = fltVar.charAt(6) == '1'; chkNotOwned.state = fltVar.charAt(7) == '1'; chcStatus.setText(data.getFilterStatus()); chkUseRegexp.setState(data.useRegexp()); ////////////////////////// // Panel 3 - Cache ratings ////////////////////////// if (data.getFilterDiff().length() > 1) { if (data.getFilterDiff().charAt(0) == 'L') chcDiff.select(0); else if (data.getFilterDiff().charAt(0) == '=') chcDiff.select(1); else chcDiff.select(2); inpDiff.setText(data.getFilterDiff().substring(1)); } else { chcDiff.select(0); inpDiff.setText(""); } if (data.getFilterTerr().length() > 1) { if (data.getFilterTerr().charAt(0) == 'L') chcTerr.select(0); else if (data.getFilterTerr().charAt(0) == '=') chcTerr.select(1); else chcTerr.select(2); inpTerr.setText(data.getFilterTerr().substring(1)); } else { chcTerr.select(0); inpTerr.setText(""); } ////////////////////////// // Panel 4 - Cache types ////////////////////////// String fltType = data.getFilterType(); chkTrad.state = fltType.charAt(0) == '1'; chkMulti.state = fltType.charAt(1) == '1'; chkVirtual.state = fltType.charAt(2) == '1'; chkLetter.state = fltType.charAt(3) == '1'; chkEvent.state = fltType.charAt(4) == '1'; chkWebcam.state = fltType.charAt(5) == '1'; chkMystery.state = fltType.charAt(6) == '1'; chkEarth.state = fltType.charAt(7) == '1'; chkLocless.state = fltType.charAt(8) == '1'; chkMega.state = fltType.charAt(9) == '1'; chkCustom.state = fltType.charAt(10) == '1'; chkCito.state = fltType.charAt(17) == '1'; chkWherigo.state = fltType.charAt(18) == '1'; // Note addiWptState is set by setColors ////////////////////////// // Panel 5 - Additional waypoints ////////////////////////// chkParking.state = fltType.charAt(11) == '1'; chkStage.state = fltType.charAt(12) == '1'; chkQuestion.state = fltType.charAt(13) == '1'; chkFinal.state = fltType.charAt(14) == '1'; chkTrailhead.state = fltType.charAt(15) == '1'; chkReference.state = fltType.charAt(16) == '1'; addiWptChk.state = !fltType.substring(11, 17).equals("000000"); ////////////////////////// // Panel 6 - Cache container ////////////////////////// String fltSize = data.getFilterSize(); chkMicro.state = fltSize.charAt(0) == '1'; chkSmall.state = fltSize.charAt(1) == '1'; chkRegular.state = fltSize.charAt(2) == '1'; chkLarge.state = fltSize.charAt(3) == '1'; chkVeryLarge.state = fltSize.charAt(4) == '1'; chkOther.state = fltSize.charAt(5) == '1'; ////////////////////////// // Panel 7 - Search ////////////////////////// ////////////////////////// // Panel 8 - Cache attributes ////////////////////////// attV.setSelectionMasks(data.getFilterAttrYes(), data.getFilterAttrNo()); chcAttrib.select(data.getFilterAttrChoice()); // Adjust colors of buttons depending on which filters are active setColors(); }