Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

GuiAxis.cxx

Go to the documentation of this file.
00001 #include "GuiAxis.h"
00002 #include "TCanvas.h"
00003 #include "TGaxis.h"
00004 
00005 #include <iostream>
00006 #include <sigc++/object_slot.h>
00007 
00008 GuiAxis::GuiAxis(TGWindow& parent, unsigned int /*options*/)
00009     : GuiCanvas(parent), fRange(0)
00010 {
00011     this->UseRange(manage(new RangeDouble));
00012 
00013     if (kHorizontalFrame)
00014         fAxis = new TGaxis(0.0,0.2, 1.0,0.2, 0,1,510,"-");
00015     else
00016         fAxis = new TGaxis(0.8,0.0, 0.8,1.0, 0,1,510,"");
00017     fAxis->SetLabelSize(0.3);
00018     fAxis->SetWmin(0.0);
00019     fAxis->SetWmax(1.0);
00020 
00021     this->GetCanvas()->cd(); 
00022     fAxis->Draw(); 
00023 
00024     this->GetCanvas()->SetEditable(kFALSE);
00025 
00026 }
00027 
00028 GuiAxis::~GuiAxis() 
00029 {
00030     delete fAxis; fAxis = 0;
00031 }
00032 
00033 void GuiAxis::UseRange(RangeDouble* rptr)
00034 {
00035     if (fRange == rptr) return;
00036     if (fRange && rptr) fCon.disconnect();
00037     fRange = rptr;
00038     fCon = fRange->modified.connect(SigC::slot(*this,&GuiAxis::ApplyRange));
00039 }
00040 void GuiAxis::ApplyRange(void)
00041 {
00042     fAxis->SetWmin(fRange->Min());
00043     fAxis->SetWmax(fRange->Max());
00044     this->GetCanvas()->Modified();
00045     this->GetCanvas()->Update();
00046 }

Generated on Sat Nov 21 22:46:18 2009 for loon by  doxygen 1.3.9.1