diff options
Diffstat (limited to 'wizards/com/sun/star/wizards/report/IReportDocument.java')
-rw-r--r-- | wizards/com/sun/star/wizards/report/IReportDocument.java | 268 |
1 files changed, 268 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 000000000000..702a776f9c98 --- /dev/null +++ b/wizards/com/sun/star/wizards/report/IReportDocument.java @@ -0,0 +1,268 @@ +/* + ************************************************************************ + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +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; +import java.util.Vector; + +/** + * New Interface which gives us the possibility to switch on the fly between the old + * Wizard and the new Sun Report Builder Wizard, which use the same UI. + * + * @author ll93751 + */ +public interface IReportDocument +{ + // ------------------------------------------------------------------------- + // initialisation + // ------------------------------------------------------------------------- + public void initialize( + final XDatabaseDocumentUI i_documentUI, + final Resource i_resource + ); + + // ------------------------------------------------------------------------- + // Access Helper + // ------------------------------------------------------------------------- + /** + * Gives access to the DB Values + * @return + */ + public 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 + * @return + */ + public com.sun.star.awt.XWindowPeer getWizardParent(); + + /** + * + * @return the Frame of the document Window or Report Builder Window + */ + public com.sun.star.frame.XFrame getFrame(); + + public 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. + * @param _aType + * @param TableName + * @param FieldNames + */ + public void initializeFieldColumns(final int _aType, final String TableName, final String[] FieldNames); + + /** + * Empties the report document + */ + public void clearDocument(); + + /** + * Empties the report document, if we called back, don't remove Grouping/Sorting + */ + public void removeTextTableAndTextSection(); + + // ------------------------------------------------------------------------- + // Second step: Label field titles + // ------------------------------------------------------------------------- + /** + * Set new names for the titles + * @param sFieldTitles + */ + public void setFieldTitles(final String[] sFieldTitles); + + /** + * Change a 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 + * @param FieldName + * @param TitleName + */ + public 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 then') add a group to the group list + * @param GroupNames + * @param CurGroupTitle + * @param GroupFieldVector + * @param ReportPath + * @param iSelCount + * @return + */ + public boolean liveupdate_addGroupNametoDocument(String[] GroupNames, String CurGroupTitle, Vector GroupFieldVector, ArrayList ReportPath, int iSelCount); + + public void refreshGroupFields(String[] _sNewNames); + // public boolean isGroupField(String _FieldName); + /** + * Called by press ('less then') Removes an already set Groupname out of the list + * @param NewSelGroupNames + * @param CurGroupTitle + * @param GroupFieldVector + */ + public void liveupdate_removeGroupName(String[] NewSelGroupNames, String CurGroupTitle, java.util.Vector GroupFieldVector); + + /** + * set the list how to group + * @param aGroupList + */ + public void setGrouping(String[] aGroupList); + // ------------------------------------------------------------------------- + // Fourth step: Sorting + // ------------------------------------------------------------------------- + /** + * Set the list how to sort + * @param aSort + */ + public void setSorting(String[][] aSort); + // ------------------------------------------------------------------------- + // Fivth step: Templates / Layout + // ------------------------------------------------------------------------- + /* Template Page */ + public void setPageOrientation(int nOrientation) throws com.sun.star.lang.IllegalArgumentException; + + public int getDefaultPageOrientation(); + + public ArrayList getReportPath(); + + public String getLayoutPath(); + + public String getContentPath(); + + /** + * Called if a new Layout is selected + * @param LayoutTemplatePath + */ + public void liveupdate_changeLayoutTemplate(String LayoutTemplatePath/*, String BitmapPath*/); + + /** + * Called if a new Template is selected + * @param ContentTemplatePath + */ + public void liveupdate_changeContentTemplate(String ContentTemplatePath); + + // public String[] getLayoutTemplates(); + // public String[] getContentTemplates(); + public void layout_selectFirstPage(); + + public 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. + * @param _sTitleName + */ + public void liveupdate_updateReportTitle(String _sTitleName); + + /** + * Store the document by the given name + * @param Name + * @param OpenMode + */ + public 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 + */ + public void addReportToDBView(); + + public void importReportData(ReportWizard aWizard); + + /** + * Create the final Report document + * @param Name + * @param _bAsTemplate + * @param _bOpenInDesign + * @return + */ + public void createAndOpenReportDocument( + final String Name, + final boolean _bAsTemplate, + final boolean _bOpenInDesign + ); + + public void dispose(); + // ------------------------------------------------------------------------- + // Garbage dump + // ------------------------------------------------------------------------- + /* DataImport */ + // ??? + // public void addTextSectionCopies(); + // ??? + public boolean reconnectToDatabase(XMultiServiceFactory xMSF, PropertyValue[] Properties); + // ??? + public void insertDatabaseDatatoReportDocument(XMultiServiceFactory xMSF); + // ??? + // public com.sun.star.lang.XMultiServiceFactory getDocumentServiceFactory(); + /** + * set a internal variable to stop a maybe longer DB access. + */ + public void StopProcess(); // cancel + + /** + * Returns a string list of layouts. + * @return + */ + public String[][] getDataLayout(); + + /** + * Returns a string list of header layouts + * @return + */ + public String[][] getHeaderLayout(); + + public void setCommandType(int CommandType); + + public void setCommand(String Command); + + /** + * check internal invariants + * @throws a + */ + public void checkInvariants() throws java.lang.Exception; +} |