const ushort cmDownLeftMouse = 70; const ushort cmDownSpace = 71; //================================================================================ //==================== TAlgCollection ============================================ //================================================================================ class TAlgCollection : public TCollection { public: TAlgCollection( ccIndex aLimit, ccIndex aDelta) : TCollection( aLimit, aDelta ) {} ; private: #ifndef NO_TV_STREAMS virtual const char *streamableName() const { return name; } virtual void *readItem( ipstream& ){return NULL;}; virtual void writeItem( void *, opstream& ){}; protected: TAlgCollection( StreamableInit ) : TCollection ( streamableInit ) {} public: static const char * const near name; static TStreamable *build() { return new TAlgCollection( streamableInit ); }; #endif // ifndef NO_TV_STREAMS }; //================================================================================ //==================== TCompCollect ============================================== //================================================================================ struct CollIt { char opt; void *item; }; class TCompCollect : public TObject { public: TCompCollect( ccIndex aLimit, ccIndex aDelta ); ~TCompCollect(); virtual void shutDown(); void *at( ccIndex index ); virtual ccIndex indexOf( void *item ); void atFree( ccIndex index ); void atRemove( ccIndex index ); void remove( void *item ); void removeAll(); void free( void *item ); void freeAll(); void atInsert( ccIndex index, void *item ); void atPut( ccIndex index, void *item ); virtual ccIndex insert( void *item ); static void error( ccIndex code, ccIndex info ); void *firstThat( ccTestFunc Test, void *arg ); void *lastThat( ccTestFunc Test, void *arg ); void forEach( ccAppFunc action, void *arg ); void pack(); virtual void setLimit( ccIndex aLimit ); void SetOptItem(int item,char opt){if(item