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 /*************************************************************************** 00010 * RCS INFORMATION: 00011 * 00012 * $RCSfile: PickModeList.h,v $ 00013 * $Author: johns $ $Locker: $ $State: Exp $ 00014 * $Revision: 1.13 $ $Date: 2019年01月17日 21:21:01 $ 00015 * 00016 *************************************************************************** 00017 * DESCRIPTION: 00018 * List of all available pick modes 00019 ***************************************************************************/ 00020 00021 #ifndef PICK_MODE_LIST_H 00022 #define PICK_MODE_LIST_H 00023 00024 #include "NameList.h" 00025 00026 class PickMode; 00027 class VMDApp; 00028 00030 class PickModeList { 00031 public: 00032 // these enum constants must match the order in which the modes are loaded 00033 // in PickModeList::PickModeList(VMDApp *) 00034 enum {QUERY=0, CENTER, LABELATOM, LABELBOND, LABELANGLE, LABELDIHEDRAL, MOVEATOM, MOVERES, MOVEFRAG, MOVEMOL, FORCEATOM, FORCERES, FORCEFRAG, MOVEREP, ADDBOND, PICK}; 00035 00036 private: 00037 NameList<PickMode *>pickmodelist; 00038 PickMode *curpickmode; 00039 00040 public: 00041 PickModeList(VMDApp *); 00042 ~PickModeList(); 00043 00044 PickMode *current_pick_mode() { return curpickmode; } 00045 int set_pick_mode(int mode) { 00046 if (mode < 0 || mode >= pickmodelist.num()) return FALSE; 00047 curpickmode = pickmodelist.data(mode); 00048 return TRUE; 00049 } 00050 }; 00051 00052 #endif