// Analysis name
QLabel *analysisNameLabel = new QLabel(tr("Analysis Name"));
analysisNameLabel->setBuddy(analysisNameLineEdit);
+ analysisNameLabel->setWhatsThis("Meaningful name for your analysis ");
+ analysisNameLineEdit->setWhatsThis("Meaningful name for your analysis ");
// Window
windowEdit->setMinimum(1);
windowEdit->setValue(30);
+ windowEdit->setWhatsThis("Sliding window size to use in analysis.\n\nSee Mussagl Manual for more information by selecting the 'Help > Mussagl Manual' menu option. ");
QLabel *windowLabel = new QLabel(tr("Window (nt)"));
windowLabel->setBuddy(windowEdit);
+ windowLabel->setWhatsThis("Sliding window size to use in analysis.\n\nSee Mussagl Manual for more information by selecting the 'Help > Mussagl Manual' menu option. ");
// Threshold
thresholdEdit->setMinimum(1);
thresholdEdit->setMaximum(windowEdit->value());
thresholdEdit->setValue(21);
+ thresholdEdit->setWhatsThis("Threshold of minimum number of matches required in a window to be considered a match.\n\nSee Mussagl Manual for more information by selecting the 'Help > Mussagl Manual' menu option. ");
QLabel *thresholdLabel = new QLabel(tr("Threshold (nt)"));
thresholdLabel->setBuddy(thresholdEdit);
+ thresholdLabel->setWhatsThis("Threshold of minimum number of matches required in a window to be considered a match.\n\nSee Mussagl Manual for more information by selecting the 'Help > Mussagl Manual' menu option. ");
connect(windowEdit, SIGNAL(valueChanged(int)),
this, SLOT(updateThreshold(int)));
// Number of sequences
QLabel *numOfSequencesLabel = new QLabel(tr("Number of sequences"));
numOfSequencesLabel->setBuddy(numOfSequencesSpinBox);
+ numOfSequencesLabel->setWhatsThis("Number of sequences to include in analysis. ");
numOfSequencesSpinBox->setMinimum(1);
+ numOfSequencesSpinBox->setWhatsThis("Number of sequences to include in analysis. ");
//Sequence setup frame
seqSetupFrame = new SequenceSetupFrame;
assert(setupFrame != 0);
sequenceNameEdit = new QLineEdit;
+ sequenceNameEdit->setWhatsThis("Name of input sequence ");
QLabel *sequenceNameLabel = new QLabel(tr("Sequence name:"));
sequenceNameLabel->setBuddy(sequenceNameEdit);
+ sequenceNameLabel->setWhatsThis("Name of input sequence ");
// Sequence row
sequenceLineEdit = new QLineEdit;
+ sequenceLineEdit->setWhatsThis("File path to input sequence ");
//const IsFileValidator *fileValidator = new IsFileValidator(this);
//sequenceLineEdit->setValidator(fileValidator);
QLabel *sequenceLabel = new QLabel("Sequence Filename:");
sequenceLabel->setBuddy(sequenceLineEdit);
+ sequenceLabel->setWhatsThis("File path to input sequence ");
QPushButton *sequenceButton = new QPushButton("Browse...");
+ sequenceButton->setWhatsThis("Browse for input sequence ");
connect(sequenceButton, SIGNAL(clicked()),
this, SLOT(promptForFastaFile()));
// Annotation row
annotLineEdit = new QLineEdit;
+ annotLineEdit->setWhatsThis("Annotation file path for above input sequence ");
//const IsFileValidator *fileValidator2 = new IsFileValidator(this);
//annotLineEdit->setValidator(fileValidator2);
QLabel *annotLabel = new QLabel("Annotation Filename:");
annotLabel->setBuddy(annotLineEdit);
+ annotLabel->setWhatsThis("Annotation file path for above input sequence ");
QPushButton *annotButton = new QPushButton("Browse...");
+ annotButton->setWhatsThis("Browse for annotation file for above input sequence ");
connect(annotButton, SIGNAL(clicked()),
this, SLOT(promptForAnnotFile()));
// Index row
fastaIndexLineEdit = new QLineEdit;
+ fastaIndexLineEdit->setWhatsThis("When a FASTA file contains more then one FASTA record, provide a 1 based index (first record is index 1) to select which one to use. ");
//fastaIndexLineEdit->setMaximumWidth(100);
QLabel *fastaIndexLabel = new QLabel("Fasta Index:");
fastaIndexLabel->setBuddy(fastaIndexLineEdit);
+ fastaIndexLabel->setWhatsThis("When a FASTA file contains more then one FASTA record, provide a 1 based index (first record is index 1) to select which one to use. ");
seqStartLineEdit = new QLineEdit;
+ seqStartLineEdit->setWhatsThis("Start base pair in input sequence (0 based: 1st base pair is 0) ");
//seqStartLineEdit->setMinimumWidth(60);
//seqStartLineEdit->setMaximumWidth(80);
QLabel *seqStartLabel = new QLabel("Sequence Start:");
+ seqStartLabel->setWhatsThis("Start base pair in input sequence (0 based: 1st base pair is 0) ");
seqStartLabel->setBuddy(seqStartLineEdit);
seqStopLineEdit = new QLineEdit;
+ seqStopLineEdit->setWhatsThis("Stop base pair in input sequence (0 based: 1st base pair is 0) 0 means all of remaining sequence. ");
//seqStopLineEdit->setMinimumWidth(40);
//seqStopLineEdit->setMaximumWidth(60);
QLabel *seqStopLabel = new QLabel("Sequence Stop:");
+ seqStopLabel->setWhatsThis("Stop base pair in input sequence (0 based: 1st base pair is 0) 0 means all of remaining sequence. ");
seqStopLabel->setBuddy(seqStopLineEdit);
// Layout
setFrameStyle(QFrame::Panel | QFrame::Sunken);
setLineWidth(1);
+
+ // What's this feature descriptions
+ // FIXME: The '*' is added because for some reason
+ // Qt's whatsthis feature is chopping off the last word
+ // If the '*' eventually shows up in a whatsthis pop-up
+ // then the '*' should be removed.
+ name_label->setWhatsThis("Name of sequence *");
+ position_label->setWhatsThis("Edge of viewport base pair position *");
+ length_label->setWhatsThis("Total length of sequence *");
layout->addWidget(name_label);
layout->addWidget(position_label);