43 int nEntry = mxControl->get_cursor_index();
47 ScItemValue* pCurrentItemValue = weld::fromId<ScItemValue*>(mxControl->get_id(nEntry));
49 SCCOL nCurrentColumn = rCurrentFunctionData.
mnCol;
51 if (
mpParent->IsDataElement(nCurrentColumn))
58 maDataFieldNames.clear();
59 mpParent->PushDataFieldNames(maDataFieldNames);
62 rCurrentLabelData, rCurrentFunctionData,
65 mpSubtotalDlg->StartExecuteAsync([
this, pCurrentItemValue, nCurrentColumn](
int nResult) {
68 mpSubtotalDlg->FillLabelData(
mpParent->GetLabelData(nCurrentColumn));
72 mpSubtotalDlg.disposeAndClear();
87 maItemValues.push_back(std::unique_ptr<ScItemValue>(pItemValue));
110 maItemValues.push_back(std::unique_ptr<ScItemValue>(pListItemValue));
113 mxControl->insert(
nullptr, nPosition, &
sName, &
sId,
nullptr,
nullptr,
false,
nullptr);
119 sal_uInt16 nCode = aCode.
GetCode();
123 const int nEntry = mxControl->get_cursor_index();
125 mxControl->remove(nEntry);
IMPL_LINK(ScPivotLayoutTreeList, KeyInputHdl, const KeyEvent &, rKeyEvent, bool)
IMPL_LINK_NOARG(ScPivotLayoutTreeList, DoubleClickHdl, weld::TreeView &, bool)
static SC_DLLPUBLIC ScAbstractDialogFactory * Create()
virtual VclPtr< AbstractScDPSubtotalDlg > CreateScDPSubtotalDlg(weld::Widget *pParent, ScDPObject &rDPObj, const ScDPLabelData &rLabelData, const ScPivotFuncData &rFuncData, const ScDPNameVec &rDataFields)=0
ScPivotFuncData maFunctionData
ScItemValue * mpOriginalItemValue
void ItemInserted(const ScItemValue *pItemValue, ScPivotLayoutTreeList::SvPivotTreeListType eType)
bool IsDataElement(SCCOL nColumn)
ScItemValue * GetItem(SCCOL nColumn)
std::unique_ptr< weld::TreeView > mxControl
ScPivotLayoutDialog * mpParent
SvPivotTreeListType meType
ScPivotLayoutTreeList(std::unique_ptr< weld::TreeView > xControl)
std::vector< std::unique_ptr< ScItemValue > > maItemValues
VclPtr< AbstractScDPSubtotalDlg > mpSubtotalDlg
void Setup(ScPivotLayoutDialog *pParent, SvPivotTreeListType eType)
virtual void InsertEntryForSourceTarget(weld::TreeView &rSource, int nTarget) override
virtual ~ScPivotLayoutTreeList() override
void FillFields(ScPivotFieldVector &rFieldVector)
void InsertEntryForItem(const ScItemValue *pItemValue, int nPosition)
sal_uInt16 GetCode() const
virtual OUString get_selected_id() const=0
RegionData_Impl * mpParent
constexpr sal_uInt16 KEY_DELETE
#define LINK(Instance, Class, Member)
OUString toId(const void *pValue)
std::vector< ScPivotField > ScPivotFieldVector