Package es.java.otro.view

Source Code of es.java.otro.view.Content

package es.java.otro.view;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.LocationEvent;
import org.eclipse.swt.browser.LocationListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;

import es.java.otro.model.BrowserEditorInput;

public class Content extends EditorPart {

  public static final String ID = "otro.browser.editor"; // TODO Needs to be whatever is mentioned in plugin.xml
  private Composite top = null;
  private Browser browser = null;
  private BrowserEditorInput input = null;
 
  @Override
  public void doSave(IProgressMonitor monitor) {}

  @Override
  public void doSaveAs() {}

  @Override
  public void init(IEditorSite site, IEditorInput input)
      throws PartInitException {
    setSite(site);
    setInput(input);
    this.input = (BrowserEditorInput) input;
    setPartName(this.input.getName());
    setTitleToolTip(this.input.getName());
   
  }

  @Override
  public boolean isDirty() {
    // TODO Auto-generated method stub
    return false;
  }

  @Override
  public boolean isSaveAsAllowed() {
    // TODO Auto-generated method stub
    return false;
  }

  @Override
  public void createPartControl(Composite parent) {
    // TODO Auto-generated method stub
    top = new Composite(parent, SWT.NONE);
    top.setLayout(new GridLayout());
    GridData gridData = new GridData();
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.verticalAlignment = GridData.FILL;
    ToolBar navBar = new ToolBar( top, SWT.None );
    browser = new Browser(top, SWT.NONE);
    browser.setLayoutData(gridData);
   
     
      navBar.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_END ) );
     

   
   
        final ToolItem back = new ToolItem(navBar, SWT.PUSH);
        back.setText("back");
        back.setEnabled(false);
        final ToolItem forward = new ToolItem(navBar, SWT.PUSH);
        forward.setText("forward");
        forward.setEnabled(false);

        back.addListener(SWT.Selection, new Listener() {
           public void handleEvent(Event event) {
           browser.back();
           }
        });
        forward.addListener(SWT.Selection, new Listener() {
           public void handleEvent(Event event) {
           browser.forward();
           }
        });
       
        LocationListener locationListener = new LocationListener() {
            public void changed(LocationEvent event) {
                  Browser browser = (Browser)event.widget;
                  back.setEnabled(browser.isBackEnabled());
                  forward.setEnabled(browser.isForwardEnabled());
               }
            public void changing(LocationEvent event) {
               }
            };
         browser.addLocationListener(locationListener);
        
         browser.setText(formatHtml(input.getEntry().getHtml()));
  }



  @Override
  public void setFocus() {
    // TODO Auto-generated method stub

  }

  @Override
  public String getTitleToolTip() {

    return input.getName();
  }

  private String formatHtml(String html) {
    final String header = "<html><font size='2px' face='arial, vardana'>";
    final String footer = "</font></html>";
    StringBuffer sb = new StringBuffer();
    sb.append(header).append(html).append(footer);
    return sb.toString();
  }
}
TOP

Related Classes of es.java.otro.view.Content

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.