00001 00005 class Field_prm : public HandleId 00006 00007 { 00008 protected: 00009 StringList subclasses; 00010 static Handle(Field_prm) master; 00011 virtual Field_prm* clone () { return new Field_prm(); } 00012 Field_prm (); 00013 public: 00014 static Field_prm* construct (); 00015 virtual ~Field_prm () {} 00016 00017 String subclass_name; 00018 00019 virtual Field* create () const; 00020 const StringList& hier () const { return subclasses; } 00021 static const StringList& hierStatic () { return master->hier(); } 00022 static void registerPrmSubclass (Field_prm& sc) { master.rebind (sc); } 00023 static void unregisterPrmSubclass () { master.rebind (new Field_prm()); } 00024 }; 00025 00026