/*
* Created on 2004/08/14 Author aki@www.xucker.jpn.org License Apache2.0 or
* Common Public License
*/
package org.jpn.xucker.commons.swt.series;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.program.Program;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.jpn.xucker.commons.swt.ui.FileListTable;
public class FileListTypeMenu implements SelectionListener {
/**
* @param shell
*/
private MenuItem cascademenu1;
private MenuItem pushmenu2;
private MenuItem pushmenu3;
private MenuItem pushmenu5;
private MenuItem cascademenu6;
private MenuItem pushmenu7;
private MenuItem pushmenu8;
private FileListTable fileListTable;
private double version;
private String url;
private Shell shell;
private String appName;
private MenuItem cascademenu7;
private MenuItem pushmenu9;
private PropertyMenuListener listener;
public FileListTypeMenu(Shell parent, FileListTable table, double version,
String url, String appName) {
this.shell = parent;
fileListTable = table;
this.version = version;
this.url = url;
this.appName=appName;
//this.main=main;
Menu menu1 = new Menu(parent, SWT.BAR);
parent.setMenuBar(menu1);
//ファイル
Menu cascademenu1_menu = new Menu(menu1);
cascademenu1 = new MenuItem(menu1, SWT.CASCADE);
cascademenu1.setText("ファイル");
cascademenu1.setMenu(cascademenu1_menu);
//ファイルを追加
pushmenu2 = new MenuItem(cascademenu1_menu, SWT.PUSH);
pushmenu2.setText("ファイルを追加");
pushmenu2.addSelectionListener(this);
//フォルダーを追加
pushmenu3 = new MenuItem(cascademenu1_menu, SWT.PUSH);
pushmenu3.setText("フォルダーを追加");
pushmenu3.addSelectionListener(this);
MenuItem separatemenu4 = new MenuItem(cascademenu1_menu, SWT.SEPARATOR);
//終了
pushmenu5 = new MenuItem(cascademenu1_menu, SWT.PUSH);
pushmenu5.setText("終了");
pushmenu5.addSelectionListener(this);
//オプション
Menu cascademenu7_menu = new Menu(menu1);
cascademenu7 = new MenuItem(menu1, SWT.CASCADE);
cascademenu7.setText("オプション");
cascademenu7.setMenu(cascademenu7_menu);
//オプション
pushmenu9 = new MenuItem(cascademenu7_menu, SWT.PUSH);
pushmenu9.setText("設定");
pushmenu9.addSelectionListener(this);
//ヘルプ
Menu cascademenu6_menu = new Menu(menu1);
cascademenu6 = new MenuItem(menu1, SWT.CASCADE);
cascademenu6.setText("ヘルプ");
cascademenu6.setMenu(cascademenu6_menu);
//バージョン
pushmenu7 = new MenuItem(cascademenu6_menu, SWT.PUSH);
pushmenu7.setText("バージョン");
pushmenu7.addSelectionListener(this);
//ホームページ
pushmenu8 = new MenuItem(cascademenu6_menu, SWT.PUSH);
pushmenu8.setText("ホームページ");
pushmenu8.addSelectionListener(this);
}
public void widgetSelected(SelectionEvent event) {
Object target = event.getSource();
if (target == null) {
//
throw new RuntimeException("selected target is null");
}
//ファイルを追加
else if (target == pushmenu2) {
fileListTable.execAddFile();
}
//フォルダーを追加
else if (target == pushmenu3) {
fileListTable.execAddFolder();
}
//終了
else if (target == pushmenu5) {
shell.close();
}
//バージョン
else if (target == pushmenu7) {
do_pushmenu7();
}
//ホームページ
else if (target == pushmenu8) {
do_pushmenu8();
}
//設定
else if (target == pushmenu9) {
do_pushmenu9();
}
}
/**
*
*/
private void do_pushmenu9() {
if (listener != null) {
listener.openProperty();
}
}
public void widgetDefaultSelected(SelectionEvent arg0) {
}
//null1
public void do_menu1() {
System.out.println("menu1");
}
//ファイルを追加
public void do_pushmenu2() {
System.out.println("pushmenu2");
}
//フォルダーを追加
public void do_pushmenu3() {
System.out.println("pushmenu3");
}
//終了
public void do_pushmenu5() {
System.out.println("pushmenu5");
}
//バージョン
public void do_pushmenu7() {
MessageBox box = new MessageBox(shell, SWT.OK | SWT.ICON_INFORMATION);
box.setMessage(appName + " v" + version + "\r\n\r\n"
+ "License CPL or Apache2.0\r\n (c)アッキー 2004\r\n" + url);
//int result=box.open();
//never use result int,for PMD
box.open();
}
//ホームページ
public void do_pushmenu8() {
Program program = Program.findProgram("html");
if (program != null) {
program.execute(url);
}
}
public PropertyMenuListener getListener() {
return listener;
}
public void setListener(PropertyMenuListener listener) {
this.listener = listener;
}
}
|