Package net.azib.ipscan.gui.feeders

Source Code of net.azib.ipscan.gui.feeders.FileFeederGUI

/**
* This file is a part of Angry IP Scanner source code,
* see http://www.angryip.org/ for more information.
* Licensed under GPLv2.
*/
package net.azib.ipscan.gui.feeders;

import net.azib.ipscan.feeders.Feeder;
import net.azib.ipscan.feeders.FileFeeder;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;

import static net.azib.ipscan.config.Labels.getLabel;

/**
* GUI for initialization of FileFeeder.
*
* @author Anton Keks
*/
public class FileFeederGUI extends AbstractFeederGUI {
  private Text fileNameText;

  public FileFeederGUI(Composite parent) {
    super(parent);
    feeder = new FileFeeder();
  }

  public void initialize() {
    setLayout(new GridLayout(3, false));
    Label fileNameLabel = new Label(this, SWT.NONE);
        fileNameText = new Text(this, SWT.BORDER);
    Button browseButton = new Button(this, SWT.NONE);
       
        fileNameLabel.setText(getLabel("feeder.file.name") + ":");

    fileNameText.setLayoutData(new GridData(160, -1));

        browseButton.setText(getLabel("feeder.file.browse"));
        browseButton.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        FileDialog dialog = new FileDialog(getShell());
        dialog.setText(getLabel("feeder.file.browse"));
        String fileName = dialog.open();
        if (fileName != null) {
          fileNameText.setText(fileName);
          fileNameText.setSelection(fileName.length());
        }
      }
    });
                       
    pack();
  }

  public Feeder createFeeder() {
    feeder = new FileFeeder(fileNameText.getText());
    return feeder;
  }
 
  public String[] serialize() {
    return new String[] {fileNameText.getText()};
  }

  public void unserialize(String[] parts) {
    fileNameText.setText(parts[0]);
  }

  public String[] serializePartsLabels() {
    return new String[] {"feeder.file.name"};
  }
}
TOP

Related Classes of net.azib.ipscan.gui.feeders.FileFeederGUI

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.