// @(#)root/ged:$Name: $:$Id: TGedPropertyFrame.cxx,v 1.7 2004/05/01 15:13:27 brun Exp $
// Author: Marek Biskup, Ilka Antcheva 15/08/2003
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
//////////////////////////////////////////////////////////////////////////
// //
// TGedPropertiesFrame //
// //
// TGedPropertiesFrame is a window that allows user to change object //
// properties. //
// //
//////////////////////////////////////////////////////////////////////////
#include "TROOT.h"
#include "TGedPropertyFrame.h"
#include "TGedToolBox.h"
#include "TList.h"
#include "TGButton.h"
#include "TGPicture.h"
#include "TROOT.h"
#include "TRootCanvas.h"
#include "TCanvas.h"
#include "TGedEditor.h"
#include "TGedAttFrame.h"
#include "TGClient.h"
#include "TH1.h"
#include "TF1.h"
#include "TGDoubleSlider.h"
#include "Hoption.h"
#include "ctype.h"
#include "TGTab.h"
ClassImp(TGedPropertyFrame)
//______________________________________________________________________________
TGedPropertyFrame::TGedPropertyFrame(const TGWindow *p, TCanvas* canvas) :
TGCompositeFrame(p, 110, 20, 0)
{
Build();
gROOT->GetListOfCleanups()->Add(this);
if (canvas)
ConnectToCanvas(canvas);
}
//______________________________________________________________________________
TGedPropertyFrame::~TGedPropertyFrame()
{
gROOT->GetListOfCleanups()->Remove(this);
Cleanup();
}
//______________________________________________________________________________
void TGedPropertyFrame::Build()
{
TGTab* tab = new TGTab(this, 110, 30);
AddFrame(tab, new TGLayoutHints(kLHintsTop));
TGCompositeFrame *tab1 = tab->AddTab("Style");
fAttFrame[0] = new TGedAttNameFrame(tab1, 1);
fAttFrame[1] = new TGedAttFillFrame(tab1, 2);
fAttFrame[2] = new TGedAttLineFrame(tab1, 3);
fAttFrame[3] = new TGedAttTextFrame(tab1, 4);
fAttFrame[4] = new TGedAttMarkerFrame(tab1, 5);
fAttFrame[5] = new TGedAttAxisFrame(tab1, 6);
fAttFrame[6] = new TGedAttAxisTitle(tab1, 7);
fAttFrame[7] = new TGedAttAxisLabel(tab1, 8);
for (int i = 0; i < kNPropertyFrames; i++)
tab1->AddFrame(fAttFrame[i],
new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0, 0, 2, 2));
}
//______________________________________________________________________________
void TGedPropertyFrame::ConnectToCanvas(TCanvas *c)
{
TQObject::Connect(c, "Selected(TPad*,TObject*,Int_t)", "TGedPropertyFrame",
this, "SetModel(TPad*,TObject*,Int_t)");
// re-emit the last Selected() signal to have property frames
// of the last selected object in the pad editor when the editor shows up
c->Selected((TPad *)c->GetSelectedPad(), c->GetSelected(), c->GetEvent());
}
//______________________________________________________________________________
void TGedPropertyFrame::SetModel(TPad* pad, TObject* obj, Int_t event)
{
// Slot connected to Selected() signal of TCanvas
for (int i = 0; i < kNPropertyFrames; i++)
fAttFrame[i]->SetModel(pad, obj, event);
fModel = obj;
fPad = pad;
}
//______________________________________________________________________________
Bool_t TGedPropertyFrame::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
{
if (parm1 + parm2 + msg )
;
/*
switch (GET_MSG(msg)) {
case kC_COMMAND:
switch (GET_SUBMSG(msg)) {
case kCM_RADIOBUTTON:
switch (parm2) {
case kType:
SetRadio(fType, 12, parm1);
break;
case kCoords:
SetRadio(fCoords, 4, parm1);
break;
case kErrors:
SetRadio(fErrors, 5, parm1);
break;
default:
break;
}
break;
case kCM_BUTTON:
switch (parm1) {
case kDraw:
DrawHistogram();
break;
case kDefaults:
Reset();
break;
case kClose:
CloseFrame();
break;
default:
break;
}
}
break;
case kC_HSLIDER:
ProcessSlider(GET_SUBMSG(msg));
break;
}
*/
return kTRUE;
}
//______________________________________________________________________________
void TGedPropertyFrame::RecursiveRemove(TObject* obj)
{
// Remove references to fModel in case the fModel is being deleted
// Deactivate attribute frames if they point to obj
if (fModel != obj) return;
SetModel((TPad*)fPad,0,0);
}
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.