From: ArronM <tux...@us...> - 2008-01-04 20:38:44
|
Update of /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/help In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv19340/azureus2/org/gudy/azureus2/ui/swt/help Modified Files: HealthHelpWindow.java Log Message: rewrite code Index: HealthHelpWindow.java =================================================================== RCS file: /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/help/HealthHelpWindow.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- HealthHelpWindow.java 30 Dec 2007 02:37:19 -0000 1.9 +++ HealthHelpWindow.java 4 Jan 2008 20:38:29 -0000 1.10 @@ -20,21 +20,16 @@ */ package org.gudy.azureus2.ui.swt.help; +import java.util.*; + import org.eclipse.swt.SWT; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.FormAttachment; -import org.eclipse.swt.layout.FormData; -import org.eclipse.swt.layout.FormLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.layout.*; +import org.eclipse.swt.widgets.*; + import org.gudy.azureus2.core3.internat.MessageText; -import org.gudy.azureus2.core3.util.Constants; import org.gudy.azureus2.ui.swt.ImageRepository; import org.gudy.azureus2.ui.swt.Utils; @@ -42,180 +37,80 @@ * @author Olivier * */ -public class HealthHelpWindow { - - static Image grey,red,blue,yellow,green,share,error; - - public static void show(Display display) { - final Shell window = org.gudy.azureus2.ui.swt.components.shell.ShellFactory.createShell(display,SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); - Utils.setShellIcon(window); - window.setText(MessageText.getString("MyTorrentsView.menu.health")); - - disposeImages(); - grey = new Image(display,ImageRepository.getImage("st_stopped"),SWT.IMAGE_COPY); - grey.setBackground(window.getBackground()); - - red = new Image(display,ImageRepository.getImage("st_ko"),SWT.IMAGE_COPY); - red.setBackground(window.getBackground()); - - blue = new Image(display,ImageRepository.getImage("st_no_tracker"),SWT.IMAGE_COPY); - blue.setBackground(window.getBackground()); - - yellow = new Image(display,ImageRepository.getImage("st_no_remote"),SWT.IMAGE_COPY); - yellow.setBackground(window.getBackground()); - - green = new Image(display,ImageRepository.getImage("st_ok"),SWT.IMAGE_COPY); - green.setBackground(window.getBackground()); - - error = new Image(display,ImageRepository.getImage("st_error"),SWT.IMAGE_COPY); - error.setBackground(window.getBackground()); - - share = new Image(display,ImageRepository.getImage("st_shared"),SWT.IMAGE_COPY); - share.setBackground(window.getBackground()); - - FormLayout layout = new FormLayout(); - layout.marginHeight = 3; - layout.marginWidth = 3; - try { - layout.spacing = 3; - } catch (NoSuchFieldError e) { - /* Ignore for Pre 3.0 SWT.. */ - } - window.setLayout(layout); - FormData formData; - - Label lblGreyImage = new Label(window,SWT.NULL); - lblGreyImage.setImage(grey); - - Label lblGreyExplain = new Label(window,SWT.NULL); - lblGreyExplain.setText(MessageText.getString("health.explain.grey")); - formData = new FormData(); - formData.left = new FormAttachment(lblGreyImage,5); - lblGreyExplain.setLayoutData(formData); - - Label lblRedImage = new Label(window,SWT.NULL); - lblRedImage.setImage(red); - formData = new FormData(); - formData.top = new FormAttachment(lblGreyExplain,5); - lblRedImage.setLayoutData(formData); - - Label lblRedExplain = new Label(window,SWT.NULL); - lblRedExplain.setText(MessageText.getString("health.explain.red")); - formData = new FormData(); - formData.top = new FormAttachment(lblGreyExplain,5); - formData.left = new FormAttachment(lblRedImage,5); - lblRedExplain.setLayoutData(formData); - - - Label lblBlueImage = new Label(window,SWT.NULL); - lblBlueImage.setImage(blue); - formData = new FormData(); - formData.top = new FormAttachment(lblRedExplain,5); - lblBlueImage.setLayoutData(formData); - - Label lblBlueExplain = new Label(window,SWT.NULL); - lblBlueExplain.setText(MessageText.getString("health.explain.blue")); - formData = new FormData(); - formData.top = new FormAttachment(lblRedExplain,5); - formData.left = new FormAttachment(lblBlueImage,5); - lblBlueExplain.setLayoutData(formData); - - - Label lblYellowImage = new Label(window,SWT.NULL); - lblYellowImage.setImage(yellow); - formData = new FormData(); - formData.top = new FormAttachment(lblBlueExplain,5); - lblYellowImage.setLayoutData(formData); - - Label lblYellowExplain = new Label(window,SWT.NULL); - lblYellowExplain.setText(MessageText.getString("health.explain.yellow")); - formData = new FormData(); - formData.top = new FormAttachment(lblBlueExplain,5); - formData.left = new FormAttachment(lblYellowImage,5); - lblYellowExplain.setLayoutData(formData); - - Label lblGreenImage = new Label(window,SWT.NULL); - lblGreenImage.setImage(green); - formData = new FormData(); - formData.top = new FormAttachment(lblYellowExplain,5); - lblGreenImage.setLayoutData(formData); - - Label lblGreenExplain = new Label(window,SWT.NULL); - lblGreenExplain.setText(MessageText.getString("health.explain.green")); - formData = new FormData(); - formData.top = new FormAttachment(lblYellowExplain,5); - formData.left = new FormAttachment(lblGreenImage,5); - lblGreenExplain.setLayoutData(formData); - - Label lblErrorImage = new Label(window,SWT.NULL); - lblErrorImage.setImage(error); - formData = new FormData(); - formData.top = new FormAttachment(lblGreenExplain,5); - lblErrorImage.setLayoutData(formData); - - Label lblErrorExplain = new Label(window,SWT.NULL); - lblErrorExplain.setText(MessageText.getString("health.explain.error")); - formData = new FormData(); - formData.top = new FormAttachment(lblGreenExplain,5); - formData.left = new FormAttachment(lblErrorImage,5); - lblErrorExplain.setLayoutData(formData); - - // shared - Label lblShareImage = new Label(window,SWT.NULL); - lblShareImage.setImage(share); - formData = new FormData(); - formData.top = new FormAttachment(lblErrorExplain,5); - lblShareImage.setLayoutData(formData); - - Label lblShareExplain = new Label(window,SWT.NULL); - lblShareExplain.setText(MessageText.getString("health.explain.share")); - formData = new FormData(); - formData.top = new FormAttachment(lblErrorExplain,5); - formData.left = new FormAttachment(lblShareImage,5); - lblShareExplain.setLayoutData(formData); +public class HealthHelpWindow +{ - // buttons - - Button btnOk = new Button(window,SWT.PUSH); - btnOk.setText(MessageText.getString("Button.ok")); - formData = new FormData(); - formData.top = new FormAttachment(lblGreenExplain,20); - formData.right = new FormAttachment(100,0); - formData.width = 70; - btnOk.setLayoutData(formData); - - btnOk.addListener(SWT.Selection,new Listener() { - public void handleEvent(Event e) { - window.dispose(); - } - }); - - window.addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent arg0) { - disposeImages(); - } - }); - - window.pack(); - window.open(); - - } - - private static void disposeImages() { - if(grey != null && ! grey.isDisposed()) { - grey.dispose(); - } - if(red != null && ! red.isDisposed()) { - red.dispose(); - } - if(blue != null && ! blue.isDisposed()) { - blue.dispose(); - } - if(yellow != null && ! yellow.isDisposed()) { - yellow.dispose(); - } - if(green != null && ! green.isDisposed()) { - green.dispose(); - } - } + public static void show(Display display) { + final ArrayList imagesToDispose = new ArrayList(); + + final Shell window = org.gudy.azureus2.ui.swt.components.shell.ShellFactory.createShell( + display, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); + Utils.setShellIcon(window); + window.setText(MessageText.getString("MyTorrentsView.menu.health")); + + Map mapIDs = new LinkedHashMap(); + mapIDs.put("grey", "st_stopped"); + mapIDs.put("red", "st_ko"); + mapIDs.put("blue", "st_no_tracker"); + mapIDs.put("yellow", "st_no_remote"); + mapIDs.put("green", "st_ok"); + mapIDs.put("error", "st_error"); + mapIDs.put("share", "st_shared"); + + GridLayout layout = new GridLayout(); + layout.marginHeight = 3; + layout.marginWidth = 3; + try { + layout.verticalSpacing = 3; + } catch (NoSuchFieldError e) { + /* Ignore for Pre 3.0 SWT.. */ + } + window.setLayout(layout); + + for (Iterator iter = mapIDs.keySet().iterator(); iter.hasNext();) { + String key = (String) iter.next(); + String value = (String) mapIDs.get(key); + + Image img = new Image(display, ImageRepository.getImage(value), + SWT.IMAGE_COPY); + imagesToDispose.add(img); + + CLabel lbl = new CLabel(window, SWT.NONE); + lbl.setImage(img); + lbl.setText(MessageText.getString("health.explain." + key)); + } + + // buttons + + Button btnOk = new Button(window, SWT.PUSH); + btnOk.setText(MessageText.getString("Button.ok")); + GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_CENTER); + gridData.widthHint = 70; + btnOk.setLayoutData(gridData); + + btnOk.addListener(SWT.Selection, new Listener() { + public void handleEvent(Event e) { + window.dispose(); + } + }); + + window.addTraverseListener(new TraverseListener() { + public void keyTraversed(TraverseEvent e) { + if (e.detail == SWT.TRAVERSE_ESCAPE) { + window.dispose(); + } + } + }); + + window.addDisposeListener(new DisposeListener() { + public void widgetDisposed(DisposeEvent arg0) { + Utils.disposeSWTObjects(imagesToDispose); + imagesToDispose.clear(); + } + }); + + window.pack(); + window.open(); + + } } |