diff options
author | Katarina Behrens <bubli@bubli.org> | 2014-02-04 11:40:48 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-02-13 11:04:31 +0000 |
commit | cfa4f622caa155dd8ab1215a324dd409cd447cd6 (patch) | |
tree | 663c4af57718446bcc4ca0c339ba9e30358b93ff | |
parent | 89cc3438ed1768265fe25921178a8ccb61c35f98 (diff) |
Converted pivot table layout dlg to .ui
pimped up dialog a bit, added mnemonics
Change-Id: I4585d9a3a1c96b45c7eedea8a5be41ec717139dd
-rw-r--r-- | sc/UIConfig_scalc.mk | 1 | ||||
-rw-r--r-- | sc/source/ui/dbgui/fieldwnd.cxx | 90 | ||||
-rw-r--r-- | sc/source/ui/dbgui/pvlaydlg.cxx | 462 | ||||
-rw-r--r-- | sc/source/ui/inc/fieldwnd.hxx | 10 | ||||
-rw-r--r-- | sc/source/ui/inc/pvlaydlg.hxx | 69 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/pivottablelayout.ui | 697 |
6 files changed, 1066 insertions, 263 deletions
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk index f68519bd3e77..ac2f383aaf36 100644 --- a/sc/UIConfig_scalc.mk +++ b/sc/UIConfig_scalc.mk @@ -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 \ diff --git a/sc/source/ui/dbgui/fieldwnd.cxx b/sc/source/ui/dbgui/fieldwnd.cxx index ca91ab663bb3..2026a101225f 100644 --- a/sc/source/ui/dbgui/fieldwnd.cxx +++ b/sc/source/ui/dbgui/fieldwnd.cxx @@ -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() { } diff --git a/sc/source/ui/dbgui/pvlaydlg.cxx b/sc/source/ui/dbgui/pvlaydlg.cxx index d7e43d55ea55..f7e2001f14de 100644 --- a/sc/source/ui/dbgui/pvlaydlg.cxx +++ b/sc/source/ui/dbgui/pvlaydlg.cxx @@ -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() ); - - GrabFieldFocus( maWndSelect ); + mpBtnFilter->Check( !pSaveData || pSaveData->GetFilterButton() ); + mpBtnDrillDown->Check( !pSaveData || pSaveData->GetDrillDown() ); - 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; } diff --git a/sc/source/ui/inc/fieldwnd.hxx b/sc/source/ui/inc/fieldwnd.hxx index 1fdbe99506c5..3b88bfcaa8af 100644 --- a/sc/source/ui/inc/fieldwnd.hxx +++ b/sc/source/ui/inc/fieldwnd.hxx @@ -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; diff --git a/sc/source/ui/inc/pvlaydlg.hxx b/sc/source/ui/inc/pvlaydlg.hxx index 318f4e9927fe..b4548ce362b2 100644 --- a/sc/source/ui/inc/pvlaydlg.hxx +++ b/sc/source/ui/inc/pvlaydlg.hxx @@ -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; - - OKButton maBtnOk; - CancelButton maBtnCancel; - HelpButton maBtnHelp; - PushButton maBtnRemove; - PushButton maBtnOptions; - MoreButton maBtnMore; + 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* 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. diff --git a/sc/uiconfig/scalc/ui/pivottablelayout.ui b/sc/uiconfig/scalc/ui/pivottablelayout.ui new file mode 100644 index 000000000000..efc0716e73fc --- /dev/null +++ b/sc/uiconfig/scalc/ui/pivottablelayout.ui @@ -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> |