00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef tool_h
00021 #define tool_h
00022 
00023 #include "VMDFltkMenu.h"
00024 #include <FL/Fl.H>
00025 #include <FL/Fl_Window.H>
00026 #include <FL/Fl_Box.H>
00027 #include <FL/Fl_Button.H>
00028 #include <FL/Fl_Choice.H>
00029 #include <FL/Fl_Hold_Browser.H>
00030 #include <FL/Fl_Tabs.H>
00031 #include <FL/Fl_Group.H>
00032 #include <FL/Fl_Value_Input.H>
00033 #include <FL/Fl_Round_Button.H>
00034 
00037 class ToolFltkMenu : public VMDFltkMenu {
00038 protected:
00039   int act_on_command(int, Command *);
00040 
00041 private:
00042   void make_window();
00043   Fl_Choice *tooltypechooser;
00044   Fl_Browser *toolbrowser;
00045   Fl_Choice *positionchooser;
00046   Fl_Choice *buttonchooser;
00047   Fl_Choice *forcechooser;
00048   Fl_Value_Input *xoffsetinput;
00049   Fl_Value_Input *yoffsetinput;
00050   Fl_Value_Input *zoffsetinput;
00051   Fl_Value_Input *positionscalinginput;
00052   Fl_Value_Input *forceconstantinput;
00053   Fl_Value_Input *forcescalinginput;
00054   Fl_Round_Button *forceatombutton;
00055   Fl_Round_Button *forcerepbutton;
00056   Fl_Choice *repmoleculechooser;
00057   Fl_Choice *reprepchooser;
00058   Fl_Tabs *tooltabs;
00059 
00060 public:
00061   ToolFltkMenu(VMDApp *);
00062 
00064   void reset_device_menus();
00065 
00067   void reset_tool_list();
00068 
00070   void create_tool();
00071 
00073   void delete_tool();
00074 
00077   void select_tool_type();
00078 
00081   void select_tool();
00082 
00084   void choose_tracker(const char *);
00085   void choose_feedback(const char *);
00086   void choose_buttons(const char *);
00087 
00089   void set_offset();
00090   
00092   void set_springscale();
00093   
00095   void set_forcescale();
00096 
00098   void set_positionscale();
00099 
00101   void set_toolrep();
00102 
00105   void update_toolrep_choosers();
00106 
00108   void update_replist();
00109 };
00110   
00111 #endif