4 package eu
.etaxonomy
.taxeditor
.ui
.element
;
8 import org
.eclipse
.swt
.SWT
;
9 import org
.eclipse
.swt
.browser
.Browser
;
10 import org
.eclipse
.swt
.events
.ControlEvent
;
11 import org
.eclipse
.swt
.events
.ControlListener
;
12 import org
.eclipse
.swt
.graphics
.Rectangle
;
13 import org
.eclipse
.ui
.forms
.widgets
.TableWrapData
;
15 import eu
.etaxonomy
.taxeditor
.ui
.campanula
.compatibility
.ICdmFormElement
;
19 * <p>BrowserElement class.</p>
24 public class BrowserElement
extends AbstractCdmFormElement
implements ControlListener
{
26 private Browser browser
;
28 private String imageUriString
;
31 * <p>Constructor for BrowserElement.</p>
34 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
35 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
36 * @param imageUri a {@link java.net.URI} object.
38 protected BrowserElement(CdmFormFactory formFactory
, ICdmFormElement parentElement
, URI imageUri
, int style
) {
39 super(formFactory
, parentElement
);
40 formFactory
.createLabel(getLayoutComposite(), "");
42 browser
= new Browser(getLayoutComposite(), SWT
.NONE
);
45 getLayoutComposite().setLayoutData(LayoutConstants
.FILL());
51 browser
.addControlListener(this);
53 this.setImageUri(imageUri
);
59 private void layoutBrowser() {
60 TableWrapData layoutData
= LayoutConstants
.FILL();
61 layoutData
.heightHint
= 1000;
63 browser
.setLayoutData(layoutData
);
69 private void showBrowser() {
72 html
= "<HTML><HEAD><TITLE></TITLE></HEAD><BODY marginwidth=0 marginheight=0 leftmargin=0 topmargin=0>";
73 html
+= "<img width=\"" + calculateWidth() + "\" src=\"" + getImageUriString() + "\" />";
74 html
+= "</BODY></HTML>";
76 browser
.setText(html
);
80 * <p>calculateWidth</p>
84 public int calculateWidth() {
85 Rectangle boundaries
= browser
.getBounds();
86 return boundaries
.width
;
90 * @see org.eclipse.swt.events.ControlListener#controlMoved(org.eclipse.swt.events.ControlEvent)
93 public void controlMoved(ControlEvent e
) {
98 * @see org.eclipse.swt.events.ControlListener#controlResized(org.eclipse.swt.events.ControlEvent)
101 public void controlResized(ControlEvent e
) {
108 * @param imageUri the imageUri to set
110 public void setImageUri(URI imageUri
) {
111 setImageUriString(imageUri
!= null ? imageUri
.toString() : "");
115 * <p>Setter for the field <code>imageUriString</code>.</p>
117 * @param imageUriString a {@link java.lang.String} object.
119 public void setImageUriString(String imageUriString
){
120 this.imageUriString
= imageUriString
;
125 * <p>Getter for the field <code>imageUriString</code>.</p>
127 * @return the imageUri
129 public String
getImageUriString() {
130 return imageUriString
;