PMAreasGroup frontArmor = new PMAreasGroup(); PMAreasGroup rearArmor = new PMAreasGroup(); PMAreasGroup intStructure = new PMAreasGroup(); PMAreasGroup heat = new PMAreasGroup(); frontArmor.addArea(areas[i]); frontArmor.addArea(labels[i]); frontArmor.addArea(vLabels[i]); rearArmor.addArea(areas[8 + i]); rearArmor.addArea(labels[8 + i]); rearArmor.addArea(vLabels[8 + i]); intStructure.addArea(areas[11 + i]); intStructure.addArea(labels[11 + i]); intStructure.addArea(vLabels[11 + i]); heat.addArea(heatHotArea); heat.addArea(vLabels[19]); frontArmor.translate(7, 18); rearArmor.translate(19, 20); intStructure.translate(6, 42); heat.translate(20, 52); content.addArea(areas[i]); content.addArea(labels[i]); content.addArea(vLabels[i]);
content.addArea(labels[19]); content.addArea(vLabels[20]); vLabels[20].setValue(String.valueOf(m.getBARRating(1))); } else { content.removeArea(labels[19]); content.removeArea(vLabels[20]);
/** * Adds element to PicMap component. Please note, that all objects * implementing PMLabel interface will be placed in the topmost layer. All * objects implementing PMHotArea will be placed in the middle layer. All * others are going to bottom layer. Within same layer objects are drawing * by order they added to components. */ public void addElement(PMElement e) { if (e instanceof PMLabel) { labels.addArea(e); } else if (e instanceof PMHotArea) { hotAreas.addArea(e); areascount++; } else if (e instanceof PMAreasGroup) { PMAreasGroup ag = (PMAreasGroup) e; Enumeration<PMElement> iter = ag.elements(); while (iter.hasMoreElements()) { addElement(iter.nextElement()); } } else { otherAreas.addArea(e); } }
private void setAreas() { int stepX = 30; int stepY = 42; infImage = comp.getToolkit().getImage(new MegaMekFile(Configuration.widgetsDir(), "inf.gif").toString()); //$NON-NLS-1$ PMUtil.setImage(infImage, comp); for (int i = 0; i < Infantry.INF_PLT_MAX_MEN; i++) { int shiftX = (i % 5) * stepX; int shiftY = (i / 5) * stepY; areas[i] = new PMPicArea(infImage); areas[i].translate(shiftX, shiftY); content.addArea(areas[i]); } FontMetrics fm = comp.getFontMetrics(FONT_VALUE); armorLabel = new PMValueLabel(fm, Color.white); armorLabel.setValue(Messages.getString( "InfantryMapSet.Armor") + "XXXXXXXXXXXX"); //$NON-NLS-1$//$NON-NLS-2$ Dimension d = armorLabel.getSize(); content.translate(0, d.height + 5); armorLabel.moveTo(0, d.height); content.addArea(armorLabel); label = new PMValueLabel(fm, Color.white); label.setValue(Messages.getString( "InfantryMapSet.InfantryPlatoon", new Object[] { "00" })); //$NON-NLS-1$//$NON-NLS-2$ d = label.getSize(); content.translate(0, d.height + 5); label.moveTo(0, d.height); content.addArea(label); }
/** * Returns Rectangle bounding content of component */ public Rectangle getContentBounds() { return rootGroup.getBounds(); }
/** * Removes element from PicMap component. */ public void removeElement(PMElement e) { if (e instanceof PMLabel) { labels.removeArea(e); } else if (e instanceof PMHotArea) { if (hotAreas.removeArea(e)) areascount--; } else { otherAreas.removeArea(e); } }
/** * Returns Hot Area under coordinates (x, y) */ public PMHotArea getAreaUnder(int x, int y) { // Have to check all elements of hotAreas vector // from end to start. Compare against zero works faster. for (int i = (areascount - 1); i >= 0; i--) { PMHotArea ha = (PMHotArea) hotAreas.elementAt(i); if ((ha != null) && intersects(ha.getAreaShape(), x, y)) return ha; } return null; }
private void drawInto(Graphics g) { int w = Math.max(getSize().width, minWidth); int h = Math.max(getSize().height, minHeight); // Background painting Enumeration<BackGroundDrawer> iter = bgDrawers.elements(); while (iter.hasMoreElements()) { BackGroundDrawer bgd = iter.nextElement(); bgd.drawInto(g, w, h); } Shape oldClip = g.getClip(); g.setClip(new Rectangle(leftMargin, topMargin, w - leftMargin - rightMargin, h - topMargin - bottomMargin)); // Hot areas painting hotAreas.drawInto(g); if (activeHotArea != null) activeHotArea.drawInto(g); labels.drawInto(g); g.setClip(oldClip); }
content.addArea(labels[21]); content.addArea(vLabels[22]); vLabels[20].setValue(String.valueOf(m.getBARRating(1))); } else { content.removeArea(labels[21]); content.removeArea(vLabels[22]);
@Override public Dimension getMinimumSize() { Rectangle r = rootGroup.getBounds(); if (r != null) { return new Dimension(r.x + r.width + rightMargin, r.y + r.height + bottomMargin); } return new Dimension(minWidth, minHeight); }
PMAreasGroup frontArmor = new PMAreasGroup(); PMAreasGroup rearArmor = new PMAreasGroup(); PMAreasGroup intStructure = new PMAreasGroup(); PMAreasGroup heat = new PMAreasGroup(); frontArmor.addArea(areas[i]); frontArmor.addArea(labels[i]); frontArmor.addArea(vLabels[i]); rearArmor.addArea(areas[8 + i]); rearArmor.addArea(labels[8 + i]); rearArmor.addArea(vLabels[8 + i]); intStructure.addArea(areas[11 + i]); intStructure.addArea(labels[11 + i]); intStructure.addArea(vLabels[11 + i]); heat.addArea(heatHotArea); heat.addArea(vLabels[19]); frontArmor.translate(7, 18); rearArmor.translate(19, 20); intStructure.translate(6, 42); heat.translate(20, 52); content.addArea(areas[i]); content.addArea(labels[i]); content.addArea(vLabels[i]);
/** * Sets margins in pixels around Content of component. Does not affect * Backgroun Drawers. * * @param l Left margin * @param t Top margin * @param r Right margin * @param b Bottom margin */ public void setContentMargins(int l, int t, int r, int b) { leftMargin = (l < 0) ? 0 : l; topMargin = (t < 0) ? 0 : t; rightMargin = (r < 0) ? 0 : r; bottomMargin = (b < 0) ? 0 : b; Rectangle rect = rootGroup.getBounds(); rootGroup.translate(leftMargin - rect.x, topMargin - rect.y); }
PMAreasGroup frontArmor = new PMAreasGroup(); PMAreasGroup rearArmor = new PMAreasGroup(); PMAreasGroup intStructure = new PMAreasGroup(); PMAreasGroup heat = new PMAreasGroup(); frontArmor.addArea(areas[i]); frontArmor.addArea(labels[i]); frontArmor.addArea(vLabels[i]); rearArmor.addArea(areas[9 + i]); rearArmor.addArea(labels[9 + i]); rearArmor.addArea(vLabels[9 + i]); intStructure.addArea(areas[12 + i]); intStructure.addArea(labels[12 + i]); intStructure.addArea(vLabels[12 + i]); heat.addArea(heatHotArea); heat.addArea(vLabels[21]); frontArmor.translate(7, 18); rearArmor.translate(19, 20); intStructure.translate(6, 42); heat.translate(20, 52); content.addArea(areas[i]); content.addArea(labels[i]); content.addArea(vLabels[i]);
private void setContent() { for (int i = 1; i < 6; i++) { content.addArea(areas[i]); content.addArea(labels[i]); content.addArea(vLabels[i]); } for (int i = 1; i < 6; i++) { content.addArea(areas[i + INT_STR_OFFSET]); content.addArea(labels[i + INT_STR_OFFSET]); content.addArea(vLabels[i + INT_STR_OFFSET]); } content.addArea(labels[12]); content.addArea(vLabels[12]); }
PMAreasGroup frontArmor = new PMAreasGroup(); PMAreasGroup rearArmor = new PMAreasGroup(); PMAreasGroup intStructure = new PMAreasGroup(); PMAreasGroup heat = new PMAreasGroup(); frontArmor.addArea(areas[i]); frontArmor.addArea(labels[i]); frontArmor.addArea(vLabels[i]); rearArmor.addArea(areas[8 + i]); rearArmor.addArea(labels[8 + i]); rearArmor.addArea(vLabels[8 + i]); intStructure.addArea(areas[11 + i]); intStructure.addArea(labels[11 + i]); intStructure.addArea(vLabels[11 + i]); heat.addArea(heatHotArea); heat.addArea(vLabels[19]); frontArmor.translate(7, 18); rearArmor.translate(19, 20); intStructure.translate(6, 42); heat.translate(20, 52); content.addArea(areas[i]); content.addArea(labels[i]); content.addArea(vLabels[i]);