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);
123 const int nEntry = mxControl->get_cursor_index();
125 mxControl->remove(nEntry);
#define LINK(Instance, Class, Member)
virtual VclPtr< AbstractScDPSubtotalDlg > CreateScDPSubtotalDlg(weld::Widget *pParent, ScDPObject &rDPObj, const ScDPLabelData &rLabelData, const ScPivotFuncData &rFuncData, const ScDPNameVec &rDataFields)=0
bool IsDataElement(SCCOL nColumn)
sal_uInt16 GetCode() const
void InsertEntryForItem(const ScItemValue *pItemValue, int nPosition)
virtual ~ScPivotLayoutTreeList() override
void Setup(ScPivotLayoutDialog *pParent, SvPivotTreeListType eType)
ScItemValue * mpOriginalItemValue
ScPivotLayoutDialog * mpParent
std::vector< ScPivotField > ScPivotFieldVector
void FillFields(ScPivotFieldVector &rFieldVector)
ScPivotFuncData maFunctionData
IMPL_LINK(ScPivotLayoutTreeList, KeyInputHdl, const KeyEvent &, rKeyEvent, bool)
SvPivotTreeListType meType
VclPtr< AbstractScDPSubtotalDlg > mpSubtotalDlg
bool StartExecuteAsync(const std::function< void(sal_Int32)> &rEndDialogFn)
virtual OUString get_selected_id() const =0
RegionData_Impl * mpParent
OUString toId(const void *pValue)
ScItemValue * GetItem(SCCOL nColumn)
IMPL_LINK_NOARG(ScPivotLayoutTreeList, DoubleClickHdl, weld::TreeView &, bool)
virtual void InsertEntryForSourceTarget(weld::TreeView &rSource, int nTarget) override
std::vector< std::unique_ptr< ScItemValue > > maItemValues
void ItemInserted(const ScItemValue *pItemValue, ScPivotLayoutTreeList::SvPivotTreeListType eType)
static SC_DLLPUBLIC ScAbstractDialogFactory * Create()
ScPivotLayoutTreeList(std::unique_ptr< weld::TreeView > xControl)
std::unique_ptr< weld::TreeView > mxControl
constexpr sal_uInt16 KEY_DELETE
virtual void Response(int nResponse)=0