Vuo  2.0.1
VuoPublishedPortNameEditor.cc
Go to the documentation of this file.
1 
11 #include "VuoRendererPort.hh"
12 
17 void VuoPublishedPortNameEditor::setUpDialog(QDialog &dialog, json_object *originalValue, json_object *details)
18 {
19  this->originalValue = originalValue;
20 
21  setUpLineEdit(new QLineEdit(&dialog), originalValue);
22 
23  // The user-entered published port name must be a valid port identifier.
24  QString portIdentifierRegExp = VuoRendererPort::getPortIdentifierRegExp();
25 
26  // Exception: Allow the published port name temporarily to be empty during editing.
27  // The empty string will be rejected upon submission (in VuoPublishedPortNameEditor::getAcceptedValue()).
28  QString emptyStringRegExp("^$");
29  QString portIdentifierOrEmptyStringRegExp = portIdentifierRegExp
30  .append("|")
31  .append(emptyStringRegExp);
32 
33  QRegularExpressionValidator *validator = new QRegularExpressionValidator(QRegularExpression(portIdentifierOrEmptyStringRegExp), this);
34  lineEdit->setValidator(validator);
35 }
36 
42 {
43  QString currentText = lineEdit->text();
44  if (!currentText.isEmpty())
45  return convertFromLineEditFormat(lineEdit->text());
46 
47  return originalValue;
48 }