ROOT logo
// @(#)root/ged:$Id: TAttFillEditor.cxx 31790 2009-12-10 14:14:17Z bellenot $
// Author: Ilka Antcheva   10/05/04

/*************************************************************************
 * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

//////////////////////////////////////////////////////////////////////////
//                                                                      //
//  TAttFillEditor                                                      //
//                                                                      //
//  Implements GUI for editing fill attributes.                         //                                             //
//             color and fill style                                     //
//                                                                      //
//////////////////////////////////////////////////////////////////////////
//Begin_Html
/*
<img src="gif/TAttFillEditor.gif">
*/
//End_Html

#include "TAttFillEditor.h"
#include "TGedPatternSelect.h"
#include "TGColorSelect.h"
#include "TColor.h"

ClassImp(TAttFillEditor)

enum EFillWid {
   kCOLOR,
   kPATTERN
};


//______________________________________________________________________________
TAttFillEditor::TAttFillEditor(const TGWindow *p, Int_t width,
                               Int_t height, UInt_t options, Pixel_t back)
   : TGedFrame(p, width, height, options | kVerticalFrame, back)
{
   // Constructor of fill attributes GUI.

   fPriority = 2;

   fAttFill = 0;
   
   MakeTitle("Fill");

   TGCompositeFrame *f2 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
   fColorSelect = new TGColorSelect(f2, 0, kCOLOR);
   f2->AddFrame(fColorSelect, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
   fColorSelect->Associate(this);
   fPatternSelect = new TGedPatternSelect(f2, 1, kPATTERN);
   f2->AddFrame(fPatternSelect, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
   fPatternSelect->Associate(this);
   AddFrame(f2, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
}

//______________________________________________________________________________
TAttFillEditor::~TAttFillEditor()
{ 
  // Destructor of fill editor.
}

//______________________________________________________________________________
void TAttFillEditor::ConnectSignals2Slots()
{
   // Connect signals to slots.

   fColorSelect->Connect("ColorSelected(Pixel_t)", "TAttFillEditor", this, "DoFillColor(Pixel_t)");
   fPatternSelect->Connect("PatternSelected(Style_t)", "TAttFillEditor", this, "DoFillPattern(Style_t)");
   fInit = kFALSE;
}

//______________________________________________________________________________
void TAttFillEditor::SetModel(TObject* obj)
{
   // Pick up the used fill attributes.

   TAttFill *attfill = dynamic_cast<TAttFill *>(obj);
   if (!attfill) return;
   
   fAttFill = attfill;
   fAvoidSignal = kTRUE;
   
   Color_t c = fAttFill->GetFillColor();
   Pixel_t p = TColor::Number2Pixel(c);
   fColorSelect->SetColor(p, kFALSE);

   Style_t s = fAttFill->GetFillStyle();
   fPatternSelect->SetPattern(s, kFALSE);

   if (fInit) ConnectSignals2Slots();
   fAvoidSignal = kFALSE;
}

//______________________________________________________________________________
void TAttFillEditor::DoFillColor(Pixel_t color)
{
   // Slot connected to the fill area color.

   if (fAvoidSignal) return;
   fAttFill->SetFillColor(TColor::GetColor(color));
   Update();
}

//______________________________________________________________________________
void TAttFillEditor::DoFillPattern(Style_t pattern)
{
   // Slot connected to the fill area pattern.

   if (fAvoidSignal) return;
   fAttFill->SetFillStyle(pattern);
   Update();
}

 TAttFillEditor.cxx:1
 TAttFillEditor.cxx:2
 TAttFillEditor.cxx:3
 TAttFillEditor.cxx:4
 TAttFillEditor.cxx:5
 TAttFillEditor.cxx:6
 TAttFillEditor.cxx:7
 TAttFillEditor.cxx:8
 TAttFillEditor.cxx:9
 TAttFillEditor.cxx:10
 TAttFillEditor.cxx:11
 TAttFillEditor.cxx:12
 TAttFillEditor.cxx:13
 TAttFillEditor.cxx:14
 TAttFillEditor.cxx:15
 TAttFillEditor.cxx:16
 TAttFillEditor.cxx:17
 TAttFillEditor.cxx:18
 TAttFillEditor.cxx:19
 TAttFillEditor.cxx:20
 TAttFillEditor.cxx:21
 TAttFillEditor.cxx:22
 TAttFillEditor.cxx:23
 TAttFillEditor.cxx:24
 TAttFillEditor.cxx:25
 TAttFillEditor.cxx:26
 TAttFillEditor.cxx:27
 TAttFillEditor.cxx:28
 TAttFillEditor.cxx:29
 TAttFillEditor.cxx:30
 TAttFillEditor.cxx:31
 TAttFillEditor.cxx:32
 TAttFillEditor.cxx:33
 TAttFillEditor.cxx:34
 TAttFillEditor.cxx:35
 TAttFillEditor.cxx:36
 TAttFillEditor.cxx:37
 TAttFillEditor.cxx:38
 TAttFillEditor.cxx:39
 TAttFillEditor.cxx:40
 TAttFillEditor.cxx:41
 TAttFillEditor.cxx:42
 TAttFillEditor.cxx:43
 TAttFillEditor.cxx:44
 TAttFillEditor.cxx:45
 TAttFillEditor.cxx:46
 TAttFillEditor.cxx:47
 TAttFillEditor.cxx:48
 TAttFillEditor.cxx:49
 TAttFillEditor.cxx:50
 TAttFillEditor.cxx:51
 TAttFillEditor.cxx:52
 TAttFillEditor.cxx:53
 TAttFillEditor.cxx:54
 TAttFillEditor.cxx:55
 TAttFillEditor.cxx:56
 TAttFillEditor.cxx:57
 TAttFillEditor.cxx:58
 TAttFillEditor.cxx:59
 TAttFillEditor.cxx:60
 TAttFillEditor.cxx:61
 TAttFillEditor.cxx:62
 TAttFillEditor.cxx:63
 TAttFillEditor.cxx:64
 TAttFillEditor.cxx:65
 TAttFillEditor.cxx:66
 TAttFillEditor.cxx:67
 TAttFillEditor.cxx:68
 TAttFillEditor.cxx:69
 TAttFillEditor.cxx:70
 TAttFillEditor.cxx:71
 TAttFillEditor.cxx:72
 TAttFillEditor.cxx:73
 TAttFillEditor.cxx:74
 TAttFillEditor.cxx:75
 TAttFillEditor.cxx:76
 TAttFillEditor.cxx:77
 TAttFillEditor.cxx:78
 TAttFillEditor.cxx:79
 TAttFillEditor.cxx:80
 TAttFillEditor.cxx:81
 TAttFillEditor.cxx:82
 TAttFillEditor.cxx:83
 TAttFillEditor.cxx:84
 TAttFillEditor.cxx:85
 TAttFillEditor.cxx:86
 TAttFillEditor.cxx:87
 TAttFillEditor.cxx:88
 TAttFillEditor.cxx:89
 TAttFillEditor.cxx:90
 TAttFillEditor.cxx:91
 TAttFillEditor.cxx:92
 TAttFillEditor.cxx:93
 TAttFillEditor.cxx:94
 TAttFillEditor.cxx:95
 TAttFillEditor.cxx:96
 TAttFillEditor.cxx:97
 TAttFillEditor.cxx:98
 TAttFillEditor.cxx:99
 TAttFillEditor.cxx:100
 TAttFillEditor.cxx:101
 TAttFillEditor.cxx:102
 TAttFillEditor.cxx:103
 TAttFillEditor.cxx:104
 TAttFillEditor.cxx:105
 TAttFillEditor.cxx:106
 TAttFillEditor.cxx:107
 TAttFillEditor.cxx:108
 TAttFillEditor.cxx:109
 TAttFillEditor.cxx:110
 TAttFillEditor.cxx:111
 TAttFillEditor.cxx:112
 TAttFillEditor.cxx:113
 TAttFillEditor.cxx:114
 TAttFillEditor.cxx:115
 TAttFillEditor.cxx:116
 TAttFillEditor.cxx:117
 TAttFillEditor.cxx:118
 TAttFillEditor.cxx:119