/* * --------------------------------------------------------- * Setups * --------------------------------------------------------- */ void MainWindow::createWindow() { QWidget *w = new QWidget; setCentralWidget(w); _playBox = new PlayBox(this); _tracklist = new Tracklist(this); _playlist = new Playlist(_tracklist, this); _colourMapDisplay = new ColourMapDisplay(this); _display = new GridDisplay(600, _tracklist, _dataGrid, this); QGridLayout *gridLayout = new QGridLayout; //fromRow, fromCol, rowSpan, colSpan gridLayout->addWidget( _display, 0, 0, 4, 1); QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(new QLabel(tr("Playlists"))); vbox->addWidget(_playlist); vbox->addWidget(new QLabel(tr("Track list"))); vbox->addWidget(_tracklist); vbox->addWidget(_colourMapDisplay); gridLayout->addLayout(vbox,1,1,1,1); connect(_display, SIGNAL(playingTrack(MusicTrack*)), this, SLOT(updateCurrentlyPlaying(MusicTrack*))); connect(this, SIGNAL(libraryUpdated()), _playlist, SLOT(updatePlaylist())); connect(this, SIGNAL(libraryUpdated()), _display, SLOT(reload())); connect(this, SIGNAL(openPredictGridFile(QString)), _display, SLOT(openPredictionGrid(QString))); connect(this, SIGNAL(savePredictGridFile(QString)), _display, SLOT(savePredictionGrid(QString))); connect(this, SIGNAL(playModeChanged()), _display, SLOT(playModeChanged())); connect(this, SIGNAL(cancelButtonSignal()), _display, SLOT(cancelButton())); connect(_display, SIGNAL(fullScreenMode(bool)), this, SLOT(fullScreenMode(bool))); connect(this, SIGNAL(fullScreenModeOff()), _display, SLOT(fullScreenMouse())); connect(_playlist, SIGNAL(SelectedPlaylist(QString)), _display, SLOT(playlistSelected(QString))); connect(_display, SIGNAL(updateColourMap(int *, int)), _colourMapDisplay, SLOT(updateSquare(int *, int))); connect(this, SIGNAL(resetGrid()), _display, SLOT(resetGrid())); w->setLayout(gridLayout); statusBar()->showMessage(tr("Ready")); }
GridDisplay::GridDisplay(int winSize, Tracklist *tracklist, Grid* grid_, QWidget *parent) : MyDisplay(tracklist, parent), _winSize(winSize) { this->grid_ = grid_; _cellSize = grid_->getCellSize(_winSize); setMinimumSize(winSize, winSize); setMouseTracking(true); setAcceptDrops(true); squareHasInitialized.resize(grid_->getHeight() * grid_->getWidth()); for(int i = 0; i < grid_->getHeight() * grid_->getWidth(); i++) squareHasInitialized[i] = false; oldXPos = -1; oldYPos = -1; oldX1Pos = -1; oldY1Pos = -1; fullScreenMouseOn = false; initDone = false; fullScreenTimer = new QTimer(this); fullScreenTimer->setInterval(150); colourMapMode_ = false; connect(this, SIGNAL(clearMode()), grid_, SLOT(clearMode())); connect(this, SIGNAL(extractMode()), grid_, SLOT(setExtractMode())); connect(this, SIGNAL(trainMode()), grid_, SLOT(setTrainMode())); connect(this, SIGNAL(predictMode()), grid_, SLOT(setPredictMode())); connect(this, SIGNAL(initMode()), grid_, SLOT(setInitMode())); connect(this, SIGNAL(savePredictionGridSignal(QString)), grid_, SLOT(savePredictionGrid(QString))); connect(this, SIGNAL(openPredictionGridSignal(QString)), grid_, SLOT(openPredictionGrid(QString))); connect(grid_, SIGNAL(repaintSignal()), this, SLOT(repaintSlot())); connect(this, SIGNAL(cancelButtonPressed()), grid_, SLOT(cancelPressed())); connect(this, SIGNAL(hashLoadPressed()), grid_, SLOT(openHash())); connect(fullScreenTimer, SIGNAL(timeout()), this, SLOT(fullScreenMouseMove())); connect(grid_, SIGNAL(errorBox(QString)), this, SLOT(showErrorMessage(QString))); connect(this, SIGNAL(resetGridAction()), grid_, SLOT(resetGridSlot())); }