109 lines
3.0 KiB
C++
109 lines
3.0 KiB
C++
//## begin module.cm preserve=no
|
|
|
|
// %X% %Q% %Z% %W%
|
|
|
|
//## end module.cm
|
|
|
|
|
|
|
|
//## begin module.cp preserve=no
|
|
|
|
//## end module.cp
|
|
|
|
|
|
|
|
//## Module: CompositeComponent; Pseudo Package specification
|
|
|
|
//## Subsystem: lab7
|
|
|
|
//## Source file: H:\kurs\avC++\lab7\CmpstCmp.h
|
|
|
|
|
|
|
|
#ifndef CmpstCmp_h
|
|
|
|
#define CmpstCmp_h 1
|
|
|
|
|
|
|
|
//## begin module.additionalIncludes preserve=no
|
|
|
|
//## end module.additionalIncludes
|
|
|
|
|
|
|
|
//## begin module.includes preserve=yes
|
|
|
|
//## end module.includes
|
|
|
|
|
|
|
|
// Component
|
|
|
|
#include "Compnent.h"
|
|
|
|
// ComponentList
|
|
|
|
#include "CmpnntLs.h"
|
|
|
|
//## begin module.additionalDeclarations preserve=yes
|
|
|
|
//## end module.additionalDeclarations
|
|
|
|
|
|
|
|
|
|
|
|
//## Class: CompositeComponent
|
|
|
|
//## Category: lab7
|
|
|
|
//## Subsystem: lab7
|
|
|
|
//## Persistence: Transient
|
|
|
|
//## Cardinality/Multiplicity: n
|
|
|
|
|
|
|
|
class CompositeComponent : public Component //## Inherits: <unnamed>
|
|
|
|
{
|
|
|
|
//## begin CompositeComponent.initialDeclarations preserve=yes
|
|
|
|
//## end CompositeComponent.initialDeclarations
|
|
|
|
|
|
|
|
public:
|
|
|
|
//## Constructors (generated)
|
|
|
|
CompositeComponent();
|
|
|
|
|
|
|
|
//## Destructor (generated)
|
|
|
|
~CompositeComponent();
|
|
|
|
|
|
|
|
|
|
|
|
//## Other Operations (specified)
|
|
|
|
//## Operation: draw%940929799
|
|
|
|
void draw (Graphics& g);
|
|
|
|
|
|
|
|
//## Operation: add%940945810
|
|
|
|
void add (Component* c);
|
|
|
|
|
|
|
|
//## Operation: handleKeyEvent%941013991
|
|
|
|
void handleKeyEvent (Event e);
|
|
|
|
|
|
|
|
//## Operation: handleMouseEvent%941013992
|
|
|
|
void handleMouseEvent (Event e);
|
|
|
|
|
|
|
|
//## Operation: isHit%941013998
|
|
|
|
bool isHit (int x, int y);
|
|
|
|
|
|
|
|
// Additional Public Declarations
|
|
|
|
//## begin CompositeComponent.public preserve=yes
|
|
|
|
//## end CompositeComponent.public
|
|
|
|
|
|
|
|
protected:
|
|
|
|
// Additional Protected Declarations
|
|
|
|
//## begin CompositeComponent.protected preserve=yes
|
|
|
|
//## end CompositeComponent.protected
|
|
|
|
|
|
|
|
private:
|
|
|
|
// Additional Private Declarations
|
|
|
|
//## begin CompositeComponent.private preserve=yes
|
|
|
|
//## end CompositeComponent.private
|
|
|
|
|
|
|
|
private: //## implementation
|
|
|
|
// Data Members for Has Relationships
|
|
|
|
|
|
|
|
//## Documentation CompositeComponent::cList.has
|
|
|
|
//## begin CompositeComponent::cList.has preserve=no private: ComponentList {1 -> 1VO}
|
|
|
|
ComponentList cList;
|
|
|
|
//## end CompositeComponent::cList.has
|
|
|
|
|
|
|
|
//## Documentation CompositeComponent::active.has
|
|
|
|
//## begin CompositeComponent::active.has preserve=no private: Component {1 -> RO}
|
|
|
|
Component *active;
|
|
|
|
//## end CompositeComponent::active.has
|
|
|
|
|
|
|
|
// Additional Implementation Declarations
|
|
|
|
//## begin CompositeComponent.implementation preserve=yes
|
|
|
|
//## end CompositeComponent.implementation
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
//## begin CompositeComponent.postscript preserve=yes
|
|
|
|
//## end CompositeComponent.postscript
|
|
|
|
|
|
|
|
// Class CompositeComponent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//## begin module.epilog preserve=yes
|
|
|
|
//## end module.epilog
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|