/*virtual void fileDialogSelectNameFilter(QFileDialog *qfd, const QString &filter) { K_FD(qfd); }*/ virtual QString fileDialogSelectedNameFilter(const QFileDialog *qfd) const { K_FD(qfd); Q_ASSERT(kdefd); QString ret; kde2QtFilter(qfd->nameFilters().join(";;"), kdefd->currentFilter(), &ret); return ret; }
/** * @brief Covariance matrix between the functional and derivative training data * or its partial derivative * @note It calls the protected general member function, * CovSEisoDerObsBase::K_FD(const Hyp &logHyp, const MatrixConstPtr pSqDist, const MatrixConstPtr pDelta, const int pdHypIndex = -1) * which only depends on pair-wise squared distances and differences. * @param [in] logHyp The log hyperparameters * - logHyp(0) = \f$\log(l)\f$ * - logHyp(1) = \f$\log(\sigma_f)\f$ * @param [in] derivativeTrainingData The functional and derivative training data * @param [in] coord_j The partial derivative coordinate of Z * @param [in] pdHypIndex (Optional) Hyperparameter index for partial derivatives * - pdHypIndex = -1: return \f$\frac{\partial \mathbf{K}(\mathbf{X}, \mathbf{Z})}{\partial \mathbf{Z}_j}\f$ (default) * - pdHypIndex = 0: return \f$\frac{\partial^2 \mathbf{K}(\mathbf{X}, \mathbf{Z})}{\partial \log(l) \partial \mathbf{Z}_j}\f$ * - pdHypIndex = 1: return \f$\frac{\partial^2 \mathbf{K}(\mathbf{X}, \mathbf{Z})}{\partial \log(\sigma_f) \partial \mathbf{Z}_j}\f$ * @return An NNxNN matrix pointer\n * NN: The number of functional and derivative training data */ static MatrixPtr K_FD(const Hyp &logHyp, DerivativeTrainingData<Scalar> &derivativeTrainingData, const int coord_j, const int pdHypIndex) { return K_FD(logHyp, derivativeTrainingData.pSqDistXXd(), derivativeTrainingData.pDeltaXXd(coord_j), pdHypIndex); }
/** * @brief Cross covariance matrix between the derivative and functional training data * @note It calls the protected static member function, CovSEisoDerObsBase::K_FD * to utilize the symmetry property. * @param [in] logHyp The log hyperparameters * - logHyp(0) = \f$\log(l)\f$ * - logHyp(1) = \f$\log(\sigma_f)\f$ * @param [in] derivativeTrainingData The functional and derivative training data * @param [in] testData The test data * @param [in] coord_i The partial derivative coordinate of X * @return An NNxNN matrix pointer, \f$\frac{\partial \mathbf{K}_*(\mathbf{X}, \mathbf{X}_*)}{\partial \mathbf{X}_i} = \mathbf{K}(\mathbf{X}, \mathbf{Z})\f$\n * NN: The number of functional and derivative training data */ static MatrixPtr Ks_DF(const Hyp &logHyp, const DerivativeTrainingData<Scalar> &derivativeTrainingData, const TestData<Scalar> &testData, const int coord_i) { // squared distance: FD MatrixPtr pSqDistXsXd = derivativeTrainingData.pSqDistXdXs(testData); pSqDistXsXd->transposeInPlace(); // delta: FD MatrixPtr pDeltaXsXd = derivativeTrainingData.pDeltaXdXs(testData, coord_i); pDeltaXsXd->transposeInPlace(); (*pDeltaXsXd) *= static_cast<Scalar>(-1.f); // K_DF MatrixPtr K = K_FD(logHyp, pSqDistXsXd, pDeltaXsXd); K->transposeInPlace(); return K; }
virtual bool fileDialogSetVisible(QFileDialog *qfd, bool visible) { K_FD(qfd); if (!kdefd && visible) { if(qfd->options() & QFileDialog::DontUseNativeDialog) return false; kdefd = new KFileDialogBridge(KUrl::fromPath(qfd->directory().canonicalPath()), qt2KdeFilter(qfd->nameFilters().join(";;")), qfd); qfd->setProperty("_k_bridge", QVariant::fromValue(kdefd)); } if (visible) { switch (qfd->fileMode()) { case QFileDialog::AnyFile: kdefd->setMode(KFile::LocalOnly | KFile::File); break; case QFileDialog::ExistingFile: kdefd->setMode(KFile::LocalOnly | KFile::File | KFile::ExistingOnly); break; case QFileDialog::ExistingFiles: kdefd->setMode(KFile::LocalOnly | KFile::Files | KFile::ExistingOnly); break; case QFileDialog::Directory: case QFileDialog::DirectoryOnly: kdefd->setMode(KFile::LocalOnly | KFile::Directory); break; } kdefd->setOperationMode((qfd->acceptMode() == QFileDialog::AcceptSave) ? KFileDialog::Saving : KFileDialog::Opening); kdefd->setCaption(qfd->windowTitle()); kdefd->setConfirmOverwrite(qfd->confirmOverwrite()); kdefd->setSelection(qfd->selectedFiles().value(0)); } kdefd->setVisible(visible); return true; }
/*virtual void fileDialogSetFilter(QFileDialog *qfd) { K_FD(qfd); }*/ virtual void fileDialogSetNameFilters(QFileDialog *qfd, const QStringList &filters) { K_FD(qfd); Q_ASSERT(kdefd); kdefd->setFilter(qt2KdeFilter(filters.join(";;"))); }
virtual QStringList fileDialogSelectedFiles(const QFileDialog *qfd) const { K_FD(qfd); Q_ASSERT(kdefd); return kdefd->selectedFiles(); }
virtual void fileDialogSelectFile(QFileDialog *qfd, const QString &filename) { K_FD(qfd); Q_ASSERT(kdefd); kdefd->setSelection(filename); }
virtual QString fileDialogDirectory(const QFileDialog *qfd) const { K_FD(qfd); Q_ASSERT(kdefd); return kdefd->baseUrl().pathOrUrl(); }
virtual void fileDialogSetDirectory(QFileDialog *qfd, const QString &directory) { K_FD(qfd); kdefd->setUrl(KUrl::fromPath(directory)); }
virtual QDialog::DialogCode fileDialogResultCode(QFileDialog *qfd) { K_FD(qfd); Q_ASSERT(kdefd); return QDialog::DialogCode(kdefd->result()); }
virtual void fileDialogDelete(QFileDialog *qfd) { K_FD(qfd); delete kdefd; }