summaryrefslogtreecommitdiffstats
path: root/wizards/com/sun/star/wizards/report/IReportDocument.java
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/com/sun/star/wizards/report/IReportDocument.java')
-rw-r--r--wizards/com/sun/star/wizards/report/IReportDocument.java219
1 files changed, 219 insertions, 0 deletions
diff --git a/wizards/com/sun/star/wizards/report/IReportDocument.java b/wizards/com/sun/star/wizards/report/IReportDocument.java
new file mode 100644
index 000000000..ec04d6780
--- /dev/null
+++ b/wizards/com/sun/star/wizards/report/IReportDocument.java
@@ -0,0 +1,219 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+package com.sun.star.wizards.report;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.application.XDatabaseDocumentUI;
+import com.sun.star.wizards.common.Resource;
+import java.util.ArrayList;
+
+/**
+ * New Interface which gives us the possibility to switch on the fly between the old
+ * Wizard and the new Report Builder Wizard, which use the same UI.
+ */
+public interface IReportDocument
+{
+
+ // initialisation
+
+ void initialize(
+ final XDatabaseDocumentUI i_documentUI,
+ final Resource i_resource
+ );
+
+
+ // Access Helper
+
+ /**
+ * Gives access to the DB Values
+ */
+ com.sun.star.wizards.db.RecordParser getRecordParser();
+
+ /**
+ * Give access to the parent document
+ * It is a document in the old Wizard
+ * It is a Report Builder in the new Wizard
+ */
+ com.sun.star.awt.XWindowPeer getWizardParent();
+
+ /**
+ *
+ * @return the Frame of the document Window or Report Builder Window
+ */
+ com.sun.star.frame.XFrame getFrame();
+
+ XComponent getComponent();
+
+
+ // First step: After entering the table name, select fields
+
+ /**
+ * Is called after first step, set Tablename and the fields, which should occur in the Report.
+ */
+ void initializeFieldColumns(final int _aType, final String TableName, final String[] FieldNames);
+
+ /**
+ * Empties the report document
+ */
+ void clearDocument();
+
+ /**
+ * Empties the report document, if we called back, don't remove Grouping/Sorting
+ */
+ void removeTextTableAndTextSection();
+
+
+ // Second step: Label field titles
+
+ /**
+ * Set new names for the titles
+ */
+ void setFieldTitles(final String[] sFieldTitles);
+
+ /**
+ * Change the name of the 'title' of one field.
+ * It is possible to give all element names new names which are used as
+ * element title of a given element name.
+ * This is only used as a preview
+ */
+ void liveupdate_changeUserFieldContent(final String FieldName, final String TitleName);
+
+ // Third step: Grouping
+
+ /* Grouping Page */
+ // Document should not hold the grouping information!
+ /**
+ * Called by press ('greater than') add a group to the group list
+ */
+ boolean liveupdate_addGroupNametoDocument(String[] GroupNames, String CurGroupTitle, ArrayList<String> GroupFieldVector, ArrayList<String> ReportPath, int iSelCount);
+
+ void refreshGroupFields(String[] _sNewNames);
+ /**
+ * Called by press ('less than') Removes an already set Groupname out of the list
+ */
+ void liveupdate_removeGroupName(String[] NewSelGroupNames, String CurGroupTitle, java.util.ArrayList<String> GroupFieldVector);
+
+ /**
+ * set the list how to group
+ */
+ void setGrouping(String[] aGroupList);
+
+ // Fourth step: Sorting
+
+ /**
+ * Set the list how to sort
+ */
+ void setSorting(String[][] aSort);
+
+ // Fivth step: Templates / Layout
+
+ /* Template Page */
+ void setPageOrientation(int nOrientation) throws com.sun.star.lang.IllegalArgumentException;
+
+ int getDefaultPageOrientation();
+
+ ArrayList<String> getReportPath();
+
+ String getLayoutPath();
+
+ String getContentPath();
+
+ /**
+ * Called if a new Layout is selected
+ */
+ void liveupdate_changeLayoutTemplate(String LayoutTemplatePath/*, String BitmapPath*/);
+
+ /**
+ * Called if a new Template is selected
+ */
+ void liveupdate_changeContentTemplate(String ContentTemplatePath);
+
+ void layout_selectFirstPage();
+
+ void layout_setupRecordSection(String TemplateName);
+
+ // finishing
+
+ // preview (update titlenames)
+ // addTextListener
+ /**
+ * Set the Title into the document from the 'Create Report Page'
+ * BUG: The Title is empty after create Report.
+ */
+ void liveupdate_updateReportTitle(String _sTitleName);
+
+ /**
+ * Store the document by the given name
+ */
+ void store(String Name, int OpenMode) throws com.sun.star.uno.Exception;
+
+ /**
+ * The current report is added to the DB View under the given name
+ *
+ * TODO: add Name to this functionality
+ */
+ void addReportToDBView();
+
+ void importReportData(ReportWizard aWizard);
+
+ /**
+ * Create the final Report document
+ */
+ void createAndOpenReportDocument(
+ final String Name,
+ final boolean _bAsTemplate,
+ final boolean _bOpenInDesign
+ );
+
+ void dispose();
+
+ // Garbage dump
+
+ /* DataImport */
+ // ???
+ // ???
+ boolean reconnectToDatabase(XMultiServiceFactory xMSF, PropertyValue[] Properties);
+ // ???
+ void insertDatabaseDatatoReportDocument(XMultiServiceFactory xMSF);
+ // ???
+ /**
+ * set an internal variable to stop a maybe longer DB access.
+ */
+ void StopProcess(); // cancel
+
+ /**
+ * Returns a string list of layouts.
+ */
+ String[][] getDataLayout();
+
+ /**
+ * Returns a string list of header layouts
+ */
+ String[][] getHeaderLayout();
+
+ void setCommandType(int CommandType);
+
+ void setCommand(String Command);
+
+ /**
+ * check internal invariants
+ */
+ void checkInvariants() throws java.lang.Exception;
+}