Ejemplo n.º 1
0
  private void setPrologInterface(PrologInterface newPif, boolean updateActivePif) {
    if (currentPif == newPif) {
      return;
    }
    if (currentPif != null) {
      viewerStates.put(currentPif, viewer.saveState());
    }
    currentPif = newPif;
    if (currentPif != null) {
      addHooks(currentPif);
      try {
        connect(currentPif);
      } catch (PrologInterfaceException e) {
        Debug.report(e);
      }
      reconfigureViewer(currentPif);
      getDefaultPrologConsoleService().fireActivePrologInterfaceChanged(this);
      if (updateActivePif) {
        PrologRuntimeUIPlugin.getDefault()
            .getPrologInterfaceService()
            .setActivePrologInterface(currentPif);
      }

    } else {
      Debug.debug("no pif (yet).");
    }
    if (automatedSelector != null) {
      automatedSelector.update();
    }
    writeCurrentProcessPortToFile();
  }
Ejemplo n.º 2
0
  public PrologInterface activateNewPrologProcess(
      PrologInterfaceRegistry registry, String pifKey, String configuration) {
    DefaultSubscription subscription =
        new DefaultSubscription(
            pifKey + "_indepent", pifKey, "Independent prolog process", "Prolog");
    registry.addSubscription(subscription);
    PrologInterface pif =
        PrologRuntimeUIPlugin.getDefault().getPrologInterface(subscription, configuration);

    if (automatedSelector.getActiveTrackers().isEmpty()) {
      setPrologInterface(pif);
      automatedSelector.setImageDescriptor(
          ImageRepository.getImageDescriptor(ImageRepository.MANUAL_MODE));
    }
    return pif;
  }
Ejemplo n.º 3
0
  private void reconfigureViewer(final PrologInterface pif) {

    if (Display.getCurrent() != viewer.getControl().getDisplay()) {
      viewer
          .getControl()
          .getDisplay()
          .asyncExec(
              new Runnable() {
                @Override
                public void run() {
                  reconfigureViewer(pif);
                }
              });
      return;
    }
    if (pif == null) {

      viewer.setModel(null);
      viewer.setHistory(null);
      viewer.setCompletionProvider(null);
      title.setText("no console available(yet).");
      return;
    }

    ConsoleViewer.SavedState savedState = viewerStates.get(pif);
    if (savedState == null) {
      viewer.clearOutput();
      viewer.setModel(models.get(pif));
      PrologCompletionProvider completionProvider = new PrologCompletionProvider();
      completionProvider.setPrologInterface(pif);
      viewer.setCompletionProvider(completionProvider);
      ConsoleHistory history = new ConsoleHistory();
      viewer.setHistory(history);
      loadHistory(history);
    } else {
      viewer.loadState(savedState);
    }
    PrologInterfaceRegistry reg = PrologRuntimePlugin.getDefault().getPrologInterfaceRegistry();
    String key = reg.getKey(pif);
    title.setText(SelectContextPIFAutomatedAction.getLabelForPif(key, reg));
    //		Object configuration = pif.getAttribute(PrologRuntimeUI.CONFIGURATION_ATTRIBUTE);
    //		if (configuration == null) {
    //			title.setText(key);
    //		} else {
    //			title.setText(key + " (" + configuration.toString().replaceAll("&", "&&") + ")");
    //		}

    viewer.setEnterSendsSemicolon(false);
  }
Ejemplo n.º 4
0
  private void initToolBars() {
    IActionBars bars = this.getViewSite().getActionBars();

    bars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), selectAllAction);
    bars.setGlobalActionHandler(ActionFactory.CUT.getId(), cutAction);
    bars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction);
    bars.setGlobalActionHandler(ActionFactory.PASTE.getId(), pasteAction);

    IToolBarManager toolBarManager = bars.getToolBarManager();

    addToolbarContributions(toolBarManager);
    addMenuContributions(bars.getMenuManager());

    //		pifSelector.init(getViewSite().getWorkbenchWindow());
    automatedSelector.init(getViewSite().getWorkbenchWindow());
  }
Ejemplo n.º 5
0
  private void createAutomatedSelector(IToolBarManager toolBarManager) {

    automatedSelector =
        new SelectContextPIFAutomatedAction() {

          @Override
          protected PrologInterface getPrologInterface() {
            return PrologConsoleView.this.getPrologInterface();
          }

          @Override
          protected void setPrologInterface(PrologInterface prologInterface) {
            PrologConsoleView.this.setPrologInterface(prologInterface);
          }

          @Override
          protected void trackerActivated(PrologContextTracker tracker) {
            setPrologInterface(automatedSelector.getCurrentPrologInterface());
          }

          @Override
          protected void trackerDeactivated(PrologContextTracker tracker) {
            setPrologInterface(automatedSelector.getCurrentPrologInterface());
          }

          @Override
          public void contextChanged(PrologContextTrackerEvent e) {
            PrologContextTracker tracker = (PrologContextTracker) e.getSource();
            Debug.info("context changed for tracker " + tracker.getLabel());
            setPrologInterface(e.getPrologInterface());
          }
        };
    toolBarManager.add(automatedSelector);

    //		pifSelector = new SelectPifAction() {
    //
    //			protected void setPrologInterface(PrologInterface prologInterface) {
    //				PrologConsoleView.this.setPrologInterface(prologInterface);
    //
    //			}
    //
    //			protected PrologInterface getPrologInterface() {
    //				return PrologConsoleView.this.getPrologInterface();
    //			}
    //
    //		};
    //		toolBarManager.add(pifSelector);

    //		contextSelector = new SelectContextsAction() {
    //
    //			public void contextChanged(PrologContextTrackerEvent e) {
    //				PrologContextTracker tracker = (PrologContextTracker) e
    //						.getSource();
    //				Debug.info("context changed for tracker " + tracker.getLabel());
    //				setPrologInterface(e.getPrologInterface());
    //
    //			}
    //
    //			protected void trackerActivated(PrologContextTracker tracker) {
    //				setPrologInterface(contextSelector.getCurrentPrologInterface());
    //
    //			}
    //
    //			protected void trackerDeactivated(PrologContextTracker tracker) {
    //				setPrologInterface(contextSelector.getCurrentPrologInterface());
    //
    //			}
    //		};

    //		toolBarManager.add(contextSelector);
    //		setPrologInterface(contextSelector.getCurrentPrologInterface());
    setPrologInterface(
        PrologRuntimeUIPlugin.getDefault().getPrologInterfaceService().getActivePrologInterface());
    automatedSelector.setImageDescriptor(
        ImageRepository.getImageDescriptor(ImageRepository.MANUAL_MODE));
  }