Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

ColorFltkMenu.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *cr                                                                       
00003  *cr            (C) Copyright 1995-2019 The Board of Trustees of the           
00004  *cr                        University of Illinois                       
00005  *cr                         All Rights Reserved                        
00006  *cr                                                                   
00007  ***************************************************************************/
00008 
00009 #ifndef COLOR_FLTK_MENU_H__
00010 #define COLOR_FLTK_MENU_H__
00011 
00012 #include "VMDFltkMenu.h"
00013 
00014 #if ((FL_MAJOR_VERSION == 1) && (FL_MINOR_VERSION == 1) && (FL_PATCH_VERSION >= 10)) || ((FL_MAJOR_VERSION >= 1) && (FL_MINOR_VERSION >= 1))
00015 #define VMD_USE_FLTK_COLORCHOOSER 1
00016 #else
00017 #define VMD_USE_VMD_COLORCHOOSER 1
00018 #endif
00019 
00020 class VMDApp;
00021 class Fl_Hold_Browser;
00022 class Fl_Value_Slider;
00023 class Fl_Button;
00024 class Fl_Toggle_Button;
00025 class Fl_Box;
00026 class Fl_Choice;
00027 class Fl_Color_Chooser;
00028 class Fl_Input_Choice;
00029 
00031 class ColorscaleImage;
00032 class ColorscaleLumaChart;
00033 
00035 class ColorFltkMenu : public VMDFltkMenu {
00036 public:
00037   ColorFltkMenu(VMDApp *);
00038   void update_scaleimage();
00039 
00040 private:
00041   Fl_Hold_Browser *categorybrowser;
00042   Fl_Hold_Browser *itembrowser;
00043   Fl_Hold_Browser *colorbrowser;
00044 
00045   Fl_Hold_Browser *colordefbrowser; // used by both FLTK/VMD choosers
00046 
00047 #if defined(VMD_USE_FLTK_COLORCHOOSER)
00048   Fl_Color_Chooser *colchooser;
00049   Fl_Box *colchooserbox;
00050   Fl_Button *colchoosedefaultbutton;
00051 #endif
00052 
00053 #if defined(VMD_USE_VMD_COLORCHOOSER)
00054   Fl_Value_Slider *redscale;
00055   Fl_Value_Slider *greenscale;
00056   Fl_Value_Slider *bluescale;
00057   Fl_Button *grayscalebutton;
00058   Fl_Button *defaultbutton;
00059 #endif
00060 
00061   // color scale widgets
00062   Fl_Choice *scalemethod;
00063   Fl_Value_Slider *offsetvalue;
00064   Fl_Value_Slider *midpointvalue;
00065   Fl_Toggle_Button *scalereversebutton;
00066   Fl_Input_Choice *scaleposterize;
00067   ColorscaleImage *image;
00068   ColorscaleLumaChart *scalelumachart;
00069 
00070   static void category_cb(Fl_Widget *, void *);
00071   static void item_cb(Fl_Widget *, void *);
00072   static void color_cb(Fl_Widget *, void *);
00073   static void colordef_cb(Fl_Widget *, void *);
00074   static void default_cb(Fl_Widget *, void *v);
00075   static void scalemethod_cb(Fl_Widget *, void *);
00076   static void scalesettings_cb(Fl_Widget *, void *);
00077 
00078 #if defined(VMD_USE_FLTK_COLORCHOOSER)
00079   static void colchooser_cb(Fl_Widget *, void *);
00080 #endif
00081 #if defined(VMD_USE_VMD_COLORCHOOSER)
00082   static void rgb_cb(Fl_Widget *, void *);
00083 #endif
00084 
00086   void reset_color_categories();
00087 
00089   void reset_color_names();
00090 
00092   void reset_color_scale();
00093 
00097   void update_chosen_color();
00098 
00100   void update_color_definition();
00101 
00102   void make_window();
00103 
00104 protected:
00105   int act_on_command(int, Command *);
00106 };
00107 #endif

Generated on Thu Apr 18 02:44:06 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002