| 1 |
#ifndef CPLUGINTREE_H_INCLUDED |
| 2 |
#define CPLUGINTREE_H_INCLUDED |
| 3 |
|
| 4 |
#include "CInterface.h" |
| 5 |
#include "CScrollBarV.h" |
| 6 |
#include "CDragContainer.h" |
| 7 |
#include "CPopMenu.h" |
| 8 |
#include "CTreeFileElement.h" |
| 9 |
#include "CTreeDirElement.h" |
| 10 |
|
| 11 |
class CPluginMode; |
| 12 |
|
| 13 |
/* |
| 14 |
* プラグインツリー |
| 15 |
*/ |
| 16 |
class CPluginTree: public CInterface, public CDragInterface{ |
| 17 |
friend class CTreeElement; |
| 18 |
friend class CTreeFileElement; |
| 19 |
friend class CTreeDirElement; |
| 20 |
private: |
| 21 |
int m_State; // 状態 |
| 22 |
int m_Rows; // 最大表示数 |
| 23 |
bool m_Focused; // フォーカス追加フラグ |
| 24 |
CTreeElement *m_PushedItem; // 押されたアイテム |
| 25 |
CTreeElement *m_FocusItem; // フォーカス |
| 26 |
CTreeDirElement *m_DropItem; // フォーカス |
| 27 |
CTreeDirElement *m_Root; // データルート |
| 28 |
CScrollBarV m_ScrollV; // スクロールバー |
| 29 |
CPluginListView *m_SyncList; // 平衡リストビュー |
| 30 |
CMenuCommander *m_Commander; // コマンダ |
| 31 |
public: |
| 32 |
CPluginTree(); |
| 33 |
~CPluginTree(); |
| 34 |
void Init(int, int, int, int, char *, CInterface *, CPluginListView *, CMenuCommander *); |
| 35 |
CTreeElement *GetPushedItem(){ return m_PushedItem; } |
| 36 |
CTreeElement *GetFocusItem(){ return m_FocusItem; } |
| 37 |
void SetFocusItem(CTreeElement *); |
| 38 |
CTreeDirElement *GetRoot(){ return m_Root; } |
| 39 |
CTreeDirElement *GetDropItem(){ return m_DropItem; } |
| 40 |
void SetDropItem(CTreeDirElement *); |
| 41 |
void SelectPlugin(CPlugin *); |
| 42 |
void EnsureVisible(); |
| 43 |
void SetScroll(); |
| 44 |
void GiveFocus(bool snd = true); |
| 45 |
void RenderDragItem(); |
| 46 |
char *Load(char *, char *, CPluginMode *); |
| 47 |
void Save(FILE *, char *); |
| 48 |
bool ScanInput(); |
| 49 |
void Render(); |
| 50 |
}; |
| 51 |
|
| 52 |
#endif |