Files
Avancerad_CPP/Lab7/cmpstcmp.h
2026-03-05 13:16:26 +01:00

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