From atlantik-devel Thu Nov 28 11:59:27 2002 From: kde () office ! kde ! org Date: Thu, 28 Nov 2002 11:59:27 +0000 To: atlantik-devel Subject: [atlantik-cvs] CVS: kdegames/atlantik/libatlantikui Makefile.am,1.5,1.6 auction_widget.cpp,1.11,1.12 X-MARC-Message: https://marc.info/?l=atlantik-devel&m=103848482217657 Update of /home/kde/kdegames/atlantik/libatlantikui In directory office:/tmp/cvs-serv16570/libatlantikui Modified Files: Makefile.am auction_widget.cpp board.cpp estatedetails.cpp estatedetails.h token.cpp Removed Files: display_widget.cpp display_widget.h Log Message: remove display msgs from text Index: Makefile.am =================================================================== RCS file: /home/kde/kdegames/atlantik/libatlantikui/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile.am 2002/05/11 22:34:21 1.5 +++ Makefile.am 2002/11/28 11:59:25 1.6 @@ -3,12 +3,12 @@ libatlantikui_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) -no-undefined -version-info 0:0:0 libatlantikui_la_LIBADD = ../libatlantic/libatlantic.la $(LIB_KIO) -libatlantikui_la_SOURCES = auction_widget.cpp board.cpp display_widget.cpp \ +libatlantikui_la_SOURCES = auction_widget.cpp board.cpp \ estatedetails.cpp estateview.cpp portfolioestate.cpp portfolioview.cpp token.cpp \ trade_widget.cpp libatlantikuiincludedir = $(includedir)/atlantik/ui -libatlantikuiinclude_HEADERS = auction_widget.h board.h display_widget.h \ +libatlantikuiinclude_HEADERS = auction_widget.h board.h \ estatedetails.h estateview.h portfolioestate.h portfolioview.h token.h \ trade_widget.h Index: auction_widget.cpp =================================================================== RCS file: /home/kde/kdegames/atlantik/libatlantikui/auction_widget.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- auction_widget.cpp 2002/08/15 10:56:25 1.11 +++ auction_widget.cpp 2002/11/28 11:59:25 1.12 @@ -103,7 +103,7 @@ break; default: - status = ""; + status = QString::null; } m_statusLabel->setText(status); } Index: board.cpp =================================================================== RCS file: /home/kde/kdegames/atlantik/libatlantikui/board.cpp,v retrieving revision 1.97 retrieving revision 1.98 diff -u -d -r1.97 -r1.98 --- board.cpp 2002/11/27 21:08:56 1.97 +++ board.cpp 2002/11/28 11:59:25 1.98 @@ -17,6 +17,7 @@ #include #include +#include #include #include @@ -27,7 +28,6 @@ #include #include "auction_widget.h" -#include "display_widget.h" #include "estatedetails.h" #include "estateview.h" @@ -406,10 +406,8 @@ m_displayQueue.prepend(new QWidget(this)); break; case 1: - if (m_displayQueue.getFirst() == m_lastServerDisplay) - m_lastServerDisplay = 0; - m_displayQueue.removeFirst(); - m_displayQueue.prepend(new QWidget(this)); + if (EstateDetails *display = dynamic_cast(m_lastServerDisplay)) + display->setEstate(0); break; default: if (m_displayQueue.getFirst() == m_lastServerDisplay) @@ -422,65 +420,45 @@ void AtlantikBoard::displayButton(QString command, QString caption, bool enabled) { - if (BoardDisplay *display = dynamic_cast(m_lastServerDisplay)) - display->addButton(command, caption, enabled); - else if (EstateDetails *display = dynamic_cast(m_lastServerDisplay)) + if (EstateDetails *display = dynamic_cast(m_lastServerDisplay)) display->addButton(command, caption, enabled); } void AtlantikBoard::addCloseButton() { - BoardDisplay *bDisplay = 0; EstateDetails *eDetails = 0; - if ((bDisplay = dynamic_cast(m_lastServerDisplay)) && bDisplay != m_displayQueue.getLast()) - bDisplay->addCloseButton(); - else if ((eDetails = dynamic_cast(m_lastServerDisplay)) && eDetails != m_displayQueue.getLast()) + if ((eDetails = dynamic_cast(m_lastServerDisplay)) && eDetails != m_displayQueue.getLast()) eDetails->addCloseButton(); } void AtlantikBoard::insertDetails(QString text, Estate *estate) { - if (!estate) - { - kdDebug() << "insertDetails called with empty estate" << endl; - return; - } - EstateDetails *eDetails = 0; - // This might just be a update - if ((eDetails = dynamic_cast(m_lastServerDisplay)) && eDetails->estate() == estate) + if ((eDetails = dynamic_cast(m_lastServerDisplay))) { - eDetails->newUpdate(text); + if (eDetails->estate() == estate || !(eDetails->estate())) + eDetails->appendText(text); + else + { + eDetails->setText(text); + eDetails->clearButtons(); + } + + eDetails->setEstate(estate); return; } if (m_displayQueue.getFirst() != m_lastServerDisplay) m_displayQueue.removeFirst(); - else - { - if (BoardDisplay *display = dynamic_cast(m_lastServerDisplay)) - display->addCloseButton(); - else if (EstateDetails *display = dynamic_cast(m_lastServerDisplay)) - display->addCloseButton(); - } - eDetails = new EstateDetails(text, estate, this); + eDetails = new EstateDetails(estate, text, this); m_lastServerDisplay = eDetails; connect(eDetails, SIGNAL(buttonCommand(QString)), this, SIGNAL(buttonCommand(QString))); connect(eDetails, SIGNAL(buttonClose()), this, SLOT(displayDefault())); - // Don't overwrite possible chance cards or previous estates - int uid = 0; - if (BoardDisplay *display = dynamic_cast(m_displayQueue.getFirst())) - uid = 1; - else if (EstateDetails *display = dynamic_cast(m_displayQueue.getFirst())) - uid = 1; - - m_displayQueue.insert(uid, eDetails); - - if (uid == 0) - updateCenter(); + m_displayQueue.insert(0, eDetails); + updateCenter(); } void AtlantikBoard::prependEstateDetails(Estate *estate) @@ -488,7 +466,7 @@ if (!estate) return; - EstateDetails *eDetails = new EstateDetails(QString(), estate, this); + EstateDetails *eDetails = new EstateDetails(estate, QString::null, this); eDetails->addCloseButton(); if (m_displayQueue.getFirst() != m_lastServerDisplay) Index: estatedetails.cpp =================================================================== RCS file: /home/kde/kdegames/atlantik/libatlantikui/estatedetails.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- estatedetails.cpp 2002/11/27 21:12:33 1.15 +++ estatedetails.cpp 2002/11/28 11:59:25 1.16 @@ -28,6 +28,8 @@ #include #include +#include + #include #include #include @@ -35,18 +37,19 @@ #include "estatedetails.h" #include "estatedetails.moc" -EstateDetails::EstateDetails(QString text, Estate *estate, QWidget *parent, const char *name) : QWidget(parent, name) +EstateDetails::EstateDetails(Estate *estate, QString text, QWidget *parent, const char *name) : QWidget(parent, name) { - m_estate = estate; - setPaletteBackgroundColor(m_estate->bgColor()); + kdDebug() << "EstateDetails::EstateDetails(text[" << text << "], estate[" << (estate ? estate->name() : "-1") << "])" << endl; m_pixmap = 0; + m_quartzBlocks = 0; b_recreate = true; + m_recreateQuartz = true; - m_quartzBlocks = 0; + m_estate = 0; + m_closeButton = 0; m_buttons.setAutoDelete(true); - m_recreateQuartz = true; m_mainLayout = new QVBoxLayout(this, KDialog::marginHint(), KDialog::spacingHint()); Q_CHECK_PTR(m_mainLayout); @@ -54,45 +57,20 @@ m_mainLayout->addItem(new QSpacerItem(KDialog::spacingHint(), KDialog::spacingHint()+50, QSizePolicy::Fixed, QSizePolicy::Minimum)); m_infoListView = new KListView(this, "infoListView"); - m_infoListView->addColumn(m_estate ? m_estate->name() : ""); - m_infoListView->setSorting(1); + m_infoListView->addColumn(m_estate ? m_estate->name() : QString::null); + m_infoListView->setSorting(-1, false); m_mainLayout->addWidget(m_infoListView); - // Info text - QListViewItem *infoText = 0; if (!text.isEmpty()) - { - infoText = new QListViewItem(m_infoListView, text, QString::number(m_infoListView->childCount())); - infoText->setPixmap(0, QPixmap(SmallIcon("atlantik"))); - } - - // Price - if (m_estate->price()) - { - infoText = new QListViewItem(m_infoListView, i18n("Price: %1").arg(m_estate->price()), QString::number(m_infoListView->childCount())); - infoText->setPixmap(0, QPixmap(SmallIcon("info"))); - } - - // Owner, houses, isMortgaged - if (m_estate->canBeOwned()) - { - infoText = new QListViewItem(m_infoListView, i18n("Owner: %1").arg(m_estate->owner() ? m_estate->owner()->name() : i18n("unowned"))); - infoText->setPixmap(0, QPixmap(SmallIcon("info"))); - - if (m_estate->isOwned()) - { - infoText = new QListViewItem(m_infoListView, i18n("Houses: %1").arg(m_estate->houses()), QString::number(m_infoListView->childCount())); - infoText->setPixmap(0, QPixmap(SmallIcon("info"))); - - infoText = new QListViewItem(m_infoListView, i18n("Mortgaged: %1").arg(m_estate->isMortgaged() ? i18n("Yes") : i18n("No")), QString::number(m_infoListView->childCount())); - infoText->setPixmap(0, QPixmap(SmallIcon("info"))); - } - } + appendText(text); m_buttonBox = new QHBoxLayout(this, 0, KDialog::spacingHint()); m_mainLayout->addItem(m_buttonBox); m_buttonBox->addItem(new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum)); + + setEstate(estate); + setPaletteBackgroundColor(m_estate ? m_estate->bgColor() : Qt::white); } // TODO: destructor cleaning up all buttons and listviewitems @@ -137,7 +115,7 @@ painter.setPen(Qt::black); - painter.setBrush(m_estate->bgColor()); + painter.setBrush(m_estate ? m_estate->bgColor() : Qt::white); painter.drawRect(rect()); /* @@ -146,74 +124,77 @@ painter.drawPixmap( (width() - icon->width())/2, (height() - icon->height())/2, *icon); */ - int titleHeight = 50; - QColor titleColor = (m_estate->color().isValid() ? m_estate->color() : m_estate->bgColor().light(80)); - - KPixmap* quartzBuffer = new KPixmap; - quartzBuffer->resize(25, (height()/4)-2); - - QPainter quartzPainter; - quartzPainter.begin(quartzBuffer, this); + if (m_estate) + { + int titleHeight = 50; + QColor titleColor = (m_estate->color().isValid() ? m_estate->color() : m_estate->bgColor().light(80)); - painter.setBrush(titleColor); - painter.drawRect(0, 0, width(), titleHeight); + KPixmap* quartzBuffer = new KPixmap; + quartzBuffer->resize(25, (height()/4)-2); - if (m_quartzBlocks) - { - quartzPainter.drawPixmap(0, 0, *m_quartzBlocks); - painter.drawPixmap(1, 1, *quartzBuffer); - } + QPainter quartzPainter; + quartzPainter.begin(quartzBuffer, this); - if (m_estate->houses() > 0) - { - int titleWidth = width()/2; + painter.setBrush(titleColor); + painter.drawRect(0, 0, width(), titleHeight); - if (m_estate->houses() == 5) + if (m_quartzBlocks) { - // Hotel - painter.setBrush(redHotel); - painter.drawRect(2, 2, titleWidth-4, titleHeight-4); + quartzPainter.drawPixmap(0, 0, *m_quartzBlocks); + painter.drawPixmap(1, 1, *quartzBuffer); } - else + + if (m_estate->houses() > 0) { - // Houses - painter.setBrush(greenHouse); - int h = titleHeight-4, w = titleWidth-4; - for ( unsigned int i=0 ; i < m_estate->houses() ; i++ ) - painter.drawRect(2+(i*(w+2)), 2, w, h); - } - } + int titleWidth = width() / 5; - quartzPainter.end(); - delete quartzBuffer; + if (m_estate->houses() == 5) + { + // Hotel + painter.setBrush(redHotel); + painter.drawRect(2, 2, titleWidth-4, titleHeight-4); + } + else + { + // Houses + painter.setBrush(greenHouse); + int h = titleHeight-4, w = titleWidth-4; + for ( unsigned int i=0 ; i < m_estate->houses() ; i++ ) + painter.drawRect(2+(i*(w+2)), 2, w, h); + } + } - // TODO: steal blur code from kicker/taskbar/taskcontainer.cpp + quartzPainter.end(); + delete quartzBuffer; - // Estate name - painter.setPen(Qt::white); - int fontSize = KGlobalSettings::generalFont().pointSize(); - if (fontSize == -1) - fontSize = KGlobalSettings::generalFont().pixelSize(); + // TODO: steal blur code from kicker/taskbar/taskcontainer.cpp - painter.setFont(QFont(KGlobalSettings::generalFont().family(), fontSize * 2, QFont::Bold)); - painter.drawText(KDialog::marginHint(), KDialog::marginHint(), width()-KDialog::marginHint(), titleHeight, Qt::AlignJustify, m_estate->name()); + // Estate name + painter.setPen(Qt::white); + int fontSize = KGlobalSettings::generalFont().pointSize(); + if (fontSize == -1) + fontSize = KGlobalSettings::generalFont().pixelSize(); - painter.setPen(Qt::black); + painter.setFont(QFont(KGlobalSettings::generalFont().family(), fontSize * 2, QFont::Bold)); + painter.drawText(KDialog::marginHint(), KDialog::marginHint(), width()-KDialog::marginHint(), titleHeight, Qt::AlignJustify, m_estate->name()); - int xText = 0; + painter.setPen(Qt::black); - // Estate group - if (m_estate->estateGroup()) - { - xText = titleHeight - fontSize - KDialog::marginHint(); - painter.setFont(QFont(KGlobalSettings::generalFont().family(), fontSize, QFont::Bold)); - painter.drawText(5, xText, width()-10, titleHeight, Qt::AlignRight, m_estate->estateGroup()->name().upper()); - } + int xText = 0; - xText = titleHeight + fontSize + 5; - painter.setFont(QFont(KGlobalSettings::generalFont().family(), fontSize, QFont::Normal)); + // Estate group + if (m_estate->estateGroup()) + { + xText = titleHeight - fontSize - KDialog::marginHint(); + painter.setFont(QFont(KGlobalSettings::generalFont().family(), fontSize, QFont::Bold)); + painter.drawText(5, xText, width()-10, titleHeight, Qt::AlignRight, m_estate->estateGroup()->name().upper()); + } + xText = titleHeight + fontSize + 5; + painter.setFont(QFont(KGlobalSettings::generalFont().family(), fontSize, QFont::Normal)); + } b_recreate = false; + } bitBlt(this, 0, 0, m_pixmap); } @@ -246,7 +227,64 @@ connect(m_closeButton, SIGNAL(pressed()), this, SIGNAL(buttonClose())); } -void EstateDetails::newUpdate(QString text) +void EstateDetails::setEstate(Estate *estate) +{ + if (m_estate != estate) + { + m_estate = estate; + + QString columnText = m_estate ? m_estate->name() : QString::null; + m_infoListView->setColumnText(0, columnText); + + // Price + if (m_estate) + { + QListViewItem *infoText = 0; + + if (m_estate->price()) + { + infoText = new QListViewItem(m_infoListView, i18n("Price: %1").arg(m_estate->price())); + infoText->setPixmap(0, QPixmap(SmallIcon("info"))); + } + + // Owner, houses, isMortgaged + if (m_estate && m_estate->canBeOwned()) + { + infoText = new QListViewItem(m_infoListView, i18n("Owner: %1").arg(m_estate->owner() ? m_estate->owner()->name() : i18n("unowned"))); + infoText->setPixmap(0, QPixmap(SmallIcon("info"))); + + if (m_estate->isOwned()) + { + infoText = new QListViewItem(m_infoListView, i18n("Houses: %1").arg(m_estate->houses())); + infoText->setPixmap(0, QPixmap(SmallIcon("info"))); + + infoText = new QListViewItem(m_infoListView, i18n("Mortgaged: %1").arg(m_estate->isMortgaged() ? i18n("Yes") : i18n("No"))); + infoText->setPixmap(0, QPixmap(SmallIcon("info"))); + } + } + } + + b_recreate = true; + update(); + } +} + +void EstateDetails::setText(QString text) +{ + m_infoListView->clear(); + appendText(text); +} + +void EstateDetails::appendText(QString text) +{ + QListViewItem *infoText = new QListViewItem(m_infoListView, text); + if (text.contains("rolls")) + infoText->setPixmap(0, QPixmap(SmallIcon("roll"))); + else + infoText->setPixmap(0, QPixmap(SmallIcon("atlantik"))); +} + +void EstateDetails::clearButtons() { if (m_closeButton) { @@ -257,17 +295,10 @@ // Delete buttons m_buttons.clear(); m_buttonCommandMap.clear(); - - // Append text - QListViewItem *infoText = new QListViewItem(m_infoListView, text, QString::number(m_infoListView->childCount())); - infoText->setPixmap(0, QPixmap(SmallIcon("atlantik"))); - - // Redraw details - b_recreate = true; - update(); } void EstateDetails::buttonPressed() { emit buttonCommand(QString(m_buttonCommandMap[(QObject *)QObject::sender()])); + clearButtons(); } Index: estatedetails.h =================================================================== RCS file: /home/kde/kdegames/atlantik/libatlantikui/estatedetails.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- estatedetails.h 2002/11/27 21:08:56 1.8 +++ estatedetails.h 2002/11/28 11:59:25 1.9 @@ -37,12 +37,15 @@ Q_OBJECT public: - EstateDetails(QString text, Estate *estate, QWidget *parent, const char *name = 0); + EstateDetails(Estate *estate, QString text, QWidget *parent, const char *name = 0); Estate *estate() { return m_estate; } void addButton(const QString command, const QString caption, bool enabled); void addCloseButton(); - void newUpdate(QString text); + void setEstate(Estate *estate); + void setText(QString text); + void appendText(QString text); + void clearButtons(); protected: void paintEvent(QPaintEvent *); Index: token.cpp =================================================================== RCS file: /home/kde/kdegames/atlantik/libatlantikui/token.cpp,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- token.cpp 2002/07/22 22:07:30 1.30 +++ token.cpp 2002/11/28 11:59:25 1.31 @@ -41,7 +41,9 @@ m_player = player; connect(m_player, SIGNAL(changed(Player *)), this, SLOT(playerChanged())); + m_location = 0; setLocation(location, false); + m_destination = 0; m_inJail = false; --- display_widget.cpp DELETED --- --- display_widget.h DELETED --- _______________________________________________ atlantik-cvs mailing list atlantik-cvs@mail.kde.org http://mail.kde.org/mailman/listinfo/atlantik-cvs