/** Invoked when an action occurs. */ public static BoxItem createNewElement(String className, int posX, int posY) { BoxItem ret = null; Element elem = null; try { if (debug) System.out.println("Creating new element '" + className + "'"); elem = Element.newInstance(className); if (elem == null) { if (debug) System.out.println("Element '" + className + "' not found"); return null; } ret = elem.getDesignerBox(); ret.setBounds( (posX / DesignEventHandler.ELEM_STEP) * DesignEventHandler.ELEM_STEP, (posY / DesignEventHandler.ELEM_STEP) * DesignEventHandler.ELEM_STEP, ConfigurableSystemSettings.getDesignerElementWidth(), ConfigurableSystemSettings.getDesignerElementHeight()); Main.app.designFrame.addElement(ret); Item.highlighted.clear(); Item.highlighted.add(ret); Main.app.processor.add(elem); // elem.setActive(false); Main.app.designFrame.panel.repaint(); if (elem instanceof Display) { Chart chart = ((Display) elem).newChart(); ((Display) elem).setChart(chart); chart.setAtTopLayer(); // System.out.println("c1 " + chart.getBounds()); Main.app.runtimeFrame.addChart(chart); // Main.app.runtimeFrame.show(); Main.app.runtimeFrame.setVisible(); // Main.app.runtimeFrame.repaint(); // Change runtime to edit mode if not now if (!Main.app.runtimeFrame.framedCharts) { Main.app.runtimeFrame.framedCharts = true; try { Main.app.runtimeFrame.reload(); } catch (Exception ex) { ex.printStackTrace(); } } } elem.reinit(); } catch (Exception e) { if (elem != null) elem.disactivate(e); System.out.println("New element error: " + e); // e.printStackTrace(); } catch (Throwable e) { System.out.println("Critical error occurred while creating new element: " + e); e.printStackTrace(); } return ret; }