54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#ifndef TNZ_ITEMBROWSER_INCLUDED
|
|
#define TNZ_ITEMBROWSER_INCLUDED
|
|
|
|
#include "tw/tw.h"
|
|
|
|
#undef DVAPI
|
|
#undef DVVAR
|
|
#ifdef TWIN_EXPORTS
|
|
#define DVAPI DV_EXPORT_API
|
|
#define DVVAR DV_EXPORT_VAR
|
|
#else
|
|
#define DVAPI DV_IMPORT_API
|
|
#define DVVAR DV_IMPORT_VAR
|
|
#endif
|
|
|
|
class TFilePath;
|
|
|
|
class DVAPI TItemBrowser : public TWidget {
|
|
class Data;
|
|
Data *m_data;
|
|
|
|
public:
|
|
TItemBrowser(TWidget *parent, const TFilePath &rootDir,
|
|
string name = "ItemBrowser");
|
|
~TItemBrowser();
|
|
|
|
void setBorder(int dx, int dy);
|
|
|
|
void setItemSize(const TDimension &d);
|
|
TDimension getItemSize() const;
|
|
|
|
virtual int getItemCount() const = 0;
|
|
virtual void drawItem(TWidget *w, const TRect &rect, int index,
|
|
bool selected) const = 0;
|
|
virtual bool isItemWide(int index) const { return false; };
|
|
virtual void loadItems(const TFilePath &rootDir) {}
|
|
|
|
virtual void onSelect(int index) {}
|
|
|
|
void select(int index);
|
|
void notifyItemCountChange();
|
|
|
|
void configureNotify(const TDimension &);
|
|
|
|
void update();
|
|
|
|
virtual void onKey(int key, int index){};
|
|
virtual wstring getTooltipString(int) { return wstring(); }
|
|
virtual string getContextHelpReference(int) { return string(); }
|
|
};
|
|
|
|
#endif
|