00001 00005 class IndexSet_prm : public HandleId 00006 00007 { 00008 protected: 00009 StringList subclasses; 00010 static Handle(IndexSet_prm) master; 00011 virtual IndexSet_prm* clone () { return new IndexSet_prm(); } 00012 IndexSet_prm (); 00013 00014 public: 00015 00016 static IndexSet_prm* construct (); 00017 virtual ~IndexSet_prm () {} 00018 00019 String index_set_storage; 00020 int nsd; 00021 String index_set_string; 00022 00023 bool ok () const; 00024 bool operator != (const IndexSet_prm& indprm); 00025 void operator = (const IndexSet_prm& indprm); 00026 00027 static void defineStatic (MenuSystem& menu, int level = MAIN); 00028 void define (MenuSystem& menu, int level = MAIN) 00029 { defineStatic (menu, level); } 00030 void scan (MenuSystem& menu); 00031 00032 void scan (Is is); 00033 void print (Os os) const; 00034 00035 friend Os& operator << (Os& os, const IndexSet_prm& indprm); 00036 friend Is& operator >> (Is& is, IndexSet_prm& indprm); 00037 00038 00039 virtual IndexSet* create () const; 00040 const StringList& hier () const { return subclasses; } 00041 static const StringList& hierStatic () { return master->hier(); } 00042 static void registerPrmSubclass (IndexSet_prm& sc) { master.rebind (sc); } 00043 static void unregisterPrmSubclass () { master.rebind (new IndexSet_prm()); } 00044 }; 00045 00046