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:
parent
8e63258a35
commit
5617595aea
1 changed files with 146 additions and 104 deletions
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue