Files
PowerToys/src/modules/NewPlus/NewShellExtensionContextMenu/shell_context_sub_menu.h
Christian Gaarden Gaardmark 3f44ad186d New Utility: New+ (#33136)
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
2024-09-19 17:12:24 +01:00

30 lines
944 B
C++

#pragma once
#include "pch.h"
#include "template_folder.h"
#include "new_utilities.h"
#include "shell_context_sub_menu_item.h"
using namespace Microsoft::WRL;
using namespace newplus;
// // Sub context menu command enumerator
class shell_context_sub_menu final : public RuntimeClass<RuntimeClassFlags<ClassicCom>, IEnumExplorerCommand>
{
public:
shell_context_sub_menu(const ComPtr<IUnknown> site_of_folder);
// IEnumExplorerCommand
IFACEMETHODIMP Next(ULONG celt, __out_ecount_part(celt, *pceltFetched) IExplorerCommand** apUICommand, __out_opt ULONG* pceltFetched);
IFACEMETHODIMP Skip(ULONG);
IFACEMETHODIMP Reset();
IFACEMETHODIMP Clone(__deref_out IEnumExplorerCommand** ppenum);
protected:
std::vector<ComPtr<IExplorerCommand>> explorer_menu_item_commands;
std::vector<ComPtr<IExplorerCommand>>::const_iterator current_command;
template_folder* templates;
ComPtr<IUnknown> site_of_folder;
};