Мегаобучалка Главная | О нас | Обратная связь


Листинг functionUser.cpp



2016-01-05 386 Обсуждений (0)
Листинг functionUser.cpp 0.00 из 5.00 0 оценок




 

functionUser.cpp
#include "functionUser.h" #include "ui_workWindowPoster.h" #include <stdlib.h>   FunctionUser::FunctionUser(QLinkedList<User *> *_users, User *_current, QWidget *parent): FunctionGuest(_users, parent) { windowFunctionTabPostersHiring = new QWidget(parent); windowFunctionTabPostersRent = new QWidget(parent);   uiMyTabPostersHiring.setupUi(windowFunctionTabPostersHiring); uiMyTabPostersRent.setupUi(windowFunctionTabPostersRent);   uiTabPostersHiring.setupUi(uiMyTabPostersHiring.windowTabPosterHiring); uiTabPostersRent.setupUi(uiMyTabPostersRent.windowTabPosterRent);   uiFunction.tabWidget->addTab(windowFunctionTabPostersHiring, windowFunctionTabPostersHiring->windowTitle()); uiFunction.tabWidget->addTab(windowFunctionTabPostersRent, windowFunctionTabPostersRent->windowTitle());   uiFunction.delAccountButton->show(); current = _current;     fillPosterTableHiring(); fillPosterTableRent();   viewButtonHiring(false); viewButtonRent(false);   QObject::connect(uiMyTabPostersHiring.addPosterButton, SIGNAL(clicked()), SLOT(slotAddPosterHiring())); QObject::connect(uiMyTabPostersRent.addPosterButton, SIGNAL(clicked()), SLOT(slotAddPosterRent())); QObject::connect(uiMyTabPostersHiring.savePostersButton, SIGNAL(clicked()), SLOT(slotSavePosterHiring())); QObject::connect(uiMyTabPostersRent.savePostersButton, SIGNAL(clicked()), SLOT(slotSavePosterRent())); QObject::connect(uiMyTabPostersHiring.delPosterButton, SIGNAL(clicked()), SLOT(slotDeleteMyPosterHiring())); QObject::connect(uiMyTabPostersRent.delPosterButton, SIGNAL(clicked()), SLOT(slotDeleteMyPosterRent())); QObject::connect(uiMyTabPostersHiring.editPosterButton, SIGNAL(clicked()), SLOT(slotEditPosterHiring())); QObject::connect(uiMyTabPostersRent.editPosterButton, SIGNAL(clicked()), SLOT(slotEditPosterRent())); QObject::connect(uiFunction.delAccountButton, SIGNAL(clicked()), SLOT(slotDelMyAccount())); QObject::connect(uiTabPostersHiring.tableWidget, SIGNAL(cellClicked(int,int)), SLOT(slotViewButtonHiring())); QObject::connect(uiTabPostersRent.tableWidget, SIGNAL(cellClicked(int,int)), SLOT(slotViewButtonRent())); }     void FunctionUser::viewButtonHiring(const bool &fl) { if(fl) { uiMyTabPostersHiring.editPosterButton->setEnabled(true); uiMyTabPostersHiring.delPosterButton->setEnabled(true); } else { uiMyTabPostersHiring.editPosterButton->setEnabled(false); uiMyTabPostersHiring.delPosterButton->setEnabled(false); } }   void FunctionUser::viewButtonRent(const bool &fl) { if(fl) { uiMyTabPostersRent.editPosterButton->setEnabled(true); uiMyTabPostersRent.delPosterButton->setEnabled(true); } else { uiMyTabPostersRent.editPosterButton->setEnabled(false); uiMyTabPostersRent.delPosterButton->setEnabled(false); } }   void FunctionUser::slotViewButtonHiring() { viewButtonHiring(true); }   void FunctionUser::slotViewButtonRent() { viewButtonRent(false); }   void FunctionUser::fillPosterTableHiring() { QLinkedList<PosterHiring *>::Iterator passage; passage = current->getPostersHiring()->begin(); while(passage != current->getPostersHiring()->end()) { uiTabPostersHiring.tableWidget->insertRow(uiTabPostersHiring.tableWidget->rowCount()); addInTablePosterHiring(uiTabPostersHiring.tableWidget, *passage, uiTabPostersHiring.tableWidget->rowCount() - 1); ++passage; } }   void FunctionUser::fillPosterTableRent() { QLinkedList<PosterRent *>::Iterator passage; passage = current->getPostersRent()->begin(); while(passage != current->getPostersRent()->end()) { uiTabPostersRent.tableWidget->insertRow(uiTabPostersRent.tableWidget->rowCount()); addInTablePosterRent(uiTabPostersRent.tableWidget, *passage, uiTabPostersRent.tableWidget->rowCount() - 1); ++passage; } }   FunctionUser::~FunctionUser() { delete windowFunctionTabPostersHiring; delete windowFunctionTabPostersRent; }   void FunctionUser::readPosterHiring(PosterHiring *poster, const QString &login, const QLineEdit *city, const QLineEdit *area, const QLineEdit *nPhone, const QComboBox *nRoom, const QCheckBox *furtiture, const QCheckBox *animal, const QComboBox *tenant, const QLineEdit *price) { poster->setLogin(login); poster->setCity(city->text()); poster->setArea(area->text()); poster->setNumberPhone(nPhone->text()); poster->setSumRoom(nRoom->currentText()); poster->setFurtiture(furtiture->isChecked()); poster->setAnimal(animal->isChecked()); poster->setTenant(tenant->currentText()); poster->setPrice(price->text().toInt()); }   void FunctionUser::readPosterRent(PosterRent *poster, const QString &login, const QLineEdit *city, const QLineEdit *area, const QLineEdit *street, const QLineEdit *home, const QSpinBox *floor, const QLineEdit *nPhone, const QComboBox *nRoom, const QCheckBox *furtiture, const QCheckBox *animal, const QComboBox *tenant, const QLineEdit *price) { readPosterHiring(poster, login, city, area, nPhone, nRoom, furtiture, animal, tenant, price); poster->setStreet(street->text()); poster->setHome(home->text()); poster->setNumberFloor(floor->value()); } bool FunctionUser::isEmptyPosterHiring(const QLineEdit *city, const QLineEdit *area, const QLineEdit *price) { if(city->text().isEmpty()) return false;   if(area->text().isEmpty()) return false;   if(price->text().isEmpty()) return false;   return true; }   bool FunctionUser::isEmptyPosterRent(const QLineEdit *city, const QLineEdit *area, const QLineEdit *street, const QLineEdit *home, const QLineEdit *price) { if(!isEmptyPosterHiring(city, area, price)) return false;   if(street->text().isEmpty()) return false;   if(home->text().isEmpty()) return false;   return true; }     void FunctionUser::slotAddPosterHiring() { QDialog *window = new QDialog(this); PosterHiring *poster;   Ui::workWindowPoster uiWindow; Ui::posterHiring ui;   uiWindow.setupUi(window); ui.setupUi(uiWindow.windowPoster);   QObject::connect(uiWindow.okButton, SIGNAL(clicked()), window, SLOT(accept())); QObject::connect(uiWindow.cancelButton, SIGNAL(clicked()), window, SLOT(reject()));   while(window->exec()) { if(isEmptyPosterHiring(ui.cityLineEdit, ui.areaLineEdit, ui.priceLineEdit)) { poster = new PosterHiring; readPosterHiring(poster, current->getLogin(), ui.cityLineEdit, ui.areaLineEdit, ui.nPhoneLineEdit, ui.sRoomComboBox, ui.furtitureCheckBox, ui.animalCheckBox, ui.tenantComboBox, ui.priceLineEdit); uiTabPostersHiring.tableWidget->insertRow(uiTabPostersHiring.tableWidget ->rowCount()); addInTablePosterHiring(uiTabPostersHiring.tableWidget, poster, uiTabPostersHiring.tableWidget->rowCount() - 1); current->getPostersHiring()->push_back(poster); break; } else QMessageBox::information(this, tr("clear string"), tr("SORRY, clear string"), QMessageBox::Ok); } delete window; viewButtonHiring(false); uiTabPostersHiring.tableWidget->selectionModel()->clearSelection(); }   void FunctionUser::slotAddPosterRent() { QDialog *window = new QDialog(this); PosterRent *poster;   Ui::workWindowPoster uiWindow; Ui::posterRent ui;   uiWindow.setupUi(window); ui.setupUi(uiWindow.windowPoster);   QObject::connect(uiWindow.okButton, SIGNAL(clicked()), window, SLOT(accept())); QObject::connect(uiWindow.cancelButton, SIGNAL(clicked()), window, SLOT(reject()));   while(window->exec()) { if(isEmptyPosterRent(ui.cityLineEdit, ui.areaLineEdit, ui.streetLineEdit, ui.nHomeLineEdit, ui.priceLineEdit)) { poster = new PosterRent; readPosterRent(poster, current->getLogin(), ui.cityLineEdit, ui.areaLineEdit, streetLineEdit, ui.nHomeLineEdit, ui.floorSpinBox, ui.nPhoneLineEdit, ui.sRoomComboBox, ui.furtitureCheckBox, ui.animalCheckBox, ui.tenantComboBox, ui.priceLineEdit); uiTabPostersRent.tableWidget->insertRow(uiTabPostersRent.tableWidget->rowCount()); addInTablePosterRent(uiTabPostersRent.tableWidget, poster, uiTabPostersRent.tableWidget->rowCount() - 1); current->getPostersRent()->push_back(poster); break; } else QMessageBox::information(this, tr("clear string"), tr("SORRY, clear string"), QMessageBox::Ok); } delete window; viewButtonRent(false); uiTabPostersRent.tableWidget->selectionModel()->clearSelection(); }   void FunctionUser::setPosterHiringInFile(PosterHiring *poster, QDataStream &in) { in << poster->getLogin(); in << poster->getCity(); in << poster->getArea(); in << poster->getNumberPhone(); in << poster->getPrice(); in << poster->getFurtiture(); in << poster->getAnimal(); in << poster->getSumRoom(); in << poster->getTenant(); }   void FunctionUser::setPosterRentInFile(PosterRent *poster, QDataStream &in) { setPosterHiringInFile(poster, in);   in << poster->getStreet(); in << poster->getHome(); in << poster->getNumberFloor(); }     void FunctionUser::slotSavePosterHiring() { QFile *file = new QFile("posterHiring.bin"); file->open(QIODevice::WriteOnly); QDataStream in(file); QLinkedList<User *>::Iterator passageUser = users->begin(); QLinkedList<PosterHiring *>::Iterator passagePoster;   while(passageUser != users->end()) { passagePoster = (*passageUser)->getPostersHiring()->begin(); while(passagePoster != (*passageUser)->getPostersHiring()->end()) { setPosterHiringInFile((*passagePoster), in); ++passagePoster; } ++passageUser; } file->close(); delete file; uiTabPostersHiring.tableWidget->selectionModel()->clearSelection(); }   void FunctionUser::slotSavePosterRent() { QFile *file = new QFile("posterRent.bin"); file->open(QIODevice::WriteOnly); QDataStream in(file);   QLinkedList<User *>::Iterator passageUser = users->begin(); QLinkedList<PosterRent *>::Iterator passagePoster;     while(passageUser != users->end()) { passagePoster = (*passageUser)->getPostersRent()->begin(); while(passagePoster != (*passageUser)->getPostersRent()->end()) { setPosterRentInFile((*passagePoster), in); ++passagePoster; } ++passageUser; } file->close(); delete file; uiTabPostersRent.tableWidget->selectionModel()->clearSelection(); }   void FunctionUser::slotDeleteMyPosterHiring() { QLinkedList<PosterHiring *>::Iterator passage = current->getPostersHiring()->begin(); int row;   for(row = 0; row < uiTabPostersHiring.tableWidget->currentRow(); ++row) ++passage;   current->getPostersHiring()->erase(passage); uiTabPostersHiring.tableWidget->removeRow(row); viewButtonHiring(false); uiTabPostersHiring.tableWidget->selectionModel()->clearSelection(); }   void FunctionUser::slotDeleteMyPosterRent() { QLinkedList<PosterRent *>::Iterator passage = current->getPostersRent()->begin(); int row; for(row = 0; row < uiTabPostersRent.tableWidget->currentRow(); ++row) ++passage;   current->getPostersRent()->erase(passage); uiTabPostersRent.tableWidget->removeRow(row); viewButtonRent(false); uiTabPostersRent.tableWidget->selectionModel()->clearSelection(); }   void FunctionUser::writePosterTiItemsHiring(PosterHiring *poster, QLineEdit *city, QLineEdit *area, QLineEdit *nPhone, QComboBox *nRoom, QCheckBox *furtiture, QCheckBox *animal, QComboBox *tenant, QLineEdit *price) { int i = 0;   city->setText(poster->getCity()); area->setText(poster->getArea()); nPhone->setText(poster->getNumberPhone());   for(i = 0; nRoom->currentText() != poster->getSumRoom(); nRoom->setCurrentIndex(++i));   furtiture->setChecked(poster->getFurtiture()); animal->setChecked(poster->getAnimal());   for(i = 0; tenant->currentText() != poster->getTenant(); tenant->setCurrentIndex(++i));   price->setText(QString("%1").arg(poster->getPrice())); }   void FunctionUser::writePosterTiItemsRent(PosterRent *poster, QLineEdit *city, QLineEdit *area, QLineEdit *street, QLineEdit *home, QSpinBox *floor, QLineEdit *nPhone, QComboBox *nRoom, QCheckBox *furtiture, QCheckBox *animal, QComboBox *tenant, QLineEdit *price) { writePosterTiItemsHiring(poster, city, area, nPhone, nRoom, furtiture, animal, tenant, price); street->setText(poster->getStreet()); home->setText(poster->getHome()); floor->setValue(poster->getNumberFloor()); }   void FunctionUser::slotEditPosterHiring() { QLinkedList<PosterHiring *>::Iterator passage = current->getPostersHiring()->begin(); int row;   for(row = 0; row < uiTabPostersHiring.tableWidget->currentRow(); ++row) ++passage;   QDialog *window = new QDialog(this); Ui::workWindowPoster uiWindow; uiWindow.setupUi(window);   QObject::connect(uiWindow.okButton, SIGNAL(clicked()), window, SLOT(accept())); QObject::connect(uiWindow.cancelButton, SIGNAL(clicked()), window, SLOT(reject()));   Ui::posterHiring ui; ui.setupUi(uiWindow.windowPoster);   writePosterTiItemsHiring(*passage, ui.cityLineEdit, ui.areaLineEdit, ui.nPhoneLineEdit, ui.sRoomComboBox, ui.furtitureCheckBox, ui.animalCheckBox, ui.tenantComboBox, ui.priceLineEdit);   if(window->exec()) { readPosterHiring(*passage, current->getLogin(),ui.cityLineEdit, ui.areaLineEdit, ui.nPhoneLineEdit, ui.sRoomComboBox, ui.furtitureCheckBox, ui.animalCheckBox, ui.tenantComboBox, ui.priceLineEdit); uiTabPostersHiring.tableWidget->removeRow(row); uiTabPostersHiring.tableWidget->insertRow(row); addInTablePosterHiring(uiTabPostersHiring.tableWidget, *passage, row); } delete window; viewButtonHiring(false); uiTabPostersHiring.tableWidget->selectionModel()->clearSelection(); }   void FunctionUser::slotEditPosterRent() { QLinkedList<PosterRent *>::Iterator passage = current->getPostersRent()->begin(); int row;   for(row = 0; row < uiTabPostersRent.tableWidget->currentRow(); ++row) ++passage;   QDialog *window = new QDialog(this); Ui::workWindowPoster uiWindow; uiWindow.setupUi(window);   QObject::connect(uiWindow.okButton, SIGNAL(clicked()), window, SLOT(accept())); QObject::connect(uiWindow.cancelButton, SIGNAL(clicked()), window, SLOT(reject()));   Ui::posterRent ui; ui.setupUi(uiWindow.windowPoster);   writePosterTiItemsRent(*passage, ui.cityLineEdit, ui.areaLineEdit, ui.streetLineEdit, ui.nHomeLineEdit, ui.floorSpinBox, ui.nPhoneLineEdit, ui.sRoomComboBox, ui.furtitureCheckBox, ui.animalCheckBox, ui.tenantComboBox, ui.priceLineEdit);   if(window->exec()) { readPosterRent(*passage, current->getLogin(),ui.cityLineEdit, ui.areaLineEdit, ui.streetLineEdit, ui.nHomeLineEdit, ui.floorSpinBox, ui.nPhoneLineEdit, ui.sRoomComboBox, ui.furtitureCheckBox, ui.animalCheckBox, ui.tenantComboBox, ui.priceLineEdit);   uiTabPostersRent.tableWidget->removeRow(row); uiTabPostersRent.tableWidget->insertRow(row); addInTablePosterRent(uiTabPostersRent.tableWidget, *passage, row); } delete window; viewButtonRent(false); uiTabPostersRent.tableWidget->selectionModel()->clearSelection(); }   void FunctionUser::slotDelMyAccount() { QLinkedList<User *>::Iterator passage = users->begin(); while( (*passage) != current ) ++passage; users->erase(passage); slotSavePosterHiring(); slotSavePosterRent(); exit(1); }  

 



2016-01-05 386 Обсуждений (0)
Листинг functionUser.cpp 0.00 из 5.00 0 оценок









Обсуждение в статье: Листинг functionUser.cpp

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (386)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)