/** * Create GotoPanel * * @param Preferences global preferences * @param MainTab reference to MainTable * @param DetailsPanel reference to DetailsPanel * @param Vector cacheDB */ public GotoPanel(Navigate nav) { myNavigation = nav; pref = Global.getPref(); profile = Global.getProfile(); mainT = Global.mainTab; detP = mainT.detP; cacheDB = profile.cacheDB; // Button ButtonP.addNext( btnGPS = new mButton(MyLocale.getMsg(1504, "Start")), CellConstants.DONTSTRETCH, (CellConstants.DONTFILL | CellConstants.WEST)); ButtonP.addNext( btnCenter = new mButton(MyLocale.getMsg(309, "Centre")), CellConstants.DONTSTRETCH, (CellConstants.DONTFILL | CellConstants.WEST)); ButtonP.addLast( btnSave = new mButton(MyLocale.getMsg(311, "Create Waypoint")), CellConstants.DONTSTRETCH, (CellConstants.DONTFILL | CellConstants.WEST)); // ButtonP.addLast(btnMap = new mButton(MyLocale.getMsg(1506,"Map")),CellConstants.DONTSTRETCH, // (CellConstants.DONTFILL|CellConstants.WEST)); // Format selection for coords // context menu mnuContextFormt = new Menu(); currFormatSel = 1; // default to d° m.m mnuContextFormt.addItem(miCooformat[0] = new MenuItem("d.d°")); miCooformat[0].modifiers &= ~MenuItem.Checked; mnuContextFormt.addItem(miCooformat[1] = new MenuItem("d°m.m\'")); miCooformat[1].modifiers |= MenuItem.Checked; // default mnuContextFormt.addItem(miCooformat[2] = new MenuItem("d°m\'s\"")); miCooformat[2].modifiers &= ~MenuItem.Checked; mnuContextFormt.addItems(TransformCoordinates.getProjectedSystemNames()); // Create context menu for compass rose: select luminary for orientation mnuContextRose = new Menu(); for (int i = 0; i < SkyOrientation.LUMINARY_NAMES.length; i++) { mnuContextRose.addItem(miLuminary[i] = new MenuItem(SkyOrientation.getLuminaryName(i))); if (i == myNavigation.luminary) miLuminary[i].modifiers |= MenuItem.Checked; else miLuminary[i].modifiers &= MenuItem.Checked; } // Coords CoordsP.addNext( lblGPS = new mLabel("GPS: "), CellConstants.DONTSTRETCH, (CellConstants.DONTFILL | CellConstants.WEST)); lblGPS.backGround = RED; lblGPS.setMenu(mnuContextFormt); lblGPS.modifyAll(ControlConstants.WantHoldDown, 0); lblPosition = new mLabel(myNavigation.gpsPos.toString(CoordsScreen.getLocalSystem(currFormatSel))); lblPosition.anchor = CellConstants.CENTER; lblPosition.setMenu(mnuContextFormt); lblPosition.modifyAll(ControlConstants.WantHoldDown, 0); CoordsP.addLast( lblPosition, CellConstants.HSTRETCH, (CellConstants.HFILL | CellConstants.WEST)); CoordsP.addNext( lblDST = new mLabel(MyLocale.getMsg(1500, "DST:")), CellConstants.DONTSTRETCH, (CellConstants.DONTFILL | CellConstants.WEST)); lblDST.backGround = new Color(0, 0, 255); lblDST.setMenu(mnuContextFormt); lblDST.modifyAll(ControlConstants.WantHoldDown, 0); CoordsP.addLast( btnGoto = new mButton(getGotoBtnText()), CellConstants.HSTRETCH, (CellConstants.HFILL | CellConstants.WEST)); // Rose for bearing // compassRose = new GotoRose("rose.png"); compassRose = new GotoRose(); icRose = new ImageControl(compassRose); icRose.setMenu(mnuContextRose); icRose.modifyAll( ControlConstants.WantHoldDown, 0); // this is necessary in order to make PenHold on a PDA work as right click roseP.addLast( icRose, CellConstants.DONTSTRETCH, (CellConstants.DONTFILL | CellConstants.NORTH)); mnuContextRose.addItem(new MenuItem("", MenuItem.Separator, null)); mnuContextRose.addItem(miNorthCentered = new MenuItem(MyLocale.getMsg(1503, "North Centered"))); if (compassRose.isNorthCentered()) miNorthCentered.modifiers |= MenuItem.Checked; else miNorthCentered.modifiers &= MenuItem.Checked; // add Panels HeadP.addLast(ButtonP, CellConstants.HSTRETCH, CellConstants.DONTFILL | CellConstants.WEST) .setTag(SPAN, new Dimension(2, 1)); HeadP.addLast(CoordsP, CellConstants.HSTRETCH, CellConstants.HFILL | CellConstants.NORTH) .setTag(SPAN, new Dimension(2, 1)); this.addNext(HeadP, CellConstants.HSTRETCH, CellConstants.WEST) .setTag(SPAN, new Dimension(2, 1)); this.addLast( btnMap = new mButton(MyLocale.getMsg(1506, "Map") + " "), CellConstants.HSTRETCH, CellConstants.VFILL | CellConstants.RIGHT) .setTag(SPAN, new Dimension(2, 1)); this.addLast(roseP, CellConstants.DONTSTRETCH, CellConstants.DONTFILL | CellConstants.WEST) .setTag(SPAN, new Dimension(2, 1)); btnMap.backGround = GREEN; }
// 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(); }