InsetListings: Enhanced listings dialog, more than 10 widgets are added to handle common listings parameters.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18282 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Bo Peng 2007-05-13 04:06:37 +00:00
parent dfa6012292
commit 0bbdc3ffeb
3 changed files with 1007 additions and 64 deletions

View File

@ -23,9 +23,16 @@
#include <QLineEdit>
#include <QCloseEvent>
#include <QPushButton>
#include <QValidator>
#include <QRegExpValidator>
using std::string;
using std::vector;
using lyx::support::getVectorFromString;
using lyx::support::getStringFromVector;
using lyx::support::prefixIs;
using lyx::support::contains;
namespace lyx {
namespace frontend {
@ -37,6 +44,17 @@ namespace frontend {
/////////////////////////////////////////////////////////////////////
string const allowed_languages =
"no language\nBAP\nACSL\nAda\nALGOL\nC\nC++\nCaml\nClean\nCobol\n"
"Comal 80\ncsh\nDelphi\nEiffel\nElan\nEuphoria\nFortran\nHaskell\n"
"HTML\nIDL\nJava\nLisp\nLogo\nmake\nMathematica\nMatlab\nMercury\n"
"Miranda\nML\nModula-2\nOberon-2\nOCL\nPascal\nPerl\nPHP\nPL/I\nPOV\n"
"Python\nProlog\nR\nS\nSAS\nSHELXL\nSimula\ntcl\nSQL\nTeX\nVBScript\n"
"VHDL\nXML";
string const allowed_fontsizes = "default\ntiny\nscriptsize\nfootnotesize\nsmall\n"
"normalsize\nlarge\nLarge";
string const allowed_fontstyles = "default\nrmfamily\nttfamily\nsffamily";
QListingsDialog::QListingsDialog(QListings * form)
: form_(form)
{
@ -44,7 +62,25 @@ QListingsDialog::QListingsDialog(QListings * form)
connect(okPB, SIGNAL(clicked()), form, SLOT(slotOK()));
connect(closePB, SIGNAL(clicked()), form, SLOT(slotClose()));
connect(languageCO, SIGNAL(currentIndexChanged(int)), this, SLOT(change_adaptor()));
connect(inlineCB, SIGNAL(clicked()), this, SLOT(change_adaptor()));
connect(floatCB, SIGNAL(clicked()), this, SLOT(change_adaptor()));
connect(placementLE, SIGNAL(textChanged(const QString&)), this, SLOT(change_adaptor()));
connect(numberLeftCB, SIGNAL(clicked()), this, SLOT(change_adaptor()));
connect(numberRightCB, SIGNAL(clicked()), this, SLOT(change_adaptor()));
connect(numberStepLE, SIGNAL(textChanged(const QString&)), this, SLOT(change_adaptor()));
connect(numberFontSizeCO, SIGNAL(currentIndexChanged(int)), this, SLOT(change_adaptor()));
connect(firstlineLE, SIGNAL(textChanged(const QString&)), this, SLOT(change_adaptor()));
connect(lastlineLE, SIGNAL(textChanged(const QString&)), this, SLOT(change_adaptor()));
connect(fontsizeCO, SIGNAL(currentIndexChanged(int)), this, SLOT(change_adaptor()));
connect(fontstyleCO, SIGNAL(currentIndexChanged(int)), this, SLOT(change_adaptor()));
connect(breaklinesCB, SIGNAL(clicked()), this, SLOT(change_adaptor()));
connect(spaceCB, SIGNAL(clicked()), this, SLOT(change_adaptor()));
connect(extendedcharsCB, SIGNAL(clicked()), this, SLOT(change_adaptor()));
connect(captionLE, SIGNAL(textChanged(const QString&)), this, SLOT(change_adaptor()));
connect(labelLE, SIGNAL(textChanged(const QString&)), this, SLOT(change_adaptor()));
connect(listingsED, SIGNAL(textChanged()), this, SLOT(change_adaptor()));
connect(listingsED, SIGNAL(textChanged()), this, SLOT(validate_listings_params()));
}
@ -63,11 +99,76 @@ void QListingsDialog::change_adaptor()
}
string QListingsDialog::construct_params()
{
string language = fromqstr(languageCO->currentText());
bool float_ = floatCB->checkState() == Qt::Checked;
string placement = fromqstr(placementLE->text());
bool left = numberLeftCB->checkState() == Qt::Checked;
bool right = numberRightCB->checkState() == Qt::Checked;
string step = fromqstr(numberStepLE->text());
string numberfontsize = fromqstr(numberFontSizeCO->currentText());
string firstline = fromqstr(firstlineLE->text());
string lastline = fromqstr(lastlineLE->text());
string fontsize = fromqstr(fontsizeCO->currentText());
string fontstyle = fromqstr(fontstyleCO->currentText());
string basicstyle;
if (fontsize != "default")
basicstyle = "\\" + fontsize;
if (fontstyle != "default")
basicstyle += "\\" + fontstyle;
bool breakline = breaklinesCB->checkState() == Qt::Checked;
bool space = spaceCB->checkState() == Qt::Checked;
bool extendedchar = extendedcharsCB->checkState() == Qt::Checked;
string caption = fromqstr(captionLE->text());
string label = fromqstr(labelLE->text());
string extra = fromqstr(listingsED->toPlainText());
// compose a string
InsetListingsParams par;
if (language != "no language")
par.addParam("language", language);
if (float_)
par.addParam("float", "");
if (!placement.empty())
par.addParam("floatplacement", placement);
if (left)
par.addParam("numbers", "left");
else if (right)
par.addParam("numbers", "right");
if (numberfontsize != "default")
par.addParam("numberstyle", "\\" + numberfontsize);
if (!firstline.empty())
par.addParam("firstline", firstline);
if (!lastline.empty())
par.addParam("lastline", lastline);
if (basicstyle != "")
par.addParam("basicstyle", basicstyle);
if (breakline)
par.addParam("breaklines", "true");
if (space)
par.addParam("showspaces", "true");
if (extendedchar)
par.addParam("extendedchars", "true");
if (!caption.empty())
par.addParam("caption", "{" + caption + "}");
if (!label.empty())
par.addParam("label", "{" + label + "}");
par.addParams(extra);
return par.params();
}
void QListingsDialog::validate_listings_params()
{
static bool isOK = true;
try {
InsetListingsParams par(fromqstr(listingsED->toPlainText()));
InsetListingsParams par(construct_params());
if (!isOK) {
isOK = true;
// listingsTB->setTextColor("black");
@ -113,20 +214,159 @@ void QListings::apply()
{
InsetListingsParams & params = controller().params();
params.setInline(dialog_->inlineCB->isChecked());
params.setParams(fromqstr(dialog_->listingsED->toPlainText()));
params.setParams(dialog_->construct_params());
controller().setParams(params);
}
void QListings::update_contents()
{
// first prepare all choices
vector<string> const languages =
getVectorFromString(allowed_languages, "\n");
vector<string> const fontstyles =
getVectorFromString(allowed_fontstyles, "\n");
vector<string> const fontsizes =
getVectorFromString(allowed_fontsizes, "\n");
dialog_->languageCO->clear();
for (vector<string>::const_iterator it = languages.begin();
it != languages.end(); ++it) {
dialog_->languageCO->addItem(toqstr(*it));
}
dialog_->fontstyleCO->clear();
dialog_->fontstyleCO->setEditable(false);
for (vector<string>::const_iterator it = fontstyles.begin();
it != fontstyles.end(); ++it) {
dialog_->fontstyleCO->addItem(toqstr(*it));
}
dialog_->fontsizeCO->clear();
dialog_->fontsizeCO->setEditable(false);
dialog_->numberFontSizeCO->clear();
dialog_->numberFontSizeCO->setEditable(false);
for (vector<string>::const_iterator it = fontsizes.begin();
it != fontsizes.end(); ++it) {
dialog_->fontsizeCO->addItem(toqstr(*it));
dialog_->numberFontSizeCO->addItem(toqstr(*it));
}
// set validators
dialog_->numberStepLE->setValidator(new QIntValidator(0, 1000000, this));
dialog_->firstlineLE->setValidator(new QIntValidator(0, 1000000, this));
dialog_->lastlineLE->setValidator(new QIntValidator(0, 1000000, this));
dialog_->placementLE->setValidator(new QRegExpValidator(QRegExp("[tbph]*"), this));
//
dialog_->listingsTB->setPlainText("Input listings parameters below. Enter ? for a list of parameters.");
// set values from param string
InsetListingsParams & params = controller().params();
dialog_->listingsED->setPlainText(toqstr(params.separatedParams()));
if (params.isInline())
dialog_->inlineCB->setChecked(true);
else
dialog_->inlineCB->setChecked(false);
// break other parameters and set values
vector<string> pars = getVectorFromString(params.separatedParams(), "\n");
// process each of them
for (vector<string>::iterator it = pars.begin();
it != pars.end(); ++it) {
if (prefixIs(*it, "language=")) {
for (vector<string>::const_iterator st = languages.begin();
st != languages.end(); ++st) {
if (*it == "language=" + *st) {
dialog_->languageCO->setCurrentIndex(
dialog_->languageCO->findText(toqstr(*st)));
*it = "";
}
}
} else if (prefixIs(*it, "float")) {
if (prefixIs(*it, "float="))
dialog_->placementLE->setText(toqstr(it->substr(6)));
else
dialog_->floatCB->setChecked(true);
*it = "";
} else if (prefixIs(*it, "floatplacement=")) {
dialog_->placementLE->setText(toqstr(it->substr(15)));
*it = "";
} else if (prefixIs(*it, "numbers=")) {
if (contains(*it, "left") != string::npos)
dialog_->numberLeftCB->setChecked(true);
else if (contains(*it, "right") != string::npos)
dialog_->numberRightCB->setChecked(true);
*it = "";
} else if (prefixIs(*it, "stepnumber=")) {
dialog_->numberStepLE->setText(toqstr(it->substr(11)));
*it = "";
} else if (prefixIs(*it, "numberstyle=")) {
for (vector<string>::const_iterator st = fontsizes.begin();
st != fontsizes.end(); ++st) {
if (*it == "numberstyle=\\" + *st) {
dialog_->numberFontSizeCO->setCurrentIndex(
dialog_->numberFontSizeCO->findText(toqstr(*st)));
*it = "";
}
}
} else if (prefixIs(*it, "firstline=")) {
dialog_->firstlineLE->setText(toqstr(it->substr(10)));
*it = "";
} else if (prefixIs(*it, "lastline=")) {
dialog_->lastlineLE->setText(toqstr(it->substr(9)));
*it = "";
} else if (prefixIs(*it, "basicstyle=")) {
string style;
string size;
for (vector<string>::const_iterator st = fontstyles.begin();
st != fontstyles.end(); ++st)
if (contains(*it, "\\" + *st)) {
style = "\\" + *st;
break;
}
for (vector<string>::const_iterator st = fontsizes.begin();
st != fontsizes.end(); ++st)
if (contains(*it, "\\" + *st)) {
size = "\\" + *st;
break;
}
if (it->substr(11) == style + size || it->substr(11) == size + style) {
if (!style.empty())
dialog_->fontstyleCO->setCurrentIndex(
dialog_->fontstyleCO->findText(toqstr(style.substr(1))));
if (!size.empty())
dialog_->fontsizeCO->setCurrentIndex(
dialog_->fontsizeCO->findText(toqstr(size.substr(1))));
*it = "";
}
} else if (prefixIs(*it, "breaklines=")) {
dialog_->breaklinesCB->setChecked(prefixIs(*it, "true") != string::npos);
*it = "";
} else if (prefixIs(*it, "showspaces=")) {
dialog_->spaceCB->setChecked(prefixIs(*it, "true") != string::npos);
*it = "";
} else if (prefixIs(*it, "extendedchars=")) {
dialog_->extendedcharsCB->setChecked(prefixIs(*it, "true") != string::npos);
*it = "";
} else if (prefixIs(*it, "caption=")) {
string cap = it->substr(8);
if ((cap[0] == '{' && cap[cap.size()-1] == '}') ||
(cap[0] == '"' && cap[cap.size()-1] == '"') )
dialog_->captionLE->setText(toqstr(cap.substr(1, cap.size()-2)));
else
dialog_->captionLE->setText(toqstr(cap));
*it = "";
} else if (prefixIs(*it, "label=")) {
string lbl = it->substr(6);
if ((lbl[0] == '{' && lbl[lbl.size()-1] == '}') ||
(lbl[0] == '"' && lbl[lbl.size()-1] == '"') )
dialog_->labelLE->setText(toqstr(lbl.substr(1, lbl.size()-2)));
else
dialog_->labelLE->setText(toqstr(lbl));
*it = "";
}
}
// parameters that can be handled by widgets are cleared
// the rest is put to the extra edit box.
string extra = getStringFromVector(pars);
dialog_->listingsED->setPlainText(toqstr(InsetListingsParams(extra).separatedParams()));
}

View File

@ -27,6 +27,8 @@ class QListingsDialog : public QDialog, public Ui::QListingsUi {
Q_OBJECT
public:
QListingsDialog(QListings * form);
/// get values from all the widgets and form a string
std::string construct_params();
protected Q_SLOTS:
virtual void change_adaptor();
/// AFAIK, QValidator only works for QLineEdit so

View File

@ -8,8 +8,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>239</width>
<height>382</height>
<width>548</width>
<height>462</height>
</rect>
</property>
<property name="windowTitle" >
@ -26,73 +26,758 @@
<number>6</number>
</property>
<item>
<widget class="QCheckBox" name="inlineCB" >
<property name="text" >
<string>Inline listing</string>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
</widget>
<property name="spacing" >
<number>6</number>
</property>
<item>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
<string>Language</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QComboBox" name="languageCO" />
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2" >
<property name="title" >
<string>Placement</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QCheckBox" name="inlineCB" >
<property name="text" >
<string>Inline listing</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="floatCB" >
<property name="text" >
<string>Float</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="captionL_5" >
<property name="text" >
<string>Placement</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="buddy" >
<cstring>captionLE</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="placementLE" />
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>16</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="numberstyleGB" >
<property name="title" >
<string>Number style</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QCheckBox" name="numberLeftCB" >
<property name="toolTip" >
<string>enable for numbers on the leftside</string>
</property>
<property name="text" >
<string>&amp;Left</string>
</property>
<property name="checked" >
<bool>false</bool>
</property>
<property name="autoRepeat" >
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="numberRightCB" >
<property name="toolTip" >
<string>enable for numbers on the right side</string>
</property>
<property name="text" >
<string>&amp;Right</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="stepnumberL" >
<property name="toolTip" >
<string>File name of image</string>
</property>
<property name="text" >
<string>Step</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="buddy" >
<cstring>numberStepLE</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="numberStepLE" >
<property name="toolTip" >
<string>Differenz between two numbered lines</string>
</property>
<property name="text" >
<string/>
</property>
<property name="alignment" >
<set>Qt::AlignLeading</set>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="numberfontsizeL" >
<property name="text" >
<string>Font size</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="buddy" >
<cstring>numberFontSizeCO</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="numberFontSizeCO" >
<property name="toolTip" >
<string>Choose the Font Size</string>
</property>
<property name="editable" >
<bool>true</bool>
</property>
<property name="autoCompletion" >
<bool>true</bool>
</property>
<property name="duplicatesEnabled" >
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
<width>142</width>
<height>31</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="numberfontsizeL_3" >
<property name="text" >
<string>First line</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="buddy" >
<cstring>numberFontSizeCO</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="firstlineLE" >
<property name="toolTip" >
<string>Differenz between two numbered lines</string>
</property>
<property name="text" >
<string/>
</property>
<property name="alignment" >
<set>Qt::AlignLeading</set>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="numberfontsizeL_2" >
<property name="text" >
<string>Last line</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="buddy" >
<cstring>numberFontSizeCO</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lastlineLE" >
<property name="toolTip" >
<string>Differenz between two numbered lines</string>
</property>
<property name="text" >
<string/>
</property>
<property name="alignment" >
<set>Qt::AlignLeading</set>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
<width>142</width>
<height>31</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>16</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="basicstyleGB" >
<property name="font" >
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="title" >
<string>Style</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="label_6" >
<property name="text" >
<string>Basic style</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="fontsize_label_3" >
<property name="text" >
<string>Font size</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="buddy" >
<cstring>fontsizeCO</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fontsizeCO" >
<property name="toolTip" >
<string>Choose the Font Size</string>
</property>
<property name="editable" >
<bool>true</bool>
</property>
<property name="autoCompletion" >
<bool>true</bool>
</property>
<property name="duplicatesEnabled" >
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="fontstyle_label_3" >
<property name="text" >
<string>Font style</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="buddy" >
<cstring>fontstyleCO</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fontstyleCO" >
<property name="toolTip" >
<string>Choose the Font Style</string>
</property>
<property name="editable" >
<bool>true</bool>
</property>
<property name="autoCompletion" >
<bool>true</bool>
</property>
<property name="duplicatesEnabled" >
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
<width>158</width>
<height>21</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="breaklinesCB" >
<property name="toolTip" >
<string>Breaking lines longer than the linewidth</string>
</property>
<property name="text" >
<string>&amp;Break long lines</string>
</property>
<property name="shortcut" >
<number>276824130</number>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="spaceCB" >
<property name="toolTip" >
<string>Insert a special symbol for a space</string>
</property>
<property name="text" >
<string>&amp;Space as Symbol</string>
</property>
<property name="shortcut" >
<number>276824147</number>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="extendedcharsCB" >
<property name="enabled" >
<bool>true</bool>
</property>
<property name="toolTip" >
<string>Use extended character table</string>
</property>
<property name="text" >
<string>&amp;Extended Chars</string>
</property>
<property name="shortcut" >
<number>276824133</number>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
<width>158</width>
<height>21</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="listingsGB" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>7</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="title" >
<string>Parameters</string>
<property name="spacing" >
<number>6</number>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QTextBrowser" name="listingsTB" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<item>
<widget class="QGroupBox" name="captionGB_3" >
<property name="title" >
<string>Display</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="maximumSize" >
<size>
<width>16777215</width>
<height>50</height>
</size>
<property name="spacing" >
<number>6</number>
</property>
<property name="cursor" >
<cursor>0</cursor>
<item>
<widget class="QLabel" name="captionL_4" >
<property name="text" >
<string>&amp;Caption</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="buddy" >
<cstring>captionLE</cstring>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLineEdit" name="captionLE" >
<property name="minimumSize" >
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="toolTip" >
<string>A caption for the List of Listings</string>
</property>
<property name="text" >
<string/>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="labelL_4" >
<property name="text" >
<string>&amp;Label</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="buddy" >
<cstring>labelLE</cstring>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLineEdit" name="labelLE" >
<property name="minimumSize" >
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="toolTip" >
<string>A Label for the caption</string>
</property>
<property name="text" >
<string/>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>21</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>16</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="listingsGB" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>7</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title" >
<string>More Parameters</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="acceptDrops" >
<bool>false</bool>
<property name="spacing" >
<number>6</number>
</property>
<property name="frameShape" >
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow" >
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth" >
<number>0</number>
</property>
<property name="acceptRichText" >
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="listingsED" />
</item>
</layout>
</widget>
<item>
<widget class="QSplitter" name="splitter" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<widget class="QTextBrowser" name="listingsTB" >
<property name="maximumSize" >
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="cursor" >
<cursor>0</cursor>
</property>
<property name="acceptDrops" >
<bool>false</bool>
</property>
<property name="frameShape" >
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow" >
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth" >
<number>0</number>
</property>
<property name="acceptRichText" >
<bool>false</bool>
</property>
</widget>
<widget class="QTextEdit" name="listingsED" />
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
@ -142,7 +827,23 @@
<tabstops>
<tabstop>okPB</tabstop>
<tabstop>closePB</tabstop>
<tabstop>languageCO</tabstop>
<tabstop>inlineCB</tabstop>
<tabstop>floatCB</tabstop>
<tabstop>placementLE</tabstop>
<tabstop>numberLeftCB</tabstop>
<tabstop>numberRightCB</tabstop>
<tabstop>numberStepLE</tabstop>
<tabstop>numberFontSizeCO</tabstop>
<tabstop>firstlineLE</tabstop>
<tabstop>lastlineLE</tabstop>
<tabstop>fontsizeCO</tabstop>
<tabstop>fontstyleCO</tabstop>
<tabstop>breaklinesCB</tabstop>
<tabstop>spaceCB</tabstop>
<tabstop>extendedcharsCB</tabstop>
<tabstop>captionLE</tabstop>
<tabstop>labelLE</tabstop>
<tabstop>listingsTB</tabstop>
<tabstop>listingsED</tabstop>
</tabstops>