// @(#)root/gui:$Id: c1ecfb3a4b91442ae3b6fe3059ae838e463f2f56 $
// Author: Bertrand Bellenot + Fons Rademakers   22/08/02
// Author: Ilka Antcheva (color wheel support)   16/03/07

/*************************************************************************
 * 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.             *
 *************************************************************************/
/**************************************************************************

    This source is based on Xclass95, a Win95-looking GUI toolkit.
    Copyright (C) 1996, 1997 David Barth, Ricky Ralston, Hector Peraza.

    Xclass95 is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

**************************************************************************/

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGColorPalette, TGColorPick and TGColorDialog.                       //
//                                                                      //
// The TGColorPalette is a widget showing an matrix of color cells. The //
// colors can be set and selected.                                      //
//                                                                      //
// The TGColorPick is a widget which allows a color to be picked from   //
// HLS space. It consists of two elements: a color map window from      //
// where the user can select the hue and saturation level of a color,   //
// and a slider to select color's lightness.                            //
//                                                                      //
// Selecting a color in these two widgets will generate the event:      //
// kC_COLORSEL, kCOL_CLICK, widget id, 0.                               //
// and the signal:                                                      //
// ColorSelected(Pixel_t color)                                         //
//                                                                      //
// The TGColorDialog presents a full featured color selection dialog.   //
// It uses 2 TGColorPalette's and the TGColorPick widgets.              //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#include <stdlib.h>

#include "TGLabel.h"
#include "TGMsgBox.h"         // for ID_OK, ID_CANCEL
#include "TGLayout.h"
#include "TGGC.h"
#include "KeySymbols.h"
#include "TGColorDialog.h"
#include "TGTextEntry.h"
#include "TGButton.h"
#include "TGResourcePool.h"
#include "TColor.h"
#include "TColorWheel.h"
#include "TGColorSelect.h"
#include "TGTab.h"
#include "TRootEmbeddedCanvas.h"
#include "TCanvas.h"
#include "TROOT.h"
#include "TMath.h"

ClassImp(TGColorPalette)
ClassImp(TGColorPick)
ClassImp(TGColorDialog)


// TODO:
// - implement "custom" colors.
// - optimize the code, specially the one handling the fColormap image
//   and dithering in pseudo-color modes; remove duplicated code.
// - improve the color allocation routine.
// - use a buffering pixmap for the fColormap image.

enum EColorDialog {
   kCDLG_OK       = 100,
   kCDLG_CANCEL,
   kCDLG_PREVIEW,
   kCDLG_ADD,

   kCDLG_SPALETTE = 200,
   kCDLG_CPALETTE,
   kCDLG_COLORPICK,

   kCDLG_HTE      = 300,
   kCDLG_LTE,
   kCDLG_STE,
   kCDLG_RTE,
   kCDLG_GTE,
   kCDLG_BTE,
   kCDLG_ALE
};

enum EColorPick {
   kCLICK_NONE,
   kCLICK_HS,
   kCLICK_L
};

enum EColorImage {
   kIMG_HS,
   kIMG_L
};

// "User" defined colors

static ULong_t gUcolor[24] = { 0xff000000 };


//________________________________________________________________________________
TGColorPalette::TGColorPalette(const TGWindow *p, Int_t cols, Int_t rows, Int_t id) :
   TGFrame(p, 10, 10, kChildFrame)
{
   // TGColorPalette widget: this is just a grid of color cells of the
   // specified size. Colors can be selected by clicking on them or by
   // using the arrow keys.

   fWidgetId    = id;
   fWidgetFlags = kWidgetIsEnabled;
   fMsgWindow   = p;
   fDrawGC      = *fClient->GetResourcePool()->GetFrameGC();

   fCw = 20;
   fCh = 17;

   fRows = rows;
   fCols = cols;

   fCx = fCy = 0;

   fPixels = new ULong_t[fRows * fCols];

   for (Int_t i = 0; i < fRows * fCols; ++i) {
      fPixels[i] = TColor::RGB2Pixel(255, 255, 255);
   }

   gVirtualX->GrabButton(fId, kAnyButton, kAnyModifier,
                         kButtonPressMask | kButtonReleaseMask |
                         kPointerMotionMask, kNone, kNone);

   AddInput(kKeyPressMask | kEnterWindowMask | kLeaveWindowMask |
            kFocusChangeMask | kStructureNotifyMask);
   fEditDisabled = kEditDisable;
}

//________________________________________________________________________________
TGColorPalette::~TGColorPalette()
{
   // Destructor.

   delete [] fPixels;
}

//________________________________________________________________________________
Bool_t TGColorPalette::HandleButton(Event_t *event)
{
   // Handle button events in color palette

   if (event->fCode != kButton1)
      return kFALSE;

   if ((event->fType == kButtonPress) && HasFocus())
      WantFocus();

   Int_t cx = event->fX / (fCw + 5);
   Int_t cy = event->fY / (fCh + 5);

   if (cx >= 0 && cx < fCols && cy >= 0 && cy < fRows) {

      DrawFocusHilite(kFALSE);

      fCx = cx;
      fCy = cy;

      DrawFocusHilite(kTRUE);

      SendMessage(fMsgWindow, MK_MSG(kC_COLORSEL, kCOL_CLICK), fWidgetId, 0);
      ColorSelected();
   }

   return kTRUE;
}

//________________________________________________________________________________
Bool_t TGColorPalette::HandleMotion(Event_t *event)
{
   // Handle mouse motion events in color palette.

   if (!IsEnabled())
      return kTRUE;

   Int_t cx = event->fX / (fCw + 5);
   Int_t cy = event->fY / (fCh + 5);

   if (cx >= 0 && cx < fCols && cy >= 0 && cy < fRows) {

      DrawFocusHilite(kFALSE);

      fCx = cx;
      fCy = cy;

      DrawFocusHilite(kTRUE);

      SendMessage(fMsgWindow, MK_MSG(kC_COLORSEL, kCOL_CLICK), fWidgetId, 0);
      ColorSelected();
   }

   return kTRUE;
}

//________________________________________________________________________________
Bool_t TGColorPalette::HandleKey(Event_t *event)
{
   // Handle keyboard events in color palette.

   Char_t input[10];
   UInt_t keysym;

   if (event->fType == kGKeyPress) {

      gVirtualX->LookupString(event, input, sizeof(input), keysym);

      Int_t cx = fCx;
      Int_t cy = fCy;

      switch ((EKeySym)keysym) {
         case kKey_Left:
            if (cx > 0) --cx;
            break;

         case kKey_Right:
            if (cx < fCols - 1) ++cx;
            break;

         case kKey_Up:
            if (cy > 0) --cy;
            break;

         case kKey_Down:
            if (cy < fRows - 1) ++cy;
            break;

         case kKey_Home:
            cx = cy = 0;
            break;

         case kKey_End:
            cx = fCols - 1;
            cy = fRows - 1;
            break;

         default:
            break;
      }

      if (cx != fCx || cy != fCy) {

         DrawFocusHilite(kFALSE);

         fCx = cx;
         fCy = cy;

         DrawFocusHilite(kTRUE);

         SendMessage(fMsgWindow, MK_MSG(kC_COLORSEL, kCOL_CLICK), fWidgetId, 0);
         ColorSelected();
      }
   }

   return kTRUE;
}

//________________________________________________________________________________
void TGColorPalette::SetColors(ULong_t colors[])
{
   // Set color entries in color samples.

   for (Int_t i = 0; i < fRows * fCols; ++i)
      SetColor(i, colors[i]);
   gClient->NeedRedraw(this);
}

//________________________________________________________________________________
void TGColorPalette::SetColor(Int_t ix, ULong_t color)
{
   // Set color at index ix of color entries.

   fPixels[ix] = color;
   gClient->NeedRedraw(this);
}

//________________________________________________________________________________
void TGColorPalette::SetCurrentCellColor(ULong_t color)
{
   // Set current cell color.

   SetColor(fCy * fCols + fCx, color);
}

//________________________________________________________________________________
void TGColorPalette::SetCellSize(Int_t w, Int_t h)
{
   // Set color cell size.

   fCw = w;
   fCh = h;
   gClient->NeedRedraw(this);
}

//________________________________________________________________________________
ULong_t TGColorPalette::GetCurrentColor() const
{
   // Return currently selected color value.

   if (fCx >= 0 && fCy >= 0)
      return GetColorByIndex(fCy * fCols + fCx);
   else
      return TColor::RGB2Pixel(0, 0, 0);
}

//________________________________________________________________________________
void TGColorPalette::DoRedraw()
{
   // Redraw color palette.

   Int_t i, j, k, x, y;

   k = 0;
   y = 2;
   for (i = 0; i < fRows; ++i) {
      x = 2;
      for (j = 0; j < fCols; ++j) {
         Draw3dRectangle(kSunkenFrame | kDoubleBorder, x, y, fCw, fCh);
         fDrawGC.SetForeground(fPixels[k++]);
         gVirtualX->FillRectangle(fId, fDrawGC(), x + 2, y + 2, fCw - 4, fCh - 4);
         x += fCw + 5;
      }
      y += fCh + 5;
   }

   DrawFocusHilite(kTRUE);
}

//________________________________________________________________________________
void TGColorPalette::GotFocus()
{
   // Add keyboard input.

   AddInput(kKeyPressMask | kKeyReleaseMask);
}

//________________________________________________________________________________
void TGColorPalette::LostFocus()
{
   // Remove keyboard input.

   RemoveInput(kKeyPressMask | kKeyReleaseMask);
   gClient->NeedRedraw(this);
}

//________________________________________________________________________________
void TGColorPalette::DrawFocusHilite(Int_t onoff)
{
   // Draw a highlight rectangle around cell obtaining focus.

   if (fCx >= 0 && fCy >= 0) {
      GContext_t gc = onoff ? GetShadowGC()() : GetBckgndGC()();
      gVirtualX->DrawRectangle(fId, gc, fCx * (fCw + 5) + 0, fCy * (fCh + 5) + 0,
                               fCw + 3, fCh + 3);
   }
}


//________________________________________________________________________________
TGColorPick::TGColorPick(const TGWindow *p, Int_t w, Int_t h, Int_t id) :
   TGFrame(p, w, h, kChildFrame), fCursorGC(GetBlackGC())
{
   // TGColorPick constructor.
   // TGColorPick is a widget which allows a color to be picked from HLS space.
   // It consists of two elements: a color map window from where the user can
   // select the hue and saturation level of a color, and a slider to select
   // color's lightness.

   UInt_t iw, ih;

   fWidgetId    = id;
   fWidgetFlags = kWidgetIsEnabled;
   fMsgWindow   = p;

   fColormapRect.fX = 1;
   fColormapRect.fY = 1;
   fColormapRect.fWidth = w - 33 - 2;
   fColormapRect.fHeight = h - 2;
   fSliderRect.fX = w - 18 - 2;
   fSliderRect.fY = 1;
   fSliderRect.fWidth = 10;
   fSliderRect.fHeight = h - 2;

   fNColors = 0;

   if (!p) {
      MakeZombie();
      // coverity[uninit_member]
      return;
   }
   CreateImages();
   gVirtualX->GetImageSize(fLimage, iw, ih);

   fCx = 0;
   fCy = 0;
   fCz = (Int_t)ih / 2;

   fClick = kCLICK_NONE;

   UpdateCurrentColor();
   InitImages();

   gVirtualX->GrabButton(fId, kAnyButton, kAnyModifier,
                         kButtonPressMask | kButtonReleaseMask |
                         kPointerMotionMask, kNone, kNone);

   AddInput(kKeyPressMask | kEnterWindowMask | kLeaveWindowMask |
            kFocusChangeMask | kStructureNotifyMask);
   fEditDisabled = kEditDisable;
}

//________________________________________________________________________________
TGColorPick::~TGColorPick()
{
   // TGColorPick destructor.

   if (IsZombie()) return;
   gVirtualX->DeleteImage(fHSimage);
   gVirtualX->DeleteImage(fLimage);
   FreeColors();
}

//________________________________________________________________________________
Bool_t TGColorPick::HandleButton(Event_t *event)
{
   // Handle mouse button events in color pick widget.

   if (event->fCode != kButton1) return kFALSE;

   if (event->fType == kButtonPress) {
      if ((event->fX > fColormapRect.fX) && (event->fX < fColormapRect.fX + fColormapRect.fWidth) &&
          (event->fY > fColormapRect.fY) && (event->fY < fColormapRect.fY + fColormapRect.fHeight)) {

         fClick = kCLICK_HS;
         SetHScursor(event->fX - fColormapRect.fX, event->fY - fColormapRect.fY);

      } else if (event->fX > fSliderRect.fX) {

         fClick = kCLICK_L;
         SetLcursor(event->fY - fSliderRect.fY);

      }
   } else {  // ButtonRelease

      fClick = kCLICK_NONE;

   }

   UpdateCurrentColor();
   if (fClick == kCLICK_HS) SetSliderColor();

   SendMessage(fMsgWindow, MK_MSG(kC_COLORSEL, kCOL_CLICK), fWidgetId, kFALSE);
   ColorSelected();

   return kTRUE;
}

//________________________________________________________________________________
Bool_t TGColorPick::HandleMotion(Event_t *event)
{
   // Handle mouse motion events in color pick widget.

   if (!IsEnabled())
      return kTRUE;

   if (fClick == kCLICK_HS) {

      SetHScursor(event->fX - fColormapRect.fX, event->fY - fColormapRect.fY);

   } else if (fClick == kCLICK_L) {

      SetLcursor(event->fY - fSliderRect.fY);

   } else {

      return kTRUE;

   }

   UpdateCurrentColor();
   if (fClick == kCLICK_HS) SetSliderColor();

   SendMessage(fMsgWindow, MK_MSG(kC_COLORSEL, kCOL_CLICK), fWidgetId, kFALSE);
   ColorSelected();

   return kTRUE;
}

//________________________________________________________________________________
void TGColorPick::CreateImages()
{
   // Create colormap and color slider images.

   UInt_t width, height;

   width = fColormapRect.fWidth;
   height = fColormapRect.fHeight;
   fHSimage = gVirtualX->CreateImage(width, height);
   width = fSliderRect.fWidth;
   height = fSliderRect.fHeight;
   fLimage = gVirtualX->CreateImage(width, height);
}

//________________________________________________________________________________
void TGColorPick::AllocColors()
{
   // Try to allocate first a palette of 64 colors. Used by the dithered
   // version of the color maps.

   ColorStruct_t color;
   Int_t i;

   for (i = 0; i < 64; ++i) {
      Int_t cc[4] = { 0, 21845, 43691, 65535 };
      color.fPixel = 0;
      color.fRed   = cc[i & 0x3];
      color.fGreen = cc[(i >> 2) & 0x3];
      color.fBlue  = cc[(i >> 4) & 0x3];
      if (gVirtualX->AllocColor(gVirtualX->GetColormap(), color) == 0)
         break;
      fColormap[i][0] = color.fRed / 256;
      fColormap[i][1] = color.fGreen / 256;
      fColormap[i][2] = color.fBlue / 256;
      fPixel[i] = color.fPixel;
   }

   fNColors = i;
   if (fNColors == 64) return;  // success

   // Failed, try a simpler 27-color.

   FreeColors();

   for (i = 0; i < 27; ++i) {
      Int_t cc[3] = { 0, 32768, 65535 };
      color.fPixel = 0;
      color.fRed   = cc[i % 3];
      color.fGreen = cc[(i / 3) % 3];
      color.fBlue  = cc[(i / 9) % 3];
      if (gVirtualX->AllocColor(gVirtualX->GetColormap(), color) == 0)
         break;
      fColormap[i][0] = color.fRed / 256;
      fColormap[i][1] = color.fGreen / 256;
      fColormap[i][2] = color.fBlue / 256;
      fPixel[i] = color.fPixel;
   }

   fNColors = i;
   if (fNColors == 27) return;  // success

   // Failed, try then a much simpler 8-color.

   FreeColors();

   for (i = 0; i < 8; ++i) {
      color.fPixel = 0;
      color.fRed   = (i & 1) * 65535;
      color.fGreen = ((i >> 1) & 1) * 65535;
      color.fBlue  = ((i >> 2) & 1) * 65535;
      if (gVirtualX->AllocColor(gVirtualX->GetColormap(), color) == 0)
         break;
      fColormap[i][0] = color.fRed / 256;
      fColormap[i][1] = color.fGreen / 256;
      fColormap[i][2] = color.fBlue / 256;
      fPixel[i] = color.fPixel;
   }

   fNColors = i;
   if (fNColors == 8) return;  // success

   // Failed, try to get at least 8 closest colors...
   // (TODO: search for closest colors in the colormap, right now we just
   // get as many as exact colors we can for the 8-color palette)

   FreeColors();

   for (i = 0; i < 8; ++i) {
      color.fPixel = 0;
      color.fRed   = (i & 1) * 65535;
      color.fGreen = ((i >> 1) & 1) * 65535;
      color.fBlue  = ((i >> 2) & 1) * 65535;
      if (gVirtualX->AllocColor(gVirtualX->GetColormap(), color) != 0) {
         fColormap[fNColors][0] = color.fRed / 256;
         fColormap[fNColors][1] = color.fGreen / 256;
         fColormap[fNColors][2] = color.fBlue / 256;
         fPixel[fNColors++] = color.fPixel;
      }
   }

   // continue with what we got...
}

//________________________________________________________________________________
void TGColorPick::FreeColors()
{
   // Free allocated colors.

   for (Int_t i = 0; i < fNColors; i++)
      gVirtualX->FreeColor(gVirtualX->GetColormap(), fPixel[i]);
   fNColors = 0;
}

//________________________________________________________________________________
void TGColorPick::CreateDitheredImage(Pixmap_t image, Int_t which)
{
   // Create a dithered version of the color map and lightness images for
   // display modes with reduced number of colors. The Floyd-Steinberg error
   // diffusion dithering algorithm is used.
   // This routine is called in PseudoColor modes only.

   const Int_t kWidth = 20;

   ColorStruct_t line[kWidth];
   struct { Int_t r, g, b; } ed[kWidth], ef;
   Int_t  x, y, c, v, e[4], nc = 0;
   Int_t  r, g, b;
   Int_t h, l, s;
   Long_t dist, sdist;
   Int_t iw, ih;

   gVirtualX->GetImageSize(image, (UInt_t&) iw, (UInt_t&) ih);

   for (x = 0; x < iw; ++x) {
      ed[x].r = ed[x].g = ed[x].b = 0;
   }

   if (fNColors == 0) AllocColors();

   for (y = 0; y < ih; ++y) {

      if (which == kIMG_HS) {

         for (x = 0; x < iw; ++x) {

            h = x * 255 / iw;
            l = 128;
            s = (ih - y) * 255 / ih;

            TColor::HLS2RGB(h, l, s, r, g, b);

            line[x].fRed   = r;
            line[x].fGreen = g;
            line[x].fBlue  = b;
         }

      } else if (which == kIMG_L) {

         TColor::Pixel2RGB(fCurrentColor, r, g, b);
         TColor::RGB2HLS(r, g, b, h, l, s);

         Int_t ll = (ih - y) * 255 / ih;

         TColor::HLS2RGB(h, ll, s, r, g, b);

         for (x = 0; x < iw; ++x) {
            line[x].fRed   = r;
            line[x].fGreen = g;
            line[x].fBlue  = b;
         }

      } else {

         return;

      }

      ef.r = ef.g = ef.b = 0;        // no forward error for first pixel

      for (x = 0; x < iw; ++x) {

         // add errors from previous line

         v = line[x].fRed + ed[x].r;
         if (v < 0) v = 0; else if (v > 255) v = 255;
         line[x].fRed = v;

         v = line[x].fGreen + ed[x].g;
         if (v < 0) v = 0; else if (v > 255) v = 255;
         line[x].fGreen = v;

         v = line[x].fBlue + ed[x].b;
         if (v < 0) v = 0; else if (v > 255) v = 255;
         line[x].fBlue = v;

      }

      for (x = 0; x < iw; ++x) {

         // add forward errors

         v = line[x].fRed + ef.r;
         if (v < 0) v = 0; else if (v > 255) v = 255;
         line[x].fRed = v;

         v = line[x].fGreen + ef.g;
         if (v < 0) v = 0; else if (v > 255) v = 255;
         line[x].fGreen = v;

         v = line[x].fBlue + ef.b;
         if (v < 0) v = 0; else if (v > 255) v = 255;
         line[x].fBlue = v;

         // find the nearest color in colormap[]

         sdist = 255L * 255L * 255L;
         for (c = 0; c < fNColors; ++c) {

            Int_t dr = line[x].fRed   - fColormap[c][0];
            Int_t dg = line[x].fGreen - fColormap[c][1];
            Int_t db = line[x].fBlue  - fColormap[c][2];

            dist = dr * dr + dg * dg + db * db;
            if (dist < sdist) {
               nc = c;
               sdist = dist;
            }
         }

         gVirtualX->PutPixel(image, x, y, fPixel[nc]);

#define FILTER(v) \
      e[0] = (7 * v) >> 4; \
      e[1] = v >> 4;       \
      e[2] = (5 * v) >> 4; \
      e[3] = (3 * v) >> 4;

         v = line[x].fRed - fColormap[nc][0];
         FILTER(v)

         ef.r = e[0];
         if (x < iw-1) ed[x+1].r = e[1];
         if (x == 0) ed[x].r = e[2]; else ed[x].r += e[2];
         if (x > 0) ed[x-1].r += e[3];

         v = line[x].fGreen - fColormap[nc][1];
         FILTER(v)

         ef.g = e[0];
         if (x < iw-1) ed[x+1].g = e[1];
         if (x == 0) ed[x].g = e[2]; else ed[x].g += e[2];
         if (x > 0) ed[x-1].g += e[3];

         v = line[x].fBlue - fColormap[nc][2];
         FILTER(v)

         ef.b = e[0];
         if (x < iw-1) ed[x+1].b = e[1];
         if (x == 0) ed[x].b = e[2]; else ed[x].b += e[2];
         if (x > 0) ed[x-1].b += e[3];

      }
   }
}

//________________________________________________________________________________
void TGColorPick::InitImages()
{
   // Initialize color palette and slider images.

   Int_t width, height;
   Int_t h, l, s;
   Int_t r, g, b;

   gVirtualX->GetImageSize(fHSimage, (UInt_t&) width, (UInt_t&) height);

   // initialize fHSimage

   Int_t ncolors = gVirtualX->GetDepth();

   if (ncolors > 8) {
      for (Int_t y = 0; y < height; ++y) {
         for (Int_t x = 0; x < width; ++x) {

            r = g = b = 0;
            h = x * 255 / width;
            l = 128;
            s = (height - y) * 255 / height;

            TColor::HLS2RGB(h, l, s, r, g, b);

            ULong_t pixel = TColor::RGB2Pixel(r, g, b);
            gVirtualX->PutPixel(fHSimage, x, y, pixel);
         }
      }
   } else {
      CreateDitheredImage(fHSimage, kIMG_HS);
   }

   // initialize fLimage

   SetSliderColor();
}

//________________________________________________________________________________
void TGColorPick::SetSliderColor()
{
   // Set slider colors.

   Int_t width, height;
   Int_t h, l, s;
   Int_t r, g, b;

   gVirtualX->GetImageSize(fLimage, (UInt_t&) width, (UInt_t&) height);

   Int_t ncolors = gVirtualX->GetDepth();

   if (ncolors > 8) {

      for (Int_t y = 0; y < height; ++y) {

         TColor::Pixel2RGB(fCurrentColor, r, g, b);
         TColor::RGB2HLS(r, g, b, h, l, s);

         l = (height - y) * 255 / height;

         TColor::HLS2RGB(h, l, s, r, g, b);

         ULong_t pixel = TColor::RGB2Pixel(r, g, b);

         for (Int_t x = 0; x < width; ++x) {
            gVirtualX->PutPixel(fLimage, x, y, pixel);
         }
      }
   } else {
      CreateDitheredImage(fLimage, kIMG_L);
   }

   gClient->NeedRedraw(this);
}

//________________________________________________________________________________
void TGColorPick::SetColor(ULong_t color)
{
   // Position the slider cursor on right color position.

   UInt_t width, height;
   Int_t h, l, s;
   Int_t r, g, b;

   gVirtualX->GetImageSize(fHSimage, width, height);

   fCurrentColor = color;

   TColor::Pixel2RGB(fCurrentColor, r, g, b);
   TColor::RGB2HLS(r, g, b, h, l, s);

   SetHScursor(h * (Int_t)width / 256, (255 - s) * (Int_t)height / 256);

   gVirtualX->GetImageSize(fLimage, width, height);

   SetLcursor((255 - l) * (Int_t)height / 256);

   SetSliderColor();
}

//________________________________________________________________________________
void TGColorPick::UpdateCurrentColor()
{
   // Assign the current cursor position as currently selected color.

   UInt_t lwidth, lheight;
   UInt_t swidth, sheight;
   Int_t r, g, b;
   Int_t h, l, s;

   gVirtualX->GetImageSize(fLimage, lwidth, lheight);
   gVirtualX->GetImageSize(fHSimage, swidth, sheight);

   h = Int_t(fCx * 255 / swidth);
   l = Int_t((lheight - fCz) * 255 / lheight);
   s = Int_t((sheight - fCy) * 255 / sheight);

   TColor::HLS2RGB(h, l, s, r, g, b);
   fCurrentColor = TColor::RGB2Pixel(r, g, b);
}

//________________________________________________________________________________
void TGColorPick::DoRedraw()
{
   // Redraw the color pick widget.

   UInt_t lwidth, lheight;
   UInt_t swidth, sheight;

   gVirtualX->GetImageSize(fLimage, lwidth, lheight);
   gVirtualX->GetImageSize(fHSimage, swidth, sheight);

   DrawBorder();

   Draw3dRectangle(kSunkenFrame, fColormapRect.fX - 1, fColormapRect.fY - 1,
                   fColormapRect.fWidth + 2, fColormapRect.fHeight + 2);
   gVirtualX->PutImage(fId, GetBckgndGC()(), fHSimage,
                       fColormapRect.fX, fColormapRect.fY, 0, 0, swidth, sheight);

   Draw3dRectangle(kSunkenFrame, fSliderRect.fX - 1, fSliderRect.fY - 1,
                   fSliderRect.fWidth + 2, fSliderRect.fHeight + 2);
   gVirtualX->PutImage(fId, GetBckgndGC()(), fLimage,
                       fSliderRect.fX, fSliderRect.fY, 0, 0, lwidth, lheight);

   DrawHScursor(kTRUE);
   DrawLcursor(kTRUE);
}

//________________________________________________________________________________
void TGColorPick::SetHScursor(Int_t x, Int_t y)
{
   // Set hue / saturation cursor position.

   UInt_t width, height;

   gVirtualX->GetImageSize(fHSimage, width, height);

   DrawHScursor(kFALSE);

   fCx = x;
   fCy = y;

   if (fCx < 0)
      fCx = 0;
   else if (fCx >= (Int_t)width)
      fCx = (Int_t)width - 1;

   if (fCy < 0)
      fCy = 0;
   else if (fCy >= (Int_t)height)
      fCy = (Int_t)height - 1;

   DrawHScursor(kTRUE);
}

//________________________________________________________________________________
void TGColorPick::SetLcursor(Int_t z)
{
   // Set lightness slider cursor position.

   UInt_t width, height;

   gVirtualX->GetImageSize(fLimage, width, height);

   DrawLcursor(kFALSE);

   fCz = z - fSliderRect.fY;

   if (fCz < 0)
      fCz = 0;
   else if (fCz >= (Int_t)height)
      fCz = (Int_t)height - 1;

   DrawLcursor(kTRUE);
}

//________________________________________________________________________________
void TGColorPick::DrawHScursor(Int_t onoff)
{
   // Draw hue / saturation cursor

   UInt_t width, height;

   gVirtualX->GetImageSize(fHSimage, width, height);

   if (onoff) {
      Int_t x, y;
      Rectangle_t rect;

      x = fCx + fColormapRect.fX;
      y = fCy + fColormapRect.fY;

      rect.fX = fColormapRect.fX;
      rect.fY = fColormapRect.fX;
      rect.fWidth = fColormapRect.fWidth;
      rect.fHeight = fColormapRect.fHeight;
      gVirtualX->SetClipRectangles(fCursorGC(), 0, 0, &rect, 1);

      gVirtualX->FillRectangle(fId, fCursorGC(), x - 9, y - 1, 5, 3);
      gVirtualX->FillRectangle(fId, fCursorGC(), x - 1, y - 9, 3, 5);
      gVirtualX->FillRectangle(fId, fCursorGC(), x + 5, y - 1, 5, 3);
      gVirtualX->FillRectangle(fId, fCursorGC(), x - 1, y + 5, 3, 5);

   } else {
      Int_t  x, y;
      UInt_t w, h;

      x = fCx - 9; w = 19;
      y = fCy - 9; h = 19;

      if (x < 0) { w += x; x = 0; }
      if (y < 0) { h += y; y = 0; }

      if (x + w > width) w = width - x;
      if (y + h > height) h = height - y;

      gVirtualX->PutImage(fId, GetBckgndGC()(), fHSimage, x, y,
                          fColormapRect.fX + x, fColormapRect.fY + y, w, h);
   }
}

//________________________________________________________________________________
void TGColorPick::DrawLcursor(Int_t onoff)
{
   // Draw lightness slider cursor

   Int_t l = fSliderRect.fX + fSliderRect.fWidth + 3;
   Int_t r = l + 5;
   Int_t t = fCz - 5 + fSliderRect.fY;
   Int_t b = t + 10;

   Point_t points[3];

   Int_t m = (t + b) >> 1;

   points[0].fX = r;
   points[0].fY = t;
   points[1].fX = r;
   points[1].fY = b;
   points[2].fX = l;
   points[2].fY = m;

   GContext_t gc = onoff ? GetShadowGC()() : GetBckgndGC()();

   gVirtualX->FillPolygon(fId, gc, points, 3);
}


//________________________________________________________________________________
TGColorDialog::TGColorDialog(const TGWindow *p, const TGWindow *m,
                             Int_t *retc, ULong_t *color, Bool_t wait) :
   TGTransientFrame(p, m, 200, 150)
{
   // Color selection dialog constructor.
   // The TGColorDialog presents a full featured color selection dialog.
   // It uses 2 TGColorPalette's and the TGColorPick widgets.

   const Int_t kC_X = 175;  // Win95: 177
   const Int_t kC_Y = 180;  // Win95: 189

   Int_t i;

   fRetc = retc;
   fRetColor = 0;
   fRetTColor = 0;
   fInitColor = 0;
   if (color) {
      fRetColor = color;
      fRetTColor = gROOT->GetColor(TColor::GetColor(*color));
      fInitColor = *fRetColor;
   }
   fWaitFor = wait;

   if (fRetc) *fRetc = kMBCancel;

   TGHorizontalFrame *hftop = new TGHorizontalFrame(this, 10, 10);
   hftop->SetCleanup();
   AddFrame(hftop, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 10, 5));

   fTab = new TGTab(hftop, 300, 300);
   hftop->AddFrame(fTab);

   TGCompositeFrame *cf = new TGCompositeFrame(hftop, 10, 10);
   cf->SetCleanup();
   hftop->AddFrame(cf, new TGLayoutHints(kLHintsLeft | kLHintsTop, 5, 0, 30, 0));

   TGCompositeFrame *cf1 = new TGCompositeFrame(cf, 10, 10);
   cf1->SetCleanup();
   cf->AddFrame(cf1, new TGLayoutHints(kLHintsLeft | kLHintsTop, 5, 0, 30, 0));
   cf1->SetLayoutManager(new TGMatrixLayout(cf1, 0, 2, 4));

   cf1->AddFrame(new TGLabel(cf1, new TGHotString("Red:")));
   cf1->AddFrame(fRte = new TGTextEntry(cf1, fRtb = new TGTextBuffer(5), kCDLG_RTE),0);
   fRte->Resize(50, fRte->GetDefaultHeight());
   cf1->AddFrame(new TGLabel(cf1, new TGHotString("Green:")),0);
   cf1->AddFrame(fGte = new TGTextEntry(cf1, fGtb = new TGTextBuffer(5), kCDLG_GTE),0);
   fGte->Resize(50, fGte->GetDefaultHeight());
   cf1->AddFrame(new TGLabel(cf1, new TGHotString("Blue:")));
   cf1->AddFrame(fBte = new TGTextEntry(cf1, fBtb = new TGTextBuffer(5), kCDLG_BTE),0);
   fBte->Resize(50, fBte->GetDefaultHeight());
   cf1->AddFrame(new TGLabel(cf1, new TGHotString("Opacity:")),0);
   cf1->AddFrame(fAle = new TGTextEntry(cf1, fAlb = new TGTextBuffer(5), kCDLG_ALE),0);
   fAle->Resize(50, fAle->GetDefaultHeight());

   if (!TCanvas::SupportAlpha()) {
      fAle->SetEnabled(kFALSE);
   }

   TGCompositeFrame *cf2 = new TGCompositeFrame(cf, 10, 10);
   cf2->SetCleanup();
   cf->AddFrame(cf2, new TGLayoutHints(kLHintsLeft | kLHintsTop, 5, 0, 30, 0));
   cf2->SetLayoutManager(new TGMatrixLayout(cf2, 0, 2, 4));
   cf2->AddFrame(new TGLabel(cf2, new TGHotString("Hue:")),0);
   cf2->AddFrame(fHte = new TGTextEntry(cf2, fHtb = new TGTextBuffer(5), kCDLG_HTE),0);
   fHte->Resize(50, fHte->GetDefaultHeight());
   cf2->AddFrame(new TGLabel(cf2, new TGHotString("Sat:")),0);
   cf2->AddFrame(fSte = new TGTextEntry(cf2, fStb = new TGTextBuffer(5), kCDLG_STE),0);
   fSte->Resize(50, fSte->GetDefaultHeight());
   cf2->AddFrame(new TGLabel(cf2, new TGHotString("Lum:")),0);
   cf2->AddFrame(fLte = new TGTextEntry(cf2, fLtb = new TGTextBuffer(5), kCDLG_LTE),0);
   fLte->Resize(50, fLte->GetDefaultHeight());

   fHte->Associate(this);
   fLte->Associate(this);
   fSte->Associate(this);
   fRte->Associate(this);
   fGte->Associate(this);
   fBte->Associate(this);
   fAle->Associate(this);

   if (color) {
      UpdateRGBentries(color);
      UpdateHLSentries(color);
      UpdateAlpha(color);
      fCurrentColor = *color;
   } else {
      gClient->GetColorByName("red", fCurrentColor);
   }

   // color sample
   TGCompositeFrame *cf3 = new TGCompositeFrame(cf, 10, 10);
   cf3->SetCleanup();
   cf3->SetLayoutManager(new TGMatrixLayout(cf3, 0, 1, 0));
   cf3->AddFrame(fColorInfo = new TGLabel(cf3, new TGString("New: not set         ")),0);
   fColorInfo->SetTextJustify(kTextLeft);
   cf3->AddFrame(fSample = new TGFrame(cf3, 50, 25, kOwnBackground),0);
   cf3->AddFrame(fSampleOld = new TGFrame(cf3, 50, 25, kOwnBackground),0);
   cf3->AddFrame(new TGLabel(cf3, new TGString("Current")),0);
   cf->AddFrame(cf3, new TGLayoutHints(kLHintsLeft | kLHintsTop, 5, 5, 20, 0));
   fSample->SetBackgroundColor(fCurrentColor);
   fSampleOld->SetBackgroundColor(fCurrentColor);

   TGCompositeFrame *tf = fTab->AddTab("Color Wheel");
   TGCompositeFrame *tf1 = new TGCompositeFrame(tf, 60, 20, kHorizontalFrame);
   tf->AddFrame(tf1);
   fEcanvas = new TRootEmbeddedCanvas("wheel", tf1, 360, 360);
   tf1->AddFrame(fEcanvas);
   TCanvas *wcan = fEcanvas->GetCanvas();
   wcan->SetBit(kNoContextMenu);
   fColorWheel = new TColorWheel();
   fColorWheel->SetCanvas(wcan);
   fColorWheel->Draw();
   wcan->Update();
   wcan->Connect("ProcessedEvent(Int_t,Int_t,Int_t,TObject*)","TGColorDialog",this,
                 "SetColorInfo(Int_t,Int_t,Int_t,TObject*)");

   tf = fTab->AddTab("Basic Colors");
   TGCompositeFrame *tf2 = new TGCompositeFrame(tf, 60, 20, kHorizontalFrame);
   tf->AddFrame(tf2);

   TGVerticalFrame *vf1 = new TGVerticalFrame(tf2, 20, 20);
   vf1->SetCleanup();
   TGVerticalFrame *vf2 = new TGVerticalFrame(tf2, 20, 20);
   vf2->SetCleanup();

   tf2->AddFrame(vf1, new TGLayoutHints(kLHintsLeft | kLHintsExpandY));
   tf2->AddFrame(vf2, new TGLayoutHints(kLHintsLeft | kLHintsExpandY));

   //----------------------------------------- Left panel

   // basic colors

   fPalette = new TGColorPalette(vf1, 6, 8, kCDLG_SPALETTE);
   vf1->AddFrame(fPalette, new TGLayoutHints(kLHintsNormal, 5, 5, 15, 0));
   fPalette->Associate(this);

   for (i = 0; i < 48; ++i)
      fPalette->SetColor(i, TColor::Number2Pixel(i+10));  // root colors
      // the basic colors were set via bcolor
      //fPalette->SetColor(i, TColor::GetPixel(bcolor[i][0], bcolor[i][1], bcolor[i][2]));

   // add some default colors
   fPalette->SetColor(47, TGFrame::GetDefaultFrameBackground());

   Float_t r, g, b;

   r = 232./255;
   g = 232./255;
   b = 222./255;

   // Gui Builder background
   Pixel_t pixel = TColor::RGB2Pixel(r, g, b);
   fPalette->SetColor(46, pixel);

   r = 230./255;
   g = 230./255;
   b = 230./255;

   // a la MAC background
   pixel = TColor::RGB2Pixel(r, g, b);
   fPalette->SetColor(45, pixel);

   r = 172./255;
   g = 174./255;
   b = 205./255;

   // a la CDE background
   pixel = TColor::RGB2Pixel(r, g, b);
   fPalette->SetColor(44, pixel);

   r = 205./255;
   g = 195./255;
   b = 175./255;

   // a la FOX background
   pixel = TColor::RGB2Pixel(r, g, b);
   fPalette->SetColor(43, pixel);

   // custom colors

   vf1->AddFrame(new TGLabel(vf1, new TGHotString("&Custom Colors:")),
                 new TGLayoutHints(kLHintsNormal, 5, 0, 15, 2));

   fCpalette = new TGColorPalette(vf1, 6, 4, kCDLG_CPALETTE);
   vf1->AddFrame(fCpalette, new TGLayoutHints(kLHintsNormal, 5, 5, 5, 0));
   fCpalette->Associate(this);

   if (gUcolor[0] == 0xff000000) {
      for (i = 0; i < 24; i++)
         gUcolor[i] = TColor::RGB2Pixel(255, 255, 255);
   }
   fCpalette->SetColors(gUcolor);

   // button frame - OK, Cancel
   TGHorizontalFrame *hf = new TGHorizontalFrame(this, 10, 10, kFixedWidth);
   hf->SetCleanup();
   AddFrame(hf, new TGLayoutHints(kLHintsBottom | kLHintsRight, 5, 5, 10, 5));

   TGTextButton *ok = new TGTextButton(hf, new TGHotString("OK"), kCDLG_OK);
   TGTextButton *cancel = new TGTextButton(hf, new TGHotString("Cancel"), kCDLG_CANCEL);
   fPreview = new TGTextButton(hf, new TGHotString("&Preview"), kCDLG_PREVIEW);
   fPreview->Connect("Clicked()", "TGColorDialog", this, "DoPreview()");

   hf->AddFrame(ok, new TGLayoutHints(kLHintsBottom | kLHintsExpandX, 0, 3, 0, 0));
   hf->AddFrame(cancel, new TGLayoutHints(kLHintsBottom | kLHintsExpandX,3, 0, 0, 0));
   hf->AddFrame(fPreview, new TGLayoutHints(kLHintsBottom | kLHintsExpandX,3, 0, 0, 0));

   UInt_t w = ok->GetDefaultWidth();
   w = TMath::Max(w, cancel->GetDefaultWidth());
   hf->Resize(3 * (w + 30), hf->GetDefaultHeight());

   ok->Associate(this);
   cancel->Associate(this);

   //----------------------------------------- Right panel

   // fColormap frame

   fColors = new TGColorPick(vf2, kC_X + 23, kC_Y, kCDLG_COLORPICK);
   vf2->AddFrame(fColors, new TGLayoutHints(kLHintsLeft | kLHintsTop, 5, 0, 15, 5));
   fColors->Associate(this);

   if (color)
      fColors->SetColor(*color);

   TGTextButton *add = new TGTextButton(vf2, new TGHotString("&Add to Custom Colors"),
                                        kCDLG_ADD);
   vf2->AddFrame(add, new TGLayoutHints(kLHintsBottom | kLHintsExpandX,
                                        5, 10, 0, 5));
   add->Associate(this);

   MapSubwindows();
   Resize(GetDefaultSize());
   SetEditDisabled(kEditDisable);

   //---- make the message box non-resizable

   SetWMSize(fWidth, fHeight);
   SetWMSizeHints(fWidth, fHeight, fWidth, fHeight, 0, 0);

   SetWindowName("Color Selector");
   SetIconName("Color Selector");
   SetClassHints("ROOT", "ColorSelector");

   SetMWMHints(kMWMDecorAll | kMWMDecorResizeH | kMWMDecorMaximize |
                              kMWMDecorMinimize | kMWMDecorMenu,
               kMWMFuncAll  | kMWMFuncResize    | kMWMFuncMaximize |
                              kMWMFuncMinimize,
               kMWMInputModeless);


   //---- position relative to the parent's window

   if (fClient->IsEditable()) {
      const TGWindow *main = fMain;
      fMain = fClient->GetRoot();
      CenterOnParent(kTRUE, TGTransientFrame::kRight);
      fMain = main;
   } else {
      CenterOnParent();
   }

   if (fWaitFor) {
      MapWindow();
      fClient->WaitForUnmap(this);
      DeleteWindow();
   }
}

//________________________________________________________________________________
TGColorDialog::~TGColorDialog()
{
   // TGColorDialog destructor.

   fEcanvas->GetCanvas()->Disconnect("ProcessedEvent(Int_t,Int_t,Int_t,TObject*)");
   delete fEcanvas;
   Cleanup();
}

//________________________________________________________________________________
void TGColorDialog::SetCurrentColor(Pixel_t col)
{
   // Change current color.

   if (fCurrentColor == col) {
      return;
   }
   fInitColor = *fRetColor = col;
   if((fRetTColor = gROOT->GetColor(TColor::GetColor(col)))) {};
   fCurrentColor = col;
   fColors->SetColor(col);
   fSample->SetBackgroundColor(col);
   ColorSelected(col);
}

//________________________________________________________________________________
void TGColorDialog::ColorSelected(Pixel_t color)
{
   // Emit signal about selected color.

   Emit("ColorSelected(Pixel_t)", color);
}

//________________________________________________________________________________
void TGColorDialog::AlphaColorSelected(ULong_t color)
{
   // Emit signal about selected alpha and color.

   Emit("AlphaColorSelected(ULong_t)", color);
}

//________________________________________________________________________________
void TGColorDialog::CloseWindow()
{
   // Called when window is closed via window manager.

   // save user set colors
   for (Int_t i = 0; i < 24; ++i)
      gUcolor[i] = fCpalette->GetColorByIndex(i);

   if (*fRetc != kMBOk) {
      ColorSelected(fInitColor);
      ULong_t ptr;
      if((ptr = (ULong_t)gROOT->GetColor(TColor::GetColor(fInitColor)))) AlphaColorSelected(ptr);
   } else {
      ColorSelected(*fRetColor);
      AlphaColorSelected((ULong_t)fRetTColor);
   }
   // don't call DeleteWindow() here since that will cause access
   // to the deleted dialog in the WaitFor() method (see ctor)

   //OpenGL + XQuartz on Mac: gl context and related resources
   //must be deleted _before_ UnmapWindow.
   if (gVirtualX->InheritsFrom("TGX11") && fEcanvas->GetCanvas()->UseGL())
      fEcanvas->GetCanvas()->DeleteCanvasPainter();

   UnmapWindow();
}

//________________________________________________________________________________
void TGColorDialog::UpdateAlpha(ULong_t *c)
{
   // Upadate Opacity text entry with alpha value of color c.

   Char_t tmp[20];
   Double_t alpha;

   if (TColor *color = gROOT->GetColor(TColor::GetColor(*c))) {
      alpha = color->GetAlpha();
      snprintf(tmp, 20, "%.1f", alpha);
      fAlb->Clear();
      fAlb->AddText(0,tmp);
      gClient->NeedRedraw(fAle);
   }
}


//________________________________________________________________________________
void TGColorDialog::UpdateRGBentries(ULong_t *c)
{
   // Update RGB text entries with RGB values of color c.

   Char_t tmp[20];

   Int_t r, g, b;
   TColor::Pixel2RGB(*c, r, g, b);

   snprintf(tmp, 20, "%d", r);
   fRtb->Clear();
   fRtb->AddText(0, tmp);
   gClient->NeedRedraw(fRte);

   snprintf(tmp, 20, "%d", g);
   fGtb->Clear();
   fGtb->AddText(0, tmp);
   gClient->NeedRedraw(fGte);

   snprintf(tmp, 20, "%d", b);
   fBtb->Clear();
   fBtb->AddText(0, tmp);
   gClient->NeedRedraw(fBte);
}

//________________________________________________________________________________
void TGColorDialog::UpdateHLSentries(ULong_t *c)
{
   // Update HLS text entries with HLS values of color c.

   Char_t tmp[20];

   Int_t h, l, s;
   Int_t r, g, b;

   TColor::Pixel2RGB(*c, r, g, b);
   TColor::RGB2HLS(r, g, b, h, l, s);

   snprintf(tmp, 20, "%d", h);
   fHtb->Clear();
   fHtb->AddText(0, tmp);
   gClient->NeedRedraw(fHte);

   snprintf(tmp, 20, "%d", l);
   fLtb->Clear();
   fLtb->AddText(0, tmp);
   gClient->NeedRedraw(fLte);

   snprintf(tmp, 20, "%d", s);
   fStb->Clear();
   fStb->AddText(0, tmp);
   gClient->NeedRedraw(fSte);
}

//________________________________________________________________________________
Bool_t TGColorDialog::ProcessMessage(Long_t msg, Long_t parm1, Long_t /*parm2*/)
{
   // Process messages for the color selection dialog.

   ULong_t color;
   Int_t h, l, s;
   Int_t r, g, b;

   switch (GET_MSG(msg)) {
      case kC_COMMAND:
         switch (GET_SUBMSG(msg)) {
            case kCM_BUTTON:
               switch(parm1) {
                  case kCDLG_ADD:
                     fCpalette->SetCurrentCellColor(fCurrentColor);
                     break;

                  case kCDLG_OK:
                     *fRetc = kMBOk;
                     *fRetColor = TColor::RGB2Pixel(atoi(fRtb->GetString()),
                                                    atoi(fGtb->GetString()),
                                                    atoi(fBtb->GetString()));
                     if ((fRetTColor = gROOT->GetColor(TColor::GetColor(*fRetColor)))) {
                        fRetTColor->SetAlpha(TMath::Max((Double_t)0, TMath::Min((Double_t)1,
                                             atof(fAlb->GetString()))));
                     }
                     CloseWindow();
                     break;
                  case kCDLG_CANCEL:
                     if (!fClient->IsEditable()) {
                        TGColorPopup *p = (TGColorPopup *)GetMain();
                        if (p && p->InheritsFrom("TGColorPopup"))
                           p->PreviewColor(fSampleOld->GetBackground());
                     }
                     CloseWindow();
                     break;
               }
               break;
         }
         break;
      case kC_COLORSEL:
         switch (GET_SUBMSG(msg)) {
            case kCOL_CLICK:
               switch (parm1) {
                  case kCDLG_SPALETTE:
                     color = fPalette->GetCurrentColor();
                     fSample->SetBackgroundColor(color);
                     ColorSelected(color);
                     gClient->NeedRedraw(fSample);
                     fCurrentColor = color;
                     fColors->SetColor(color);
                     UpdateRGBentries(&color);
                     UpdateHLSentries(&color);
                     UpdateAlpha(&color);
                     break;

                  case kCDLG_CPALETTE:
                     color = fCpalette->GetCurrentColor();
                     fSample->SetBackgroundColor(color);
                     ColorSelected(color);
                     gClient->NeedRedraw(fSample);
                     fCurrentColor = color;
                     fColors->SetColor(color);
                     UpdateRGBentries(&color);
                     UpdateHLSentries(&color);
                     UpdateAlpha(&color);
                     break;

                  case kCDLG_COLORPICK:
                     color = fColors->GetCurrentColor();
                     fSample->SetBackgroundColor(color);
                     ColorSelected(color);
                     gClient->NeedRedraw(fSample);
                     fCurrentColor = color;
                     UpdateRGBentries(&color);
                     UpdateHLSentries(&color);
                     UpdateAlpha(&color);
                     break;

               }
               break;
         }
         break;

      case kC_TEXTENTRY:
         switch (GET_SUBMSG(msg)) {
            case kTE_TEXTCHANGED:
               switch (parm1) {
                  case kCDLG_HTE:
                  case kCDLG_LTE:
                  case kCDLG_STE:

                     h = atoi(fHtb->GetString());
                     l = atoi(fLtb->GetString());
                     s = atoi(fStb->GetString());
                     TColor::HLS2RGB(h, l, s, r, g, b);

                     color = TColor::RGB2Pixel(r, g, b);
                     fSample->SetBackgroundColor(color);
                     ColorSelected(color);
                     gClient->NeedRedraw(fSample);
                     fCurrentColor = color;
                     fColors->SetColor(color);
                     UpdateRGBentries(&color);
                     break;

                  case kCDLG_RTE:
                  case kCDLG_GTE:
                  case kCDLG_BTE:
                     color = TColor::RGB2Pixel(atoi(fRtb->GetString()),
                                               atoi(fGtb->GetString()),
                                               atoi(fBtb->GetString()));
                     fSample->SetBackgroundColor(color);
                     ColorSelected(color);
                     gClient->NeedRedraw(fSample);
                     fCurrentColor = color;
                     fColors->SetColor(color);
                     UpdateHLSentries(&color);
                     break;

               }
               break;
         }
         break;
   }

   return kTRUE;
}

//________________________________________________________________________________
void TGColorDialog::SetColorInfo(Int_t event, Int_t px, Int_t py, TObject *object)
{
   //  Set the color info in RGB and HLS parts

   if (object == fColorWheel) {
      Int_t n = fColorWheel->GetColor(px,py);
      if (n < 0) return;
      TColor *color = gROOT->GetColor(n);
      if (!color) return;
      ULong_t pcolor = color->GetPixel();
      if (event == kButton1Down) {
         UpdateRGBentries(&pcolor);
         UpdateHLSentries(&pcolor);
         UpdateAlpha(&pcolor);
         fSample->SetBackgroundColor(pcolor);
         fColorInfo->SetText(Form("New: %s",color->GetName()));
         gClient->NeedRedraw(fSample);
         gClient->NeedRedraw(fColorInfo);
         fCurrentColor = pcolor;
         fColors->SetColor(pcolor);
         ColorSelected(pcolor);
      }
   }
}

//________________________________________________________________________________
void TGColorDialog::DoPreview()
{
   // Slot method called when Preview button is clicked.

   TColor *tcolor;
   if ((tcolor = gROOT->GetColor(TColor::GetColor(fSample->GetBackground())))) {
      tcolor->SetAlpha(TMath::Max((Double_t)0, TMath::Min((Double_t)1, atof(fAlb->GetString()))));
   }

   if (fClient->IsEditable()) {
      ColorSelected(fSample->GetBackground());
      AlphaColorSelected((ULong_t)tcolor);
      return;
   }
   TGColorPopup *p = (TGColorPopup *)GetMain();
   if (p && p->InheritsFrom("TGColorPopup")) {
      if (tcolor) p->PreviewAlphaColor((ULong_t)tcolor);
      else p->PreviewColor(fSample->GetBackground());
   }
}
 TGColorDialog.cxx:1
 TGColorDialog.cxx:2
 TGColorDialog.cxx:3
 TGColorDialog.cxx:4
 TGColorDialog.cxx:5
 TGColorDialog.cxx:6
 TGColorDialog.cxx:7
 TGColorDialog.cxx:8
 TGColorDialog.cxx:9
 TGColorDialog.cxx:10
 TGColorDialog.cxx:11
 TGColorDialog.cxx:12
 TGColorDialog.cxx:13
 TGColorDialog.cxx:14
 TGColorDialog.cxx:15
 TGColorDialog.cxx:16
 TGColorDialog.cxx:17
 TGColorDialog.cxx:18
 TGColorDialog.cxx:19
 TGColorDialog.cxx:20
 TGColorDialog.cxx:21
 TGColorDialog.cxx:22
 TGColorDialog.cxx:23
 TGColorDialog.cxx:24
 TGColorDialog.cxx:25
 TGColorDialog.cxx:26
 TGColorDialog.cxx:27
 TGColorDialog.cxx:28
 TGColorDialog.cxx:29
 TGColorDialog.cxx:30
 TGColorDialog.cxx:31
 TGColorDialog.cxx:32
 TGColorDialog.cxx:33
 TGColorDialog.cxx:34
 TGColorDialog.cxx:35
 TGColorDialog.cxx:36
 TGColorDialog.cxx:37
 TGColorDialog.cxx:38
 TGColorDialog.cxx:39
 TGColorDialog.cxx:40
 TGColorDialog.cxx:41
 TGColorDialog.cxx:42
 TGColorDialog.cxx:43
 TGColorDialog.cxx:44
 TGColorDialog.cxx:45
 TGColorDialog.cxx:46
 TGColorDialog.cxx:47
 TGColorDialog.cxx:48
 TGColorDialog.cxx:49
 TGColorDialog.cxx:50
 TGColorDialog.cxx:51
 TGColorDialog.cxx:52
 TGColorDialog.cxx:53
 TGColorDialog.cxx:54
 TGColorDialog.cxx:55
 TGColorDialog.cxx:56
 TGColorDialog.cxx:57
 TGColorDialog.cxx:58
 TGColorDialog.cxx:59
 TGColorDialog.cxx:60
 TGColorDialog.cxx:61
 TGColorDialog.cxx:62
 TGColorDialog.cxx:63
 TGColorDialog.cxx:64
 TGColorDialog.cxx:65
 TGColorDialog.cxx:66
 TGColorDialog.cxx:67
 TGColorDialog.cxx:68
 TGColorDialog.cxx:69
 TGColorDialog.cxx:70
 TGColorDialog.cxx:71
 TGColorDialog.cxx:72
 TGColorDialog.cxx:73
 TGColorDialog.cxx:74
 TGColorDialog.cxx:75
 TGColorDialog.cxx:76
 TGColorDialog.cxx:77
 TGColorDialog.cxx:78
 TGColorDialog.cxx:79
 TGColorDialog.cxx:80
 TGColorDialog.cxx:81
 TGColorDialog.cxx:82
 TGColorDialog.cxx:83
 TGColorDialog.cxx:84
 TGColorDialog.cxx:85
 TGColorDialog.cxx:86
 TGColorDialog.cxx:87
 TGColorDialog.cxx:88
 TGColorDialog.cxx:89
 TGColorDialog.cxx:90
 TGColorDialog.cxx:91
 TGColorDialog.cxx:92
 TGColorDialog.cxx:93
 TGColorDialog.cxx:94
 TGColorDialog.cxx:95
 TGColorDialog.cxx:96
 TGColorDialog.cxx:97
 TGColorDialog.cxx:98
 TGColorDialog.cxx:99
 TGColorDialog.cxx:100
 TGColorDialog.cxx:101
 TGColorDialog.cxx:102
 TGColorDialog.cxx:103
 TGColorDialog.cxx:104
 TGColorDialog.cxx:105
 TGColorDialog.cxx:106
 TGColorDialog.cxx:107
 TGColorDialog.cxx:108
 TGColorDialog.cxx:109
 TGColorDialog.cxx:110
 TGColorDialog.cxx:111
 TGColorDialog.cxx:112
 TGColorDialog.cxx:113
 TGColorDialog.cxx:114
 TGColorDialog.cxx:115
 TGColorDialog.cxx:116
 TGColorDialog.cxx:117
 TGColorDialog.cxx:118
 TGColorDialog.cxx:119
 TGColorDialog.cxx:120
 TGColorDialog.cxx:121
 TGColorDialog.cxx:122
 TGColorDialog.cxx:123
 TGColorDialog.cxx:124
 TGColorDialog.cxx:125
 TGColorDialog.cxx:126
 TGColorDialog.cxx:127
 TGColorDialog.cxx:128
 TGColorDialog.cxx:129
 TGColorDialog.cxx:130
 TGColorDialog.cxx:131
 TGColorDialog.cxx:132
 TGColorDialog.cxx:133
 TGColorDialog.cxx:134
 TGColorDialog.cxx:135
 TGColorDialog.cxx:136
 TGColorDialog.cxx:137
 TGColorDialog.cxx:138
 TGColorDialog.cxx:139
 TGColorDialog.cxx:140
 TGColorDialog.cxx:141
 TGColorDialog.cxx:142
 TGColorDialog.cxx:143
 TGColorDialog.cxx:144
 TGColorDialog.cxx:145
 TGColorDialog.cxx:146
 TGColorDialog.cxx:147
 TGColorDialog.cxx:148
 TGColorDialog.cxx:149
 TGColorDialog.cxx:150
 TGColorDialog.cxx:151
 TGColorDialog.cxx:152
 TGColorDialog.cxx:153
 TGColorDialog.cxx:154
 TGColorDialog.cxx:155
 TGColorDialog.cxx:156
 TGColorDialog.cxx:157
 TGColorDialog.cxx:158
 TGColorDialog.cxx:159
 TGColorDialog.cxx:160
 TGColorDialog.cxx:161
 TGColorDialog.cxx:162
 TGColorDialog.cxx:163
 TGColorDialog.cxx:164
 TGColorDialog.cxx:165
 TGColorDialog.cxx:166
 TGColorDialog.cxx:167
 TGColorDialog.cxx:168
 TGColorDialog.cxx:169
 TGColorDialog.cxx:170
 TGColorDialog.cxx:171
 TGColorDialog.cxx:172
 TGColorDialog.cxx:173
 TGColorDialog.cxx:174
 TGColorDialog.cxx:175
 TGColorDialog.cxx:176
 TGColorDialog.cxx:177
 TGColorDialog.cxx:178
 TGColorDialog.cxx:179
 TGColorDialog.cxx:180
 TGColorDialog.cxx:181
 TGColorDialog.cxx:182
 TGColorDialog.cxx:183
 TGColorDialog.cxx:184
 TGColorDialog.cxx:185
 TGColorDialog.cxx:186
 TGColorDialog.cxx:187
 TGColorDialog.cxx:188
 TGColorDialog.cxx:189
 TGColorDialog.cxx:190
 TGColorDialog.cxx:191
 TGColorDialog.cxx:192
 TGColorDialog.cxx:193
 TGColorDialog.cxx:194
 TGColorDialog.cxx:195
 TGColorDialog.cxx:196
 TGColorDialog.cxx:197
 TGColorDialog.cxx:198
 TGColorDialog.cxx:199
 TGColorDialog.cxx:200
 TGColorDialog.cxx:201
 TGColorDialog.cxx:202
 TGColorDialog.cxx:203
 TGColorDialog.cxx:204
 TGColorDialog.cxx:205
 TGColorDialog.cxx:206
 TGColorDialog.cxx:207
 TGColorDialog.cxx:208
 TGColorDialog.cxx:209
 TGColorDialog.cxx:210
 TGColorDialog.cxx:211
 TGColorDialog.cxx:212
 TGColorDialog.cxx:213
 TGColorDialog.cxx:214
 TGColorDialog.cxx:215
 TGColorDialog.cxx:216
 TGColorDialog.cxx:217
 TGColorDialog.cxx:218
 TGColorDialog.cxx:219
 TGColorDialog.cxx:220
 TGColorDialog.cxx:221
 TGColorDialog.cxx:222
 TGColorDialog.cxx:223
 TGColorDialog.cxx:224
 TGColorDialog.cxx:225
 TGColorDialog.cxx:226
 TGColorDialog.cxx:227
 TGColorDialog.cxx:228
 TGColorDialog.cxx:229
 TGColorDialog.cxx:230
 TGColorDialog.cxx:231
 TGColorDialog.cxx:232
 TGColorDialog.cxx:233
 TGColorDialog.cxx:234
 TGColorDialog.cxx:235
 TGColorDialog.cxx:236
 TGColorDialog.cxx:237
 TGColorDialog.cxx:238
 TGColorDialog.cxx:239
 TGColorDialog.cxx:240
 TGColorDialog.cxx:241
 TGColorDialog.cxx:242
 TGColorDialog.cxx:243
 TGColorDialog.cxx:244
 TGColorDialog.cxx:245
 TGColorDialog.cxx:246
 TGColorDialog.cxx:247
 TGColorDialog.cxx:248
 TGColorDialog.cxx:249
 TGColorDialog.cxx:250
 TGColorDialog.cxx:251
 TGColorDialog.cxx:252
 TGColorDialog.cxx:253
 TGColorDialog.cxx:254
 TGColorDialog.cxx:255
 TGColorDialog.cxx:256
 TGColorDialog.cxx:257
 TGColorDialog.cxx:258
 TGColorDialog.cxx:259
 TGColorDialog.cxx:260
 TGColorDialog.cxx:261
 TGColorDialog.cxx:262
 TGColorDialog.cxx:263
 TGColorDialog.cxx:264
 TGColorDialog.cxx:265
 TGColorDialog.cxx:266
 TGColorDialog.cxx:267
 TGColorDialog.cxx:268
 TGColorDialog.cxx:269
 TGColorDialog.cxx:270
 TGColorDialog.cxx:271
 TGColorDialog.cxx:272
 TGColorDialog.cxx:273
 TGColorDialog.cxx:274
 TGColorDialog.cxx:275
 TGColorDialog.cxx:276
 TGColorDialog.cxx:277
 TGColorDialog.cxx:278
 TGColorDialog.cxx:279
 TGColorDialog.cxx:280
 TGColorDialog.cxx:281
 TGColorDialog.cxx:282
 TGColorDialog.cxx:283
 TGColorDialog.cxx:284
 TGColorDialog.cxx:285
 TGColorDialog.cxx:286
 TGColorDialog.cxx:287
 TGColorDialog.cxx:288
 TGColorDialog.cxx:289
 TGColorDialog.cxx:290
 TGColorDialog.cxx:291
 TGColorDialog.cxx:292
 TGColorDialog.cxx:293
 TGColorDialog.cxx:294
 TGColorDialog.cxx:295
 TGColorDialog.cxx:296
 TGColorDialog.cxx:297
 TGColorDialog.cxx:298
 TGColorDialog.cxx:299
 TGColorDialog.cxx:300
 TGColorDialog.cxx:301
 TGColorDialog.cxx:302
 TGColorDialog.cxx:303
 TGColorDialog.cxx:304
 TGColorDialog.cxx:305
 TGColorDialog.cxx:306
 TGColorDialog.cxx:307
 TGColorDialog.cxx:308
 TGColorDialog.cxx:309
 TGColorDialog.cxx:310
 TGColorDialog.cxx:311
 TGColorDialog.cxx:312
 TGColorDialog.cxx:313
 TGColorDialog.cxx:314
 TGColorDialog.cxx:315
 TGColorDialog.cxx:316
 TGColorDialog.cxx:317
 TGColorDialog.cxx:318
 TGColorDialog.cxx:319
 TGColorDialog.cxx:320
 TGColorDialog.cxx:321
 TGColorDialog.cxx:322
 TGColorDialog.cxx:323
 TGColorDialog.cxx:324
 TGColorDialog.cxx:325
 TGColorDialog.cxx:326
 TGColorDialog.cxx:327
 TGColorDialog.cxx:328
 TGColorDialog.cxx:329
 TGColorDialog.cxx:330
 TGColorDialog.cxx:331
 TGColorDialog.cxx:332
 TGColorDialog.cxx:333
 TGColorDialog.cxx:334
 TGColorDialog.cxx:335
 TGColorDialog.cxx:336
 TGColorDialog.cxx:337
 TGColorDialog.cxx:338
 TGColorDialog.cxx:339
 TGColorDialog.cxx:340
 TGColorDialog.cxx:341
 TGColorDialog.cxx:342
 TGColorDialog.cxx:343
 TGColorDialog.cxx:344
 TGColorDialog.cxx:345
 TGColorDialog.cxx:346
 TGColorDialog.cxx:347
 TGColorDialog.cxx:348
 TGColorDialog.cxx:349
 TGColorDialog.cxx:350
 TGColorDialog.cxx:351
 TGColorDialog.cxx:352
 TGColorDialog.cxx:353
 TGColorDialog.cxx:354
 TGColorDialog.cxx:355
 TGColorDialog.cxx:356
 TGColorDialog.cxx:357
 TGColorDialog.cxx:358
 TGColorDialog.cxx:359
 TGColorDialog.cxx:360
 TGColorDialog.cxx:361
 TGColorDialog.cxx:362
 TGColorDialog.cxx:363
 TGColorDialog.cxx:364
 TGColorDialog.cxx:365
 TGColorDialog.cxx:366
 TGColorDialog.cxx:367
 TGColorDialog.cxx:368
 TGColorDialog.cxx:369
 TGColorDialog.cxx:370
 TGColorDialog.cxx:371
 TGColorDialog.cxx:372
 TGColorDialog.cxx:373
 TGColorDialog.cxx:374
 TGColorDialog.cxx:375
 TGColorDialog.cxx:376
 TGColorDialog.cxx:377
 TGColorDialog.cxx:378
 TGColorDialog.cxx:379
 TGColorDialog.cxx:380
 TGColorDialog.cxx:381
 TGColorDialog.cxx:382
 TGColorDialog.cxx:383
 TGColorDialog.cxx:384
 TGColorDialog.cxx:385
 TGColorDialog.cxx:386
 TGColorDialog.cxx:387
 TGColorDialog.cxx:388
 TGColorDialog.cxx:389
 TGColorDialog.cxx:390
 TGColorDialog.cxx:391
 TGColorDialog.cxx:392
 TGColorDialog.cxx:393
 TGColorDialog.cxx:394
 TGColorDialog.cxx:395
 TGColorDialog.cxx:396
 TGColorDialog.cxx:397
 TGColorDialog.cxx:398
 TGColorDialog.cxx:399
 TGColorDialog.cxx:400
 TGColorDialog.cxx:401
 TGColorDialog.cxx:402
 TGColorDialog.cxx:403
 TGColorDialog.cxx:404
 TGColorDialog.cxx:405
 TGColorDialog.cxx:406
 TGColorDialog.cxx:407
 TGColorDialog.cxx:408
 TGColorDialog.cxx:409
 TGColorDialog.cxx:410
 TGColorDialog.cxx:411
 TGColorDialog.cxx:412
 TGColorDialog.cxx:413
 TGColorDialog.cxx:414
 TGColorDialog.cxx:415
 TGColorDialog.cxx:416
 TGColorDialog.cxx:417
 TGColorDialog.cxx:418
 TGColorDialog.cxx:419
 TGColorDialog.cxx:420
 TGColorDialog.cxx:421
 TGColorDialog.cxx:422
 TGColorDialog.cxx:423
 TGColorDialog.cxx:424
 TGColorDialog.cxx:425
 TGColorDialog.cxx:426
 TGColorDialog.cxx:427
 TGColorDialog.cxx:428
 TGColorDialog.cxx:429
 TGColorDialog.cxx:430
 TGColorDialog.cxx:431
 TGColorDialog.cxx:432
 TGColorDialog.cxx:433
 TGColorDialog.cxx:434
 TGColorDialog.cxx:435
 TGColorDialog.cxx:436
 TGColorDialog.cxx:437
 TGColorDialog.cxx:438
 TGColorDialog.cxx:439
 TGColorDialog.cxx:440
 TGColorDialog.cxx:441
 TGColorDialog.cxx:442
 TGColorDialog.cxx:443
 TGColorDialog.cxx:444
 TGColorDialog.cxx:445
 TGColorDialog.cxx:446
 TGColorDialog.cxx:447
 TGColorDialog.cxx:448
 TGColorDialog.cxx:449
 TGColorDialog.cxx:450
 TGColorDialog.cxx:451
 TGColorDialog.cxx:452
 TGColorDialog.cxx:453
 TGColorDialog.cxx:454
 TGColorDialog.cxx:455
 TGColorDialog.cxx:456
 TGColorDialog.cxx:457
 TGColorDialog.cxx:458
 TGColorDialog.cxx:459
 TGColorDialog.cxx:460
 TGColorDialog.cxx:461
 TGColorDialog.cxx:462
 TGColorDialog.cxx:463
 TGColorDialog.cxx:464
 TGColorDialog.cxx:465
 TGColorDialog.cxx:466
 TGColorDialog.cxx:467
 TGColorDialog.cxx:468
 TGColorDialog.cxx:469
 TGColorDialog.cxx:470
 TGColorDialog.cxx:471
 TGColorDialog.cxx:472
 TGColorDialog.cxx:473
 TGColorDialog.cxx:474
 TGColorDialog.cxx:475
 TGColorDialog.cxx:476
 TGColorDialog.cxx:477
 TGColorDialog.cxx:478
 TGColorDialog.cxx:479
 TGColorDialog.cxx:480
 TGColorDialog.cxx:481
 TGColorDialog.cxx:482
 TGColorDialog.cxx:483
 TGColorDialog.cxx:484
 TGColorDialog.cxx:485
 TGColorDialog.cxx:486
 TGColorDialog.cxx:487
 TGColorDialog.cxx:488
 TGColorDialog.cxx:489
 TGColorDialog.cxx:490
 TGColorDialog.cxx:491
 TGColorDialog.cxx:492
 TGColorDialog.cxx:493
 TGColorDialog.cxx:494
 TGColorDialog.cxx:495
 TGColorDialog.cxx:496
 TGColorDialog.cxx:497
 TGColorDialog.cxx:498
 TGColorDialog.cxx:499
 TGColorDialog.cxx:500
 TGColorDialog.cxx:501
 TGColorDialog.cxx:502
 TGColorDialog.cxx:503
 TGColorDialog.cxx:504
 TGColorDialog.cxx:505
 TGColorDialog.cxx:506
 TGColorDialog.cxx:507
 TGColorDialog.cxx:508
 TGColorDialog.cxx:509
 TGColorDialog.cxx:510
 TGColorDialog.cxx:511
 TGColorDialog.cxx:512
 TGColorDialog.cxx:513
 TGColorDialog.cxx:514
 TGColorDialog.cxx:515
 TGColorDialog.cxx:516
 TGColorDialog.cxx:517
 TGColorDialog.cxx:518
 TGColorDialog.cxx:519
 TGColorDialog.cxx:520
 TGColorDialog.cxx:521
 TGColorDialog.cxx:522
 TGColorDialog.cxx:523
 TGColorDialog.cxx:524
 TGColorDialog.cxx:525
 TGColorDialog.cxx:526
 TGColorDialog.cxx:527
 TGColorDialog.cxx:528
 TGColorDialog.cxx:529
 TGColorDialog.cxx:530
 TGColorDialog.cxx:531
 TGColorDialog.cxx:532
 TGColorDialog.cxx:533
 TGColorDialog.cxx:534
 TGColorDialog.cxx:535
 TGColorDialog.cxx:536
 TGColorDialog.cxx:537
 TGColorDialog.cxx:538
 TGColorDialog.cxx:539
 TGColorDialog.cxx:540
 TGColorDialog.cxx:541
 TGColorDialog.cxx:542
 TGColorDialog.cxx:543
 TGColorDialog.cxx:544
 TGColorDialog.cxx:545
 TGColorDialog.cxx:546
 TGColorDialog.cxx:547
 TGColorDialog.cxx:548
 TGColorDialog.cxx:549
 TGColorDialog.cxx:550
 TGColorDialog.cxx:551
 TGColorDialog.cxx:552
 TGColorDialog.cxx:553
 TGColorDialog.cxx:554
 TGColorDialog.cxx:555
 TGColorDialog.cxx:556
 TGColorDialog.cxx:557
 TGColorDialog.cxx:558
 TGColorDialog.cxx:559
 TGColorDialog.cxx:560
 TGColorDialog.cxx:561
 TGColorDialog.cxx:562
 TGColorDialog.cxx:563
 TGColorDialog.cxx:564
 TGColorDialog.cxx:565
 TGColorDialog.cxx:566
 TGColorDialog.cxx:567
 TGColorDialog.cxx:568
 TGColorDialog.cxx:569
 TGColorDialog.cxx:570
 TGColorDialog.cxx:571
 TGColorDialog.cxx:572
 TGColorDialog.cxx:573
 TGColorDialog.cxx:574
 TGColorDialog.cxx:575
 TGColorDialog.cxx:576
 TGColorDialog.cxx:577
 TGColorDialog.cxx:578
 TGColorDialog.cxx:579
 TGColorDialog.cxx:580
 TGColorDialog.cxx:581
 TGColorDialog.cxx:582
 TGColorDialog.cxx:583
 TGColorDialog.cxx:584
 TGColorDialog.cxx:585
 TGColorDialog.cxx:586
 TGColorDialog.cxx:587
 TGColorDialog.cxx:588
 TGColorDialog.cxx:589
 TGColorDialog.cxx:590
 TGColorDialog.cxx:591
 TGColorDialog.cxx:592
 TGColorDialog.cxx:593
 TGColorDialog.cxx:594
 TGColorDialog.cxx:595
 TGColorDialog.cxx:596
 TGColorDialog.cxx:597
 TGColorDialog.cxx:598
 TGColorDialog.cxx:599
 TGColorDialog.cxx:600
 TGColorDialog.cxx:601
 TGColorDialog.cxx:602
 TGColorDialog.cxx:603
 TGColorDialog.cxx:604
 TGColorDialog.cxx:605
 TGColorDialog.cxx:606
 TGColorDialog.cxx:607
 TGColorDialog.cxx:608
 TGColorDialog.cxx:609
 TGColorDialog.cxx:610
 TGColorDialog.cxx:611
 TGColorDialog.cxx:612
 TGColorDialog.cxx:613
 TGColorDialog.cxx:614
 TGColorDialog.cxx:615
 TGColorDialog.cxx:616
 TGColorDialog.cxx:617
 TGColorDialog.cxx:618
 TGColorDialog.cxx:619
 TGColorDialog.cxx:620
 TGColorDialog.cxx:621
 TGColorDialog.cxx:622
 TGColorDialog.cxx:623
 TGColorDialog.cxx:624
 TGColorDialog.cxx:625
 TGColorDialog.cxx:626
 TGColorDialog.cxx:627
 TGColorDialog.cxx:628
 TGColorDialog.cxx:629
 TGColorDialog.cxx:630
 TGColorDialog.cxx:631
 TGColorDialog.cxx:632
 TGColorDialog.cxx:633
 TGColorDialog.cxx:634
 TGColorDialog.cxx:635
 TGColorDialog.cxx:636
 TGColorDialog.cxx:637
 TGColorDialog.cxx:638
 TGColorDialog.cxx:639
 TGColorDialog.cxx:640
 TGColorDialog.cxx:641
 TGColorDialog.cxx:642
 TGColorDialog.cxx:643
 TGColorDialog.cxx:644
 TGColorDialog.cxx:645
 TGColorDialog.cxx:646
 TGColorDialog.cxx:647
 TGColorDialog.cxx:648
 TGColorDialog.cxx:649
 TGColorDialog.cxx:650
 TGColorDialog.cxx:651
 TGColorDialog.cxx:652
 TGColorDialog.cxx:653
 TGColorDialog.cxx:654
 TGColorDialog.cxx:655
 TGColorDialog.cxx:656
 TGColorDialog.cxx:657
 TGColorDialog.cxx:658
 TGColorDialog.cxx:659
 TGColorDialog.cxx:660
 TGColorDialog.cxx:661
 TGColorDialog.cxx:662
 TGColorDialog.cxx:663
 TGColorDialog.cxx:664
 TGColorDialog.cxx:665
 TGColorDialog.cxx:666
 TGColorDialog.cxx:667
 TGColorDialog.cxx:668
 TGColorDialog.cxx:669
 TGColorDialog.cxx:670
 TGColorDialog.cxx:671
 TGColorDialog.cxx:672
 TGColorDialog.cxx:673
 TGColorDialog.cxx:674
 TGColorDialog.cxx:675
 TGColorDialog.cxx:676
 TGColorDialog.cxx:677
 TGColorDialog.cxx:678
 TGColorDialog.cxx:679
 TGColorDialog.cxx:680
 TGColorDialog.cxx:681
 TGColorDialog.cxx:682
 TGColorDialog.cxx:683
 TGColorDialog.cxx:684
 TGColorDialog.cxx:685
 TGColorDialog.cxx:686
 TGColorDialog.cxx:687
 TGColorDialog.cxx:688
 TGColorDialog.cxx:689
 TGColorDialog.cxx:690
 TGColorDialog.cxx:691
 TGColorDialog.cxx:692
 TGColorDialog.cxx:693
 TGColorDialog.cxx:694
 TGColorDialog.cxx:695
 TGColorDialog.cxx:696
 TGColorDialog.cxx:697
 TGColorDialog.cxx:698
 TGColorDialog.cxx:699
 TGColorDialog.cxx:700
 TGColorDialog.cxx:701
 TGColorDialog.cxx:702
 TGColorDialog.cxx:703
 TGColorDialog.cxx:704
 TGColorDialog.cxx:705
 TGColorDialog.cxx:706
 TGColorDialog.cxx:707
 TGColorDialog.cxx:708
 TGColorDialog.cxx:709
 TGColorDialog.cxx:710
 TGColorDialog.cxx:711
 TGColorDialog.cxx:712
 TGColorDialog.cxx:713
 TGColorDialog.cxx:714
 TGColorDialog.cxx:715
 TGColorDialog.cxx:716
 TGColorDialog.cxx:717
 TGColorDialog.cxx:718
 TGColorDialog.cxx:719
 TGColorDialog.cxx:720
 TGColorDialog.cxx:721
 TGColorDialog.cxx:722
 TGColorDialog.cxx:723
 TGColorDialog.cxx:724
 TGColorDialog.cxx:725
 TGColorDialog.cxx:726
 TGColorDialog.cxx:727
 TGColorDialog.cxx:728
 TGColorDialog.cxx:729
 TGColorDialog.cxx:730
 TGColorDialog.cxx:731
 TGColorDialog.cxx:732
 TGColorDialog.cxx:733
 TGColorDialog.cxx:734
 TGColorDialog.cxx:735
 TGColorDialog.cxx:736
 TGColorDialog.cxx:737
 TGColorDialog.cxx:738
 TGColorDialog.cxx:739
 TGColorDialog.cxx:740
 TGColorDialog.cxx:741
 TGColorDialog.cxx:742
 TGColorDialog.cxx:743
 TGColorDialog.cxx:744
 TGColorDialog.cxx:745
 TGColorDialog.cxx:746
 TGColorDialog.cxx:747
 TGColorDialog.cxx:748
 TGColorDialog.cxx:749
 TGColorDialog.cxx:750
 TGColorDialog.cxx:751
 TGColorDialog.cxx:752
 TGColorDialog.cxx:753
 TGColorDialog.cxx:754
 TGColorDialog.cxx:755
 TGColorDialog.cxx:756
 TGColorDialog.cxx:757
 TGColorDialog.cxx:758
 TGColorDialog.cxx:759
 TGColorDialog.cxx:760
 TGColorDialog.cxx:761
 TGColorDialog.cxx:762
 TGColorDialog.cxx:763
 TGColorDialog.cxx:764
 TGColorDialog.cxx:765
 TGColorDialog.cxx:766
 TGColorDialog.cxx:767
 TGColorDialog.cxx:768
 TGColorDialog.cxx:769
 TGColorDialog.cxx:770
 TGColorDialog.cxx:771
 TGColorDialog.cxx:772
 TGColorDialog.cxx:773
 TGColorDialog.cxx:774
 TGColorDialog.cxx:775
 TGColorDialog.cxx:776
 TGColorDialog.cxx:777
 TGColorDialog.cxx:778
 TGColorDialog.cxx:779
 TGColorDialog.cxx:780
 TGColorDialog.cxx:781
 TGColorDialog.cxx:782
 TGColorDialog.cxx:783
 TGColorDialog.cxx:784
 TGColorDialog.cxx:785
 TGColorDialog.cxx:786
 TGColorDialog.cxx:787
 TGColorDialog.cxx:788
 TGColorDialog.cxx:789
 TGColorDialog.cxx:790
 TGColorDialog.cxx:791
 TGColorDialog.cxx:792
 TGColorDialog.cxx:793
 TGColorDialog.cxx:794
 TGColorDialog.cxx:795
 TGColorDialog.cxx:796
 TGColorDialog.cxx:797
 TGColorDialog.cxx:798
 TGColorDialog.cxx:799
 TGColorDialog.cxx:800
 TGColorDialog.cxx:801
 TGColorDialog.cxx:802
 TGColorDialog.cxx:803
 TGColorDialog.cxx:804
 TGColorDialog.cxx:805
 TGColorDialog.cxx:806
 TGColorDialog.cxx:807
 TGColorDialog.cxx:808
 TGColorDialog.cxx:809
 TGColorDialog.cxx:810
 TGColorDialog.cxx:811
 TGColorDialog.cxx:812
 TGColorDialog.cxx:813
 TGColorDialog.cxx:814
 TGColorDialog.cxx:815
 TGColorDialog.cxx:816
 TGColorDialog.cxx:817
 TGColorDialog.cxx:818
 TGColorDialog.cxx:819
 TGColorDialog.cxx:820
 TGColorDialog.cxx:821
 TGColorDialog.cxx:822
 TGColorDialog.cxx:823
 TGColorDialog.cxx:824
 TGColorDialog.cxx:825
 TGColorDialog.cxx:826
 TGColorDialog.cxx:827
 TGColorDialog.cxx:828
 TGColorDialog.cxx:829
 TGColorDialog.cxx:830
 TGColorDialog.cxx:831
 TGColorDialog.cxx:832
 TGColorDialog.cxx:833
 TGColorDialog.cxx:834
 TGColorDialog.cxx:835
 TGColorDialog.cxx:836
 TGColorDialog.cxx:837
 TGColorDialog.cxx:838
 TGColorDialog.cxx:839
 TGColorDialog.cxx:840
 TGColorDialog.cxx:841
 TGColorDialog.cxx:842
 TGColorDialog.cxx:843
 TGColorDialog.cxx:844
 TGColorDialog.cxx:845
 TGColorDialog.cxx:846
 TGColorDialog.cxx:847
 TGColorDialog.cxx:848
 TGColorDialog.cxx:849
 TGColorDialog.cxx:850
 TGColorDialog.cxx:851
 TGColorDialog.cxx:852
 TGColorDialog.cxx:853
 TGColorDialog.cxx:854
 TGColorDialog.cxx:855
 TGColorDialog.cxx:856
 TGColorDialog.cxx:857
 TGColorDialog.cxx:858
 TGColorDialog.cxx:859
 TGColorDialog.cxx:860
 TGColorDialog.cxx:861
 TGColorDialog.cxx:862
 TGColorDialog.cxx:863
 TGColorDialog.cxx:864
 TGColorDialog.cxx:865
 TGColorDialog.cxx:866
 TGColorDialog.cxx:867
 TGColorDialog.cxx:868
 TGColorDialog.cxx:869
 TGColorDialog.cxx:870
 TGColorDialog.cxx:871
 TGColorDialog.cxx:872
 TGColorDialog.cxx:873
 TGColorDialog.cxx:874
 TGColorDialog.cxx:875
 TGColorDialog.cxx:876
 TGColorDialog.cxx:877
 TGColorDialog.cxx:878
 TGColorDialog.cxx:879
 TGColorDialog.cxx:880
 TGColorDialog.cxx:881
 TGColorDialog.cxx:882
 TGColorDialog.cxx:883
 TGColorDialog.cxx:884
 TGColorDialog.cxx:885
 TGColorDialog.cxx:886
 TGColorDialog.cxx:887
 TGColorDialog.cxx:888
 TGColorDialog.cxx:889
 TGColorDialog.cxx:890
 TGColorDialog.cxx:891
 TGColorDialog.cxx:892
 TGColorDialog.cxx:893
 TGColorDialog.cxx:894
 TGColorDialog.cxx:895
 TGColorDialog.cxx:896
 TGColorDialog.cxx:897
 TGColorDialog.cxx:898
 TGColorDialog.cxx:899
 TGColorDialog.cxx:900
 TGColorDialog.cxx:901
 TGColorDialog.cxx:902
 TGColorDialog.cxx:903
 TGColorDialog.cxx:904
 TGColorDialog.cxx:905
 TGColorDialog.cxx:906
 TGColorDialog.cxx:907
 TGColorDialog.cxx:908
 TGColorDialog.cxx:909
 TGColorDialog.cxx:910
 TGColorDialog.cxx:911
 TGColorDialog.cxx:912
 TGColorDialog.cxx:913
 TGColorDialog.cxx:914
 TGColorDialog.cxx:915
 TGColorDialog.cxx:916
 TGColorDialog.cxx:917
 TGColorDialog.cxx:918
 TGColorDialog.cxx:919
 TGColorDialog.cxx:920
 TGColorDialog.cxx:921
 TGColorDialog.cxx:922
 TGColorDialog.cxx:923
 TGColorDialog.cxx:924
 TGColorDialog.cxx:925
 TGColorDialog.cxx:926
 TGColorDialog.cxx:927
 TGColorDialog.cxx:928
 TGColorDialog.cxx:929
 TGColorDialog.cxx:930
 TGColorDialog.cxx:931
 TGColorDialog.cxx:932
 TGColorDialog.cxx:933
 TGColorDialog.cxx:934
 TGColorDialog.cxx:935
 TGColorDialog.cxx:936
 TGColorDialog.cxx:937
 TGColorDialog.cxx:938
 TGColorDialog.cxx:939
 TGColorDialog.cxx:940
 TGColorDialog.cxx:941
 TGColorDialog.cxx:942
 TGColorDialog.cxx:943
 TGColorDialog.cxx:944
 TGColorDialog.cxx:945
 TGColorDialog.cxx:946
 TGColorDialog.cxx:947
 TGColorDialog.cxx:948
 TGColorDialog.cxx:949
 TGColorDialog.cxx:950
 TGColorDialog.cxx:951
 TGColorDialog.cxx:952
 TGColorDialog.cxx:953
 TGColorDialog.cxx:954
 TGColorDialog.cxx:955
 TGColorDialog.cxx:956
 TGColorDialog.cxx:957
 TGColorDialog.cxx:958
 TGColorDialog.cxx:959
 TGColorDialog.cxx:960
 TGColorDialog.cxx:961
 TGColorDialog.cxx:962
 TGColorDialog.cxx:963
 TGColorDialog.cxx:964
 TGColorDialog.cxx:965
 TGColorDialog.cxx:966
 TGColorDialog.cxx:967
 TGColorDialog.cxx:968
 TGColorDialog.cxx:969
 TGColorDialog.cxx:970
 TGColorDialog.cxx:971
 TGColorDialog.cxx:972
 TGColorDialog.cxx:973
 TGColorDialog.cxx:974
 TGColorDialog.cxx:975
 TGColorDialog.cxx:976
 TGColorDialog.cxx:977
 TGColorDialog.cxx:978
 TGColorDialog.cxx:979
 TGColorDialog.cxx:980
 TGColorDialog.cxx:981
 TGColorDialog.cxx:982
 TGColorDialog.cxx:983
 TGColorDialog.cxx:984
 TGColorDialog.cxx:985
 TGColorDialog.cxx:986
 TGColorDialog.cxx:987
 TGColorDialog.cxx:988
 TGColorDialog.cxx:989
 TGColorDialog.cxx:990
 TGColorDialog.cxx:991
 TGColorDialog.cxx:992
 TGColorDialog.cxx:993
 TGColorDialog.cxx:994
 TGColorDialog.cxx:995
 TGColorDialog.cxx:996
 TGColorDialog.cxx:997
 TGColorDialog.cxx:998
 TGColorDialog.cxx:999
 TGColorDialog.cxx:1000
 TGColorDialog.cxx:1001
 TGColorDialog.cxx:1002
 TGColorDialog.cxx:1003
 TGColorDialog.cxx:1004
 TGColorDialog.cxx:1005
 TGColorDialog.cxx:1006
 TGColorDialog.cxx:1007
 TGColorDialog.cxx:1008
 TGColorDialog.cxx:1009
 TGColorDialog.cxx:1010
 TGColorDialog.cxx:1011
 TGColorDialog.cxx:1012
 TGColorDialog.cxx:1013
 TGColorDialog.cxx:1014
 TGColorDialog.cxx:1015
 TGColorDialog.cxx:1016
 TGColorDialog.cxx:1017
 TGColorDialog.cxx:1018
 TGColorDialog.cxx:1019
 TGColorDialog.cxx:1020
 TGColorDialog.cxx:1021
 TGColorDialog.cxx:1022
 TGColorDialog.cxx:1023
 TGColorDialog.cxx:1024
 TGColorDialog.cxx:1025
 TGColorDialog.cxx:1026
 TGColorDialog.cxx:1027
 TGColorDialog.cxx:1028
 TGColorDialog.cxx:1029
 TGColorDialog.cxx:1030
 TGColorDialog.cxx:1031
 TGColorDialog.cxx:1032
 TGColorDialog.cxx:1033
 TGColorDialog.cxx:1034
 TGColorDialog.cxx:1035
 TGColorDialog.cxx:1036
 TGColorDialog.cxx:1037
 TGColorDialog.cxx:1038
 TGColorDialog.cxx:1039
 TGColorDialog.cxx:1040
 TGColorDialog.cxx:1041
 TGColorDialog.cxx:1042
 TGColorDialog.cxx:1043
 TGColorDialog.cxx:1044
 TGColorDialog.cxx:1045
 TGColorDialog.cxx:1046
 TGColorDialog.cxx:1047
 TGColorDialog.cxx:1048
 TGColorDialog.cxx:1049
 TGColorDialog.cxx:1050
 TGColorDialog.cxx:1051
 TGColorDialog.cxx:1052
 TGColorDialog.cxx:1053
 TGColorDialog.cxx:1054
 TGColorDialog.cxx:1055
 TGColorDialog.cxx:1056
 TGColorDialog.cxx:1057
 TGColorDialog.cxx:1058
 TGColorDialog.cxx:1059
 TGColorDialog.cxx:1060
 TGColorDialog.cxx:1061
 TGColorDialog.cxx:1062
 TGColorDialog.cxx:1063
 TGColorDialog.cxx:1064
 TGColorDialog.cxx:1065
 TGColorDialog.cxx:1066
 TGColorDialog.cxx:1067
 TGColorDialog.cxx:1068
 TGColorDialog.cxx:1069
 TGColorDialog.cxx:1070
 TGColorDialog.cxx:1071
 TGColorDialog.cxx:1072
 TGColorDialog.cxx:1073
 TGColorDialog.cxx:1074
 TGColorDialog.cxx:1075
 TGColorDialog.cxx:1076
 TGColorDialog.cxx:1077
 TGColorDialog.cxx:1078
 TGColorDialog.cxx:1079
 TGColorDialog.cxx:1080
 TGColorDialog.cxx:1081
 TGColorDialog.cxx:1082
 TGColorDialog.cxx:1083
 TGColorDialog.cxx:1084
 TGColorDialog.cxx:1085
 TGColorDialog.cxx:1086
 TGColorDialog.cxx:1087
 TGColorDialog.cxx:1088
 TGColorDialog.cxx:1089
 TGColorDialog.cxx:1090
 TGColorDialog.cxx:1091
 TGColorDialog.cxx:1092
 TGColorDialog.cxx:1093
 TGColorDialog.cxx:1094
 TGColorDialog.cxx:1095
 TGColorDialog.cxx:1096
 TGColorDialog.cxx:1097
 TGColorDialog.cxx:1098
 TGColorDialog.cxx:1099
 TGColorDialog.cxx:1100
 TGColorDialog.cxx:1101
 TGColorDialog.cxx:1102
 TGColorDialog.cxx:1103
 TGColorDialog.cxx:1104
 TGColorDialog.cxx:1105
 TGColorDialog.cxx:1106
 TGColorDialog.cxx:1107
 TGColorDialog.cxx:1108
 TGColorDialog.cxx:1109
 TGColorDialog.cxx:1110
 TGColorDialog.cxx:1111
 TGColorDialog.cxx:1112
 TGColorDialog.cxx:1113
 TGColorDialog.cxx:1114
 TGColorDialog.cxx:1115
 TGColorDialog.cxx:1116
 TGColorDialog.cxx:1117
 TGColorDialog.cxx:1118
 TGColorDialog.cxx:1119
 TGColorDialog.cxx:1120
 TGColorDialog.cxx:1121
 TGColorDialog.cxx:1122
 TGColorDialog.cxx:1123
 TGColorDialog.cxx:1124
 TGColorDialog.cxx:1125
 TGColorDialog.cxx:1126
 TGColorDialog.cxx:1127
 TGColorDialog.cxx:1128
 TGColorDialog.cxx:1129
 TGColorDialog.cxx:1130
 TGColorDialog.cxx:1131
 TGColorDialog.cxx:1132
 TGColorDialog.cxx:1133
 TGColorDialog.cxx:1134
 TGColorDialog.cxx:1135
 TGColorDialog.cxx:1136
 TGColorDialog.cxx:1137
 TGColorDialog.cxx:1138
 TGColorDialog.cxx:1139
 TGColorDialog.cxx:1140
 TGColorDialog.cxx:1141
 TGColorDialog.cxx:1142
 TGColorDialog.cxx:1143
 TGColorDialog.cxx:1144
 TGColorDialog.cxx:1145
 TGColorDialog.cxx:1146
 TGColorDialog.cxx:1147
 TGColorDialog.cxx:1148
 TGColorDialog.cxx:1149
 TGColorDialog.cxx:1150
 TGColorDialog.cxx:1151
 TGColorDialog.cxx:1152
 TGColorDialog.cxx:1153
 TGColorDialog.cxx:1154
 TGColorDialog.cxx:1155
 TGColorDialog.cxx:1156
 TGColorDialog.cxx:1157
 TGColorDialog.cxx:1158
 TGColorDialog.cxx:1159
 TGColorDialog.cxx:1160
 TGColorDialog.cxx:1161
 TGColorDialog.cxx:1162
 TGColorDialog.cxx:1163
 TGColorDialog.cxx:1164
 TGColorDialog.cxx:1165
 TGColorDialog.cxx:1166
 TGColorDialog.cxx:1167
 TGColorDialog.cxx:1168
 TGColorDialog.cxx:1169
 TGColorDialog.cxx:1170
 TGColorDialog.cxx:1171
 TGColorDialog.cxx:1172
 TGColorDialog.cxx:1173
 TGColorDialog.cxx:1174
 TGColorDialog.cxx:1175
 TGColorDialog.cxx:1176
 TGColorDialog.cxx:1177
 TGColorDialog.cxx:1178
 TGColorDialog.cxx:1179
 TGColorDialog.cxx:1180
 TGColorDialog.cxx:1181
 TGColorDialog.cxx:1182
 TGColorDialog.cxx:1183
 TGColorDialog.cxx:1184
 TGColorDialog.cxx:1185
 TGColorDialog.cxx:1186
 TGColorDialog.cxx:1187
 TGColorDialog.cxx:1188
 TGColorDialog.cxx:1189
 TGColorDialog.cxx:1190
 TGColorDialog.cxx:1191
 TGColorDialog.cxx:1192
 TGColorDialog.cxx:1193
 TGColorDialog.cxx:1194
 TGColorDialog.cxx:1195
 TGColorDialog.cxx:1196
 TGColorDialog.cxx:1197
 TGColorDialog.cxx:1198
 TGColorDialog.cxx:1199
 TGColorDialog.cxx:1200
 TGColorDialog.cxx:1201
 TGColorDialog.cxx:1202
 TGColorDialog.cxx:1203
 TGColorDialog.cxx:1204
 TGColorDialog.cxx:1205
 TGColorDialog.cxx:1206
 TGColorDialog.cxx:1207
 TGColorDialog.cxx:1208
 TGColorDialog.cxx:1209
 TGColorDialog.cxx:1210
 TGColorDialog.cxx:1211
 TGColorDialog.cxx:1212
 TGColorDialog.cxx:1213
 TGColorDialog.cxx:1214
 TGColorDialog.cxx:1215
 TGColorDialog.cxx:1216
 TGColorDialog.cxx:1217
 TGColorDialog.cxx:1218
 TGColorDialog.cxx:1219
 TGColorDialog.cxx:1220
 TGColorDialog.cxx:1221
 TGColorDialog.cxx:1222
 TGColorDialog.cxx:1223
 TGColorDialog.cxx:1224
 TGColorDialog.cxx:1225
 TGColorDialog.cxx:1226
 TGColorDialog.cxx:1227
 TGColorDialog.cxx:1228
 TGColorDialog.cxx:1229
 TGColorDialog.cxx:1230
 TGColorDialog.cxx:1231
 TGColorDialog.cxx:1232
 TGColorDialog.cxx:1233
 TGColorDialog.cxx:1234
 TGColorDialog.cxx:1235
 TGColorDialog.cxx:1236
 TGColorDialog.cxx:1237
 TGColorDialog.cxx:1238
 TGColorDialog.cxx:1239
 TGColorDialog.cxx:1240
 TGColorDialog.cxx:1241
 TGColorDialog.cxx:1242
 TGColorDialog.cxx:1243
 TGColorDialog.cxx:1244
 TGColorDialog.cxx:1245
 TGColorDialog.cxx:1246
 TGColorDialog.cxx:1247
 TGColorDialog.cxx:1248
 TGColorDialog.cxx:1249
 TGColorDialog.cxx:1250
 TGColorDialog.cxx:1251
 TGColorDialog.cxx:1252
 TGColorDialog.cxx:1253
 TGColorDialog.cxx:1254
 TGColorDialog.cxx:1255
 TGColorDialog.cxx:1256
 TGColorDialog.cxx:1257
 TGColorDialog.cxx:1258
 TGColorDialog.cxx:1259
 TGColorDialog.cxx:1260
 TGColorDialog.cxx:1261
 TGColorDialog.cxx:1262
 TGColorDialog.cxx:1263
 TGColorDialog.cxx:1264
 TGColorDialog.cxx:1265
 TGColorDialog.cxx:1266
 TGColorDialog.cxx:1267
 TGColorDialog.cxx:1268
 TGColorDialog.cxx:1269
 TGColorDialog.cxx:1270
 TGColorDialog.cxx:1271
 TGColorDialog.cxx:1272
 TGColorDialog.cxx:1273
 TGColorDialog.cxx:1274
 TGColorDialog.cxx:1275
 TGColorDialog.cxx:1276
 TGColorDialog.cxx:1277
 TGColorDialog.cxx:1278
 TGColorDialog.cxx:1279
 TGColorDialog.cxx:1280
 TGColorDialog.cxx:1281
 TGColorDialog.cxx:1282
 TGColorDialog.cxx:1283
 TGColorDialog.cxx:1284
 TGColorDialog.cxx:1285
 TGColorDialog.cxx:1286
 TGColorDialog.cxx:1287
 TGColorDialog.cxx:1288
 TGColorDialog.cxx:1289
 TGColorDialog.cxx:1290
 TGColorDialog.cxx:1291
 TGColorDialog.cxx:1292
 TGColorDialog.cxx:1293
 TGColorDialog.cxx:1294
 TGColorDialog.cxx:1295
 TGColorDialog.cxx:1296
 TGColorDialog.cxx:1297
 TGColorDialog.cxx:1298
 TGColorDialog.cxx:1299
 TGColorDialog.cxx:1300
 TGColorDialog.cxx:1301
 TGColorDialog.cxx:1302
 TGColorDialog.cxx:1303
 TGColorDialog.cxx:1304
 TGColorDialog.cxx:1305
 TGColorDialog.cxx:1306
 TGColorDialog.cxx:1307
 TGColorDialog.cxx:1308
 TGColorDialog.cxx:1309
 TGColorDialog.cxx:1310
 TGColorDialog.cxx:1311
 TGColorDialog.cxx:1312
 TGColorDialog.cxx:1313
 TGColorDialog.cxx:1314
 TGColorDialog.cxx:1315
 TGColorDialog.cxx:1316
 TGColorDialog.cxx:1317
 TGColorDialog.cxx:1318
 TGColorDialog.cxx:1319
 TGColorDialog.cxx:1320
 TGColorDialog.cxx:1321
 TGColorDialog.cxx:1322
 TGColorDialog.cxx:1323
 TGColorDialog.cxx:1324
 TGColorDialog.cxx:1325
 TGColorDialog.cxx:1326
 TGColorDialog.cxx:1327
 TGColorDialog.cxx:1328
 TGColorDialog.cxx:1329
 TGColorDialog.cxx:1330
 TGColorDialog.cxx:1331
 TGColorDialog.cxx:1332
 TGColorDialog.cxx:1333
 TGColorDialog.cxx:1334
 TGColorDialog.cxx:1335
 TGColorDialog.cxx:1336
 TGColorDialog.cxx:1337
 TGColorDialog.cxx:1338
 TGColorDialog.cxx:1339
 TGColorDialog.cxx:1340
 TGColorDialog.cxx:1341
 TGColorDialog.cxx:1342
 TGColorDialog.cxx:1343
 TGColorDialog.cxx:1344
 TGColorDialog.cxx:1345
 TGColorDialog.cxx:1346
 TGColorDialog.cxx:1347
 TGColorDialog.cxx:1348
 TGColorDialog.cxx:1349
 TGColorDialog.cxx:1350
 TGColorDialog.cxx:1351
 TGColorDialog.cxx:1352
 TGColorDialog.cxx:1353
 TGColorDialog.cxx:1354
 TGColorDialog.cxx:1355
 TGColorDialog.cxx:1356
 TGColorDialog.cxx:1357
 TGColorDialog.cxx:1358
 TGColorDialog.cxx:1359
 TGColorDialog.cxx:1360
 TGColorDialog.cxx:1361
 TGColorDialog.cxx:1362
 TGColorDialog.cxx:1363
 TGColorDialog.cxx:1364
 TGColorDialog.cxx:1365
 TGColorDialog.cxx:1366
 TGColorDialog.cxx:1367
 TGColorDialog.cxx:1368
 TGColorDialog.cxx:1369
 TGColorDialog.cxx:1370
 TGColorDialog.cxx:1371
 TGColorDialog.cxx:1372
 TGColorDialog.cxx:1373
 TGColorDialog.cxx:1374
 TGColorDialog.cxx:1375
 TGColorDialog.cxx:1376
 TGColorDialog.cxx:1377
 TGColorDialog.cxx:1378
 TGColorDialog.cxx:1379
 TGColorDialog.cxx:1380
 TGColorDialog.cxx:1381
 TGColorDialog.cxx:1382
 TGColorDialog.cxx:1383
 TGColorDialog.cxx:1384
 TGColorDialog.cxx:1385
 TGColorDialog.cxx:1386
 TGColorDialog.cxx:1387
 TGColorDialog.cxx:1388
 TGColorDialog.cxx:1389
 TGColorDialog.cxx:1390
 TGColorDialog.cxx:1391
 TGColorDialog.cxx:1392
 TGColorDialog.cxx:1393
 TGColorDialog.cxx:1394
 TGColorDialog.cxx:1395
 TGColorDialog.cxx:1396
 TGColorDialog.cxx:1397
 TGColorDialog.cxx:1398
 TGColorDialog.cxx:1399
 TGColorDialog.cxx:1400
 TGColorDialog.cxx:1401
 TGColorDialog.cxx:1402
 TGColorDialog.cxx:1403
 TGColorDialog.cxx:1404
 TGColorDialog.cxx:1405
 TGColorDialog.cxx:1406
 TGColorDialog.cxx:1407
 TGColorDialog.cxx:1408
 TGColorDialog.cxx:1409
 TGColorDialog.cxx:1410
 TGColorDialog.cxx:1411
 TGColorDialog.cxx:1412
 TGColorDialog.cxx:1413
 TGColorDialog.cxx:1414
 TGColorDialog.cxx:1415
 TGColorDialog.cxx:1416
 TGColorDialog.cxx:1417
 TGColorDialog.cxx:1418
 TGColorDialog.cxx:1419
 TGColorDialog.cxx:1420
 TGColorDialog.cxx:1421
 TGColorDialog.cxx:1422
 TGColorDialog.cxx:1423
 TGColorDialog.cxx:1424
 TGColorDialog.cxx:1425
 TGColorDialog.cxx:1426
 TGColorDialog.cxx:1427
 TGColorDialog.cxx:1428
 TGColorDialog.cxx:1429
 TGColorDialog.cxx:1430
 TGColorDialog.cxx:1431
 TGColorDialog.cxx:1432
 TGColorDialog.cxx:1433
 TGColorDialog.cxx:1434
 TGColorDialog.cxx:1435
 TGColorDialog.cxx:1436
 TGColorDialog.cxx:1437
 TGColorDialog.cxx:1438
 TGColorDialog.cxx:1439
 TGColorDialog.cxx:1440
 TGColorDialog.cxx:1441
 TGColorDialog.cxx:1442
 TGColorDialog.cxx:1443
 TGColorDialog.cxx:1444
 TGColorDialog.cxx:1445
 TGColorDialog.cxx:1446
 TGColorDialog.cxx:1447
 TGColorDialog.cxx:1448
 TGColorDialog.cxx:1449
 TGColorDialog.cxx:1450
 TGColorDialog.cxx:1451
 TGColorDialog.cxx:1452
 TGColorDialog.cxx:1453
 TGColorDialog.cxx:1454
 TGColorDialog.cxx:1455
 TGColorDialog.cxx:1456
 TGColorDialog.cxx:1457
 TGColorDialog.cxx:1458
 TGColorDialog.cxx:1459
 TGColorDialog.cxx:1460
 TGColorDialog.cxx:1461
 TGColorDialog.cxx:1462
 TGColorDialog.cxx:1463
 TGColorDialog.cxx:1464
 TGColorDialog.cxx:1465
 TGColorDialog.cxx:1466
 TGColorDialog.cxx:1467
 TGColorDialog.cxx:1468
 TGColorDialog.cxx:1469
 TGColorDialog.cxx:1470
 TGColorDialog.cxx:1471
 TGColorDialog.cxx:1472
 TGColorDialog.cxx:1473
 TGColorDialog.cxx:1474
 TGColorDialog.cxx:1475
 TGColorDialog.cxx:1476
 TGColorDialog.cxx:1477
 TGColorDialog.cxx:1478
 TGColorDialog.cxx:1479
 TGColorDialog.cxx:1480
 TGColorDialog.cxx:1481
 TGColorDialog.cxx:1482
 TGColorDialog.cxx:1483
 TGColorDialog.cxx:1484
 TGColorDialog.cxx:1485
 TGColorDialog.cxx:1486
 TGColorDialog.cxx:1487
 TGColorDialog.cxx:1488
 TGColorDialog.cxx:1489
 TGColorDialog.cxx:1490
 TGColorDialog.cxx:1491
 TGColorDialog.cxx:1492
 TGColorDialog.cxx:1493
 TGColorDialog.cxx:1494
 TGColorDialog.cxx:1495
 TGColorDialog.cxx:1496
 TGColorDialog.cxx:1497
 TGColorDialog.cxx:1498
 TGColorDialog.cxx:1499
 TGColorDialog.cxx:1500
 TGColorDialog.cxx:1501
 TGColorDialog.cxx:1502
 TGColorDialog.cxx:1503
 TGColorDialog.cxx:1504
 TGColorDialog.cxx:1505
 TGColorDialog.cxx:1506
 TGColorDialog.cxx:1507
 TGColorDialog.cxx:1508
 TGColorDialog.cxx:1509
 TGColorDialog.cxx:1510
 TGColorDialog.cxx:1511
 TGColorDialog.cxx:1512
 TGColorDialog.cxx:1513
 TGColorDialog.cxx:1514
 TGColorDialog.cxx:1515
 TGColorDialog.cxx:1516
 TGColorDialog.cxx:1517
 TGColorDialog.cxx:1518
 TGColorDialog.cxx:1519
 TGColorDialog.cxx:1520
 TGColorDialog.cxx:1521
 TGColorDialog.cxx:1522
 TGColorDialog.cxx:1523
 TGColorDialog.cxx:1524
 TGColorDialog.cxx:1525
 TGColorDialog.cxx:1526
 TGColorDialog.cxx:1527
 TGColorDialog.cxx:1528
 TGColorDialog.cxx:1529
 TGColorDialog.cxx:1530
 TGColorDialog.cxx:1531
 TGColorDialog.cxx:1532
 TGColorDialog.cxx:1533
 TGColorDialog.cxx:1534
 TGColorDialog.cxx:1535
 TGColorDialog.cxx:1536
 TGColorDialog.cxx:1537
 TGColorDialog.cxx:1538
 TGColorDialog.cxx:1539
 TGColorDialog.cxx:1540
 TGColorDialog.cxx:1541
 TGColorDialog.cxx:1542
 TGColorDialog.cxx:1543
 TGColorDialog.cxx:1544
 TGColorDialog.cxx:1545
 TGColorDialog.cxx:1546
 TGColorDialog.cxx:1547
 TGColorDialog.cxx:1548
 TGColorDialog.cxx:1549
 TGColorDialog.cxx:1550
 TGColorDialog.cxx:1551
 TGColorDialog.cxx:1552
 TGColorDialog.cxx:1553
 TGColorDialog.cxx:1554
 TGColorDialog.cxx:1555
 TGColorDialog.cxx:1556
 TGColorDialog.cxx:1557
 TGColorDialog.cxx:1558
 TGColorDialog.cxx:1559
 TGColorDialog.cxx:1560
 TGColorDialog.cxx:1561
 TGColorDialog.cxx:1562
 TGColorDialog.cxx:1563
 TGColorDialog.cxx:1564
 TGColorDialog.cxx:1565
 TGColorDialog.cxx:1566
 TGColorDialog.cxx:1567
 TGColorDialog.cxx:1568
 TGColorDialog.cxx:1569
 TGColorDialog.cxx:1570
 TGColorDialog.cxx:1571
 TGColorDialog.cxx:1572
 TGColorDialog.cxx:1573
 TGColorDialog.cxx:1574
 TGColorDialog.cxx:1575
 TGColorDialog.cxx:1576
 TGColorDialog.cxx:1577
 TGColorDialog.cxx:1578
 TGColorDialog.cxx:1579
 TGColorDialog.cxx:1580
 TGColorDialog.cxx:1581
 TGColorDialog.cxx:1582
 TGColorDialog.cxx:1583
 TGColorDialog.cxx:1584
 TGColorDialog.cxx:1585
 TGColorDialog.cxx:1586
 TGColorDialog.cxx:1587
 TGColorDialog.cxx:1588
 TGColorDialog.cxx:1589
 TGColorDialog.cxx:1590
 TGColorDialog.cxx:1591
 TGColorDialog.cxx:1592
 TGColorDialog.cxx:1593
 TGColorDialog.cxx:1594
 TGColorDialog.cxx:1595
 TGColorDialog.cxx:1596
 TGColorDialog.cxx:1597
 TGColorDialog.cxx:1598
 TGColorDialog.cxx:1599
 TGColorDialog.cxx:1600
 TGColorDialog.cxx:1601
 TGColorDialog.cxx:1602
 TGColorDialog.cxx:1603
 TGColorDialog.cxx:1604
 TGColorDialog.cxx:1605
 TGColorDialog.cxx:1606
 TGColorDialog.cxx:1607
 TGColorDialog.cxx:1608
 TGColorDialog.cxx:1609
 TGColorDialog.cxx:1610
 TGColorDialog.cxx:1611
 TGColorDialog.cxx:1612
 TGColorDialog.cxx:1613
 TGColorDialog.cxx:1614
 TGColorDialog.cxx:1615
 TGColorDialog.cxx:1616
 TGColorDialog.cxx:1617
 TGColorDialog.cxx:1618
 TGColorDialog.cxx:1619
 TGColorDialog.cxx:1620
 TGColorDialog.cxx:1621
 TGColorDialog.cxx:1622
 TGColorDialog.cxx:1623
 TGColorDialog.cxx:1624
 TGColorDialog.cxx:1625
 TGColorDialog.cxx:1626
 TGColorDialog.cxx:1627
 TGColorDialog.cxx:1628
 TGColorDialog.cxx:1629
 TGColorDialog.cxx:1630
 TGColorDialog.cxx:1631
 TGColorDialog.cxx:1632