You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GenerateAction.java 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.rthoni.intellij.codefromds.ui.actions;
  2. import com.intellij.openapi.actionSystem.AnAction;
  3. import com.intellij.openapi.actionSystem.AnActionEvent;
  4. import com.intellij.openapi.actionSystem.CommonDataKeys;
  5. import com.intellij.openapi.actionSystem.DataContext;
  6. import com.intellij.openapi.project.Project;
  7. import com.intellij.openapi.project.ProjectManager;
  8. import com.intellij.openapi.ui.DialogWrapper;
  9. import com.intellij.openapi.vfs.VirtualFile;
  10. import com.rthoni.intellij.codefromds.dbo.GenerateOptions;
  11. import com.rthoni.intellij.codefromds.ui.dialogs.GenerateDialog;
  12. import javax.swing.*;
  13. /**
  14. * Created by robin on 11/14/16.
  15. */
  16. public class GenerateAction extends AnAction {
  17. @Override
  18. public void actionPerformed(AnActionEvent e) {
  19. GenerateDialog dlg = new GenerateDialog(null);
  20. dlg.show();
  21. int res = dlg.getExitCode();
  22. if (res == DialogWrapper.OK_EXIT_CODE) {
  23. GenerateOptions options = dlg.getOptions();
  24. dlg = new GenerateDialog(null);
  25. dlg.setOptions(options);
  26. dlg.show();
  27. }
  28. }
  29. @Override
  30. public void update(AnActionEvent e) {
  31. if (e.getPlace().equals("MainMenu")) {
  32. super.update(e);
  33. }
  34. else {
  35. final VirtualFile file = CommonDataKeys.VIRTUAL_FILE.getData(e.getDataContext());
  36. e.getPresentation().setVisible(file != null && file.getName().endsWith(".json"));
  37. }
  38. }
  39. }