!143 feaure: #I85IYZ 增加运行菜单

Merge pull request !143 from Luke/feature-I85IYZ
This commit is contained in:
Luke 2023-10-05 11:02:36 +00:00 committed by Gitee
commit 52672dcda8
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 128 additions and 12 deletions

View File

@ -11,6 +11,9 @@ public class TextConstants {
public static final String TITLE = "title"; public static final String TITLE = "title";
public static final String SAVE = "SAVE"; public static final String SAVE = "SAVE";
public static final String FILE = "FILE"; public static final String FILE = "FILE";
public static final String RUN = "RUN";
public static final String DE_BUG = "DE_BUG";
public static final String NEW = "NEW"; public static final String NEW = "NEW";
public static final String OPEN = "OPEN"; public static final String OPEN = "OPEN";
public static final String OPEN_DIRECTORY = "OPEN_DIRECTORY"; public static final String OPEN_DIRECTORY = "OPEN_DIRECTORY";

View File

@ -32,9 +32,12 @@ public class TopMenuBarManager extends AbstractManager<Menu> {
LanguageTopMenu languageTopMenu = LanguageTopMenu.getInstance(); LanguageTopMenu languageTopMenu = LanguageTopMenu.getInstance();
SettingTopMenu settingTopMenu = SettingTopMenu.getInstance(); SettingTopMenu settingTopMenu = SettingTopMenu.getInstance();
RunTopMenu runTopMenu=RunTopMenu.getInstance();
PluginTopMenu pluginTopMenu = PluginTopMenu.getInstance();
HelpTopMenu helpTopMenu = HelpTopMenu.getInstance(); HelpTopMenu helpTopMenu = HelpTopMenu.getInstance();
PluginTopMenu pluginTopMenu = PluginTopMenu.getInstance();
private TopMenuBarManager() { private TopMenuBarManager() {
} }
@ -61,6 +64,8 @@ public class TopMenuBarManager extends AbstractManager<Menu> {
// 初始化插件菜单 // 初始化插件菜单
pluginTopMenu.initMenu(); pluginTopMenu.initMenu();
runTopMenu.initMenu();
// 刷新顶部菜单栏 // 刷新顶部菜单栏
refreshTopMenuBar(); refreshTopMenuBar();
// 初始化快捷键 // 初始化快捷键
@ -73,12 +78,18 @@ public class TopMenuBarManager extends AbstractManager<Menu> {
public void registerTopMenuBar() { public void registerTopMenuBar() {
// 文件菜单 // 文件菜单
registerNode(fileTopMenu.getMenu()); registerNode(fileTopMenu.getMenu());
// 设置菜单 // 设置菜单
registerNode(topMenuBar.getSetMenu()); registerNode(topMenuBar.getSetMenu());
// 帮助菜单
registerNode(helpTopMenu.getMenu());
// 插件菜单 // 插件菜单
registerNode(topMenuBar.getPluginMenu()); registerNode(topMenuBar.getPluginMenu());
// 运行菜单
registerNode(runTopMenu.getMenu());
// 帮助菜单
registerNode(helpTopMenu.getMenu());
} }

View File

@ -32,16 +32,25 @@ public class TopMenuBar extends MenuBar {
*/ */
private final Menu setMenu = new Menu(); private final Menu setMenu = new Menu();
/**
* 帮助菜单
*/
private final Menu helpMenu = new Menu();
/// 菜单按钮 /// 菜单按钮
/** /**
* 插件菜单 * 插件菜单
*/ */
private final Menu pluginMenu = new Menu(); private final Menu pluginMenu = new Menu();
/**
* 运行菜单
*/
private final Menu runMenu = new Menu();
/**
* 调试菜单
*/
private final MenuItem deBugItem = new MenuItem();
/**
* 新建
*/
private final MenuItem newItem = new MenuItem();
/** /**
* 语言菜单 * 语言菜单
*/ */
@ -49,12 +58,9 @@ public class TopMenuBar extends MenuBar {
/** /**
* 新建 * 新建
*/ */
private final MenuItem newItem = new MenuItem(); private final MenuItem runItem = new MenuItem();
/**
* 新建
*/
private final MenuItem aboutItem = new MenuItem();
/** /**
* 打开 * 打开
*/ */
@ -106,6 +112,15 @@ public class TopMenuBar extends MenuBar {
*/ */
private final MenuItem pluginManagerItem = new MenuItem(); private final MenuItem pluginManagerItem = new MenuItem();
/**
* 帮助菜单
*/
private final Menu helpMenu = new Menu();
/**
* 关于
*/
private final MenuItem aboutItem = new MenuItem();
private TopMenuBar() { private TopMenuBar() {
} }
@ -139,6 +154,10 @@ public class TopMenuBar extends MenuBar {
public Menu getPluginMenu() { public Menu getPluginMenu() {
return pluginMenu; return pluginMenu;
} }
public Menu getRunMenu() {
return runMenu;
}
public Menu getLanguageMenu() { public Menu getLanguageMenu() {
@ -152,6 +171,13 @@ public class TopMenuBar extends MenuBar {
public MenuItem getNewItem() { public MenuItem getNewItem() {
return newItem; return newItem;
} }
public MenuItem getRunItem() {
return runItem;
}
public MenuItem getDeBugItem() {
return deBugItem;
}
public MenuItem getAboutItem() { public MenuItem getAboutItem() {

View File

@ -0,0 +1,70 @@
package org.jcnc.jnotepad.views.root.top.menubar.menu;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuItem;
import org.jcnc.jnotepad.api.core.views.top.menu.AbstractTopMenu;
import java.util.HashMap;
import java.util.Map;
import static org.jcnc.jnotepad.common.constants.TextConstants.DE_BUG;
import static org.jcnc.jnotepad.common.constants.TextConstants.RUN;
/**
* 文件菜单
*
* @author gewuyou
*/
public class RunTopMenu extends AbstractTopMenu {
private static final RunTopMenu INSTANCE = new RunTopMenu();
private final Map<String, MenuItem> runMenuItems = new HashMap<>();
public static RunTopMenu getInstance() {
return INSTANCE;
}
/**
* 获取菜单名称
*
* @return 菜单名称
*/
@Override
public String getMenuName() {
return RUN;
}
/**
* 获取菜单
*
* @return 菜单
*/
@Override
public Menu getMenu() {
return topMenuBar.getRunMenu();
}
/**
* 获取菜单项集合
*
* @return 菜单项集合
*/
@Override
public Map<String, MenuItem> getMenuItems() {
return runMenuItems;
}
/**
* 注册顶部菜单
*/
@Override
protected void registerTopMenu() {
// 运行
registerMenuItem(topMenuBar.getRunItem(), RUN, "runItem", null);
// 调试
registerMenuItem(topMenuBar.getDeBugItem(), DE_BUG, "deBugItem", null);
}
}

View File

@ -9,8 +9,10 @@ PLUGIN=插件
CHINESE=中文 CHINESE=中文
title=JNotepad title=JNotepad
OPEN=打开 OPEN=打开
DE_BUG=调试
OPEN_DIRECTORY=打开文件夹 OPEN_DIRECTORY=打开文件夹
ABOUT=关于 ABOUT=关于
RUN=运行
HELP=帮助 HELP=帮助
OPEN_CONFIGURATION_FILE=打开配置文件 OPEN_CONFIGURATION_FILE=打开配置文件
RENAME=重命名 RENAME=重命名

View File

@ -12,6 +12,8 @@ title=JNotepad
OPEN=Open OPEN=Open
OPEN_DIRECTORY=Open Directory OPEN_DIRECTORY=Open Directory
HELP=Help HELP=Help
RUN=Run
DE_BUG=Debug
OPEN_CONFIGURATION_FILE=Open Configuration File OPEN_CONFIGURATION_FILE=Open Configuration File
RENAME=Rename RENAME=Rename
TOP=Window Top TOP=Window Top

View File

@ -11,6 +11,8 @@ title=JNotepad
OPEN=打开 OPEN=打开
OPEN_DIRECTORY=打开文件夹 OPEN_DIRECTORY=打开文件夹
HELP=帮助 HELP=帮助
RUN=运行
DE_BUG=调试
ABOUT=关于 ABOUT=关于
OPEN_CONFIGURATION_FILE=打开配置文件 OPEN_CONFIGURATION_FILE=打开配置文件
RENAME=重命名 RENAME=重命名