コード例 #1
0
ファイル: HomeManager.java プロジェクト: Just-D/3DHome
 public Context getContext() {
   return HomeApplication.getInstance().getApplicationContext();
 }
コード例 #2
0
  @Override
  public void actionPerformed(ActionEvent evt) {
    viewer.evidencePanel.setVisible(true);

    Query query = null;

    Object src = evt.getSource();
    if (src == whatButton) {
      query = new Query(Query.QUESTION_WHAT, ActivityWidget.ACTIVITY, System.currentTimeMillis());
    } else if (src == whyButton) {
      query = new Query(Query.QUESTION_WHY, ActivityWidget.ACTIVITY, System.currentTimeMillis());
    } else if (src == whyNotButton) {
      List<String> states = viewer.evidencePanel.statesPanel.getStates();
      if (states != null) {
        whyNotTimelinePanel.setStates(states);
      }

      JOptionPane.showMessageDialog(
          this, whyNotTimelinePanel, "Why Not?", JOptionPane.QUESTION_MESSAGE);
      String altOutcome = whyNotTimelinePanel.getStates().toString();
      altOutcome =
          altOutcome
              .substring(1, altOutcome.length() - 1) // remove '[' and ']'
              .replace(",", "");
      System.out.println("altOutcome = " + altOutcome);

      query =
          new AltQuery(
              AltQuery.QUESTION_WHY_NOT,
              ActivityWidget.ACTIVITY,
              altOutcome,
              System.currentTimeMillis());
    } else if (src == whatIfButton) {
      Explanation inputsExplanation =
          explainer.getExplanation(
              new Query(
                  Query.QUESTION_INPUTS, ActivityWidget.ACTIVITY, System.currentTimeMillis()));
      whatIfFloorplanPanel.presenter.render(inputsExplanation); // don't need to set?

      JOptionPane.showMessageDialog(
          this, whatIfFloorplanPanel, "What If?", JOptionPane.QUESTION_MESSAGE);

      int[] obs = whatIfFloorplanPanel.getObservations();
      SensorsData data = new SensorsData(System.currentTimeMillis());
      System.arraycopy(obs, 0, data.featureValues, 0, obs.length);

      //			ComponentDescription widgetState = enactor.getInWidgetState();
      //			widgetState.addNonConstantAttributes(data.toAttributes(HomeModel.SEQUENCE_LENGTH-1)); //
      // to replace some attributes

      Reason inputs = explainer.getInputsExplanation();
      //
      query = new WhatIfQuery(WhatIfQuery.QUESTION_WHAT_IF, ActivityWidget.ACTIVITY, inputs);

      //			viewer.evidencePanel.setVisible(false);

    }

    Explanation explanation = explainer.getExplanation(query);
    System.out.println("Explanation: " + explanation);
    viewer.presenter.render(explanation);

    viewer.pack();
  }