Package org.pentaho.reporting.designer.core.editor

Examples of org.pentaho.reporting.designer.core.editor.ReportDocumentContext


    designerContext.removePropertyChangeListener(ReportDesignerContext.SELECTION_WAITING_PROPERTY, selectionStateHandler);

    KeyboardFocusManager.getCurrentKeyboardFocusManager().removePropertyChangeListener("permanentFocusOwner", focusHandler); // NON-NLS

    final ReportDocumentContext renderContext = getRenderContext();
    renderContext.getReportDefinition().removeReportModelListener(changeHandler);
    renderContext.getSelectionModel().removeReportSelectionListener(selectionModelListener);

    getElementRenderer().dispose();
  }
View Full Code Here


    this.reportDesignerContext = reportDesignerContext;
  }

  protected TreeSet<Integer> getExpandedNodes()
  {
    final ReportDocumentContext renderContext = getRenderContext();
    if (renderContext == null)
    {
      // dummy operation..
      return new TreeSet<Integer>();
    }

    final Object property = renderContext.getProperties().get("::layout-report-tree:expanded-nodes");
    if (property instanceof TreeSet)
    {
      return (TreeSet<Integer>) property;
    }

    final TreeSet<Integer> retval = new TreeSet<Integer>();
    renderContext.getProperties().put("::layout-report-tree:expanded-nodes", retval);
    return retval;
  }
View Full Code Here

      }

      updateFromInternalSource = true;
      try
      {
        final ReportDocumentContext renderContext = getRenderContext();
        if (renderContext == null)
        {
          return;
        }

        final TreePath[] treePaths = getSelectionPaths();
        if (treePaths == null)
        {
          selectionModel.clearSelection();
          renderContext.getSelectionModel().clearSelection();
          return;
        }

        final DocumentContextSelectionModel selectionModel = renderContext.getSelectionModel();
        final Object[] data = new Object[treePaths.length];
        for (int i = 0; i < treePaths.length; i++)
        {
          final TreePath path = treePaths[i];
          data[i] = path.getLastPathComponent();
View Full Code Here

  /**
   * Invoked when an action occurs.
   */
  public void actionPerformed(final ActionEvent e)
  {
    final ReportDocumentContext activeContext = getActiveContext();
    if (activeContext == null)
    {
      return;
    }

    final Object[] selectedElements = activeContext.getSelectionModel().getSelectedElements();
    final AbstractReportDefinition report = activeContext.getReportDefinition();

    final ArrayList<UndoEntry> undos = new ArrayList<UndoEntry>();
    if (collectChange(selectedElements, report, undos) == false)
    {
      // rollback ..
      for (int i = undos.size() - 1; i >= 0; i--)
      {
        final UndoEntry undoEntry = undos.get(i);
        undoEntry.undo(activeContext);
      }
    }
    else
    {
      final UndoEntry[] undoEntries = undos.toArray(new UndoEntry[undos.size()]);
      activeContext.getUndo().addChange(ActionMessages.getString("AbstractLayerAction.UndoName"),
          new CompoundUndoEntry(undoEntries));
    }
    // re-select the elements (moving them causes them to be unselected)
    activeContext.getSelectionModel().setSelectedElements(selectedElements);
  }
View Full Code Here

    }
  }

  public void actionPerformed(final ActionEvent e)
  {
    final ReportDocumentContext activeContext = getActiveContext();
    if (activeContext == null)
    {
      return;
    }

    if (activeContext.getReportDefinition() instanceof SubReport)
    {
      performEditSubReportParameters(getReportDesignerContext());
      return;
    }
View Full Code Here

    }
  }

  public static void performEditSubReportParameters(final ReportDesignerContext context)
  {
    final ReportDocumentContext activeContext = context.getActiveContext();
    if (activeContext == null)
    {
      throw new NullPointerException();
    }
    final AbstractReportDefinition definition = activeContext.getReportDefinition();
    if (definition instanceof SubReport == false)
    {
      throw new IllegalStateException();
    }
    final SubReport subReport = (SubReport) definition;

    final Component parent = context.getView().getParent();
    final Window window = LibSwingUtil.getWindowAncestor(parent);
    final SubReportParameterDialog parameterDialog;
    if (window instanceof JDialog)
    {
      parameterDialog = new SubReportParameterDialog((JDialog) window);
    }
    else if (window instanceof JFrame)
    {
      parameterDialog = new SubReportParameterDialog((JFrame) window);
    }
    else
    {
      parameterDialog = new SubReportParameterDialog();
    }

    final SubReportParameterDialog.EditResult editResult =
        parameterDialog.performEdit(context, subReport.getInputMappings(), subReport.getExportMappings());
    if (editResult == null)
    {
      return;
    }

    final ParameterMapping[] oldImportMapping = subReport.getInputMappings();
    final ParameterMapping[] oldExportMapping = subReport.getExportMappings();
    activeContext.getUndo().addChange(ActionMessages.getString("EditParametersAction.SubReport.Text"),
        new EditSubreportParametersUndoEntry
            (oldImportMapping, oldExportMapping, editResult.getImportParameters(), editResult.getExportParameters()));
    subReport.setExportMappings(editResult.getExportParameters());
    subReport.setInputMappings(editResult.getImportParameters());
  }
View Full Code Here

  public static void performEditMasterReportParameters(final ReportDesignerContext context,
                                                       final ParameterDefinitionEntry parameter)
      throws ReportDataFactoryException
  {
    final ReportDocumentContext activeContext = context.getActiveContext();
    if (activeContext == null)
    {
      return;
    }

    final Component theParent = context.getView().getParent();
    final Window theWindow = LibSwingUtil.getWindowAncestor(theParent);
    final ParameterDialog parameterDialog;
    if (theWindow instanceof JDialog)
    {
      parameterDialog = new ParameterDialog((JDialog) theWindow, context);
    }
    else if (theWindow instanceof JFrame)
    {
      parameterDialog = new ParameterDialog((JFrame) theWindow, context);
    }
    else
    {
      parameterDialog = new ParameterDialog(context);
    }

    final MasterReport masterReport = activeContext.getContextRoot();
    final ModifiableReportParameterDefinition parameterDefinition =
        (ModifiableReportParameterDefinition) masterReport.getParameterDefinition();
    int index = -1;
    for (int i = 0; i < parameterDefinition.getParameterCount(); i++)
    {
      final ParameterDefinitionEntry definition = parameterDefinition.getParameterDefinition(i);
      if (definition == parameter)
      {
        index = i;
        break;
      }
    }
    if (index == -1)
    {
      if (parameter == null)
      {
        index = parameterDefinition.getParameterCount();
      }
      else
      {
        throw new IndexOutOfBoundsException("This parameter is not part of the existing parameter collection");
      }
    }

    final ParameterDialog.ParameterEditResult definitionEntry = parameterDialog.performEditParameter
        (context, masterReport, parameter);
    if (definitionEntry != null)
    {
      final ParameterEditUndoEntry parameterEditUndoEntry = new ParameterEditUndoEntry(index, parameter, definitionEntry.getParameter());
      final ArrayList<UndoEntry> undos = new ArrayList<UndoEntry>();
      undos.add(parameterEditUndoEntry);
      final DataFactoryWrapper[] dataFactoryWrappers = definitionEntry.getWrappers();
      for (int i = 0; i < dataFactoryWrappers.length; i++)
      {
        final DataFactoryWrapper dataFactoryWrapper = dataFactoryWrappers[i];
        if (dataFactoryWrapper.getOriginalDataFactory() != dataFactoryWrapper.getEditedDataFactory())
        {
          undos.add(new DataSourceEditUndoEntry(i, dataFactoryWrapper.getOriginalDataFactory(), dataFactoryWrapper.getEditedDataFactory()));
        }
      }

      final CompoundUndoEntry undoEntry = new CompoundUndoEntry(undos.toArray(new UndoEntry[undos.size()]));
      undoEntry.redo(activeContext);
      activeContext.getUndo().addChange(ActionMessages.getString("EditParametersAction.MasterReport.Text"), undoEntry);
    }
  }
View Full Code Here

    if (selectionModel1 == null)
    {
      return;
    }

    final ReportDocumentContext activeContext = getActiveContext();
    final Object[] selectedElements = selectionModel1.getSelectedElements();
    if (selectedElements.length == 0)
    {
      return;
    }
View Full Code Here

  {
  }

  public void actionPerformed(final ActionEvent e)
  {
    final ReportDocumentContext activeContext = getActiveContext();
    if (activeContext == null)
    {
      return;
    }

    final RelationalGroup newGroup = new RelationalGroup();
    final EditGroupUndoEntry groupUndoEntry = EditGroupAction.performEditGroup(getReportDesignerContext(), newGroup, true);
    if (groupUndoEntry == null)
    {
      return;
    }

    // apply the data from the EditGroupAction ..
    newGroup.setName(groupUndoEntry.getNewName());
    newGroup.setFieldsArray(groupUndoEntry.getNewFields());

    try
    {
      Object selectedElement = activeContext.getReportDefinition();
      if (getSelectionModel().getSelectionCount() > 0)
      {
        selectedElement = getSelectionModel().getSelectedElement(0);
      }
      if (selectedElement == activeContext.getReportDefinition()  )
      {
        // execution order is important here.
        // first unlink the old root-group by setting a new one ...
        final AbstractReportDefinition report = (AbstractReportDefinition) selectedElement;
        final Group rootGroup = report.getRootGroup();

        final SubGroupBody body = new SubGroupBody();
        newGroup.setBody(body);
        report.setRootGroup(newGroup);

        // *then* you can set the old-root to the newly inserted group ..
        body.setGroup(rootGroup);

        activeContext.getUndo().addChange(ActionMessages.getString("InsertGroupAction.UndoName"),
            new InsertGroupOnReportUndoEntry(rootGroup, newGroup));
        return;
      }

      if (selectedElement instanceof RelationalGroup == false)
      {
        return;
      }
      final RelationalGroup selectedGroup = (RelationalGroup) selectedElement;

      final GroupBody bodyElement = selectedGroup.getBody();
      if (bodyElement instanceof SubGroupBody)
      {
        final SubGroupBody subGroupBodyReportElement = (SubGroupBody) bodyElement;
        final Group oldBodyContent = subGroupBodyReportElement.getGroup();

        final SubGroupBody body = new SubGroupBody();
        newGroup.setBody(body);
        subGroupBodyReportElement.setGroup(newGroup);
        body.setGroup(oldBodyContent);

        activeContext.getUndo().addChange(ActionMessages.getString("InsertGroupAction.UndoName"),
            new InsertGroupOnGroupUndoEntry(selectedGroup.getObjectID(), oldBodyContent, newGroup));
      }
      else if (bodyElement instanceof GroupDataBody)
      {
        final GroupDataBody oldBody = (GroupDataBody) bodyElement;
        selectedGroup.setBody(new SubGroupBody(newGroup));
        newGroup.setBody(oldBody);
        activeContext.getUndo().addChange(ActionMessages.getString("InsertGroupAction.UndoName"),
            new InsertGroupOnDetailsUndoEntry(selectedGroup.getObjectID(), newGroup));
      }
    }
    catch (Exception ex)
    {
View Full Code Here

  }

  public void actionPerformed(final ActionEvent e)
  {

    final ReportDocumentContext activeContext = getActiveContext();
    if (activeContext == null)
    {
      return;
    }

    final MasterReport report = activeContext.getContextRoot();
    final PageDefinition originalPageDef = report.getPageDefinition();

    if ("true".equals(ClassicEngineBoot.getInstance().getGlobalConfig().getConfigProperty // NON-NLS
        ("org.pentaho.reporting.engine.classic.core.modules.gui.print.UseAlternatePageSetupDialog"))) // NON-NLS
    {
View Full Code Here

TOP

Related Classes of org.pentaho.reporting.designer.core.editor.ReportDocumentContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.