INTEGRATION: CWS rptwizard01 (1.7.68); FILE MERGED

2008/05/21 10:14:40 lla 1.7.68.4: RESYNC: (1.7-1.8); FILE MERGED
2008/04/14 09:21:29 lla 1.7.68.3: #i86092# refresh?
2008/03/18 12:08:59 lla 1.7.68.2: #i86092# remove Note: text in new Report Wizard only
2008/02/14 13:00:48 lla 1.7.68.1: #i86092# changes for new Report Wizard
This commit is contained in:
Kurt Zenker 2008-06-25 13:32:53 +00:00
parent 8e63258a35
commit 5617595aea

View file

@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: GroupFieldHandler.java,v $
* $Revision: 1.8 $
* $Revision: 1.9 $
*
* This file is part of OpenOffice.org.
*
@ -26,133 +26,175 @@
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/package com.sun.star.wizards.report;
************************************************************************/
package com.sun.star.wizards.report;
import com.sun.star.wizards.common.JavaTools;
import com.sun.star.wizards.ui.*;
import com.sun.star.wizards.db.*;
import java.util.Vector;
public class GroupFieldHandler extends FieldSelection{
ReportDocument CurReportDocument;
Vector GroupFieldVector = new Vector();
QueryMetaData CurDBMetaData;
WizardDialog oWizardDialog;
static final short MAXSELFIELDS = 4;
public class GroupFieldHandler extends FieldSelection
{
IReportDocument CurReportDocument;
private Vector GroupFieldVector = new Vector();
QueryMetaData CurDBMetaData;
WizardDialog oWizardDialog;
static final short MAXSELFIELDS = 4;
public GroupFieldHandler(ReportDocument _CurReportDocument, WizardDialog _CurUnoDialog){
super(_CurUnoDialog, ReportWizard.SOGROUPPAGE, 95, 27, 210, 127,
_CurUnoDialog.oResource.getResText(UIConsts.RID_REPORT + 19),
_CurUnoDialog.oResource.getResText(UIConsts.RID_REPORT + 50), 34340, false);
public GroupFieldHandler(IReportDocument _CurReportDocument, WizardDialog _CurUnoDialog)
{
super(_CurUnoDialog, ReportWizard.SOGROUPPAGE, 95, 27, 210, 127,
_CurUnoDialog.m_oResource.getResText(UIConsts.RID_REPORT + 19),
_CurUnoDialog.m_oResource.getResText(UIConsts.RID_REPORT + 50), 34340, false);
try{
this.oWizardDialog = _CurUnoDialog;
this.CurReportDocument = _CurReportDocument;
this.CurDBMetaData = CurReportDocument.CurDBMetaData;
CurUnoDialog.setControlProperty("lstFields_2", "MultiSelection", new Boolean(false));
CurUnoDialog.setControlProperty("lstSelFields_2", "MultiSelection", new Boolean(false));
addFieldSelectionListener(new FieldSelectionListener());
CurUnoDialog.insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblBlindTextNote_1",
new String[] {"Enabled", "Height", "Label", "MultiLine", "PositionX", "PositionY", "Step", "Width"},
new Object[] {new Boolean(false), new Integer(18), ReportWizard.sBlindTextNote, new Boolean(true), new Integer(95), new Integer(158), new Integer(ReportWizard.SOGROUPPAGE), new Integer(209)});
}
catch( Exception exception ){
exception.printStackTrace(System.out);
}}
public void initialize(){
try{
Vector NormalFieldsVector = new Vector();
Vector SelFieldsVector = new Vector();
String[] sFieldNames = CurDBMetaData.getFieldNames();
for (int i = 0; i < sFieldNames.length; i++){
String sfieldtitle = CurDBMetaData.getFieldTitle(sFieldNames[i]);
if (CurReportDocument.isGroupField(sFieldNames[i]))
SelFieldsVector.add(sfieldtitle);
else
NormalFieldsVector.add(sfieldtitle);
}
String[] SelFields = new String[SelFieldsVector.size()];
SelFieldsVector.toArray(SelFields);
String[] NormalFields = new String[NormalFieldsVector.size()];
NormalFieldsVector.toArray(NormalFields);
super.initialize(NormalFields, SelFields, true);
}
catch( Exception exception ){
exception.printStackTrace(System.out);
}}
public void removeGroupFieldNames(){
emptyFieldsListBoxes();
GroupFieldVector.removeAllElements();
CurUnoDialog.setControlProperty("lblBlindTextNote_1", "Enabled", new Boolean(false));
}
public void getGroupFieldNames(CommandMetaData CurDBMetaData){
String[] GroupFieldNames = new String[GroupFieldVector.size()];
GroupFieldVector.copyInto(GroupFieldNames);
CurDBMetaData.GroupFieldNames = GroupFieldNames;
}
protected void toggleListboxButtons(short iFieldsSelIndex, short iSelFieldsSelIndex) {
super.toggleListboxButtons(iFieldsSelIndex, iSelFieldsSelIndex);
int iSelCount = xSelFieldsListBox.getItemCount();
if (iSelCount >= MAXSELFIELDS){
CurUnoDialog.setControlProperty("cmdMoveSelected" + sIncSuffix, "Enabled", Boolean.FALSE);
}
}
public void selectFields(boolean bMoveAll) {
int iSelCount = xSelFieldsListBox.getItemCount();
if (iSelCount < MAXSELFIELDS){
super.selectFields(bMoveAll);
try
{
this.oWizardDialog = _CurUnoDialog;
this.CurReportDocument = _CurReportDocument;
this.CurDBMetaData = CurReportDocument.getRecordParser();
CurUnoDialog.setControlProperty("lstFields_2", "MultiSelection", new Boolean(false));
CurUnoDialog.setControlProperty("lstSelFields_2", "MultiSelection", new Boolean(false));
addFieldSelectionListener(new FieldSelectionListener());
String sNote = ReportWizard.getBlindTextNote(_CurReportDocument, _CurUnoDialog.m_oResource);
CurUnoDialog.insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblBlindTextNote_1",
new String[] {"Enabled", "Height", "Label", "MultiLine", "PositionX", "PositionY", "Step", "Width"},
new Object[] {new Boolean(false), new Integer(18), sNote, new Boolean(true), new Integer(95), new Integer(158), new Integer(ReportWizard.SOGROUPPAGE), new Integer(209)});
}
catch( Exception exception )
{
exception.printStackTrace(System.out);
}
}
}
protected class FieldSelectionListener implements com.sun.star.wizards.ui.XFieldSelectionListener{
public void moveItemDown(String Selitem){
CurReportDocument.refreshGroupFields(xSelFieldsListBox.getItems());
public boolean isGroupField(String _FieldName)
{
return (JavaTools.FieldInList(CurDBMetaData.GroupFieldNames, _FieldName) != -1);
}
public void moveItemUp(String item){
CurReportDocument.refreshGroupFields(xSelFieldsListBox.getItems());
public void initialize()
{
try
{
Vector NormalFieldsVector = new Vector();
Vector SelFieldsVector = new Vector();
String[] sFieldNames = CurDBMetaData.getFieldNames();
for (int i = 0; i < sFieldNames.length; i++)
{
String sfieldtitle = sFieldNames[i]; // CurDBMetaData.getFieldTitle(sFieldNames[i]);
if (isGroupField(sFieldNames[i]))
{
SelFieldsVector.add(sfieldtitle);
}
else
{
NormalFieldsVector.add(sfieldtitle);
}
}
String[] SelFields = new String[SelFieldsVector.size()];
SelFieldsVector.toArray(SelFields);
String[] NormalFields = new String[NormalFieldsVector.size()];
NormalFieldsVector.toArray(NormalFields);
super.initialize(NormalFields, SelFields, true);
}
catch( Exception exception )
{
exception.printStackTrace(System.out);
}
}
public void shiftFromLeftToRight(String[] Selitems, String[] Newitems) {
String CurGroupTitle = Selitems[0];
public void removeGroupFieldNames()
{
emptyFieldsListBoxes();
GroupFieldVector.removeAllElements();
CurUnoDialog.setControlProperty("lblBlindTextNote_1", "Enabled", new Boolean(false));
}
public void getGroupFieldNames(CommandMetaData CurDBMetaData)
{
String[] GroupFieldNames = new String[GroupFieldVector.size()];
GroupFieldVector.copyInto(GroupFieldNames);
CurDBMetaData.GroupFieldNames = GroupFieldNames;
}
// @Override
protected void toggleListboxButtons(short iFieldsSelIndex, short iSelFieldsSelIndex)
{
super.toggleListboxButtons(iFieldsSelIndex, iSelFieldsSelIndex);
int iSelCount = xSelFieldsListBox.getItemCount();
String[] CurGroupNames = xFieldsListBox.getItems();
CurReportDocument.addGroupNametoDocument(CurGroupNames, CurGroupTitle, GroupFieldVector, ReportWizard.ReportPath, iSelCount);
CurUnoDialog.setControlProperty("lblBlindTextNote_1", "Enabled", new Boolean(true));
if (iSelCount >= MAXSELFIELDS){
toggleMoveButtons(false, false);
if (iSelCount >= MAXSELFIELDS)
{
CurUnoDialog.setControlProperty("cmdMoveSelected" + sIncSuffix, "Enabled", Boolean.FALSE);
}
}
public void shiftFromRightToLeft(String[] OldSelitems, String[] Newitems){
int iSelPos = OldSelitems.length;
if (iSelPos > 0){
String OldGroupTitle = OldSelitems[0];
String[] NewSelList = xSelFieldsListBox.getItems();
CurReportDocument.removeGroupName(NewSelList, OldGroupTitle, GroupFieldVector);
String[] NewSelGroupNames = xSelFieldsListBox.getItems();
CurUnoDialog.setControlProperty("lblBlindTextNote_1", "Enabled", new Boolean(NewSelGroupNames.length == 0));
public void selectFields(boolean bMoveAll)
{
int iSelCount = xSelFieldsListBox.getItemCount();
if (iSelCount < MAXSELFIELDS)
{
super.selectFields(bMoveAll);
}
}
public int getID(){
return 2;
}
/* protected */ class FieldSelectionListener implements com.sun.star.wizards.ui.XFieldSelectionListener
{
public void setID(String sIncSuffix){
}
public void moveItemDown(String Selitem)
{
CurReportDocument.refreshGroupFields(xSelFieldsListBox.getItems());
}
public void moveItemUp(String item)
{
CurReportDocument.refreshGroupFields(xSelFieldsListBox.getItems());
}
public void shiftFromLeftToRight(String[] Selitems, String[] Newitems)
{
String CurGroupTitle = Selitems[0];
int iSelCount = xSelFieldsListBox.getItemCount();
String[] CurGroupNames = xFieldsListBox.getItems();
CurReportDocument.liveupdate_addGroupNametoDocument(CurGroupNames, CurGroupTitle, GroupFieldVector, CurReportDocument.getReportPath(), iSelCount);
CurUnoDialog.setControlProperty("lblBlindTextNote_1", "Enabled", new Boolean(true));
if (iSelCount >= MAXSELFIELDS)
{
toggleMoveButtons(false, false);
}
}
public void shiftFromRightToLeft(String[] OldSelitems, String[] Newitems)
{
int iSelPos = OldSelitems.length;
if (iSelPos > 0)
{
String OldGroupTitle = OldSelitems[0];
String[] NewSelList = xSelFieldsListBox.getItems();
CurReportDocument.liveupdate_removeGroupName(NewSelList, OldGroupTitle, GroupFieldVector);
String[] NewSelGroupNames = xSelFieldsListBox.getItems();
CurUnoDialog.setControlProperty("lblBlindTextNote_1", "Enabled", new Boolean(NewSelGroupNames.length == 0));
// CurReportDocument.refreshGroupFields(xSelFieldsListBox.getItems());
}
}
public int getID()
{
// TODO: here is a good place for a comment, isn't it?
return 2;
}
public void setID(String sIncSuffix)
{
}
}
}