Converted pivot table layout dlg to .ui
pimped up dialog a bit, added mnemonics Change-Id: I4585d9a3a1c96b45c7eedea8a5be41ec717139dd
This commit is contained in:
committed by
Caolán McNamara
parent
89cc3438ed
commit
cfa4f622ca
@@ -123,6 +123,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\
|
||||
sc/uiconfig/scalc/ui/paradialog \
|
||||
sc/uiconfig/scalc/ui/paratemplatedialog \
|
||||
sc/uiconfig/scalc/ui/pivotfielddialog \
|
||||
sc/uiconfig/scalc/ui/pivottablelayout \
|
||||
sc/uiconfig/scalc/ui/printareasdialog \
|
||||
sc/uiconfig/scalc/ui/printeroptions \
|
||||
sc/uiconfig/scalc/ui/protectsheetdlg \
|
||||
|
@@ -118,7 +118,7 @@ ScAccessibleDataPilotControl *ScDPFieldControlBase::AccessRef::operator -> () co
|
||||
|
||||
ScDPFieldControlBase::ScDPFieldControlBase(
|
||||
ScPivotLayoutDlg* pParent, const ResId& rResId, FixedText* pCaption, const char* pcHelpId) :
|
||||
Control(pParent, rResId),
|
||||
Control(pParent),
|
||||
mpDlg(pParent),
|
||||
mpCaption(pCaption),
|
||||
mnFieldSelected(0)
|
||||
@@ -129,6 +129,21 @@ ScDPFieldControlBase::ScDPFieldControlBase(
|
||||
maName = MnemonicGenerator::EraseAllMnemonicChars( pCaption->GetText() );
|
||||
}
|
||||
|
||||
ScDPFieldControlBase::ScDPFieldControlBase( Window* pParent ) :
|
||||
Control (pParent),
|
||||
mnFieldSelected(0)
|
||||
{
|
||||
}
|
||||
|
||||
void ScDPFieldControlBase::Init( ScPivotLayoutDlg* pDlg, FixedText* pCaption )
|
||||
{
|
||||
mpDlg = pDlg;
|
||||
mpCaption = pCaption;
|
||||
|
||||
if (pCaption)
|
||||
maName = MnemonicGenerator::EraseAllMnemonicChars( pCaption->GetText() );
|
||||
}
|
||||
|
||||
ScDPFieldControlBase::~ScDPFieldControlBase()
|
||||
{
|
||||
AccessRef aRef( mxAccessible );
|
||||
@@ -897,6 +912,19 @@ ScDPHorFieldControl::ScDPHorFieldControl(
|
||||
AppendPaintable(&maScroll);
|
||||
}
|
||||
|
||||
ScDPHorFieldControl::ScDPHorFieldControl ( Window* pParent ) :
|
||||
ScDPFieldControlBase( pParent ),
|
||||
maScroll(this, WB_HORZ | WB_DRAG),
|
||||
mnFieldBtnRowCount(0),
|
||||
mnFieldBtnColCount(0)
|
||||
{
|
||||
maScroll.SetScrollHdl( LINK(this, ScDPHorFieldControl, ScrollHdl) );
|
||||
maScroll.SetEndScrollHdl( LINK(this, ScDPHorFieldControl, EndScrollHdl) );
|
||||
maScroll.Hide();
|
||||
|
||||
AppendPaintable(&maScroll);
|
||||
}
|
||||
|
||||
ScDPHorFieldControl::~ScDPHorFieldControl()
|
||||
{
|
||||
}
|
||||
@@ -1149,6 +1177,17 @@ ScDPPageFieldControl::ScDPPageFieldControl(
|
||||
{
|
||||
}
|
||||
|
||||
ScDPPageFieldControl::ScDPPageFieldControl ( Window* pParent ) :
|
||||
ScDPHorFieldControl( pParent )
|
||||
{
|
||||
}
|
||||
|
||||
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeScDPPageFieldControl( Window *pParent, VclBuilder::stringmap & )
|
||||
{
|
||||
return new ScDPPageFieldControl( pParent );
|
||||
}
|
||||
|
||||
|
||||
ScDPPageFieldControl::~ScDPPageFieldControl()
|
||||
{
|
||||
}
|
||||
@@ -1171,6 +1210,16 @@ ScDPColFieldControl::ScDPColFieldControl(
|
||||
{
|
||||
}
|
||||
|
||||
ScDPColFieldControl::ScDPColFieldControl ( Window* pParent ) :
|
||||
ScDPHorFieldControl( pParent )
|
||||
{
|
||||
}
|
||||
|
||||
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeScDPColFieldControl( Window *pParent, VclBuilder::stringmap & )
|
||||
{
|
||||
return new ScDPColFieldControl( pParent );
|
||||
}
|
||||
|
||||
ScDPColFieldControl::~ScDPColFieldControl()
|
||||
{
|
||||
}
|
||||
@@ -1200,6 +1249,24 @@ ScDPRowFieldControl::ScDPRowFieldControl(
|
||||
AppendPaintable(&maScroll);
|
||||
}
|
||||
|
||||
ScDPRowFieldControl::ScDPRowFieldControl ( Window* pParent ) :
|
||||
ScDPFieldControlBase( pParent ),
|
||||
maScroll(this, WB_VERT | WB_DRAG),
|
||||
mnColumnBtnCount(0)
|
||||
{
|
||||
maScroll.SetScrollHdl( LINK(this, ScDPRowFieldControl, ScrollHdl) );
|
||||
maScroll.SetEndScrollHdl( LINK(this, ScDPRowFieldControl, EndScrollHdl) );
|
||||
maScroll.Show(false);
|
||||
|
||||
AppendPaintable(&maScroll);
|
||||
}
|
||||
|
||||
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeScDPRowFieldControl( Window *pParent, VclBuilder::stringmap & )
|
||||
{
|
||||
return new ScDPRowFieldControl( pParent );
|
||||
}
|
||||
|
||||
|
||||
ScDPRowFieldControl::~ScDPRowFieldControl()
|
||||
{
|
||||
}
|
||||
@@ -1424,6 +1491,17 @@ ScDPSelectFieldControl::ScDPSelectFieldControl(
|
||||
SetName(OUString(ScResId(STR_SELECT)));
|
||||
}
|
||||
|
||||
ScDPSelectFieldControl::ScDPSelectFieldControl( Window* pParent ):
|
||||
ScDPHorFieldControl( pParent )
|
||||
{
|
||||
//SetName(OUString(ScResId(STR_SELECT)));
|
||||
}
|
||||
|
||||
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeScDPSelectFieldControl( Window *pParent, VclBuilder::stringmap & )
|
||||
{
|
||||
return new ScDPSelectFieldControl( pParent );
|
||||
}
|
||||
|
||||
ScDPSelectFieldControl::~ScDPSelectFieldControl()
|
||||
{
|
||||
}
|
||||
@@ -1446,6 +1524,16 @@ ScDPDataFieldControl::ScDPDataFieldControl(
|
||||
{
|
||||
}
|
||||
|
||||
ScDPDataFieldControl::ScDPDataFieldControl( Window* pParent ):
|
||||
ScDPHorFieldControl( pParent )
|
||||
{
|
||||
}
|
||||
|
||||
extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeScDPDataFieldControl( Window *pParent, VclBuilder::stringmap & )
|
||||
{
|
||||
return new ScDPDataFieldControl( pParent );
|
||||
}
|
||||
|
||||
ScDPDataFieldControl::~ScDPDataFieldControl()
|
||||
{
|
||||
}
|
||||
|
@@ -45,6 +45,7 @@
|
||||
|
||||
#include <sfx2/dispatch.hxx>
|
||||
#include <vcl/msgbox.hxx>
|
||||
#include <vcl/layout.hxx>
|
||||
|
||||
#include "dbdocfun.hxx"
|
||||
#include "uiitems.hxx"
|
||||
@@ -84,50 +85,33 @@ Point DlgPos2WndPos( const Point& rPt, const Window& rWnd )
|
||||
return aWndPt;
|
||||
}
|
||||
|
||||
static const OString* getFuncNames()
|
||||
{
|
||||
static const OString gFuncNames[ PIVOT_MAXFUNC ] =
|
||||
{
|
||||
OString("sum") ,
|
||||
OString("count") ,
|
||||
OString("mean") ,
|
||||
OString("max") ,
|
||||
OString("min") ,
|
||||
OString("product"),
|
||||
OString("count2"),
|
||||
OString("stdev") ,
|
||||
OString("stdevp") ,
|
||||
OString("var") ,
|
||||
OString("varp") ,
|
||||
};
|
||||
return &gFuncNames[0];
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
ScPivotLayoutDlg::ScPivotLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, const ScDPObject& rDPObject, bool bNewOutput ) :
|
||||
ScAnyRefDlg( pB, pCW, pParent, RID_SCDLG_PIVOT_LAYOUT ),
|
||||
|
||||
maFlLayout( this, ScResId( FL_LAYOUT ) ),
|
||||
maFtPage( this, ScResId( FT_PAGE ) ),
|
||||
maWndPage( this, ScResId( WND_PAGE ), &maFtPage, HID_SC_DPLAY_PAGE ),
|
||||
maFtCol( this, ScResId( FT_COL ) ),
|
||||
maWndCol( this, ScResId( WND_COL ), &maFtCol, HID_SC_DPLAY_COLUMN ),
|
||||
maFtRow( this, ScResId( FT_ROW ) ),
|
||||
maWndRow( this, ScResId( WND_ROW ), &maFtRow, HID_SC_DPLAY_ROW ),
|
||||
maFtData( this, ScResId( FT_DATA ) ),
|
||||
maWndData( this, ScResId( WND_DATA ), &maFtData, HID_SC_DPLAY_DATA ),
|
||||
maWndSelect( this, ScResId( WND_SELECT ), NULL, HID_SC_DPLAY_SELECT ),
|
||||
maFtInfo( this, ScResId( FT_INFO ) ),
|
||||
|
||||
maFlAreas( this, ScResId( FL_OUTPUT ) ),
|
||||
maFtInArea( this, ScResId( FT_INAREA) ),
|
||||
maEdInPos( this, this, &maFtInArea, ScResId( ED_INAREA) ),
|
||||
maRbInPos( this, ScResId( RB_INAREA ), &maEdInPos, this ),
|
||||
maLbOutPos( this, ScResId( LB_OUTAREA ) ),
|
||||
maFtOutArea( this, ScResId( FT_OUTAREA ) ),
|
||||
maEdOutPos( this, this, &maFtOutArea, ScResId( ED_OUTAREA ) ),
|
||||
maRbOutPos( this, ScResId( RB_OUTAREA ), &maEdOutPos, this ),
|
||||
maBtnIgnEmptyRows( this, ScResId( BTN_IGNEMPTYROWS ) ),
|
||||
maBtnDetectCat( this, ScResId( BTN_DETECTCAT ) ),
|
||||
maBtnTotalCol( this, ScResId( BTN_TOTALCOL ) ),
|
||||
maBtnTotalRow( this, ScResId( BTN_TOTALROW ) ),
|
||||
maBtnFilter( this, ScResId( BTN_FILTER ) ),
|
||||
maBtnDrillDown( this, ScResId( BTN_DRILLDOWN ) ),
|
||||
|
||||
maBtnOk( this, ScResId( BTN_OK ) ),
|
||||
maBtnCancel( this, ScResId( BTN_CANCEL ) ),
|
||||
maBtnHelp( this, ScResId( BTN_HELP ) ),
|
||||
maBtnRemove( this, ScResId( BTN_REMOVE ) ),
|
||||
maBtnOptions( this, ScResId( BTN_OPTIONS ) ),
|
||||
maBtnMore( this, ScResId( BTN_MORE ) ),
|
||||
|
||||
ScAnyRefDlg( pB, pCW, pParent, "PivotTableLayout", "modules/scalc/ui/pivottablelayout.ui" ),
|
||||
mxDlgDPObject( new ScDPObject( rDPObject ) ),
|
||||
mpViewData( ((ScTabViewShell*)SfxViewShell::Current())->GetViewData() ),
|
||||
mpDoc( ((ScTabViewShell*)SfxViewShell::Current())->GetViewData()->GetDocument() ),
|
||||
mpRefInputEdit(NULL),
|
||||
|
||||
maStrUndefined(SC_RESSTR(SCSTR_UNDEFINED)),
|
||||
maStrNewTable(SC_RESSTR(SCSTR_NEWTABLE)),
|
||||
mbIsDrag(false),
|
||||
@@ -135,76 +119,103 @@ ScPivotLayoutDlg::ScPivotLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window
|
||||
mnOffset(0),
|
||||
mbRefInputMode( false )
|
||||
{
|
||||
get( mpFtPage, "page_text" );
|
||||
get( mpWndPage, "pagefield" );
|
||||
get( mpFtCol, "column_text" );
|
||||
get( mpWndCol, "columnfield" );
|
||||
get( mpFtRow, "row_text" );
|
||||
get( mpWndRow, "rowfield" );
|
||||
get( mpFtData, "data_text" );
|
||||
get( mpWndData, "datafield" );
|
||||
get( mpWndSelect, "buttonfield" );
|
||||
get( mpFtInfo, "info" );
|
||||
|
||||
mpWndPage->Init( this, mpFtPage );
|
||||
mpWndCol->Init( this, mpFtCol );
|
||||
mpWndRow->Init( this, mpFtRow );
|
||||
mpWndData->Init( this, mpFtData );
|
||||
mpWndSelect->Init( this, NULL );
|
||||
mpWndSelect->SetName( get<FixedText>("select_text")->GetText());
|
||||
|
||||
get( mpFtInArea, "select_from" );
|
||||
get( mpEdInPos, "rangesel1" );
|
||||
get( mpRbInPos, "changebutton1" );
|
||||
get( mpLbOutPos, "target_area" );
|
||||
get( mpFtOutArea, "results_to" );
|
||||
get( mpEdOutPos, "rangesel2" );
|
||||
get( mpRbOutPos, "changebutton2" );
|
||||
get( mpBtnIgnEmptyRows, "ignore_empty" );
|
||||
get( mpBtnDetectCat, "detect_category" );
|
||||
get( mpBtnTotalCol, "total_cols" );
|
||||
get( mpBtnTotalRow, "total_rows" );
|
||||
get( mpBtnFilter, "add_filter" );
|
||||
get( mpBtnDrillDown, "drill_down" );
|
||||
|
||||
get( mpBtnOk, "ok" );
|
||||
get( mpBtnCancel, "cancel" );
|
||||
get( mpBtnRemove, "remove" );
|
||||
get( mpBtnOptions, "options" );
|
||||
get( mpExpander, "more" );
|
||||
mpExpander->SetExpandedHdl( LINK( this, ScPivotLayoutDlg, ExpandHdl ) );
|
||||
|
||||
mxDlgDPObject->FillOldParam( maPivotData );
|
||||
mxDlgDPObject->FillLabelData( maPivotData );
|
||||
|
||||
maBtnRemove.SetClickHdl( LINK( this, ScPivotLayoutDlg, ClickHdl ) );
|
||||
maBtnOptions.SetClickHdl( LINK( this, ScPivotLayoutDlg, ClickHdl ) );
|
||||
mpBtnRemove->SetClickHdl( LINK( this, ScPivotLayoutDlg, ClickHdl ) );
|
||||
mpBtnOptions->SetClickHdl( LINK( this, ScPivotLayoutDlg, ClickHdl ) );
|
||||
|
||||
maFuncNames.reserve( PIVOT_MAXFUNC );
|
||||
for ( sal_uInt16 i = 1; i <= PIVOT_MAXFUNC; ++i )
|
||||
maFuncNames.push_back(ScResId(i).toString());
|
||||
|
||||
maBtnMore.AddWindow( &maFlAreas );
|
||||
maBtnMore.AddWindow( &maFtInArea );
|
||||
maBtnMore.AddWindow( &maEdInPos );
|
||||
maBtnMore.AddWindow( &maRbInPos );
|
||||
maBtnMore.AddWindow( &maFtOutArea );
|
||||
maBtnMore.AddWindow( &maLbOutPos );
|
||||
maBtnMore.AddWindow( &maEdOutPos );
|
||||
maBtnMore.AddWindow( &maRbOutPos );
|
||||
maBtnMore.AddWindow( &maBtnIgnEmptyRows );
|
||||
maBtnMore.AddWindow( &maBtnDetectCat );
|
||||
maBtnMore.AddWindow( &maBtnTotalCol );
|
||||
maBtnMore.AddWindow( &maBtnTotalRow );
|
||||
maBtnMore.AddWindow( &maBtnFilter );
|
||||
maBtnMore.AddWindow( &maBtnDrillDown );
|
||||
maBtnMore.SetClickHdl( LINK( this, ScPivotLayoutDlg, MoreClickHdl ) );
|
||||
const OString* pFuncNames = getFuncNames();
|
||||
for ( sal_uInt16 i = 0; i < PIVOT_MAXFUNC; ++i )
|
||||
{
|
||||
OUString tmpText = get<FixedText>(pFuncNames[i])->GetText();
|
||||
maFuncNames.push_back(tmpText);
|
||||
}
|
||||
|
||||
maFieldCtrls.reserve(5);
|
||||
maFieldCtrls.push_back(&maWndPage);
|
||||
maFieldCtrls.push_back(&maWndCol);
|
||||
maFieldCtrls.push_back(&maWndRow);
|
||||
maFieldCtrls.push_back(&maWndData);
|
||||
maFieldCtrls.push_back(&maWndSelect);
|
||||
maFieldCtrls.push_back(mpWndPage);
|
||||
maFieldCtrls.push_back(mpWndCol);
|
||||
maFieldCtrls.push_back(mpWndRow);
|
||||
maFieldCtrls.push_back(mpWndData);
|
||||
maFieldCtrls.push_back(mpWndSelect);
|
||||
|
||||
InitControlAndDlgSizes();
|
||||
|
||||
if (mxDlgDPObject->GetSheetDesc())
|
||||
{
|
||||
maEdInPos.Enable();
|
||||
maRbInPos.Enable();
|
||||
mpEdInPos->Enable();
|
||||
mpRbInPos->Enable();
|
||||
const ScSheetSourceDesc* p = mxDlgDPObject->GetSheetDesc();
|
||||
OUString aRangeName = p->GetRangeName();
|
||||
if (!aRangeName.isEmpty())
|
||||
maEdInPos.SetText(aRangeName);
|
||||
mpEdInPos->SetText(aRangeName);
|
||||
else
|
||||
{
|
||||
maOldRange = p->GetSourceRange();
|
||||
OUString aStr(maOldRange.Format(SCR_ABS_3D, mpDoc, mpDoc->GetAddressConvention()));
|
||||
maEdInPos.SetText(aStr);
|
||||
mpEdInPos->SetText(aStr);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// data is not reachable, so could be a remote database
|
||||
maEdInPos.Disable();
|
||||
maRbInPos.Disable();
|
||||
mpEdInPos->Disable();
|
||||
mpRbInPos->Disable();
|
||||
}
|
||||
|
||||
InitFieldWindows();
|
||||
|
||||
maLbOutPos.SetSelectHdl( LINK( this, ScPivotLayoutDlg, SelAreaHdl ) );
|
||||
maEdOutPos.SetModifyHdl( LINK( this, ScPivotLayoutDlg, EdOutModifyHdl ) );
|
||||
maEdInPos.SetModifyHdl( LINK( this, ScPivotLayoutDlg, EdInModifyHdl ) );
|
||||
maBtnOk.SetClickHdl( LINK( this, ScPivotLayoutDlg, OkHdl ) );
|
||||
maBtnCancel.SetClickHdl( LINK( this, ScPivotLayoutDlg, CancelHdl ) );
|
||||
mpLbOutPos->SetSelectHdl( LINK( this, ScPivotLayoutDlg, SelAreaHdl ) );
|
||||
mpEdOutPos->SetModifyHdl( LINK( this, ScPivotLayoutDlg, EdOutModifyHdl ) );
|
||||
mpEdInPos->SetModifyHdl( LINK( this, ScPivotLayoutDlg, EdInModifyHdl ) );
|
||||
mpBtnOk->SetClickHdl( LINK( this, ScPivotLayoutDlg, OkHdl ) );
|
||||
mpBtnCancel->SetClickHdl( LINK( this, ScPivotLayoutDlg, CancelHdl ) );
|
||||
|
||||
// Set focus handler for the reference edit text boxes.
|
||||
Link aGetFocusLink = LINK(this, ScPivotLayoutDlg, GetRefEditFocusHdl);
|
||||
if (maEdInPos.IsEnabled())
|
||||
maEdInPos.SetGetFocusHdl(aGetFocusLink);
|
||||
maEdOutPos.SetGetFocusHdl(aGetFocusLink);
|
||||
if (mpEdInPos->IsEnabled())
|
||||
mpEdInPos->SetGetFocusHdl(aGetFocusLink);
|
||||
mpEdOutPos->SetGetFocusHdl(aGetFocusLink);
|
||||
|
||||
if ( mpViewData && mpDoc )
|
||||
{
|
||||
@@ -214,9 +225,9 @@ ScPivotLayoutDlg::ScPivotLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window
|
||||
* um sinnvolle Bereiche handelt
|
||||
*/
|
||||
|
||||
maLbOutPos.Clear();
|
||||
maLbOutPos.InsertEntry( maStrUndefined, 0 );
|
||||
maLbOutPos.InsertEntry( maStrNewTable, 1 );
|
||||
mpLbOutPos->Clear();
|
||||
mpLbOutPos->InsertEntry( maStrUndefined, 0 );
|
||||
mpLbOutPos->InsertEntry( maStrNewTable, 1 );
|
||||
|
||||
ScAreaNameIterator aIter( mpDoc );
|
||||
OUString aName;
|
||||
@@ -225,11 +236,11 @@ ScPivotLayoutDlg::ScPivotLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window
|
||||
{
|
||||
if ( !aIter.WasDBName() ) // hier keine DB-Bereiche !
|
||||
{
|
||||
sal_uInt16 nInsert = maLbOutPos.InsertEntry( aName );
|
||||
sal_uInt16 nInsert = mpLbOutPos->InsertEntry( aName );
|
||||
|
||||
OUString aRefStr(aRange.aStart.Format(SCA_ABS_3D, mpDoc, mpDoc->GetAddressConvention()));
|
||||
maRefStrs.push_back(new OUString(aRefStr));
|
||||
maLbOutPos.SetEntryData(nInsert, &maRefStrs.back());
|
||||
mpLbOutPos->SetEntryData(nInsert, &maRefStrs.back());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -237,9 +248,9 @@ ScPivotLayoutDlg::ScPivotLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window
|
||||
if (bNewOutput)
|
||||
{
|
||||
// Output to a new sheet by default for a brand-new output.
|
||||
maLbOutPos.SelectEntryPos(1);
|
||||
maEdOutPos.Disable();
|
||||
maRbOutPos.Disable();
|
||||
mpLbOutPos->SelectEntryPos(1);
|
||||
mpEdOutPos->Disable();
|
||||
mpRbOutPos->Disable();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -251,29 +262,27 @@ ScPivotLayoutDlg::ScPivotLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window
|
||||
ScAddress( maPivotData.nCol,
|
||||
maPivotData.nRow,
|
||||
maPivotData.nTab ).Format(STD_FORMAT, mpDoc, mpDoc->GetAddressConvention());
|
||||
maEdOutPos.SetText( aStr );
|
||||
mpEdOutPos->SetText( aStr );
|
||||
maOutputRefStr = aStr;
|
||||
EdOutModifyHdl(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
maLbOutPos.SelectEntryPos( maLbOutPos.GetEntryCount()-1 );
|
||||
mpLbOutPos->SelectEntryPos( mpLbOutPos->GetEntryCount()-1 );
|
||||
SelAreaHdl(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
maBtnIgnEmptyRows.Check( maPivotData.bIgnoreEmptyRows );
|
||||
maBtnDetectCat .Check( maPivotData.bDetectCategories );
|
||||
maBtnTotalCol .Check( maPivotData.bMakeTotalCol );
|
||||
maBtnTotalRow .Check( maPivotData.bMakeTotalRow );
|
||||
mpBtnIgnEmptyRows->Check( maPivotData.bIgnoreEmptyRows );
|
||||
mpBtnDetectCat->Check( maPivotData.bDetectCategories );
|
||||
mpBtnTotalCol->Check( maPivotData.bMakeTotalCol );
|
||||
mpBtnTotalRow->Check( maPivotData.bMakeTotalRow );
|
||||
|
||||
const ScDPSaveData* pSaveData = mxDlgDPObject->GetSaveData();
|
||||
maBtnFilter.Check( !pSaveData || pSaveData->GetFilterButton() );
|
||||
maBtnDrillDown.Check( !pSaveData || pSaveData->GetDrillDown() );
|
||||
mpBtnFilter->Check( !pSaveData || pSaveData->GetFilterButton() );
|
||||
mpBtnDrillDown->Check( !pSaveData || pSaveData->GetDrillDown() );
|
||||
|
||||
GrabFieldFocus( maWndSelect );
|
||||
|
||||
FreeResource();
|
||||
GrabFieldFocus( mpWndSelect );
|
||||
}
|
||||
|
||||
ScPivotLayoutDlg::~ScPivotLayoutDlg()
|
||||
@@ -302,11 +311,11 @@ void ScPivotLayoutDlg::InitWndSelect(const ScDPLabelDataVector& rLabels)
|
||||
// original dimension if available. Be aware that duplicate
|
||||
// dimensions may have different layout names.
|
||||
ScPivotFuncData aFunc(maLabelData[i].mnCol, maLabelData[i].mnFuncMask);
|
||||
maWndSelect.AppendField(maLabelData[i].getDisplayName(), aFunc);
|
||||
mpWndSelect->AppendField(maLabelData[i].getDisplayName(), aFunc);
|
||||
}
|
||||
}
|
||||
maWndSelect.ResetScrollBar();
|
||||
maWndSelect.Paint(Rectangle());
|
||||
mpWndSelect->ResetScrollBar();
|
||||
mpWndSelect->Paint(Rectangle());
|
||||
}
|
||||
|
||||
void ScPivotLayoutDlg::InitWndData(const vector<ScPivotField>& rFields)
|
||||
@@ -332,11 +341,11 @@ void ScPivotLayoutDlg::InitWndData(const vector<ScPivotField>& rFields)
|
||||
aStr += pData->maName;
|
||||
}
|
||||
|
||||
maWndData.AppendField(aStr, aFunc);
|
||||
mpWndData->AppendField(aStr, aFunc);
|
||||
pData->mnFuncMask = nMask;
|
||||
}
|
||||
}
|
||||
maWndData.ResetScrollBar();
|
||||
mpWndData->ResetScrollBar();
|
||||
}
|
||||
|
||||
void ScPivotLayoutDlg::InitFieldWindow( const vector<ScPivotField>& rFields, ScPivotFieldType eType )
|
||||
@@ -370,22 +379,22 @@ void ScPivotLayoutDlg::InitFieldWindows()
|
||||
InitWndData(maPivotData.maDataFields);
|
||||
}
|
||||
|
||||
void ScPivotLayoutDlg::GrabFieldFocus( ScDPFieldControlBase& rFieldWindow )
|
||||
void ScPivotLayoutDlg::GrabFieldFocus( ScDPFieldControlBase* rFieldWindow )
|
||||
{
|
||||
if( rFieldWindow.IsEmpty() )
|
||||
if( rFieldWindow->IsEmpty() )
|
||||
{
|
||||
if( maWndSelect.IsEmpty() )
|
||||
maBtnOk.GrabFocus();
|
||||
if( mpWndSelect->IsEmpty() )
|
||||
mpBtnOk->GrabFocus();
|
||||
else
|
||||
maWndSelect.GrabFocus();
|
||||
mpWndSelect->GrabFocus();
|
||||
}
|
||||
else
|
||||
rFieldWindow.GrabFocus();
|
||||
rFieldWindow->GrabFocus();
|
||||
}
|
||||
|
||||
void ScPivotLayoutDlg::AddField( size_t nFromIndex, ScPivotFieldType eToType, const Point& rAtPos )
|
||||
{
|
||||
ScPivotFuncData aFunc = maWndSelect.GetFuncData(nFromIndex); // local copy
|
||||
ScPivotFuncData aFunc = mpWndSelect->GetFuncData(nFromIndex); // local copy
|
||||
|
||||
bool bAllowed = IsOrientationAllowed(aFunc.mnCol, eToType);
|
||||
if (!bAllowed)
|
||||
@@ -444,7 +453,7 @@ void ScPivotLayoutDlg::AddField( size_t nFromIndex, ScPivotFieldType eToType, co
|
||||
|
||||
void ScPivotLayoutDlg::AppendField(size_t nFromIndex, ScPivotFieldType eToType)
|
||||
{
|
||||
ScPivotFuncData aFunc = maWndSelect.GetFuncData(nFromIndex); // local copy
|
||||
ScPivotFuncData aFunc = mpWndSelect->GetFuncData(nFromIndex); // local copy
|
||||
|
||||
size_t nAt = 0;
|
||||
ScDPFieldControlBase* toWnd = GetFieldWindow(eToType);
|
||||
@@ -707,7 +716,7 @@ void ScPivotLayoutDlg::RemoveField( ScPivotFieldType eFromType, size_t nIndex )
|
||||
|
||||
pWnd->DeleteFieldByIndex(nIndex);
|
||||
if (pWnd->IsEmpty())
|
||||
GrabFieldFocus(maWndSelect);
|
||||
GrabFieldFocus(mpWndSelect);
|
||||
}
|
||||
|
||||
PointerStyle ScPivotLayoutDlg::NotifyMouseButtonDown( ScPivotFieldType eType, size_t nFieldIndex )
|
||||
@@ -763,7 +772,7 @@ void ScPivotLayoutDlg::NotifyDoubleClick( ScPivotFieldType eType, size_t nFieldI
|
||||
// list of names of all data fields
|
||||
vector<ScDPName> aDataFieldNames;
|
||||
vector<ScDPFieldControlBase::FuncItem> aFuncItems;
|
||||
maWndData.GetAllFuncItems(aFuncItems);
|
||||
mpWndData->GetAllFuncItems(aFuncItems);
|
||||
vector<ScDPFieldControlBase::FuncItem>::const_iterator it = aFuncItems.begin(), itEnd = aFuncItems.end();
|
||||
for (; it != itEnd; ++it)
|
||||
{
|
||||
@@ -803,7 +812,7 @@ void ScPivotLayoutDlg::NotifyDoubleClick( ScPivotFieldType eType, size_t nFieldI
|
||||
|
||||
case PIVOTFIELDTYPE_DATA:
|
||||
{
|
||||
ScPivotFuncData& rFuncData = maWndData.GetFuncData(nFieldIndex);
|
||||
ScPivotFuncData& rFuncData = mpWndData->GetFuncData(nFieldIndex);
|
||||
boost::scoped_ptr<AbstractScDPFunctionDlg> pDlg(
|
||||
pFact->CreateScDPFunctionDlg(
|
||||
this, maLabelData, *pData, rFuncData));
|
||||
@@ -816,7 +825,7 @@ void ScPivotLayoutDlg::NotifyDoubleClick( ScPivotFieldType eType, size_t nFieldI
|
||||
|
||||
if (bFuncChanged)
|
||||
// Get the new duplicate count since the function has changed.
|
||||
rFuncData.mnDupCount = maWndData.GetNextDupCount(rFuncData, nFieldIndex);
|
||||
rFuncData.mnDupCount = mpWndData->GetNextDupCount(rFuncData, nFieldIndex);
|
||||
|
||||
ScDPLabelData* p = GetLabelData(rFuncData.mnCol);
|
||||
OUString aStr = p->maLayoutName;
|
||||
@@ -826,7 +835,7 @@ void ScPivotLayoutDlg::NotifyDoubleClick( ScPivotFieldType eType, size_t nFieldI
|
||||
aStr = GetFuncString (rFuncData.mnFuncMask);
|
||||
aStr += p->maName;
|
||||
}
|
||||
maWndData.SetFieldText(aStr, nFieldIndex, rFuncData.mnDupCount);
|
||||
mpWndData->SetFieldText(aStr, nFieldIndex, rFuncData.mnDupCount);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -852,8 +861,8 @@ void ScPivotLayoutDlg::NotifyFieldFocus( ScPivotFieldType eType, bool bGotFocus
|
||||
if ( bEnable && bGotFocus && pWnd && pWnd->IsEmpty() )
|
||||
bEnable = false;
|
||||
|
||||
maBtnRemove.Enable( bEnable );
|
||||
maBtnOptions.Enable( bEnable );
|
||||
mpBtnRemove->Enable( bEnable );
|
||||
mpBtnOptions->Enable( bEnable );
|
||||
if( bGotFocus )
|
||||
meLastActiveType = eType;
|
||||
}
|
||||
@@ -871,10 +880,10 @@ void ScPivotLayoutDlg::NotifyMoveFieldToEnd( ScPivotFieldType eToType )
|
||||
else
|
||||
pWnd->GrabFocus();
|
||||
if( meLastActiveType == PIVOTFIELDTYPE_SELECT )
|
||||
maWndSelect.SelectNext();
|
||||
mpWndSelect->SelectNext();
|
||||
}
|
||||
else
|
||||
GrabFieldFocus( maWndSelect );
|
||||
GrabFieldFocus( mpWndSelect );
|
||||
}
|
||||
|
||||
void ScPivotLayoutDlg::NotifyRemoveField( ScPivotFieldType eType, size_t nFieldIndex )
|
||||
@@ -887,7 +896,7 @@ Size ScPivotLayoutDlg::GetStdFieldBtnSize() const
|
||||
{
|
||||
// This size is static but is platform dependent. The field button size
|
||||
// is calculated relative to the size of the OK button.
|
||||
double w = static_cast<double>(maBtnOk.GetSizePixel().Width()) * 0.70;
|
||||
double w = static_cast<double>(mpBtnOk->GetSizePixel().Width()) * 0.70;
|
||||
return Size(static_cast<long>(w), FIELD_BTN_HEIGHT);
|
||||
}
|
||||
|
||||
@@ -1087,39 +1096,39 @@ void ScPivotLayoutDlg::InitControlAndDlgSizes()
|
||||
long nFldW = GetStdFieldBtnSize().Width();
|
||||
long nFldH = GetStdFieldBtnSize().Height();
|
||||
|
||||
maWndData.SetSizePixel(
|
||||
Size(maWndSelect.GetPosPixel().X() - maWndData.GetPosPixel().X() - FIELD_AREA_GAP*4,
|
||||
mpWndData->SetSizePixel(
|
||||
Size(mpWndSelect->GetPosPixel().X() - mpWndData->GetPosPixel().X() - FIELD_AREA_GAP*4,
|
||||
185));
|
||||
|
||||
maWndPage.SetSizePixel(
|
||||
Size(maWndData.GetSizePixel().Width() + 85,
|
||||
maWndCol.GetPosPixel().Y() - maWndPage.GetPosPixel().Y() - FIELD_AREA_GAP));
|
||||
maWndRow.SetSizePixel(
|
||||
Size(maWndData.GetPosPixel().X()-maWndRow.GetPosPixel().X() - FIELD_AREA_GAP,
|
||||
maWndData.GetSizePixel().Height()));
|
||||
maWndCol.SetSizePixel(
|
||||
Size(maWndData.GetPosPixel().X() - maWndCol.GetPosPixel().X() + maWndData.GetSizePixel().Width(),
|
||||
maWndData.GetPosPixel().Y() - maWndCol.GetPosPixel().Y() - FIELD_AREA_GAP));
|
||||
mpWndPage->SetSizePixel(
|
||||
Size(mpWndData->GetSizePixel().Width() + 85,
|
||||
mpWndCol->GetPosPixel().Y() - mpWndPage->GetPosPixel().Y() - FIELD_AREA_GAP));
|
||||
mpWndRow->SetSizePixel(
|
||||
Size(mpWndData->GetPosPixel().X()-mpWndRow->GetPosPixel().X() - FIELD_AREA_GAP,
|
||||
mpWndData->GetSizePixel().Height()));
|
||||
mpWndCol->SetSizePixel(
|
||||
Size(mpWndData->GetPosPixel().X() - mpWndCol->GetPosPixel().X() + mpWndData->GetSizePixel().Width(),
|
||||
mpWndData->GetPosPixel().Y() - mpWndCol->GetPosPixel().Y() - FIELD_AREA_GAP));
|
||||
|
||||
// #i29203# align right border of page window with data window
|
||||
long nDataPosX = maWndData.GetPosPixel().X() + maWndData.GetSizePixel().Width();
|
||||
maWndPage.SetPosPixel(
|
||||
Point(nDataPosX - maWndPage.GetSizePixel().Width(),
|
||||
maWndPage.GetPosPixel().Y()));
|
||||
long nDataPosX = mpWndData->GetPosPixel().X() + mpWndData->GetSizePixel().Width();
|
||||
mpWndPage->SetPosPixel(
|
||||
Point(nDataPosX - mpWndPage->GetSizePixel().Width(),
|
||||
mpWndPage->GetPosPixel().Y()));
|
||||
|
||||
// selection area
|
||||
long nLineSize = 10; // number of fields per column.
|
||||
long nH = OUTER_MARGIN_VER + nLineSize* nFldH + nLineSize * ROW_FIELD_BTN_GAP;
|
||||
nH += ROW_FIELD_BTN_GAP;
|
||||
nH += GetSettings().GetStyleSettings().GetScrollBarSize() + OUTER_MARGIN_VER;
|
||||
maWndSelect.SetSizePixel(
|
||||
mpWndSelect->SetSizePixel(
|
||||
Size(2 * nFldW + ROW_FIELD_BTN_GAP + 10, nH));
|
||||
|
||||
maWndPage.CalcSize();
|
||||
maWndRow.CalcSize();
|
||||
maWndCol.CalcSize();
|
||||
maWndData.CalcSize();
|
||||
maWndSelect.CalcSize();
|
||||
mpWndPage->CalcSize();
|
||||
mpWndRow->CalcSize();
|
||||
mpWndCol->CalcSize();
|
||||
mpWndData->CalcSize();
|
||||
mpWndSelect->CalcSize();
|
||||
|
||||
AdjustDlgSize();
|
||||
}
|
||||
@@ -1148,9 +1157,9 @@ void ScPivotLayoutDlg::AdjustDlgSize()
|
||||
// if it overlaps, and if it does, make the dialog size larger.
|
||||
Size aWndSize = GetSizePixel();
|
||||
|
||||
Point aPosText = maFtInfo.GetPosPixel();
|
||||
Size aSizeText = maFtInfo.GetSizePixel();
|
||||
long nYRef = maWndData.GetPosPixel().Y() + maWndData.GetSizePixel().Height();
|
||||
Point aPosText = mpFtInfo->GetPosPixel();
|
||||
Size aSizeText = mpFtInfo->GetSizePixel();
|
||||
long nYRef = mpWndData->GetPosPixel().Y() + mpWndData->GetSizePixel().Height();
|
||||
if (aPosText.Y() > nYRef)
|
||||
// This text is visible. No need to adjust.
|
||||
return;
|
||||
@@ -1170,22 +1179,21 @@ void ScPivotLayoutDlg::AdjustDlgSize()
|
||||
// Move the relevant controls downward.
|
||||
std::vector<Window*> aWndToMove;
|
||||
aWndToMove.reserve(16);
|
||||
aWndToMove.push_back(&maFtInfo);
|
||||
aWndToMove.push_back(&maBtnMore);
|
||||
aWndToMove.push_back(&maFlAreas);
|
||||
aWndToMove.push_back(&maFtInArea);
|
||||
aWndToMove.push_back(&maEdInPos);
|
||||
aWndToMove.push_back(&maRbInPos);
|
||||
aWndToMove.push_back(&maFtOutArea);
|
||||
aWndToMove.push_back(&maLbOutPos);
|
||||
aWndToMove.push_back(&maEdOutPos);
|
||||
aWndToMove.push_back(&maRbOutPos);
|
||||
aWndToMove.push_back(&maBtnIgnEmptyRows);
|
||||
aWndToMove.push_back(&maBtnDetectCat);
|
||||
aWndToMove.push_back(&maBtnTotalCol);
|
||||
aWndToMove.push_back(&maBtnTotalRow);
|
||||
aWndToMove.push_back(&maBtnFilter);
|
||||
aWndToMove.push_back(&maBtnDrillDown);
|
||||
aWndToMove.push_back(mpFtInfo);
|
||||
//aWndToMove.push_back(mpBtnMore);
|
||||
aWndToMove.push_back(mpFtInArea);
|
||||
aWndToMove.push_back(mpEdInPos);
|
||||
aWndToMove.push_back(mpRbInPos);
|
||||
aWndToMove.push_back(mpFtOutArea);
|
||||
aWndToMove.push_back(mpLbOutPos);
|
||||
aWndToMove.push_back(mpEdOutPos);
|
||||
aWndToMove.push_back(mpRbOutPos);
|
||||
aWndToMove.push_back(mpBtnIgnEmptyRows);
|
||||
aWndToMove.push_back(mpBtnDetectCat);
|
||||
aWndToMove.push_back(mpBtnTotalCol);
|
||||
aWndToMove.push_back(mpBtnTotalRow);
|
||||
aWndToMove.push_back(mpBtnFilter);
|
||||
aWndToMove.push_back(mpBtnDrillDown);
|
||||
std::for_each(aWndToMove.begin(), aWndToMove.end(), MoveWndDown(nDelta));
|
||||
}
|
||||
|
||||
@@ -1194,16 +1202,16 @@ bool ScPivotLayoutDlg::GetPivotArrays(
|
||||
vector<ScPivotField>& rRowFields, vector<ScPivotField>& rDataFields )
|
||||
{
|
||||
vector<ScPivotField> aPageFields;
|
||||
maWndPage.ConvertToPivotArray(aPageFields);
|
||||
mpWndPage->ConvertToPivotArray(aPageFields);
|
||||
|
||||
vector<ScPivotField> aColFields;
|
||||
maWndCol.ConvertToPivotArray(aColFields);
|
||||
mpWndCol->ConvertToPivotArray(aColFields);
|
||||
|
||||
vector<ScPivotField> aRowFields;
|
||||
maWndRow.ConvertToPivotArray(aRowFields);
|
||||
mpWndRow->ConvertToPivotArray(aRowFields);
|
||||
|
||||
vector<ScPivotField> aDataFields;
|
||||
maWndData.ConvertToPivotArray(aDataFields);
|
||||
mpWndData->ConvertToPivotArray(aDataFields);
|
||||
|
||||
sheet::DataPilotFieldOrientation eOrientDataLayout = sheet::DataPilotFieldOrientation_ROW;
|
||||
ScDPSaveData* pSaveData = mxDlgDPObject->GetSaveData();
|
||||
@@ -1234,7 +1242,7 @@ bool ScPivotLayoutDlg::GetPivotArrays(
|
||||
|
||||
void ScPivotLayoutDlg::UpdateSrcRange()
|
||||
{
|
||||
OUString aSrcStr = maEdInPos.GetText();
|
||||
OUString aSrcStr = mpEdInPos->GetText();
|
||||
sal_uInt16 nResult = ScRange().Parse(aSrcStr, mpDoc, mpDoc->GetAddressConvention());
|
||||
DataSrcType eSrcType = SRC_INVALID;
|
||||
ScRange aNewRange;
|
||||
@@ -1246,7 +1254,7 @@ void ScPivotLayoutDlg::UpdateSrcRange()
|
||||
ConvertDoubleRef(mpDoc, aSrcStr, 1, start, end, mpDoc->GetAddressConvention());
|
||||
aNewRange.aStart = start.GetAddress();
|
||||
aNewRange.aEnd = end.GetAddress();
|
||||
maEdInPos.SetRefValid(true);
|
||||
mpEdInPos->SetRefValid(true);
|
||||
eSrcType = SRC_REF;
|
||||
}
|
||||
else
|
||||
@@ -1265,18 +1273,18 @@ void ScPivotLayoutDlg::UpdateSrcRange()
|
||||
}
|
||||
}
|
||||
|
||||
maEdInPos.SetRefValid(bValid);
|
||||
mpEdInPos->SetRefValid(bValid);
|
||||
if (!bValid)
|
||||
{
|
||||
// All attempts have failed. Give up.
|
||||
maBtnOk.Disable();
|
||||
mpBtnOk->Disable();
|
||||
return;
|
||||
}
|
||||
|
||||
eSrcType = SRC_NAME;
|
||||
}
|
||||
|
||||
maBtnOk.Enable();
|
||||
mpBtnOk->Enable();
|
||||
|
||||
// Now update the data src range or range name with the dp object.
|
||||
ScSheetSourceDesc inSheet = *mxDlgDPObject->GetSheetDesc();
|
||||
@@ -1297,8 +1305,8 @@ void ScPivotLayoutDlg::UpdateSrcRange()
|
||||
// message. In the future we should display the error message
|
||||
// somewhere in the dialog to let the user know of the reason
|
||||
// for error.
|
||||
maEdInPos.SetRefValid(false);
|
||||
maBtnOk.Disable();
|
||||
mpEdInPos->SetRefValid(false);
|
||||
mpBtnOk->Disable();
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1317,11 +1325,11 @@ void ScPivotLayoutDlg::UpdateSrcRange()
|
||||
mxDlgDPObject->FillLabelData(maPivotData);
|
||||
|
||||
maLabelData.clear();
|
||||
maWndSelect.ClearFields();
|
||||
maWndData.ClearFields();
|
||||
maWndRow.ClearFields();
|
||||
maWndCol.ClearFields();
|
||||
maWndPage.ClearFields();
|
||||
mpWndSelect->ClearFields();
|
||||
mpWndData->ClearFields();
|
||||
mpWndRow->ClearFields();
|
||||
mpWndCol->ClearFields();
|
||||
mpWndPage->ClearFields();
|
||||
|
||||
InitFieldWindows();
|
||||
RepaintFieldWindows();
|
||||
@@ -1329,45 +1337,45 @@ void ScPivotLayoutDlg::UpdateSrcRange()
|
||||
|
||||
void ScPivotLayoutDlg::UpdateOutputPos()
|
||||
{
|
||||
sal_uInt16 nSelPos = maLbOutPos.GetSelectEntryPos();
|
||||
OUString aEntryStr = maLbOutPos.GetEntry(nSelPos);
|
||||
sal_uInt16 nSelPos = mpLbOutPos->GetSelectEntryPos();
|
||||
OUString aEntryStr = mpLbOutPos->GetEntry(nSelPos);
|
||||
|
||||
if (aEntryStr == maStrNewTable)
|
||||
{
|
||||
// New sheet as output.
|
||||
maEdOutPos.Disable();
|
||||
maRbOutPos.Disable();
|
||||
maEdOutPos.SetText(OUString()); // Clear the reference text.
|
||||
mpEdOutPos->Disable();
|
||||
mpRbOutPos->Disable();
|
||||
mpEdOutPos->SetText(OUString()); // Clear the reference text.
|
||||
}
|
||||
else if (aEntryStr == maStrUndefined)
|
||||
{
|
||||
maEdOutPos.Enable();
|
||||
maRbOutPos.Enable();
|
||||
maEdOutPos.SetText(maOutputRefStr);
|
||||
mpEdOutPos->Enable();
|
||||
mpRbOutPos->Enable();
|
||||
mpEdOutPos->SetText(maOutputRefStr);
|
||||
OutputPosUpdated();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Named range as output. Get its corresponding reference string.
|
||||
const OUString* p = (const OUString*)maLbOutPos.GetEntryData(nSelPos);
|
||||
const OUString* p = (const OUString*)mpLbOutPos->GetEntryData(nSelPos);
|
||||
if (p)
|
||||
maEdOutPos.SetText(*p);
|
||||
mpEdOutPos->SetText(*p);
|
||||
}
|
||||
}
|
||||
|
||||
void ScPivotLayoutDlg::OutputPosUpdated()
|
||||
{
|
||||
OUString aOutPosStr = maEdOutPos.GetText();
|
||||
OUString aOutPosStr = mpEdOutPos->GetText();
|
||||
sal_uInt16 nResult = ScAddress().Parse(aOutPosStr, mpDoc, mpDoc->GetAddressConvention());
|
||||
|
||||
if (!(nResult & SCA_VALID))
|
||||
{
|
||||
// Not a valid reference.
|
||||
maEdOutPos.SetRefValid(false);
|
||||
mpEdOutPos->SetRefValid(false);
|
||||
return;
|
||||
}
|
||||
|
||||
maEdOutPos.SetRefValid(true);
|
||||
mpEdOutPos->SetRefValid(true);
|
||||
|
||||
boost::ptr_vector<OUString>::const_iterator it =
|
||||
std::find(maRefStrs.begin(), maRefStrs.end(), aOutPosStr);
|
||||
@@ -1375,7 +1383,7 @@ void ScPivotLayoutDlg::OutputPosUpdated()
|
||||
if (it == maRefStrs.end())
|
||||
{
|
||||
// This is NOT one of the named ranges.
|
||||
maLbOutPos.SelectEntryPos(0);
|
||||
mpLbOutPos->SelectEntryPos(0);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1383,7 +1391,7 @@ void ScPivotLayoutDlg::OutputPosUpdated()
|
||||
// offset for the top two entries which are reserved for something else.
|
||||
boost::ptr_vector<OUString>::const_iterator itBeg = maRefStrs.begin();
|
||||
size_t nPos = std::distance(itBeg, it);
|
||||
maLbOutPos.SelectEntryPos(nPos+2);
|
||||
mpLbOutPos->SelectEntryPos(nPos+2);
|
||||
}
|
||||
|
||||
namespace {
|
||||
@@ -1397,23 +1405,23 @@ void EnableAndGrabFocus(formula::RefEdit& rEdit)
|
||||
|
||||
}
|
||||
|
||||
void ScPivotLayoutDlg::MoreBtnClicked()
|
||||
void ScPivotLayoutDlg::ExpanderClicked()
|
||||
{
|
||||
mbRefInputMode = maBtnMore.GetState();
|
||||
if (!maBtnMore.GetState())
|
||||
mbRefInputMode = mpExpander->get_expanded();
|
||||
if (!mpExpander->get_expanded())
|
||||
return;
|
||||
|
||||
formula::RefEdit* p = maEdInPos.IsEnabled() ? &maEdInPos : &maEdOutPos;
|
||||
formula::RefEdit* p = mpEdInPos->IsEnabled() ? mpEdInPos : mpEdOutPos;
|
||||
EnableAndGrabFocus(*p);
|
||||
}
|
||||
|
||||
void ScPivotLayoutDlg::RepaintFieldWindows()
|
||||
{
|
||||
Rectangle aRect; // currently has no effect whatsoever.
|
||||
maWndPage.Paint(aRect);
|
||||
maWndCol.Paint(aRect);
|
||||
maWndRow.Paint(aRect);
|
||||
maWndData.Paint(aRect);
|
||||
mpWndPage->Paint(aRect);
|
||||
mpWndCol->Paint(aRect);
|
||||
mpWndRow->Paint(aRect);
|
||||
mpWndData->Paint(aRect);
|
||||
}
|
||||
|
||||
ScDPFieldControlBase* ScPivotLayoutDlg::GetFieldWindow(ScPivotFieldType eType)
|
||||
@@ -1421,15 +1429,15 @@ ScDPFieldControlBase* ScPivotLayoutDlg::GetFieldWindow(ScPivotFieldType eType)
|
||||
switch (eType)
|
||||
{
|
||||
case PIVOTFIELDTYPE_PAGE:
|
||||
return &maWndPage;
|
||||
return mpWndPage;
|
||||
case PIVOTFIELDTYPE_COL:
|
||||
return &maWndCol;
|
||||
return mpWndCol;
|
||||
case PIVOTFIELDTYPE_ROW:
|
||||
return &maWndRow;
|
||||
return mpWndRow;
|
||||
case PIVOTFIELDTYPE_DATA:
|
||||
return &maWndData;
|
||||
return mpWndData;
|
||||
case PIVOTFIELDTYPE_SELECT:
|
||||
return &maWndSelect;
|
||||
return mpWndSelect;
|
||||
default:
|
||||
;
|
||||
}
|
||||
@@ -1443,16 +1451,16 @@ void ScPivotLayoutDlg::GetOtherFieldWindows(ScPivotFieldType eType, ScDPFieldCon
|
||||
switch (eType)
|
||||
{
|
||||
case PIVOTFIELDTYPE_PAGE:
|
||||
rpWnd1 = &maWndRow;
|
||||
rpWnd2 = &maWndCol;
|
||||
rpWnd1 = mpWndRow;
|
||||
rpWnd2 = mpWndCol;
|
||||
break;
|
||||
case PIVOTFIELDTYPE_COL:
|
||||
rpWnd1 = &maWndPage;
|
||||
rpWnd2 = &maWndRow;
|
||||
rpWnd1 = mpWndPage;
|
||||
rpWnd2 = mpWndRow;
|
||||
break;
|
||||
case PIVOTFIELDTYPE_ROW:
|
||||
rpWnd1 = &maWndPage;
|
||||
rpWnd2 = &maWndCol;
|
||||
rpWnd1 = mpWndPage;
|
||||
rpWnd2 = mpWndCol;
|
||||
break;
|
||||
default:
|
||||
;
|
||||
@@ -1467,12 +1475,12 @@ void ScPivotLayoutDlg::SetReference( const ScRange& rRef, ScDocument* pDoc )
|
||||
if ( rRef.aStart != rRef.aEnd )
|
||||
RefInputStart(mpRefInputEdit);
|
||||
|
||||
if (mpRefInputEdit == &maEdInPos)
|
||||
if (mpRefInputEdit == mpEdInPos)
|
||||
{
|
||||
OUString aRefStr(rRef.Format(SCR_ABS_3D, pDoc, pDoc->GetAddressConvention()));
|
||||
mpRefInputEdit->SetRefString(aRefStr);
|
||||
}
|
||||
else if (mpRefInputEdit == &maEdOutPos)
|
||||
else if (mpRefInputEdit == mpEdOutPos)
|
||||
{
|
||||
OUString aRefStr(rRef.aStart.Format(STD_FORMAT, pDoc, pDoc->GetAddressConvention()));
|
||||
mpRefInputEdit->SetRefString(aRefStr);
|
||||
@@ -1493,9 +1501,9 @@ void ScPivotLayoutDlg::SetActive()
|
||||
if (mpRefInputEdit)
|
||||
mpRefInputEdit->GrabFocus();
|
||||
|
||||
if (mpRefInputEdit == &maEdInPos)
|
||||
if (mpRefInputEdit == mpEdInPos)
|
||||
EdInModifyHdl( NULL );
|
||||
else if (mpRefInputEdit == &maEdOutPos)
|
||||
else if (mpRefInputEdit == mpEdOutPos)
|
||||
EdOutModifyHdl( NULL );
|
||||
}
|
||||
else
|
||||
@@ -1512,12 +1520,12 @@ IMPL_LINK( ScPivotLayoutDlg, ClickHdl, PushButton *, pBtn )
|
||||
if (!pWnd)
|
||||
return 0;
|
||||
|
||||
if( pBtn == &maBtnRemove )
|
||||
if( pBtn == mpBtnRemove )
|
||||
{
|
||||
RemoveField( meLastActiveType, pWnd->GetSelectedField() );
|
||||
if( !pWnd->IsEmpty() ) pWnd->GrabFocus();
|
||||
}
|
||||
else if( pBtn == &maBtnOptions )
|
||||
else if( pBtn == mpBtnOptions )
|
||||
{
|
||||
NotifyDoubleClick( meLastActiveType, pWnd->GetSelectedField() );
|
||||
pWnd->GrabFocus();
|
||||
@@ -1527,19 +1535,19 @@ IMPL_LINK( ScPivotLayoutDlg, ClickHdl, PushButton *, pBtn )
|
||||
|
||||
IMPL_LINK_NOARG(ScPivotLayoutDlg, OkHdl)
|
||||
{
|
||||
OUString aOutPosStr = maEdOutPos.GetText();
|
||||
OUString aOutPosStr = mpEdOutPos->GetText();
|
||||
ScAddress aAdrDest;
|
||||
bool bToNewTable = (maLbOutPos.GetSelectEntryPos() == 1);
|
||||
bool bToNewTable = (mpLbOutPos->GetSelectEntryPos() == 1);
|
||||
sal_uInt16 nResult = !bToNewTable ? aAdrDest.Parse( aOutPosStr, mpDoc, mpDoc->GetAddressConvention() ) : 0;
|
||||
|
||||
if (!bToNewTable && (aOutPosStr.isEmpty() || (nResult & SCA_VALID) != SCA_VALID))
|
||||
{
|
||||
// Invalid reference. Bail out.
|
||||
if ( !maBtnMore.GetState() )
|
||||
maBtnMore.SetState(true);
|
||||
if ( !mpExpander->get_expanded() )
|
||||
mpExpander->set_expanded(true);
|
||||
|
||||
ErrorBox(this, WinBits(WB_OK | WB_DEF_OK), ScGlobal::GetRscString(STR_INVALID_TABREF)).Execute();
|
||||
maEdOutPos.GrabFocus();
|
||||
mpEdOutPos->GrabFocus();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1564,12 +1572,12 @@ IMPL_LINK_NOARG(ScPivotLayoutDlg, OkHdl)
|
||||
ScRange aOutRange( aAdrDest ); // bToNewTable is passed separately
|
||||
|
||||
ScDPSaveData aSaveData;
|
||||
aSaveData.SetIgnoreEmptyRows( maBtnIgnEmptyRows.IsChecked() );
|
||||
aSaveData.SetRepeatIfEmpty( maBtnDetectCat.IsChecked() );
|
||||
aSaveData.SetColumnGrand( maBtnTotalCol.IsChecked() );
|
||||
aSaveData.SetRowGrand( maBtnTotalRow.IsChecked() );
|
||||
aSaveData.SetFilterButton( maBtnFilter.IsChecked() );
|
||||
aSaveData.SetDrillDown( maBtnDrillDown.IsChecked() );
|
||||
aSaveData.SetIgnoreEmptyRows( mpBtnIgnEmptyRows->IsChecked() );
|
||||
aSaveData.SetRepeatIfEmpty( mpBtnDetectCat->IsChecked() );
|
||||
aSaveData.SetColumnGrand( mpBtnTotalCol->IsChecked() );
|
||||
aSaveData.SetRowGrand( mpBtnTotalRow->IsChecked() );
|
||||
aSaveData.SetFilterButton( mpBtnFilter->IsChecked() );
|
||||
aSaveData.SetDrillDown( mpBtnDrillDown->IsChecked() );
|
||||
|
||||
uno::Reference<sheet::XDimensionsSupplier> xSource = mxDlgDPObject->GetSource();
|
||||
|
||||
@@ -1691,9 +1699,9 @@ IMPL_LINK_NOARG(ScPivotLayoutDlg, CancelHdl)
|
||||
return 0;
|
||||
}
|
||||
|
||||
IMPL_LINK_NOARG(ScPivotLayoutDlg, MoreClickHdl)
|
||||
IMPL_LINK_NOARG(ScPivotLayoutDlg, ExpandHdl)
|
||||
{
|
||||
MoreBtnClicked();
|
||||
ExpanderClicked();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -25,6 +25,7 @@
|
||||
#include <vcl/ctrl.hxx>
|
||||
#include <vcl/fixed.hxx>
|
||||
#include <vcl/scrbar.hxx>
|
||||
#include <vcl/layout.hxx>
|
||||
|
||||
#include "address.hxx"
|
||||
#include "pivot.hxx"
|
||||
@@ -91,10 +92,13 @@ public:
|
||||
|
||||
ScDPFieldControlBase(
|
||||
ScPivotLayoutDlg* pParent, const ResId& rResId, FixedText* pCaption, const char* pcHelpId);
|
||||
ScDPFieldControlBase( Window* pParent );
|
||||
virtual ~ScDPFieldControlBase();
|
||||
|
||||
virtual void CalcSize() = 0;
|
||||
|
||||
virtual void Init( ScPivotLayoutDlg* pDlg, FixedText* pCaption );
|
||||
|
||||
virtual bool IsValidIndex( size_t nIndex ) const = 0;
|
||||
/** @return The pixel position of a field (without bound check). */
|
||||
virtual Point GetFieldPosition( size_t nIndex ) = 0;
|
||||
@@ -276,6 +280,7 @@ protected:
|
||||
public:
|
||||
ScDPHorFieldControl(
|
||||
ScPivotLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption, const char* pcHelpId);
|
||||
ScDPHorFieldControl( Window* pParent );
|
||||
|
||||
virtual ~ScDPHorFieldControl();
|
||||
|
||||
@@ -313,6 +318,7 @@ class ScDPPageFieldControl : public ScDPHorFieldControl
|
||||
public:
|
||||
ScDPPageFieldControl(
|
||||
ScPivotLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption, const char* pcHelpId);
|
||||
ScDPPageFieldControl( Window* pParent );
|
||||
virtual ~ScDPPageFieldControl();
|
||||
|
||||
virtual ScPivotFieldType GetFieldType() const;
|
||||
@@ -326,6 +332,7 @@ class ScDPColFieldControl : public ScDPHorFieldControl
|
||||
public:
|
||||
ScDPColFieldControl(
|
||||
ScPivotLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption, const char* pcHelpId);
|
||||
ScDPColFieldControl( Window* pParent );
|
||||
virtual ~ScDPColFieldControl();
|
||||
|
||||
virtual ScPivotFieldType GetFieldType() const;
|
||||
@@ -342,6 +349,7 @@ class ScDPRowFieldControl : public ScDPFieldControlBase
|
||||
public:
|
||||
ScDPRowFieldControl(
|
||||
ScPivotLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption, const char* pcHelpId);
|
||||
ScDPRowFieldControl( Window* pParent );
|
||||
|
||||
virtual ~ScDPRowFieldControl();
|
||||
|
||||
@@ -383,6 +391,7 @@ class ScDPSelectFieldControl : public ScDPHorFieldControl
|
||||
public:
|
||||
ScDPSelectFieldControl(
|
||||
ScPivotLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption, const char* pcHelpId);
|
||||
ScDPSelectFieldControl( Window* pParent );
|
||||
virtual ~ScDPSelectFieldControl();
|
||||
|
||||
virtual ScPivotFieldType GetFieldType() const;
|
||||
@@ -396,6 +405,7 @@ class ScDPDataFieldControl : public ScDPHorFieldControl
|
||||
public:
|
||||
ScDPDataFieldControl(
|
||||
ScPivotLayoutDlg* pParent, const ResId& rResId, FixedText* pCaption, const char* pcHelpId);
|
||||
ScDPDataFieldControl( Window* pParent );
|
||||
virtual ~ScDPDataFieldControl();
|
||||
|
||||
virtual ScPivotFieldType GetFieldType() const;
|
||||
|
@@ -139,7 +139,7 @@ private:
|
||||
/** Fills the field windows from the current pivot table settings. */
|
||||
void InitFieldWindows();
|
||||
/** Sets focus to the specified field control, if it is not empty. */
|
||||
void GrabFieldFocus( ScDPFieldControlBase& rFieldWindow );
|
||||
void GrabFieldFocus( ScDPFieldControlBase* rFieldWindow );
|
||||
|
||||
void InitWndSelect(const ScDPLabelDataVector& rLabels);
|
||||
void InitWndData(const std::vector<ScPivotField>& rFields);
|
||||
@@ -166,7 +166,7 @@ private:
|
||||
void UpdateSrcRange();
|
||||
void UpdateOutputPos();
|
||||
void OutputPosUpdated();
|
||||
void MoreBtnClicked();
|
||||
void ExpanderClicked();
|
||||
|
||||
void RepaintFieldWindows();
|
||||
|
||||
@@ -188,7 +188,7 @@ private:
|
||||
DECL_LINK( ClickHdl, PushButton * );
|
||||
DECL_LINK( OkHdl, void * );
|
||||
DECL_LINK( CancelHdl, void * );
|
||||
DECL_LINK( MoreClickHdl, void * );
|
||||
DECL_LINK( ExpandHdl, void * );
|
||||
DECL_LINK( EdOutModifyHdl, void * );
|
||||
DECL_LINK( EdInModifyHdl, void * );
|
||||
DECL_LINK( SelAreaHdl, void * );
|
||||
@@ -197,41 +197,40 @@ private:
|
||||
private:
|
||||
typedef boost::scoped_ptr<ScDPObject> ScDPObjectPtr;
|
||||
|
||||
FixedLine maFlLayout;
|
||||
FixedText maFtPage;
|
||||
ScDPPageFieldControl maWndPage;
|
||||
FixedText maFtCol;
|
||||
ScDPColFieldControl maWndCol;
|
||||
FixedText maFtRow;
|
||||
ScDPRowFieldControl maWndRow;
|
||||
FixedText maFtData;
|
||||
ScDPDataFieldControl maWndData;
|
||||
ScDPSelectFieldControl maWndSelect;
|
||||
FixedInfo maFtInfo;
|
||||
FixedText* mpFtPage;
|
||||
ScDPPageFieldControl* mpWndPage;
|
||||
FixedText* mpFtCol;
|
||||
ScDPColFieldControl* mpWndCol;
|
||||
FixedText* mpFtRow;
|
||||
ScDPRowFieldControl* mpWndRow;
|
||||
FixedText* mpFtData;
|
||||
ScDPDataFieldControl* mpWndData;
|
||||
ScDPSelectFieldControl* mpWndSelect;
|
||||
FixedText* mpFtInfo;
|
||||
|
||||
std::vector<ScDPFieldControlBase*> maFieldCtrls;
|
||||
|
||||
FixedLine maFlAreas;
|
||||
FixedText maFtInArea;
|
||||
::formula::RefEdit maEdInPos;
|
||||
::formula::RefButton maRbInPos;
|
||||
ListBox maLbOutPos;
|
||||
FixedText maFtOutArea;
|
||||
formula::RefEdit maEdOutPos;
|
||||
formula::RefButton maRbOutPos;
|
||||
CheckBox maBtnIgnEmptyRows;
|
||||
CheckBox maBtnDetectCat;
|
||||
CheckBox maBtnTotalCol;
|
||||
CheckBox maBtnTotalRow;
|
||||
CheckBox maBtnFilter;
|
||||
CheckBox maBtnDrillDown;
|
||||
FixedText* mpFtInArea;
|
||||
::formula::RefEdit* mpEdInPos;
|
||||
::formula::RefButton* mpRbInPos;
|
||||
ListBox* mpLbOutPos;
|
||||
FixedText* mpFtOutArea;
|
||||
formula::RefEdit* mpEdOutPos;
|
||||
formula::RefButton* mpRbOutPos;
|
||||
CheckBox* mpBtnIgnEmptyRows;
|
||||
CheckBox* mpBtnDetectCat;
|
||||
CheckBox* mpBtnTotalCol;
|
||||
CheckBox* mpBtnTotalRow;
|
||||
CheckBox* mpBtnFilter;
|
||||
CheckBox* mpBtnDrillDown;
|
||||
|
||||
OKButton maBtnOk;
|
||||
CancelButton maBtnCancel;
|
||||
HelpButton maBtnHelp;
|
||||
PushButton maBtnRemove;
|
||||
PushButton maBtnOptions;
|
||||
MoreButton maBtnMore;
|
||||
OKButton* mpBtnOk;
|
||||
CancelButton* mpBtnCancel;
|
||||
PushButton* mpBtnRemove;
|
||||
PushButton* mpBtnOptions;
|
||||
//FIXME: replace with expander
|
||||
//MoreButton* mpBtnMore;
|
||||
VclExpander* mpExpander;
|
||||
std::vector<OUString> maFuncNames; /// Localized function names from resource.
|
||||
boost::ptr_vector<OUString> maRefStrs; /// Reference strings stored with the output list box.
|
||||
ScDPObjectPtr mxDlgDPObject; /// Clone of the pivot table object this dialog is based on.
|
||||
|
697
sc/uiconfig/scalc/ui/pivottablelayout.ui
Normal file
697
sc/uiconfig/scalc/ui/pivottablelayout.ui
Normal file
@@ -0,0 +1,697 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<!-- interface-requires gtk+ 3.0 -->
|
||||
<object class="GtkDialog" id="PivotTableLayout">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">6</property>
|
||||
<property name="type_hint">dialog</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox" id="dialog-vbox1">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox" id="dialog-action_area1">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="layout_style">start</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="ok">
|
||||
<property name="label">gtk-ok</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="has_default">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="cancel">
|
||||
<property name="label">gtk-cancel</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="help">
|
||||
<property name="label">gtk-help</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="remove">
|
||||
<property name="label">gtk-remove</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="options">
|
||||
<property name="label" translatable="yes">Options...</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="box1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="box2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="box5">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="sclo-ScDPPageFieldControl" id="pagefield">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGrid" id="grid1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="row_spacing">6</property>
|
||||
<property name="column_spacing">6</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="sclo-ScDPColFieldControl" id="columnfield">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="sclo-ScDPRowFieldControl" id="rowfield">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="sclo-ScDPDataFieldControl" id="datafield">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="info">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Drag the fields from the right into the desired position</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="sclo-ScDPSelectFieldControl" id="buttonfield">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkExpander" id="more">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">none</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="left_padding">12</property>
|
||||
<property name="top_padding">6</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="box3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="box4">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="select_from">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">_Selection from:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="mnemonic_widget">rangesel1</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="foruilo-RefEdit" id="rangesel1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="foruilo-RefButton" id="changebutton1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="box6">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="results_to">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Res_ults to:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="mnemonic_widget">rangesel2</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBox" id="target_area">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="foruilo-RefEdit" id="rangesel2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="foruilo-RefButton" id="changebutton2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGrid" id="grid3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="row_spacing">6</property>
|
||||
<property name="column_spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="ignore_empty">
|
||||
<property name="label" translatable="yes">Ignore _empty rows</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="detect_category">
|
||||
<property name="label" translatable="yes">_Identify categories</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="total_cols">
|
||||
<property name="label" translatable="yes">Total colum_ns</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="total_rows">
|
||||
<property name="label" translatable="yes">_Total rows</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="add_filter">
|
||||
<property name="label" translatable="yes">_Add filter</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="drill_down">
|
||||
<property name="label" translatable="yes">Ena_ble drill to details</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="label3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Result</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">More</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="page_text">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Page Fields</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="column_text">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Column Fields</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="row_text">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Row Fields</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="data_text">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Data Fields</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="select_text">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Selection area</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">6</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="sum">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Sum - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">7</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="count">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Count - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">8</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="mean">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Mean - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">9</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="max">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Max - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">10</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="min">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Min - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">11</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="product">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Product - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">12</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="count2">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Count - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">13</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="stdev">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">StDev - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">14</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="stdevp">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">StDevP - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">15</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="var">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Var - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">16</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="varp">
|
||||
<property name="visible">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">VarP - </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">17</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<action-widgets>
|
||||
<action-widget response="0">ok</action-widget>
|
||||
<action-widget response="0">cancel</action-widget>
|
||||
<action-widget response="0">help</action-widget>
|
||||
<action-widget response="0">remove</action-widget>
|
||||
<action-widget response="0">options</action-widget>
|
||||
</action-widgets>
|
||||
</object>
|
||||
</interface>
|
Reference in New Issue
Block a user