Fixed bug #1734670: when logging off of MSN it did not hide the contacts
[centerim.git] / kkconsui / include / treeview.h
blobd1a20f5f1c34b108f604d7f051ef870d020a1d01
1 #ifndef __KONST_UI_TREE_H_
2 #define __KONST_UI_TREE_H_
4 #include <vector>
5 #include <algorithm>
7 #include "conf.h"
8 #include "conscommon.h"
9 #include "abstractui.h"
10 #include "cmenus.h"
12 __KTOOL_BEGIN_NAMESPACE
14 class treeview : public abstractuicontrol {
15 private:
16 struct treeviewnode {
17 int id, parentid, color;
18 bool isnode, isopen;
19 string text;
20 void *ref;
22 bool operator == (const int aid);
23 bool operator == (const void *aref);
24 bool operator != (const int aid);
25 bool operator != (const void *aref);
28 int bgcolor, selectcolor, nodecolor, leafcolor, idseq;
30 vector<treeviewnode> items;
31 vector<treeviewnode> nestlevel;
32 vector<treeviewnode> refdeps;
34 bool islast(int id);
35 void drawnest(int y);
36 void genmenu(int parent);
37 void init();
39 public:
40 int curelem;
41 bool collapsable;
42 verticalmenu menu;
44 treeview(int nx1, int ny1, int nx2, int ny2, int nbgcolor, int nselectcolor, int nnodecolor, int nleafcolor);
45 treeview(int nbgcolor, int nselectcolor, int nnodecolor, int nleafcolor);
46 treeview();
47 virtual ~treeview();
49 bool empty();
51 int addnode(int parent, int color, void *ref, const string &text);
52 int addnode(int parent, int color, int ref, const string &text);
53 int addnode(const string &text);
55 int addnodef(int parent, int color, void *ref, const char *fmt, ...);
56 int addnodef(int parent, int color, int ref, const char *fmt, ...);
57 int addnodef(const char *fmt, ...);
59 int addleaf(int parent, int color, void *ref, const string &text);
60 int addleaf(int parent, int color, int ref, const string &text);
61 int addleaf(const string &text);
63 int addleaff(int parent, int color, void *ref, const char *fmt, ...);
64 int addleaff(int parent, int color, int ref, const char *fmt, ...);
65 int addleaff(const char *fmt, ...);
67 void opennode(int mpos);
68 void closenode(int mpos);
70 int getcount();
71 int getid(int mpos);
72 int getid(void *ref);
73 bool isnode(int id);
74 bool isnodeopen(int id);
76 int getparent(int id);
77 void *getref(int id);
79 void clear();
81 void redraw();
82 void *open(int *n);
84 void setcur(int id);
85 void setcoords(int nx1, int ny1, int nx2, int ny2);
88 __KTOOL_END_NAMESPACE
90 #ifdef __KTOOL_USE_NAMESPACES
92 using ktool::treeview;
94 #endif
96 #endif