// Save window location in appSettings hash table private void saveShellBounds() { // Save window bounds in app settings Rectangle bounds = getShell().getBounds(); appSettings.setProperty("top", String.valueOf(bounds.y)); appSettings.setProperty("left", String.valueOf(bounds.x)); appSettings.setProperty("width", String.valueOf(bounds.width)); appSettings.setProperty("height", String.valueOf(bounds.height)); }
private void shellWidgetDisposed(DisposeEvent evt) { try { // Save app settings to file appSettings.store(new FileOutputStream("appsettings.ini"), ""); } catch (FileNotFoundException e) { } catch (IOException e) { } }
// Load application settings from .ini file private void setPreferences() { try { appSettings.load(new FileInputStream("appsettings.ini")); } catch (FileNotFoundException e) { } catch (IOException e) { } // By default, center window int width = Integer.parseInt(appSettings.getProperty("width", "640")); int height = Integer.parseInt(appSettings.getProperty("height", "480")); Rectangle screenBounds = getDisplay().getBounds(); int defaultTop = (screenBounds.height - height) / 2; int defaultLeft = (screenBounds.width - width) / 2; int top = Integer.parseInt(appSettings.getProperty("top", String.valueOf(defaultTop))); int left = Integer.parseInt(appSettings.getProperty("left", String.valueOf(defaultLeft))); getShell().setSize(width, height); getShell().setLocation(left, top); saveShellBounds(); }
private void exitMenuItemWidgetSelected(SelectionEvent evt) { try { // Save app settings to file appSettings.store(new FileOutputStream("appsettings.ini"), ""); } catch (FileNotFoundException e) { } catch (IOException e) { } getShell().dispose(); System.exit(1); }
protected void add() { String[] ap = getAvailableProperties(data.getValue("value bean class")); // $NON-NLS-1$ String[] sp = getSelectedProperties(); Properties p = new Properties(); Set<String> set1 = new HashSet<String>(), set2 = new TreeSet<String>(); for (int i = 0; i < sp.length; i++) set1.add(sp[i]); for (int i = 0; i < ap.length; i++) if (!set1.contains(ap[i])) set2.add(ap[i]); String[][] vs = new String[set1.size() + set2.size()][2]; int k = 0; for (String s : set1) { vs[k][0] = s; vs[k][1] = "no"; // "no" = selected //$NON-NLS-1$ ++k; } for (String s : set2) { vs[k][0] = s; vs[k][1] = "yes"; // $NON-NLS-1$ ++k; } p.put("data", vs); // $NON-NLS-1$ SelectPropertiesWizard w = new SelectPropertiesWizard(); p.setProperty("title", JsfUIMessages.DataTableWizardPage_BeanProperties); // $NON-NLS-1$ w.setObject(p); int r = w.execute(); if (r != 0) return; vs = (String[][]) p.get("data"); // $NON-NLS-1$ List<String> list = new ArrayList<String>(); for (int i = 0; i < vs.length; i++) { if (vs[i][1].equals("no")) { // $NON-NLS-1$ list.add(vs[i][0]); } } sp = list.toArray(new String[0]); setSelectedProperties(sp); }
private String[] getAvailableProperties(String value) { if (value == null || value.length() == 0) { return new String[0]; } JSFPromptingProvider provider = new JSFPromptingProvider(); XModel xModel = getXModel(); if (xModel == null) { // lets create fake model, which can build properties for the value. IFile file = (IFile) properties.get("file"); // $NON-NLS-1$ if (file != null) { XModelObject f = EclipseResourceUtil.createObjectForResource(file); if (f != null) { xModel = f.getModel(); } } } if (xModel == null) { return new String[0]; } return (String[]) provider.buildBeanProperties(xModel, value, null).toArray(new String[0]); }
private XModel getXModel() { IFile file = (IFile) properties.get("file"); // $NON-NLS-1$ return file == null ? null : getXModel(file); }