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

GraphicsFltkMenu.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *cr
00003  *cr            (C) Copyright 1995-2008 The Board of Trustees of the
00004  *cr                        University of Illinois
00005  *cr                         All Rights Reserved
00006  *cr
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  * RCS INFORMATION:
00011  *
00012  *      $RCSfile: GraphicsFltkMenu.h,v $
00013  *      $Author: johns $        $Locker:  $             $State: Exp $
00014  *      $Revision: 1.27 $       $Date: 2008/03/27 19:36:39 $
00015  *
00016  ***************************************************************************
00017  * DESCRIPTION:
00018  *  generated by Fast Light User Interface Designer (fluid) version 1.0011
00019  ***************************************************************************/
00020 
00021 #ifndef graphicsmenu_h
00022 #define graphicsmenu_h
00023 #include <FL/Fl.H>
00024 #include <FL/Fl_Window.H>
00025 #include <FL/Fl_Box.H>
00026 #include <FL/Fl_Choice.H>
00027 #include <FL/Fl_Hold_Browser.H>
00028 #include <FL/Fl_Input.H>
00029 #include <FL/Fl_Check_Button.H>
00030 #include <FL/Fl_Button.H>
00031 #include "VMDFltkMenu.h"
00032 #include "NameList.h"
00033 
00034 class GraphicsFltkRep;
00035 class SelectionBuilder;
00036 class Fl_Tabs;
00037 class Fl_Counter;
00038 class PBCControls;
00039 class isosurface_cbdata;
00040 
00043 class GraphicsFltkMenu : public VMDFltkMenu {
00044 public:
00045   GraphicsFltkMenu(VMDApp *);
00046   ~GraphicsFltkMenu();
00047 
00048   int selectmol(int molno);
00049  
00050 //private: // XXX should ideally make all this private
00051   VMDApp *app;
00052   int molindex;
00053   int repindex;
00054 
00055   void update_molchooser();
00056   
00057   void update_repbrowser(bool remember_position=false);
00058   void update_rep();
00059   void update_repindex();
00060   void update_pbc();
00061   void set_pbc(int, int);
00062   void reset_rep();
00063 
00067   void update_selection(const char *txt);
00068   const char *selectiontext() const;
00069 
00071   int auto_update() const;
00072 
00074   void set_autoupdate(int);
00075 
00077   void set_colorupdate(int); 
00078 
00080   void use_colorscale_minmax();
00081 
00083   void use_colorscale_auto();
00084 
00085   char *create_repcmd();
00086   char *create_colorcmd();
00087   char *create_selcmd();
00088   char *create_matcmd();
00089   char *create_multiframecmd();
00090 
00091   void colindex_visible();
00092   void volindex_visible();
00093   void volindex_update();
00094   void show_repcontrols();
00095  
00096   void init_colorchooser();
00097   void init_materialchooser();
00098   void init_stylechooser();
00099 
00100   SelectionBuilder *selbuilder;
00101 
00102 private:
00103   static void molchooser_cb(Fl_Widget *, void *);
00104   static void repbrowser_cb(Fl_Widget *, void *);
00105   static void repcontrol_cb(Fl_Widget *, void *);
00106   static void colorchooser_cb(Fl_Widget *, void *);
00107   static void materialchooser_cb(Fl_Widget *, void *);
00108   static void selectioninput_cb(Fl_Widget *, void *);
00109   static void createnew_cb(Fl_Widget *, void *);
00110   static void deleterep_cb(Fl_Widget *, void *);
00111   static void apply_cb(Fl_Widget *, void *);
00112   static void default_cb(Fl_Widget *, void *);
00113   static void smooth_cb(Fl_Widget *, void *);
00114   static void pbc_cb(Fl_Widget *, void *);
00115   static void multiframeinput_cb(Fl_Widget *, void *);
00116   static void isosurfacerepcontrol_cb(Fl_Widget *, void *);
00117 
00118 public:
00119   NameList<GraphicsFltkRep *> repcontrols;
00120 
00121 private:
00122   ResizeArray<int> molactiverep;
00123   int lastmolindex;
00124  
00125   char colorcmdbuf[50];
00126 
00127   Fl_Box *repframe;
00128   Fl_Choice *molchooser;
00129   Fl_Browser *repbrowser;
00130   Fl_Choice *colorchooser;
00131   Fl_Choice *materialchooser;
00132   Fl_Choice *stylechooser;
00133   Fl_Input *selectioninput;
00134   Fl_Choice *colindexchooser;
00135   Fl_Choice *volindexchooser;
00136   Fl_Check_Button *applyautobutton;
00137   Fl_Button *applybutton;
00138   Fl_Button *createnewbutton;
00139   Fl_Button *deleterepbutton;
00140   Fl_Button *defaultbutton;
00141   Fl_Button *autoupdatebutton;
00142   Fl_Button *colorupdatebutton;
00143   Fl_Counter *smoothcounter;
00144   PBCControls *pbcControls;
00145   Fl_Input *colorscale_min, *colorscale_max;
00146   Fl_Input *multiframeinput;
00147 
00148   isosurface_cbdata * cbdata;
00149 
00150 protected:
00151   int act_on_command(int, Command *);
00152 };
00153 #endif

Generated on Sat Sep 6 01:26:51 2008 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002