1
/*****************************************************************
2
* Unipro UGENE - Integrated Bioinformatics Suite
3
* Copyright (C) 2008 Unipro, Russia (http://ugene.unipro.ru)
6
* This source code is distributed under the terms of the
7
* GNU General Public License. See the files COPYING and LICENSE
9
*****************************************************************/
11
#include "ProjectDocumentComboBoxController.h"
13
#include <core_api/ProjectModel.h>
17
ProjectDocumentComboBoxController::ProjectDocumentComboBoxController(Project* _p, QComboBox* _cb,
18
QObject* parent, const DocumentFilter* f)
19
: QObject(parent), p(_p), cb(_cb), filter(f)
22
cb->setInsertPolicy(QComboBox::InsertAlphabetically);
24
connect(p, SIGNAL(si_documentAdded(Document*)), SLOT(sl_onDocumentAdded(Document*)));
25
connect(p, SIGNAL(si_documentRemoved(Document*)), SLOT(sl_onDocumentRemoved(Document*)));
26
foreach(Document* d, p->getDocuments()) {
27
if (filter->matches(d)) {
33
ProjectDocumentComboBoxController::~ProjectDocumentComboBoxController() {
36
void ProjectDocumentComboBoxController::sl_onDocumentAdded(Document* d) {
37
if (filter->matches(d)) {
42
void ProjectDocumentComboBoxController::sl_onDocumentRemoved(Document* d) {
47
void ProjectDocumentComboBoxController::addDocument(Document* d) {
48
cb->addItem(d->getURL());
51
void ProjectDocumentComboBoxController::removeDocument(Document* d) {
52
int i =cb->findText(d->getURL());
58
void ProjectDocumentComboBoxController::selectDocument(const QString& url) {
59
int i = cb->findText(url);
61
cb->setCurrentIndex(i);
65
void ProjectDocumentComboBoxController::selectDocument(Document* d) {
66
assert(filter->matches(d));
67
selectDocument(d->getURL());
70
Document* ProjectDocumentComboBoxController::getDocument() const {
71
QString url = cb->currentText();
75
Document* doc = p->findDocumentByURL(url);