nim_duilib/examples/virtualbox/provider.h

45 lines
755 B
C
Raw Permalink Normal View History

2019-07-06 12:45:48 +08:00
#pragma once
#include "VirtualTileBox.h"
#include <map>
struct DownloadTask
{
int nId;
std::wstring sName;
2019-07-06 12:45:48 +08:00
};
class Provider : public VirtualTileInterface
{
public:
Provider();
~Provider();
virtual ui::Control* CreateElement() override;
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param[in] control <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>ָ<EFBFBD><EFBFBD>
* @param[in] index <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
*/
virtual void FillElement(ui::Control *control, int index) override;
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
virtual int GetElementtCount() override;
public:
void SetTotal(int nTotal);
void RemoveTask(int nIndex);
void ChangeTaskName(int nIndex, const std::wstring& sName);
2019-07-06 12:45:48 +08:00
private:
int m_nTotal;
std::vector<DownloadTask> m_vTasks;
nbase::NLock lock_;
};