void specFilterGenerator::setReference(const QMap<double, double> &ref) { reference = ref ; if (ref.isEmpty()) referenceInterval = QwtInterval() ; else referenceInterval.setInterval(ref.begin().key(), (ref.end() -1).key()); refreshRanges(); }
void BtSearchOptionsArea::initView() { namespace DU = util::directory; QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); this->setSizePolicy(sizePolicy); hboxLayout = new QHBoxLayout(this); searchGroupBox = new QGroupBox(this); gridLayout = new QGridLayout(searchGroupBox); gridLayout->setHorizontalSpacing(3); // ******** label for search text editor*********** m_searchTextLabel = new QLabel(tr("Search for:"), searchGroupBox); m_searchTextLabel->setWordWrap(false); gridLayout->addWidget(m_searchTextLabel, 0, 0); // **********Buttons****************** m_searchButton = new QPushButton(this); m_searchButton->setText(tr("&Search")); m_searchButton->setIcon(DU::getIcon(CResMgr::searchdialog::icon)); m_searchButton->setToolTip(tr("Start to search the text in the chosen works")); gridLayout->addWidget(m_searchButton, 0, 2); m_chooseModulesButton = new QPushButton(tr("Ch&oose..."), searchGroupBox); m_chooseModulesButton->setIcon(DU::getIcon(CResMgr::searchdialog::chooseworks_icon)); m_chooseModulesButton->setToolTip( tr("Choose works for the search")); gridLayout->addWidget(m_chooseModulesButton, 2, 2); m_chooseRangeButton = new QPushButton(tr("S&etup..."), searchGroupBox); m_chooseRangeButton->setIcon(DU::getIcon(CResMgr::searchdialog::setupscope_icon)); m_chooseRangeButton->setToolTip(tr("Configure predefined scopes for search")); gridLayout->addWidget(m_chooseRangeButton, 3, 2); // ************* Search type (AND/OR) selector *************************************** QHBoxLayout* typeSelectorLayout = new QHBoxLayout(); int tsLeft, tsTop, tsRight, tsBottom; // Added space looks nicer and enhances readability typeSelectorLayout->getContentsMargins(&tsLeft, &tsTop, &tsRight, &tsBottom); typeSelectorLayout->setContentsMargins(tsLeft, 0, tsRight, tsBottom + util::tool::mWidth(this, 1) ); typeSelectorLayout->setSpacing(typeSelectorLayout->spacing() + util::tool::mWidth(this, 1)); QHBoxLayout* fullButtonLayout = new QHBoxLayout(); fullButtonLayout->setSpacing(util::tool::mWidth(this, 1) / 2); m_typeAndButton = new QRadioButton(tr("All words")); m_typeAndButton->setChecked(true); m_typeOrButton = new QRadioButton(tr("Some words")); m_typeFreeButton = new QRadioButton(tr("Free")); m_typeAndButton->setToolTip(tr("All of the words (AND is added between the words)")); m_typeOrButton->setToolTip(tr("Some of the words (OR is added between the words)")); m_typeFreeButton->setToolTip(tr("Full lucene syntax")); m_helpLabel = new QLabel(tr(" (<a href='syntax_help'>full syntax</a>)")); m_helpLabel->setToolTip(tr("Click the link to get help for search syntax")); typeSelectorLayout->addWidget(m_typeAndButton); typeSelectorLayout->addWidget(m_typeOrButton); fullButtonLayout->addWidget(m_typeFreeButton); fullButtonLayout->addWidget(m_helpLabel); typeSelectorLayout->addLayout(fullButtonLayout); gridLayout->addLayout(typeSelectorLayout, 1, 1, 1, -1, Qt::AlignLeft | Qt::AlignTop); // ************* Label for search range/scope selector ************* m_searchScopeLabel = new QLabel(tr("Scope:"), searchGroupBox); m_searchScopeLabel->setWordWrap(false); gridLayout->addWidget(m_searchScopeLabel, 3, 0); // ***********Range/scope selector combo box*********** m_rangeChooserCombo = new QComboBox(searchGroupBox); QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Fixed); sizePolicy2.setHorizontalStretch(0); sizePolicy2.setVerticalStretch(0); sizePolicy2.setHeightForWidth(m_rangeChooserCombo->sizePolicy().hasHeightForWidth()); m_rangeChooserCombo->setSizePolicy(sizePolicy2); m_rangeChooserCombo->setToolTip(tr("Choose the scope (books/chapters/verses to search in).<br />Applicable for Bibles and commentaries.")); gridLayout->addWidget(m_rangeChooserCombo, 3, 1); // ************* Search text combo box ******************* m_searchTextCombo = new CHistoryComboBox(searchGroupBox); sizePolicy2.setHeightForWidth(m_searchTextCombo->sizePolicy().hasHeightForWidth()); m_searchTextCombo->setSizePolicy(sizePolicy2); m_searchTextCombo->setFocusPolicy(Qt::WheelFocus); m_searchTextCombo->setProperty("sizeLimit", QVariant(25)); m_searchTextCombo->setProperty("duplicatesEnabled", QVariant(false)); m_searchTextCombo->setToolTip(tr("The text you want to search for")); m_searchTextCombo->setInsertPolicy(QComboBox::NoInsert); gridLayout->addWidget(m_searchTextCombo, 0, 1); m_modulesLabel = new QLabel(tr("Works:"), searchGroupBox); gridLayout->addWidget(m_modulesLabel, 2, 0); m_modulesCombo = new QComboBox(searchGroupBox); m_modulesCombo->setDuplicatesEnabled(false); gridLayout->addWidget(m_modulesCombo, 2, 1); hboxLayout->addWidget(searchGroupBox); // Set the minimum size before the widgets are populated with data. // Otherwise we will get problems with sizing. setMinimumSize(minimumSizeHint()); refreshRanges(); //set the initial focus m_searchTextCombo->setFocus(); // event filter to prevent the Return/Enter presses in the combo box doing something // in the parent widget m_searchTextCombo->installEventFilter(this); }