/** * @param app application * @param view view * @param selectedGeos selected geos * @param geos geos * @param location place to show */ public ContextMenuChooseGeoD( AppD app, EuclidianView view, ArrayList<GeoElement> selectedGeos, ArrayList<GeoElement> geos, Point location, GPoint invokerLocation) { super(app, selectedGeos, location); this.view = view; this.selectedGeos = selectedGeos; // return if just one geo, or if first geos more than one if ( /* geos.size()<2 || */ selectedGeos.size() > 1) { justOneGeo = false; return; } justOneGeo = true; // section to choose a geo // addSeparator(); createSelectAnotherMenu(view.getMode()); this.loc = invokerLocation; this.geos = geos; GeoElement geoSelected = selectedGeos.get(0); // add geos geoAddedForSelectAnother = false; metas = new TreeSet<GeoElement>(); for (GeoElement geo : geos) { if (geo != geoSelected) { // don't add selected geo addGeo(geo); } if (geo.getMetasLength() > 0) { for (GeoElement meta : ((FromMeta) geo).getMetas()) { if (!metas.contains(meta)) { addGeo(meta); } } } } if (geoAddedForSelectAnother) { addSelectAnotherMenu(); } // TODO: clear selection is not working from here this.getWrappedPopup().getSelectionModel().clearSelection(); }
/** * @param view view * @param points start point and end point */ public DrawVector(EuclidianView view, ArrayList<GeoPointND> points) { this.view = view; this.points = points; geo = view.getKernel() .getConstruction() .getConstructionDefaults() .getDefaultGeo(ConstructionDefaults.DEFAULT_VECTOR); updatePreview(); }
/** * Creates new drawable for slope * * @param view view * @param slope slope number */ public DrawSlope(EuclidianView view, GeoNumeric slope) { this.view = view; kernel = view.getKernel(); this.slope = slope; geo = slope; slope.setDrawable(true); // get parent line init(); update(); }