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