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 fromHLS space. It consists of two elements: a color map window fromwhere 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.

TGColorPalette 继承 TGFrame, TGWidgetColor palette widget

TGColorPick 继承 TGFrame, TGWidgetColor picker widget

TGColorDialog 继承 TGTransientFrameColor selection dialog

class

TGColorPalette

   TGColorPalette(const TGWindow *p = 0, Int_t cols = 8, Int_t rows = 8, Int_t id = -1);
/// 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.

   virtual ~TGColorPalette();/// Destructor.

   virtual Bool_t HandleButton(Event_t *event);/// Handle button events in color palette
   virtual Bool_t HandleMotion(Event_t *event);/// Handle mouse motion events in color palette.
   virtual Bool_t HandleKey(Event_t *event);/// Handle keyboard events in color palette.

   virtual TGDimension GetDefaultSize() const
            { return TGDimension((fCw + 5) * fCols, (fCh + 5) * fRows); }

   void    SetColors(Pixel_t colors[]);/// Set color entries in color samples.
   void    SetColor(Int_t ix, Pixel_t color);/// Set color at index ix of color entries.
   void    SetCurrentCellColor(Pixel_t color);/// Set current cell color.

   void    SetCellSize(Int_t w = 20, Int_t h = 17);/// Set color cell size.

   Pixel_t GetColorByIndex(Int_t ix) const { return fPixels[ix]; }
   Pixel_t GetCurrentColor() const;/// Return currently selected color value.

   virtual void ColorSelected(Pixel_t col = 0)
            { Emit("ColorSelected(Pixel_t)", col ? col : GetCurrentColor()); }  //*SIGNAL*

TGColorPick

   TGColorPick(const TGWindow *p = 0, Int_t w = 1, Int_t h = 1, Int_t id = -1);
/// 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.

   virtual ~TGColorPick();/// TGColorPick destructor.

   virtual Bool_t HandleButton(Event_t *event);/// Handle mouse button events in color pick widget.
   virtual Bool_t HandleMotion(Event_t *event);/// Handle mouse motion events in color pick widget.

   void     SetColor(Pixel_t color);/// Position the slider cursor on right color position.
   Pixel_t  GetCurrentColor() const { return fCurrentColor; }

   virtual  void ColorSelected(Pixel_t col = 0)
            { Emit("ColorSelected(Pixel_t)", col ? col : GetCurrentColor()); }  //*SIGNAL*

TGColorDialog

   TGColorDialog(const TGWindow *p = 0, const TGWindow *m = 0, Int_t *retc = 0,
                 Pixel_t *color = 0, Bool_t wait = kTRUE);
/// Color selection dialog constructor.
/// The TGColorDialog presents a full featured color selection dialog.
/// It uses 2 TGColorPalette's and the TGColorPick widgets.

   virtual ~TGColorDialog();/// TGColorDialog destructor.

   TGColorPalette *GetPalette() const { return fPalette; }
   TGColorPalette *GetCustomPalette() const { return fCpalette; }

   virtual void ColorSelected(Pixel_t); //*SIGNAL*  /// Emit signal about selected color.
   virtual void AlphaColorSelected(ULong_t); //*SIGNAL*  /// Emit signal about selected alpha and color.
           void DoPreview();/// Slot method called when Preview button is clicked.
   virtual void SetCurrentColor(Pixel_t col);/// Change current color.
           void SetColorInfo(Int_t event, Int_t px, Int_t py, TObject *selected);
///  Set the color info in RGB and HLS parts

code

example