00001
00002
00003 #ifndef _GFILTER_UI_H_
00004 #define _GFILTER_UI_H_
00005
00006 #include "GTree.h"
00007
00008 class GFilterViewPrivate;
00009
00010 enum GFilterNode
00011 {
00012 LNODE_NULL,
00013 LNODE_AND,
00014 LNODE_OR,
00015 LNODE_COND,
00016 LNODE_NEW
00017 };
00018
00019 class GFilterItem : public GTreeItem
00020 {
00021 class GFilterItemPrivate *d;
00022
00023 protected:
00024 void _PourText(GdcPt2 &Size);
00025 void _PaintText(GSurface *pDC, COLOUR Fore, COLOUR Back);
00026
00027 public:
00028 GFilterItem(GFilterViewPrivate *Data, GFilterNode Node = LNODE_NEW);
00029 ~GFilterItem();
00030
00031 GFilterNode GetNode();
00032 void SetNode(GFilterNode n);
00033
00034 void OnMouseClick(GMouse &m);
00035 };
00036
00038 class GFilterView : public GTree
00039 {
00040 class GFilterViewPrivate *d;
00041
00042 public:
00043 GFilterView();
00044 ~GFilterView();
00045
00046 bool ShowLegend();
00047 void ShowLegend(bool b);
00048
00049 GRect &GetClient();
00050 void OnPaint(GSurface *pDC);
00051 };
00052
00053 #endif