/**
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE, Version 3, 29 June 2007;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.kevoree.tools.ui.editor.menus;
import org.kevoree.tools.ui.editor.KevoreeUIKernel;
import org.kevoree.tools.ui.editor.command.*;
import javax.swing.*;
public class FileMenu extends JMenu {
private KevoreeUIKernel kernel;
public FileMenu(KevoreeUIKernel kernel) {
super("File");
this.kernel = kernel;
add(createOpenItem());
add(createMergeItem());
add(createOpenKevsItem());
add(createOpenFromPublicGateway());
add(createPushFromPublicGateway());
add(createOpenFromNode());
add(createMergeFromNode());
add(createSaveItem());
add(createSaveJSONItem());
add(createSaveAsImageItem());
//add(createSaveAsSvgItem());
add(createSaveAsKevsItem());
add(createRefreshItem());
}
private JMenuItem createOpenItem() {
JMenuItem fileOpen = new JMenuItem("Open");
LoadModelCommandUI loadModelCommand = new LoadModelCommandUI();
loadModelCommand.setKernel(kernel);
fileOpen.addActionListener(new CommandActionListener(loadModelCommand));
return fileOpen;
}
private JMenuItem createMergeItem() {
JMenuItem fileMerge = new JMenuItem("Merge");
MergeModelCommandUI cmdLMerge = new MergeModelCommandUI();
cmdLMerge.setKernel(kernel);
fileMerge.addActionListener(new CommandActionListener(cmdLMerge));
return fileMerge;
}
private JMenuItem createOpenKevsItem() {
/* Load command */
JMenuItem kevsOpen = new JMenuItem("Open from KevScript");
LoadKevScriptCommandUI cmdKevOpen = new LoadKevScriptCommandUI();
cmdKevOpen.setKernel(kernel);
kevsOpen.addActionListener(new CommandActionListener(cmdKevOpen));
return kevsOpen;
}
private JMenuItem createOpenFromNode() {
/* Load remote ui command */
JMenuItem fileOpenRemote = new JMenuItem("Open from node");
LoadRemoteModelUICommand cmdLMORemote2 = new LoadRemoteModelUICommand();
cmdLMORemote2.setKernel(kernel);
fileOpenRemote.addActionListener(new CommandActionListener(cmdLMORemote2));
return fileOpenRemote;
}
private JMenuItem createOpenFromPublicGateway() {
/* Load remote ui command */
JMenuItem fileOpenRemote = new JMenuItem("Open from public Gateway");
LoadPublicModelUICommand cmdLMORemote2 = new LoadPublicModelUICommand();
cmdLMORemote2.setKernel(kernel);
fileOpenRemote.addActionListener(new CommandActionListener(cmdLMORemote2));
return fileOpenRemote;
}
private JMenuItem createPushFromPublicGateway() {
/* Load remote ui command */
JMenuItem fileOpenRemote = new JMenuItem("Push to public Gateway");
PushPublicModelUICommand cmdLMORemote2 = new PushPublicModelUICommand();
cmdLMORemote2.setKernel(kernel);
fileOpenRemote.addActionListener(new CommandActionListener(cmdLMORemote2));
return fileOpenRemote;
}
private JMenuItem createMergeFromNode() {
/* Load remote ui command */
JMenuItem fileOpenRemote = new JMenuItem("Merge from node");
LoadRemoteModelUICommand cmdLMORemote2 = new LoadRemoteModelUICommand();
cmdLMORemote2.setKernel(kernel);
cmdLMORemote2.merge_$eq(true);
fileOpenRemote.addActionListener(new CommandActionListener(cmdLMORemote2));
return fileOpenRemote;
}
private JMenuItem createSaveItem() {
JMenuItem fileSave = new JMenuItem("Save");
SaveActuelModelCommand cmdSM = new SaveActuelModelCommand();
cmdSM.setKernel(kernel);
fileSave.addActionListener(new CommandActionListener(cmdSM));
return fileSave;
}
private JMenuItem createSaveJSONItem() {
JMenuItem fileSave = new JMenuItem("SaveAsJSON");
SaveActuelModelJSONCommand cmdSM = new SaveActuelModelJSONCommand();
cmdSM.setKernel(kernel);
fileSave.addActionListener(new CommandActionListener(cmdSM));
return fileSave;
}
private JMenuItem createSaveAsKevsItem() {
JMenuItem fileSave = new JMenuItem("SaveAsKevScript");
SaveAsKevScript cmdSM = new SaveAsKevScript();
cmdSM.setKernel(kernel);
fileSave.addActionListener(new CommandActionListener(cmdSM));
return fileSave;
}
private JMenuItem createSaveAsImageItem() {
JMenuItem saveImage = new JMenuItem("SaveAsImage");
ExportModelImage cmdImage = new ExportModelImage();
cmdImage.setKernel(kernel);
saveImage.addActionListener(new CommandActionListener(cmdImage));
return saveImage;
}
/*
private JMenuItem createSaveAsSvgItem() {
JMenuItem saveSVG = new JMenuItem("SaveAsSVG");
ExportModelSVGImage cmdImageSVG = new ExportModelSVGImage();
cmdImageSVG.setKernel(kernel);
saveSVG.addActionListener(new CommandActionListener(cmdImageSVG));
return saveSVG;
} */
private JMenuItem createRefreshItem() {
JMenuItem refresh = new JMenuItem("Refresh");
RefreshModelCommand cmdRM = new RefreshModelCommand();
cmdRM.setKernel(kernel);
refresh.addActionListener(new CommandActionListener(cmdRM));
return refresh;
}
}