00001 // @(#)root/memstat:$Name$:$Id: TMemStatDrawDlg.h 30815 2009-10-20 13:49:22Z rdm $ 00002 // Author: Anar Manafov (A.Manafov@gsi.de) 31/05/2008 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TMemStatDrawDlg 00013 #define ROOT_TMemStatDrawDlg 00014 00015 // STD 00016 #include <vector> 00017 #include <string> 00018 // ROOT 00019 #ifndef ROOT_RQ_OBJECT 00020 #include "RQ_OBJECT.h" 00021 #endif 00022 #ifndef ROOT_TGFrame 00023 #include "TGFrame.h" 00024 #endif 00025 00026 class TMemStat; 00027 class TGComboBox; 00028 class TGNumberEntry; 00029 class TRootEmbeddedCanvas; 00030 00031 typedef std::vector<std::string> StringVector_t; 00032 00033 class TMemStatDrawDlg 00034 { 00035 RQ_OBJECT("TMemStatDrawDlg") 00036 00037 public: 00038 TMemStatDrawDlg(TGCompositeFrame *parent, TMemStat *MemStat); 00039 virtual ~TMemStatDrawDlg(); 00040 00041 // slots 00042 void HandleDrawMemStat(); 00043 00044 private: 00045 void PlaceCtrls(TGCompositeFrame *frame); 00046 void PlaceLBoxCtrl(TGCompositeFrame *frame, TGComboBox **box , 00047 const std::string &Label, const StringVector_t &Vealues, Int_t resource); 00048 void PlaceDeepCtrl(TGCompositeFrame *frame); 00049 void PlaceEmbeddedCanvas(TGCompositeFrame *frame); 00050 void ReDraw(); 00051 00052 private: 00053 TMemStat *fMemStat; 00054 TGComboBox *fboxOrder; 00055 TGComboBox *fboxSortStat; 00056 TGComboBox *fboxSortStamp; 00057 TGNumberEntry *fNmbStackDeep; 00058 TGNumberEntry *fNmbSortDeep; 00059 TGNumberEntry *fNmbMaxLength; 00060 TRootEmbeddedCanvas *fEc; 00061 }; 00062 00063 #endif