1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package com.rthoni.intellij.codefromds.ui.actions;
-
- import com.intellij.openapi.actionSystem.AnAction;
- import com.intellij.openapi.actionSystem.AnActionEvent;
- import com.intellij.openapi.actionSystem.CommonDataKeys;
- import com.intellij.openapi.actionSystem.DataContext;
- import com.intellij.openapi.project.Project;
- import com.intellij.openapi.project.ProjectManager;
- import com.intellij.openapi.ui.DialogWrapper;
- import com.intellij.openapi.vfs.VirtualFile;
- import com.rthoni.intellij.codefromds.business.Generator;
- import com.rthoni.intellij.codefromds.dbo.GenerateOptions;
- import com.rthoni.intellij.codefromds.ui.dialogs.GenerateDialog;
-
- import javax.swing.*;
-
- /**
- * Created by robin on 11/14/16.
- */
- public class GenerateAction extends AnAction {
-
- @Override
- public void actionPerformed(AnActionEvent e) {
- GenerateDialog dlg = new GenerateDialog(null);
- if (!e.getPlace().equals("MainMenu")) {
- final VirtualFile file = CommonDataKeys.VIRTUAL_FILE.getData(e.getDataContext());
- if (file != null) {
- try {
- GenerateOptions options = Generator.loadOptions(file.getPath());
- dlg.setOptions(options);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
- }
- dlg.show();
- int res = dlg.getExitCode();
- if (res == DialogWrapper.OK_EXIT_CODE) {
- GenerateOptions options = dlg.getOptions();
- try {
- Generator.saveOptions(options);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- Generator.generate(options);
- }
- }
-
- @Override
- public void update(AnActionEvent e) {
- if (e.getPlace().equals("MainMenu")) {
- super.update(e);
- }
- else {
- final VirtualFile file = CommonDataKeys.VIRTUAL_FILE.getData(e.getDataContext());
- e.getPresentation().setVisible(file != null && file.getName().endsWith(".json"));
- }
- }
- }
|