From 60f324dc885e1c2a51db6523ac692c829b77b865 Mon Sep 17 00:00:00 2001 From: Josh Allen Date: Mon, 14 Aug 2006 00:49:31 +0000 Subject: [PATCH] Copy constructor and remove some variables from RoomWheelItem --- stepmania/src/RoomWheel.cpp | 22 ++++++++++++++++------ stepmania/src/RoomWheel.h | 11 ++++------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/stepmania/src/RoomWheel.cpp b/stepmania/src/RoomWheel.cpp index dcc56ca7ce..22ce24457c 100644 --- a/stepmania/src/RoomWheel.cpp +++ b/stepmania/src/RoomWheel.cpp @@ -8,6 +8,11 @@ AutoScreenMessage( SM_BackFromRoomName ) +ThemeMetric DESC_X; +ThemeMetric DESC_Y; +ThemeMetric DESC_WIDTH; +ThemeMetric DESC_ON_COMMAND; + RoomWheel::~RoomWheel() { FOREACH( WheelItemBaseData*, m_CurWheelItemData, i ) @@ -38,23 +43,28 @@ WheelItemBase *RoomWheel::MakeItem() return new RoomWheelItem; } -RoomWheelItem::RoomWheelItem( RString sType ): - WheelItemBase(sType) +RoomWheelItem::RoomWheelItem( RString sType ) + :WheelItemBase( sType ) { - SetName( sType ); Load( sType ); } -void RoomWheelItem::Load(RString sType) +RoomWheelItem::RoomWheelItem( const RoomWheelItem &cpy ): + WheelItemBase( cpy ), + m_Desc( cpy.m_Desc ) +{ + this->AddChild( &m_Desc ); +} + +void RoomWheelItem::Load( RString sType ) { DESC_X .Load(sType,"DescX"); DESC_Y .Load(sType,"DescY"); DESC_WIDTH .Load(sType,"DescWidth"); DESC_ON_COMMAND .Load(sType,"DescOnCommand"); - + TEXT_WIDTH .Load(sType,"TextWidth"); m_text.SetHorizAlignString("left"); - TEXT_WIDTH .Load(sType,"TextWidth"); m_text.SetMaxWidth(TEXT_WIDTH); m_Desc.LoadFromFont( THEME->GetPathF("RoomWheel","text") ); diff --git a/stepmania/src/RoomWheel.h b/stepmania/src/RoomWheel.h index 99c260ecb7..41cc010559 100644 --- a/stepmania/src/RoomWheel.h +++ b/stepmania/src/RoomWheel.h @@ -22,17 +22,14 @@ class RoomWheelItem : public WheelItemBase { public: RoomWheelItem(RString sType = "RoomWheelItem"); - RoomWheelData* data; + RoomWheelItem( const RoomWheelItem &cpy ); + void Load( RString sType ); virtual void LoadFromWheelItemData( const WheelItemBaseData* pWID ); - - BitmapText m_Desc; + virtual Actor *Copy() const { return new RoomWheelItem(*this); } private: - ThemeMetric DESC_X; - ThemeMetric DESC_Y; - ThemeMetric DESC_WIDTH; - ThemeMetric DESC_ON_COMMAND; + BitmapText m_Desc; }; struct RoomInfo