+2002-07-07 Edwin Leuven <leuven@fee.uva.nl>
+
+ * QParagraph.[Ch]: Add paragraph dialog
+ * QParagraphDialog.[Ch]:
+ * ui/QParagraphDialog.[Ch]:
+ * Makefile.am:
+ * Makefile.dialogs:
+ * guiapi.C:
+
2002-07-17 John Levon <moz@compsoc.man.ac.uk>
* QtView.C: basic statusbar show
SUBDIRS = ui moc
EXTRA_DIST = Makefile.dialogs QDocument.C QDocument.h \
- QDocumentDialog.C QDocumentDialog.h QParagraph.h QParagraph.C \
- QParagraphDialog.h QParagraphDialog.C
+ QDocumentDialog.C QDocumentDialog.h
noinst_LTLIBRARIES = libqt2.la
QIndex \
QLog \
QMinipage \
+ QParagraph \
QPreamble \
QPrint \
QRef \
QLog.C QLogDialog.C \
QMinipage.h QMinipageDialog.h \
QMinipage.C QMinipageDialog.C \
+ QParagraph.h QParagraphDialog.h \
+ QParagraph.C QParagraphDialog.C \
QPreamble.h QPreambleDialog.h \
QPreamble.C QPreambleDialog.C \
QPrint.h QPrintDialog.h \
QIndexDialog_moc.C \
QLogDialog_moc.C \
QMinipageDialog_moc.C \
+ QParagraphDialog_moc.C \
QPreambleDialog_moc.C \
QPrintDialog_moc.C \
QRefDialog_moc.C \
QLogDialogBase.C \
QMinipageDialogBase.h \
QMinipageDialogBase.C \
+ QParagraphDialogBase.h \
+ QParagraphDialogBase.C \
QPreambleDialogBase.h \
QPreambleDialogBase.C \
QPrintDialogBase.h \
QIndexDialogBase_moc.C \
QLogDialogBase_moc.C \
QMinipageDialogBase_moc.C \
+ QParagraphDialogBase_moc.C \
QPreambleDialogBase_moc.C \
QPrintDialogBase_moc.C \
QRefDialogBase_moc.C \
QStrListIterator it(qt_formats);
for (; it.current(); ++it) {
- lyxerr[Debug::GRAPHICS] << it.current() << endl;
+ lyxerr[Debug::GRAPHICS] << it.current() << std::endl;
string ext = lowercase(it.current());
/**
* \file QParagraph.C
- * Copyright 2001 LyX Team
- * see the file COPYING
+ * Copyright 2000-2001 The LyX Team.
+ * See the file COPYING.
*
- * \author John Levon, moz@compsoc.man.ac.uk
+ * \author Edwin Leuven <leuven@fee.uva.nl>
*/
#include <config.h>
-#include "QParagraphDialog.h"
+#ifdef __GNUG__
+#pragma implementation
+#endif
+#include "ControlParagraph.h"
#include "QParagraph.h"
-#include "Liason.h"
-#include "gettext.h"
-#include "buffer.h"
-#include "QtLyXView.h"
-#include "lyxtextclasslist.h"
-#include "lyxtext.h"
-#include "debug.h"
-#include "BufferView.h"
+#include "QParagraphDialog.h"
+#include "Qt2BC.h"
#include "ParagraphParameters.h"
-
-using SigC::slot;
-using Liason::setMinibuffer;
-using std::endl;
-
-
-QParagraph::QParagraph(LyXView *v, Dialogs *d)
- : dialog_(0), lv_(v), d_(d), h_(0)
-{
- d->showParagraph.connect(slot(this, &QParagraph::show));
-}
-
-
-QParagraph::~QParagraph()
+#include "lyxrc.h" // to set the deafult length values
+#include "gettext.h"
+#include "layout.h" // LyXAlignment
+#include "helper_funcs.h"
+#include "lyxgluelength.h"
+#include "vspace.h"
+
+#include "support/lstrings.h"
+#include "support/LAssert.h"
+
+#include <functional>
+
+#include <qcombobox.h>
+#include <qlineedit.h>
+#include <qcheckbox.h>
+#include <qpushbutton.h>
+#include <qtabwidget.h>
+#include <qbuttongroup.h>
+
+using std::vector;
+using std::bind2nd;
+using std::remove_if;
+
+typedef Qt2CB<ControlParagraph, Qt2DB<QParagraphDialog> > base_class;
+
+QParagraph::QParagraph(ControlParagraph & c, Dialogs &)
+ : base_class(c, _("Paragraph Layout"))
+{}
+
+void QParagraph::build_dialog()
{
- delete dialog_;
+ // the tabbed folder
+ dialog_.reset(new QParagraphDialog(this));
+
+ // Create the contents of the unit choices
+ // Don't include the "%" terms...
+ units_ = getLatexUnits();
+ vector<string>::iterator del = remove_if(units_.begin(), units_.end(),
+ bind2nd(contains_functor(), "%"));
+ units_.erase(del, units_.end());
+
+ for (vector<string>::const_iterator it = units_.begin();
+ it != units_.end(); ++it) {
+ dialog_->unitAbove->insertItem(it->c_str());
+ dialog_->unitBelow->insertItem(it->c_str());
+ }
+
+ // Manage the ok, apply, restore and cancel/close buttons
+ bc().setOK(dialog_->okPB);
+ bc().setApply(dialog_->applyPB);
+ bc().setCancel(dialog_->closePB);
+ bc().setRestore(dialog_->restorePB);
+ bc().addReadOnly(dialog_->paragraphTab);
}
+namespace {
-void QParagraph::update(bool switched)
+VSpace setVSpaceFromWidgets(int spacing,
+ string value,
+ string unit,
+ bool keep)
{
- if (switched) {
- hide();
- return;
- }
-
- if (!lv_->view()->available())
- return;
-
- Buffer * buf = lv_->view()->buffer();
-
- if (readonly!=buf->isReadonly()) {
- readonly = buf->isReadonly();
- dialog_->setReadOnly(readonly);
- }
-
- LyXText * text(lv_->view()->getLyXText());
- Paragraph * par = text->cursor.par();
-
- int align = par->getAlign();
-
- if (align==LYX_ALIGN_LAYOUT)
- align = textclasslist.Style(buf->params.textclass, par->getLayout()).align;
-
- ParagraphParameters * params = &(par->params());
-
- if (params->spaceTop().kind() == VSpace::LENGTH) {
- LyXGlueLength above = params->spaceTop().length();
- lyxerr[Debug::GUI] << "Reading above space : \"" << params->spaceTop().length().asString() << "\"" << endl;
- dialog_->setAboveLength(above.len().value(), above.plus().value(), above.minus().value(),
- above.len().unit(), above.plus().unit(), above.minus().unit());
- } else
- dialog_->setAboveLength(0.0, 0.0, 0.0, LyXLength::UNIT_NONE, LyXLength::UNIT_NONE, LyXLength::UNIT_NONE);
-
- if (params->spaceBottom().kind() == VSpace::LENGTH) {
- LyXGlueLength below = params->spaceBottom().length();
- lyxerr[Debug::GUI] << "Reading below space : \"" << params->spaceBottom().length().asString() << "\"" << endl;
- dialog_->setBelowLength(below.len().value(), below.plus().value(), below.minus().value(),
- below.len().unit(), below.plus().unit(), below.minus().unit());
- } else
- dialog_->setBelowLength(0.0, 0.0, 0.0, LyXLength::UNIT_NONE, LyXLength::UNIT_NONE, LyXLength::UNIT_NONE);
-
- dialog_->setLabelWidth(text->cursor.par()->getLabelWidthString().c_str());
- dialog_->setAlign(align);
- dialog_->setChecks(params->lineTop(), params->lineBottom(),
- params->pagebreakTop(), params->pagebreakBottom(), params->noindent());
- dialog_->setSpace(params->spaceTop().kind(), params->spaceBottom().kind(),
- params->spaceTop().keep(), params->spaceBottom().keep());
-
- // now the extras page
-
- LyXLength extrawidth;
- float val = 0.0;
- LyXLength::UNIT unit = LyXLength::CM;
- params = &(par->params());
- if (isValidLength(params->pextraWidth(), &extrawidth)) {
- lyxerr[Debug::GUI] << "Reading extra width \"" << extrawidth.asString() << "\"" << endl;
- val = extrawidth.value();
- unit = extrawidth.unit();
+ VSpace space;
+
+ switch (spacing) {
+ case 0:
+ space = VSpace(VSpace::NONE);
+ break;
+ case 1:
+ space = VSpace(VSpace::DEFSKIP);
+ break;
+ case 2:
+ space = VSpace(VSpace::SMALLSKIP);
+ break;
+ case 3:
+ space = VSpace(VSpace::MEDSKIP);
+ break;
+ case 4:
+ space = VSpace(VSpace::BIGSKIP);
+ break;
+ case 5:
+ space = VSpace(VSpace::VFILL);
+ break;
+ case 6:
+ string s;
+ string const length = strip(frontStrip(value));
+ if (isValidGlueLength(length)) {
+ s = length;
+ } else if (!length.empty()){
+ string u = strip(frontStrip(unit));
+ u = subst(u, "%%", "%");
+ s = length + u;
+ }
+ space = VSpace(LyXGlueLength(s));
+ break;
}
- lyxerr[Debug::GUI] << "Reading widthp \"" << params->pextraWidthp() << "\"" << endl;
+ space.setKeep(keep);
- dialog_->setExtra(val, unit, params->pextraWidthp(),
- params->pextraAlignment(),
- params->pextraHfill(),
- params->pextraStartMinipage(),
- static_cast<Paragraph::PEXTRA_TYPE>(params->pextraType()));
+ return space;
}
+} // namespace anon
void QParagraph::apply()
{
- if (readonly)
- return;
-
- VSpace spaceabove;
- VSpace spacebelow;
-
- if (dialog_->getSpaceAboveKind()==VSpace::LENGTH)
- spaceabove = VSpace(dialog_->getAboveLength());
- else
- spaceabove = VSpace(dialog_->getSpaceAboveKind());
-
- if (dialog_->getSpaceBelowKind()==VSpace::LENGTH)
- spacebelow = VSpace(dialog_->getBelowLength());
- else
- spacebelow = VSpace(dialog_->getSpaceBelowKind());
-
- spaceabove.setKeep(dialog_->getAboveKeep());
- spacebelow.setKeep(dialog_->getBelowKeep());
-
- lyxerr[Debug::GUI] << "Setting above space \"" << LyXGlueLength(spaceabove.length().asString()).asString() << "\"" << endl;
- lyxerr[Debug::GUI] << "Setting below space \"" << LyXGlueLength(spacebelow.length().asString()).asString() << "\"" << endl;
-
- LyXText * text(lv_->view()->getLyXText());
- text->setParagraph(lv_->view(),
- dialog_->getLineAbove(), dialog_->getLineBelow(),
- dialog_->getPagebreakAbove(), dialog_->getPagebreakBelow(),
- spaceabove, spacebelow, Spacing(), dialog_->getAlign(),
- dialog_->getLabelWidth(), dialog_->getNoIndent());
-
- // extra stuff
-
- string width("");
- string widthp("");
-
- LyXLength extrawidth(dialog_->getExtraWidth());
- if (extrawidth.unit()==LyXLength::UNIT_NONE) {
- widthp = dialog_->getExtraWidthPercent();
- } else
- width = extrawidth.asString();
-
- lyxerr[Debug::GUI] << "Setting extrawidth \"" << width << "\"" << endl;
- lyxerr[Debug::GUI] << "Setting percent extrawidth \"" << widthp << "\"" << endl;
+ /* SPACING ABOVE */
+ // If a vspace kind is "Length" but there's no text in
+ // the input field, reset the kind to "None".
+ if (dialog_->spacingAbove->currentItem()==5
+ && dialog_->valueAbove->text().isEmpty())
+ dialog_->spacingAbove->setCurrentItem(0);
+
+ VSpace const space_top =
+ setVSpaceFromWidgets(dialog_->spacingAbove->currentItem(),
+ string(dialog_->valueAbove->text()),
+ string(dialog_->unitAbove->currentText()),
+ dialog_->keepAbove->isChecked());
+
+
+ controller().params().spaceTop(space_top);
+
+ /* SPACING BELOW */
+ if (dialog_->spacingBelow->currentItem()==5
+ && dialog_->valueBelow->text().isEmpty())
+ dialog_->spacingBelow->setCurrentItem(0);
+
+ VSpace const space_bottom =
+ setVSpaceFromWidgets(dialog_->spacingBelow->currentItem(),
+ string(dialog_->valueBelow->text()),
+ string(dialog_->unitBelow->currentText()),
+ dialog_->keepBelow->isChecked());
+
+ controller().params().spaceBottom(space_bottom);
+
+ /* alignment */
+ LyXAlignment align;
+ switch (dialog_->align->currentItem()) {
+ case 0:
+ align = LYX_ALIGN_BLOCK;
+ break;
+ case 1:
+ align = LYX_ALIGN_LEFT;
+ break;
+ case 2:
+ align = LYX_ALIGN_RIGHT;
+ break;
+ case 3:
+ align = LYX_ALIGN_CENTER;
+ break;
+ default:
+ align = LYX_ALIGN_BLOCK;
+ }
+ controller().params().align(align);
+
+ /* get spacing */
+ Spacing::Space linespacing = Spacing::Default;
+ string other;
+ switch (dialog_->linespacing->currentItem()) {
+ case 0:
+ linespacing = Spacing::Default;
+ break;
+ case 1:
+ linespacing = Spacing::Single;
+ break;
+ case 2:
+ linespacing = Spacing::Onehalf;
+ break;
+ case 3:
+ linespacing = Spacing::Double;
+ break;
+ case 4:
+ linespacing = Spacing::Other;
+ other = dialog_->linespacingValue->text();
+ break;
+ }
- lv_->view()->update(text,
- BufferView::SELECT |
- BufferView::FITCUR |
- BufferView::CHANGE);
+ Spacing const spacing(linespacing, other);
+ controller().params().spacing(spacing);
+
+ /* lines and pagebreaks */
+ controller().params().lineTop(dialog_->lineAbove->isChecked());
+ controller().params().lineBottom(dialog_->lineBelow->isChecked());
+ controller().params().pagebreakTop(dialog_->pagebreakAbove->isChecked());
+ controller().params().pagebreakBottom(dialog_->pagebreakBelow->isChecked());
+ /* label width */
+ controller().params().labelWidthString(string(dialog_->labelWidth->text()));
+ /* indendation */
+ controller().params().noindent(dialog_->noindent->isChecked());
- lv_->buffer()->markDirty();
- setMinibuffer(lv_, _("Paragraph layout set"));
}
+namespace {
-void QParagraph::show()
+void setWidgetsFromVSpace(VSpace const & space,
+ QComboBox * spacing,
+ QLineEdit * value,
+ QComboBox * unit,
+ QCheckBox * keep, vector<string> units_)
{
- if (!dialog_)
- dialog_ = new QParagraphDialog(this, 0,
- _("LyX: Paragraph Settings"),
- false);
+ value->setText("");
+ value->setEnabled(false);
+ unit->setEnabled(false);
+
+ int item;
+ switch (space.kind()) {
+ case VSpace::NONE:
+ item = 0;
+ break;
+ case VSpace::DEFSKIP:
+ item = 1;
+ break;
+ case VSpace::SMALLSKIP:
+ item = 2;
+ break;
+ case VSpace::MEDSKIP:
+ item = 3;
+ break;
+ case VSpace::BIGSKIP:
+ item = 4;
+ break;
+ case VSpace::VFILL:
+ item = 5;
+ break;
+ case VSpace::LENGTH:
+ item = 6;
+ value->setEnabled(true);
+ unit->setEnabled(true);
+ string length = space.length().asString();
+ string const default_unit = (lyxrc.default_papersize>3) ? "cm" : "in";
+ string supplied_unit = default_unit;
+ LyXLength len(length);
+ if ((isValidLength(length) || isStrDbl(length)) && !len.zero()) {
+ ostringstream buffer;
+ buffer << len.value();
+ length = buffer.str();
+ supplied_unit = subst(stringFromUnit(len.unit()),"%","%%");
+ }
+ int unit_item = 0;
+ int i = 0;
+ for (vector<string>::const_iterator it = units_.begin();
+ it != units_.end(); ++it) {
+ if (*it==default_unit) {
+ unit_item = i;
+ }
+ if (*it==supplied_unit) {
+ unit_item = i;
+ break;
+ }
+ i += 1;
+ }
+ value->setText(length.c_str());
+ unit->setCurrentItem(unit_item);
+ break;
+ }
+ spacing->setCurrentItem(item);
+ keep->setChecked(space.keep());
+}
- if (!dialog_->isVisible())
- h_ = d_->hideBufferDependent
- .connect(slot(this, &QParagraph::hide));
+} // namespace anon
- dialog_->raise();
- dialog_->setActiveWindow();
- update();
+void QParagraph::update_contents()
+{
+ /* label width */
+ string labelwidth = controller().params().labelWidthString();
+ dialog_->labelWidth->setText(labelwidth.c_str());
+ dialog_->labelwidthGB->setEnabled(
+ labelwidth != _("Senseless with this layout!"));
+
+ /* alignment */
+ int i;
+ switch (controller().params().align()) {
+ case LYX_ALIGN_LEFT:
+ i = 1;
+ break;
+ case LYX_ALIGN_RIGHT:
+ i = 2;
+ break;
+ case LYX_ALIGN_CENTER:
+ i = 3;
+ break;
+ default:
+ i = 0;
+ break;
+ }
+ dialog_->align->setCurrentItem(i);
+
+
+ //LyXAlignment alignpos = controller().alignPossible();
+
+ // no inset-text-owned paragraph may have pagebreaks
+ bool ininset = controller().inInset();
+ dialog_->pagebreakAbove->setEnabled(!ininset);
+ dialog_->pagebreakBelow->setEnabled(!ininset);
+
+ /* lines, pagebreaks and indent */
+ dialog_->lineAbove->setChecked(controller().params().lineTop());
+ dialog_->lineBelow->setChecked(controller().params().lineBottom());
+ dialog_->pagebreakAbove->setChecked(controller().params().pagebreakTop());
+ dialog_->pagebreakBelow->setChecked(controller().params().pagebreakBottom());
+ dialog_->noindent->setChecked(controller().params().noindent());
+
+ /* linespacing */
+ int linespacing;
+ Spacing const space = controller().params().spacing();
+ switch (space.getSpace()) {
+ case Spacing::Single:
+ linespacing = 1;
+ break;
+ case Spacing::Onehalf:
+ linespacing = 2;
+ break;
+ case Spacing::Double:
+ linespacing = 3;
+ break;
+ case Spacing::Other:
+ linespacing = 4;
+ break;
+ default:
+ linespacing = 0;
+ break;
+ }
+ dialog_->linespacing->setCurrentItem(linespacing);
+ if (space.getSpace() == Spacing::Other) {
+ string const sp = tostr(space.getValue());
+ dialog_->linespacingValue->setText(sp.c_str());
+ dialog_->linespacingValue->setEnabled(true);
+ } else {
+ dialog_->linespacingValue->setText("");
+ dialog_->linespacingValue->setEnabled(false);
+ }
- dialog_->show();
+ /* vspace top */
+ setWidgetsFromVSpace(controller().params().spaceTop(),
+ dialog_->spacingAbove,
+ dialog_->valueAbove,
+ dialog_->unitAbove,
+ dialog_->keepAbove,units_);
+
+ /* vspace bottom */
+ setWidgetsFromVSpace(controller().params().spaceBottom(),
+ dialog_->spacingBelow,
+ dialog_->valueBelow,
+ dialog_->unitBelow,
+ dialog_->keepBelow,units_);
+
+ /* no indent */
+ dialog_->noindent->setChecked(controller().params().noindent());
}
-void QParagraph::close()
-{
- h_.disconnect();
-}
-void QParagraph::hide()
-{
- dialog_->hide();
- close();
-}
* Copyright 2001 LyX Team
* see the file COPYING
*
- * \author John Levon, moz@compsoc.man.ac.uk
+ * \author Edwin Leuven <leuven@fee.uva.nl>
+ * \author John Levon <moz@compsoc.man.ac.uk>
*/
#ifndef QPARAGRAPH_H
#define QPARAGRAPH_H
-#include "DialogBase.h"
-#include "LString.h"
-#include "boost/utility.hpp"
+#include <config.h>
+#include "Qt2Base.h"
-class Dialogs;
-class LyXView;
+class ControlParagraph;
class QParagraphDialog;
+class Dialogs;
-class QParagraph : public DialogBase {
-public:
- QParagraph(LyXView *, Dialogs *);
- ~QParagraph();
+class QParagraph :
+ public Qt2CB<ControlParagraph, Qt2DB<QParagraphDialog> >
+{
+ friend class QParagraphDialog;
- /// Apply changes
- void apply();
- /// Update the dialog.
- void update(bool switched = false);
- /// Close the connections
- void close();
+public:
+ QParagraph(ControlParagraph &, Dialogs &);
private:
- /// Create the dialog if necessary, update it and display it.
- void show();
- /// Hide the dialog.
- void hide();
-
- /// Real GUI implementation.
- QParagraphDialog * dialog_;
-
- /// the LyXView we belong to
- LyXView * lv_;
-
- /// Used so we can get at the signals we have to connect to.
- Dialogs * d_;
-
- /// Hide connection.
- SigC::Connection h_;
-
- /// readonly file or not
- bool readonly;
+ /// Apply changes
+ virtual void apply();
+ /// update
+ virtual void update_contents();
+ /// build the dialog
+ virtual void build_dialog();
+
+ std::vector<string> units_;
};
#endif // QPARAGRAPH_H
* \author Edwin Leuven, leuven@fee.uva.nl
*/
-#include <config.h>
-#include <gettext.h>
-#include <string>
-
#include "QParagraphDialog.h"
-#include "QParagraph.h"
-#include "support/lstrings.h"
-#include "debug.h"
#include <qlineedit.h>
#include <qcombobox.h>
-#include <qcheckbox.h>
#include <qpushbutton.h>
-#include <qtabwidget.h>
-#include <qlabel.h>
-#include <qgroupbox.h>
-
-using std::endl;
-
-QParagraphDialog::QParagraphDialog(QParagraph * form, QWidget * parent,
- char const * name, bool modal, WFlags fl)
- : QParagraphDialogBase(parent, name, modal, fl),
- form_(form)
-{
- setCaption(name);
-}
-
-
-QParagraphDialog::~QParagraphDialog()
-{
-}
-
-
-void QParagraphDialog::setReadOnly(bool readonly)
-{
- TabsParagraph->setEnabled(!readonly);
- okPB->setEnabled(!readonly);
- applyPB->setEnabled(!readonly);
- defaultsPB->setEnabled(!readonly);
- cancelPB->setText(readonly ? _("&Close") : _("&Cancel"));
-}
-
-
-void QParagraphDialog::setLabelWidth(char const * text)
-{
- // FIXME: should be cleverer here
- if (!strcmp(_("Senseless with this layout!"),text)) {
- listOptions->setEnabled(false);
- labelWidth->setText("");
- } else {
- listOptions->setEnabled(true);
- labelWidth->setText(text);
- }
-}
-
-
-void QParagraphDialog::setAlign(int type)
-{
- int item = 0;
- switch (type) {
- case LYX_ALIGN_BLOCK: item = 0; break;
- case LYX_ALIGN_LEFT: item = 1; break;
- case LYX_ALIGN_RIGHT: item = 2; break;
- case LYX_ALIGN_CENTER: item = 3; break;
- default:
- item = 0;
- break;
- }
- alignment->setCurrentItem(item);
-}
-
-
-void QParagraphDialog::setChecks(bool labove, bool lbelow, bool pabove,
- bool pbelow, bool noindent)
-{
- lineAbove->setChecked(labove);
- lineBelow->setChecked(lbelow);
- pagebreakAbove->setChecked(pabove);
- pagebreakBelow->setChecked(pbelow);
- noIndent->setChecked(noindent);
-}
-
-
-void QParagraphDialog::setSpace(VSpace::vspace_kind kindabove,
- VSpace::vspace_kind kindbelow,
- bool keepabove, bool keepbelow)
-{
- int item = 0;
-
- switch (kindabove) {
- case VSpace::NONE: item = 0; break;
- case VSpace::DEFSKIP: item = 1; break;
- case VSpace::SMALLSKIP: item = 2; break;
- case VSpace::MEDSKIP: item = 3; break;
- case VSpace::BIGSKIP: item = 4; break;
- case VSpace::VFILL: item = 5; break;
- case VSpace::LENGTH: item = 6; break;
- }
- spacingAbove->setCurrentItem(item);
-
- switch (kindbelow) {
- case VSpace::NONE: item = 0; break;
- case VSpace::DEFSKIP: item = 1; break;
- case VSpace::SMALLSKIP: item = 2; break;
- case VSpace::MEDSKIP: item = 3; break;
- case VSpace::BIGSKIP: item = 4; break;
- case VSpace::VFILL: item = 5; break;
- case VSpace::LENGTH: item = 6; break;
- }
- spacingBelow->setCurrentItem(item);
-
- spacingAboveValue->setEnabled(kindabove == VSpace::LENGTH);
- spacingAbovePlus->setEnabled(kindabove == VSpace::LENGTH);
- spacingAboveMinus->setEnabled(kindabove == VSpace::LENGTH);
- spacingBelowValue->setEnabled(kindbelow == VSpace::LENGTH);
- spacingBelowPlus->setEnabled(kindbelow == VSpace::LENGTH);
- spacingBelowMinus->setEnabled(kindbelow == VSpace::LENGTH);
-
- spacingAboveKeep->setChecked(keepabove);
- spacingBelowKeep->setChecked(keepbelow);
-}
-
-
-void QParagraphDialog::setAboveLength(float val, float plus, float minus,
- LyXLength::UNIT vunit,
- LyXLength::UNIT punit,
- LyXLength::UNIT munit)
-{
- if (vunit == LyXLength::UNIT_NONE) {
- spacingAboveValue->setText("");
- spacingAbovePlus->setText("");
- spacingAboveMinus->setText("");
- } else {
- spacingAboveValue->setText(tostr(val).c_str());
- spacingAbovePlus->setText(tostr(plus).c_str());
- spacingAboveMinus->setText(tostr(minus).c_str());
- }
-
- spacingAboveValueUnit->setCurrentItem(getItem(vunit));
- spacingAbovePlusUnit->setCurrentItem(getItem(punit));
- spacingAboveMinusUnit->setCurrentItem(getItem(munit));
-
-}
-
-
-void QParagraphDialog::setBelowLength(float val, float plus, float minus,
- LyXLength::UNIT vunit,
- LyXLength::UNIT punit,
- LyXLength::UNIT munit)
-{
- if (vunit == LyXLength::UNIT_NONE) {
- spacingBelowValue->setText("");
- spacingBelowPlus->setText("");
- spacingBelowMinus->setText("");
- } else {
- spacingBelowValue->setText(tostr(val).c_str());
- spacingBelowPlus->setText(tostr(plus).c_str());
- spacingBelowMinus->setText(tostr(minus).c_str());
- }
-
- spacingBelowValueUnit->setCurrentItem(getItem(vunit));
- spacingBelowPlusUnit->setCurrentItem(getItem(punit));
- spacingBelowMinusUnit->setCurrentItem(getItem(munit));
-}
-
-
-void QParagraphDialog::setExtra(float widthval, LyXLength::UNIT units,
- string const & percent, int align,
- bool hfill, bool startminipage,
- Paragraph::PEXTRA_TYPE type)
-{
- if (type != Paragraph::PEXTRA_NONE) {
- lyxerr[Debug::GUI] << "percent : $" << percent << "$ widthval "
- << widthval << " unit " << long(units)
- << endl;
- if (percent != "") {
- extraWidth->setText(percent.c_str());
- extraUnit->setCurrentItem(11);
- } else {
- extraWidth->setText(tostr(widthval).c_str());
- extraUnit->setCurrentItem(getItem(units));
- }
- } else
- extraWidth->setText("");
-
- switch (type) {
- case Paragraph::PEXTRA_NONE:
- extraType->setCurrentItem(0);
- break;
- case Paragraph::PEXTRA_MINIPAGE:
- extraType->setCurrentItem(1);
- enable_extraOptions(1);
- enable_minipageOptions(1);
- break;
- case Paragraph::PEXTRA_FLOATFLT:
- extraType->setCurrentItem(2);
- enable_extraOptions(2);
- break;
- case Paragraph::PEXTRA_INDENT:
- extraType->setCurrentItem(3);
- enable_extraOptions(3);
- break;
- }
-
- switch (align) {
- case Paragraph::MINIPAGE_ALIGN_TOP:
- minipageValign->setCurrentItem(0);
- break;
- case Paragraph::MINIPAGE_ALIGN_MIDDLE:
- minipageValign->setCurrentItem(1);
- break;
- case Paragraph::MINIPAGE_ALIGN_BOTTOM:
- minipageValign->setCurrentItem(2);
- break;
- }
-
- minipageHfill->setChecked(hfill);
- minipageStart->setChecked(startminipage);
-}
-
-
-LyXGlueLength QParagraphDialog::getAboveLength() const
-{
- LyXGlueLength len(
- LyXLength(spacingAboveValue->text().toFloat(),
- getLyXLength(spacingAboveValueUnit->currentItem())),
- LyXLength(spacingAbovePlus->text().toFloat(),
- getLyXLength(spacingAbovePlusUnit->currentItem())),
- LyXLength(spacingAboveMinus->text().toFloat(),
- getLyXLength(spacingAboveMinusUnit->currentItem()))
- );
- return len;
-}
-
-
-LyXGlueLength QParagraphDialog::getBelowLength() const
-{
- LyXGlueLength len(
- LyXLength(spacingBelowValue->text().toFloat(),
- getLyXLength(spacingBelowValueUnit->currentItem())),
- LyXLength(spacingBelowPlus->text().toFloat(),
- getLyXLength(spacingBelowPlusUnit->currentItem())),
- LyXLength(spacingBelowMinus->text().toFloat(),
- getLyXLength(spacingBelowMinusUnit->currentItem()))
- );
- return len;
-}
-
-
-LyXLength QParagraphDialog::getExtraWidth() const
-{
- if (extraUnit->currentItem() != 11) {
- LyXLength len(
- (extraWidth->text()).toDouble(),
- getLyXLength(extraUnit->currentItem())
- );
- return len;
- } else {
- LyXLength len(0.0, LyXLength::UNIT_NONE);
- return len;
- }
-}
-
-
-string QParagraphDialog::getExtraWidthPercent() const
-{
- double val = (extraWidth->text()).toDouble();
- if (val > 100.0)
- val = 100.0;
- if (val < 0.0)
- val = 0.0;
- return tostr(val);
-}
-
-
-char const * QParagraphDialog::getLabelWidth() const
-{
- return labelWidth->text();
-}
-
-
-LyXAlignment QParagraphDialog::getAlign() const
-{
- switch (alignment->currentItem()) {
- case 0: return LYX_ALIGN_BLOCK;
- case 1: return LYX_ALIGN_LEFT;
- case 2: return LYX_ALIGN_RIGHT;
- case 3: return LYX_ALIGN_CENTER;
- default: return LYX_ALIGN_CENTER;
- }
-}
-
-
-bool QParagraphDialog::getAboveKeep() const
-{
- return spacingAboveKeep->isChecked();
-}
-
-
-bool QParagraphDialog::getBelowKeep() const
-{
- return spacingBelowKeep->isChecked();
-}
-
-
-bool QParagraphDialog::getLineAbove() const
-{
- return lineAbove->isChecked();
-}
+#include <qvalidator.h>
+#include "helper_funcs.h"
-bool QParagraphDialog::getLineBelow() const
-{
- return lineBelow->isChecked();
-}
-
-
-bool QParagraphDialog::getPagebreakAbove() const
-{
- return pagebreakAbove->isChecked();
-}
-
+using std::vector;
-bool QParagraphDialog::getPagebreakBelow() const
+QParagraphDialog::QParagraphDialog(QParagraph * form)
+ : QParagraphDialogBase(0, 0, false, 0),
+ form_(form)
{
- return pagebreakBelow->isChecked();
-}
+ connect(okPB, SIGNAL(clicked()),
+ form_, SLOT(slotOK()));
+ connect(applyPB, SIGNAL(clicked()),
+ form_, SLOT(slotApply()));
+ connect(closePB, SIGNAL(clicked()),
+ form_, SLOT(slotClose()));
+
-
-bool QParagraphDialog::getNoIndent() const
-{
- return noIndent->isChecked();
+ linespacingValue->setValidator(new QDoubleValidator(linespacingValue));
+ valueAbove->setValidator(new QDoubleValidator(valueAbove));
+ valueBelow->setValidator(new QDoubleValidator(valueBelow));
}
-
-VSpace::vspace_kind QParagraphDialog::getSpaceAboveKind() const
-{
- return getSpaceKind(spacingAbove->currentItem());
-}
-
-
-VSpace::vspace_kind QParagraphDialog::getSpaceBelowKind() const
-{
- return getSpaceKind(spacingBelow->currentItem());
-}
-
-
-Paragraph::PEXTRA_TYPE QParagraphDialog::getExtraType() const
-{
- switch (extraType->currentItem()) {
- case 0: return Paragraph::PEXTRA_NONE;
- case 1: return Paragraph::PEXTRA_MINIPAGE;
- case 2: return Paragraph::PEXTRA_FLOATFLT;
- case 3: return Paragraph::PEXTRA_INDENT;
- }
- return Paragraph::PEXTRA_NONE;
-}
-
-
-Paragraph::MINIPAGE_ALIGNMENT QParagraphDialog::getExtraAlign() const
-{
- switch (minipageValign->currentItem()) {
- case 0: return Paragraph::MINIPAGE_ALIGN_TOP;
- case 1: return Paragraph::MINIPAGE_ALIGN_MIDDLE;
- case 2: return Paragraph::MINIPAGE_ALIGN_BOTTOM;
- default: return Paragraph::MINIPAGE_ALIGN_BOTTOM;
- }
-}
-
-
-bool QParagraphDialog::getHfillBetween() const
-{
- return minipageHfill->isChecked();
-}
-
-
-bool QParagraphDialog::getStartNewMinipage() const
-{
- return minipageStart->isChecked();
-}
-
-
-VSpace::vspace_kind QParagraphDialog::getSpaceKind(int val) const
-{
- switch (val) {
- case 0: return VSpace::NONE;
- case 1: return VSpace::DEFSKIP;
- case 2: return VSpace::SMALLSKIP;
- case 3: return VSpace::MEDSKIP;
- case 4: return VSpace::BIGSKIP;
- case 5: return VSpace::VFILL;
- case 6: return VSpace::LENGTH;
- default:
- lyxerr[Debug::GUI] << "Unknown kind combo entry "
- << val << std::endl;
- }
- return VSpace::NONE;
-}
-
-
-LyXLength::UNIT QParagraphDialog::getLyXLength(int val) const
-{
- switch (val) {
- case 0: return LyXLength::CM;
- case 1: return LyXLength::IN;
- case 2: return LyXLength::PT;
- case 3: return LyXLength::MM;
- case 4: return LyXLength::PC;
- case 5: return LyXLength::EX;
- case 6: return LyXLength::EM;
- case 7: return LyXLength::SP;
- case 8: return LyXLength::BP;
- case 9: return LyXLength::DD;
- case 10: return LyXLength::CC;
- default:
- lyxerr[Debug::GUI] << "Unknown kind combo entry "
- << val << std::endl;
- }
- return LyXLength::UNIT_NONE;
-}
-
-
-int QParagraphDialog::getItem(LyXLength::UNIT unit) const
-{
- int item = 0;
- switch (unit) {
- case LyXLength::CM: item = 0; break;
- case LyXLength::IN: item = 1; break;
- case LyXLength::PT: item = 2; break;
- case LyXLength::MM: item = 3; break;
- case LyXLength::PC: item = 4; break;
- case LyXLength::EX: item = 5; break;
- case LyXLength::EM: item = 6; break;
- case LyXLength::SP: item = 7; break;
- case LyXLength::BP: item = 8; break;
- case LyXLength::DD: item = 9; break;
- case LyXLength::CC: item = 10; break;
- case LyXLength::MU: item = 0; break;
- case LyXLength::UNIT_NONE: item = 0; break;
- default:
- lyxerr[Debug::GUI] << "Unknown unit " << long(unit)
- << endl;
- }
- return item;
-}
-
-
-void QParagraphDialog::enable_extraOptions(int item)
-{
- bool const enable = (item != 0);
- extraWidth->setEnabled(enable);
- extraWidthL->setEnabled(enable);
- extraUnit->setEnabled(enable);
- extraUnitL->setEnabled(enable);
-}
-
-
-void QParagraphDialog::enable_minipageOptions(int item)
+void QParagraphDialog::closeEvent(QCloseEvent * e)
{
- minipageOptions->setEnabled( item == 1 );
+ form_->slotWMHide();
+ e->accept();
}
-void QParagraphDialog::enable_spacingAbove(int item)
+void QParagraphDialog::change_adaptor()
{
- bool const enable = (item == 6);
- spacingAboveValue->setEnabled(enable);
- spacingAbovePlus->setEnabled(enable);
- spacingAboveMinus->setEnabled(enable);
- spacingAboveValueUnit->setEnabled(enable);
- spacingAbovePlusUnit->setEnabled(enable);
- spacingAboveMinusUnit->setEnabled(enable);
- spacingAboveUnitsL->setEnabled(enable);
- bool const enablel = ( (item == 6) || (item != 6 && spacingBelow->currentItem() == 6) );
- spacingValueL->setEnabled(enablel);
- spacingPlusL->setEnabled(enablel);
- spacingMinusL->setEnabled(enablel);
+ form_->changed();
}
-
-void QParagraphDialog::enable_spacingBelow(int item)
+void QParagraphDialog::enableAbove(int)
{
- bool const enable = (item == 6);
- spacingBelowValue->setEnabled(enable);
- spacingBelowPlus->setEnabled(enable);
- spacingBelowMinus->setEnabled(enable);
- spacingBelowValueUnit->setEnabled(enable);
- spacingBelowPlusUnit->setEnabled(enable);
- spacingBelowMinusUnit->setEnabled(enable);
- spacingBelowUnitsL->setEnabled(enable);
- bool const enablel = ( (item == 6) || (item!=6 && spacingAbove->currentItem() == 6) );
- spacingValueL->setEnabled(enablel);
- spacingPlusL->setEnabled(enablel);
- spacingMinusL->setEnabled(enablel);
+ bool const enable = spacingAbove->currentItem()==6;
+ valueAbove->setEnabled(enable);
+ unitAbove->setEnabled(enable);
+
}
-
-void QParagraphDialog::closeEvent(QCloseEvent * e)
+void QParagraphDialog::enableBelow(int)
{
- form_->close();
- e->accept();
+ bool const enable = spacingBelow->currentItem()==6;
+ valueBelow->setEnabled(enable);
+ unitBelow->setEnabled(enable);
}
-
-void QParagraphDialog::apply_adaptor()
+void QParagraphDialog::enableLinespacingValue(int)
{
- form_->apply();
+ bool const enable = linespacing->currentItem()==4;
+ linespacingValue->setEnabled(enable);
}
-void QParagraphDialog::cancel_adaptor()
-{
- form_->close();
- hide();
-}
-
-void QParagraphDialog::ok_adaptor()
-{
- apply_adaptor();
- form_->close();
- hide();
-}
-
-
-void QParagraphDialog::restore_adaptor()
-{
- form_->update();
-}
#include <config.h>
+#include "QParagraph.h"
#include "ui/QParagraphDialogBase.h"
-#include "vspace.h"
-#include "paragraph.h"
-#include "layout.h"
-#include "lyxgluelength.h"
-
-class QParagraph;
+#include <qevent.h>
class QParagraphDialog : public QParagraphDialogBase
-{ Q_OBJECT
-
+{
+ Q_OBJECT
public:
- QParagraphDialog(QParagraph * form, QWidget * parent = 0,
- char const * name = 0, bool modal = FALSE,
- WFlags fl = 0);
- ~QParagraphDialog();
+ QParagraphDialog(QParagraph * form);
- void setReadOnly(bool);
- void setLabelWidth(char const *);
- void setAlign(int);
- void setChecks(bool, bool, bool, bool, bool);
- void setSpace(VSpace::vspace_kind, VSpace::vspace_kind, bool, bool);
- void setAboveLength(float, float, float,
- LyXLength::UNIT, LyXLength::UNIT, LyXLength::UNIT);
- void setBelowLength(float, float, float,
- LyXLength::UNIT, LyXLength::UNIT, LyXLength::UNIT);
- void setExtra(float, LyXLength::UNIT,
- string const &, int, bool, bool, Paragraph::PEXTRA_TYPE);
- LyXGlueLength getAboveLength() const;
- LyXGlueLength getBelowLength() const;
- LyXLength getExtraWidth() const;
- string getExtraWidthPercent() const;
- // FIXME: return a std::string !
- char const * getLabelWidth() const;
- LyXAlignment getAlign() const;
- bool getAboveKeep() const;
- bool getBelowKeep() const;
- bool getLineAbove() const;
- bool getLineBelow() const;
- bool getPagebreakAbove() const;
- bool getPagebreakBelow() const;
- bool getNoIndent() const;
- VSpace::vspace_kind getSpaceAboveKind() const;
- VSpace::vspace_kind getSpaceBelowKind() const;
- Paragraph::PEXTRA_TYPE getExtraType() const;
- Paragraph::MINIPAGE_ALIGNMENT getExtraAlign() const;
- bool getHfillBetween() const;
- bool getStartNewMinipage() const;
protected:
void closeEvent (QCloseEvent * e);
private:
QParagraph * form_;
- VSpace::vspace_kind getSpaceKind(int val) const;
- LyXLength::UNIT getLyXLength(int val) const;
- int getItem(LyXLength::UNIT unit) const;
+
protected slots:
- void apply_adaptor();
- void cancel_adaptor();
- void enable_extraOptions(int);
- void enable_minipageOptions(int);
- void enable_spacingAbove(int);
- void enable_spacingBelow(int);
- void ok_adaptor();
- void restore_adaptor();
+ void change_adaptor();
+ void enableAbove(int);
+ void enableBelow(int);
+ void enableLinespacingValue(int);
};
#endif // QPARAGRAPHDIALOG_H
#include "QLogDialog.h"
#include "QMinipage.h"
#include "QMinipageDialog.h"
-//#include "QParagraph.h"
+#include "QParagraph.h"
+#include "QParagraphDialog.h"
#include "QPreamble.h"
#include "QPreambleDialog.h"
//#include "QPreferences.h"
NoRepeatedApplyReadOnlyPolicy, Qt2BC> >
controlMinipageSingleton;
+GUISingleton<GUI<ControlParagraph, QParagraph,
+ OkApplyCancelReadOnlyPolicy, Qt2BC> >
+controlParagraphSingleton;
+
//GUISingleton<QPreferences> formPreferencesSingleton;
GUISingleton<GUI<ControlRef, QRef,
void gui_ShowParagraph(LyXView & lv, Dialogs & d)
{
+ controlParagraphSingleton.get(lv, d).show();
#if 0
static GUI<ControlParagraph, QParagraph,
OkApplyCancelReadOnlyPolicy, Qt2BC> cp(lv, d);
<rect>
<x>0</x>
<y>0</y>
- <width>567</width>
- <height>387</height>
+ <width>403</width>
+ <height>292</height>
</rect>
</property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
- </property>
<property stdset="1">
<name>caption</name>
- <string>Paragraph</string>
- </property>
- <property stdset="1">
- <name>sizeGripEnabled</name>
- <bool>true</bool>
- </property>
- <property>
- <name>layoutMargin</name>
- </property>
- <property>
- <name>layoutSpacing</name>
+ <string>Form1</string>
</property>
<vbox>
<property stdset="1">
<class>QTabWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>TabsParagraph</cstring>
- </property>
- <property>
- <name>layoutMargin</name>
+ <cstring>paragraphTab</cstring>
</property>
<property>
- <name>layoutSpacing</name>
+ <name>toolTip</name>
+ <string></string>
</property>
<widget>
<class>QWidget</class>
</property>
<attribute>
<name>title</name>
- <string>&Alignment and Spacing</string>
+ <string>&General</string>
</attribute>
- <vbox>
+ <grid>
<property stdset="1">
<name>margin</name>
<number>11</number>
<name>spacing</name>
<number>6</number>
</property>
- <widget>
- <class>QLayoutWidget</class>
+ <widget row="0" column="1" >
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Justified</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Left</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Right</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Center</string>
+ </property>
+ </item>
<property stdset="1">
<name>name</name>
- <cstring>Layout6</cstring>
+ <cstring>align</cstring>
</property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
+ </widget>
+ <widget row="1" column="2" >
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>linespacingValue</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget row="1" column="1" >
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Default</string>
</property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Single</string>
</property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>alignmentL</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Alignment:</string>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
- </property>
- </widget>
- <widget>
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Justified</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Left</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Right</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Centered</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>alignment</cstring>
- </property>
- <property stdset="1">
- <name>insertionPolicy</name>
- <enum>AtBottom</enum>
- </property>
- <property stdset="1">
- <name>autoCompletion</name>
- <bool>false</bool>
- </property>
- </widget>
- <spacer>
- <property>
- <name>name</name>
- <cstring>Spacer3</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Horizontal</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>noIndent</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>No indentation</string>
- </property>
- </widget>
- </hbox>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>1.5</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Double</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Custom</string>
+ </property>
+ </item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>linespacing</cstring>
+ </property>
</widget>
- <widget>
- <class>QGroupBox</class>
+ <widget row="1" column="0" >
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>spacingOptions</cstring>
+ <cstring>linespacingL</cstring>
</property>
<property stdset="1">
- <name>title</name>
- <string>Spacing</string>
+ <name>text</name>
+ <string>L&ine spacing:</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>linespacing</cstring>
+ </property>
+ </widget>
+ <widget row="0" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>alignL</cstring>
</property>
<property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
+ <name>text</name>
+ <string>Alig&nment:</string>
</property>
<property>
- <name>layoutSpacing</name>
+ <name>buddy</name>
+ <cstring>align</cstring>
</property>
- <grid>
- <property stdset="1">
- <name>margin</name>
- <number>11</number>
+ </widget>
+ <widget row="2" column="0" rowspan="1" colspan="2" >
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>noindent</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>No &indent</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>tab</cstring>
+ </property>
+ <attribute>
+ <name>title</name>
+ <string>&Spacing</string>
+ </attribute>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>11</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="0" column="1" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>aboveL</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Above paragraph</string>
+ </property>
+ <property stdset="1">
+ <name>alignment</name>
+ <set>AlignCenter</set>
+ </property>
+ <property>
+ <name>hAlign</name>
+ </property>
+ </widget>
+ <widget row="1" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>spacingL</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>S&pacing:</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>spacingAbove</cstring>
+ </property>
+ </widget>
+ <widget row="4" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>keepL</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Keep space:</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>keepAbove</cstring>
+ </property>
+ </widget>
+ <widget row="3" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>unitL</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Unit:</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>unitAbove</cstring>
+ </property>
+ </widget>
+ <widget row="2" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>valueL</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Value:</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>valueAbove</cstring>
+ </property>
+ </widget>
+ <widget row="1" column="1" >
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>None</string>
</property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>DefSkip</string>
</property>
- <widget row="4" column="2" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Centimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Inches</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Millimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Picas</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>ex Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>em Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Scaled Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Big/PS Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Didot Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Cicero Points</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelowValueUnit</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- </widget>
- <widget row="4" column="3" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Centimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Inches</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Millimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Picas</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>ex Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>em Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Scaled Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Big/PS Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Didot Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Cicero Points</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelowPlusUnit</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- </widget>
- <widget row="4" column="4" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Centimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Inches</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Millimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Picas</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>ex Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>em Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Scaled Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Big/PS Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Didot Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Cicero Points</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelowMinusUnit</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- </widget>
- <widget row="2" column="3" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Centimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Inches</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Millimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Picas</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>ex Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>em Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Scaled Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Big/PS Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Didot Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Cicero Points</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAbovePlusUnit</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- </widget>
- <widget row="2" column="2" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Centimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Inches</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Millimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Picas</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>ex Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>em Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Scaled Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Big/PS Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Didot Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Cicero Points</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAboveValueUnit</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- </widget>
- <widget row="3" column="2" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelowValue</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget row="3" column="3" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelowPlus</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget row="2" column="4" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Centimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Inches</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Millimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Picas</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>ex Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>em Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Scaled Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Big/PS Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Didot Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Cicero Points</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAboveMinusUnit</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- </widget>
- <widget row="1" column="2" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAboveValue</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget row="1" column="3" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAbovePlus</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget row="1" column="4" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAboveMinus</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget row="3" column="4" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelowMinus</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget row="4" column="1" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout2_1</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <spacer>
- <property>
- <name>name</name>
- <cstring>Spacer2_1_1</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Horizontal</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelowUnitsL</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Units:</string>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property>
- <name>toolTip</name>
- <string>Unit of Size, Stretch and Slink</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget row="2" column="1" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout2_1_2</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <spacer>
- <property>
- <name>name</name>
- <cstring>Spacer2_1_1_2</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Horizontal</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAboveUnitsL</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Units:</string>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property>
- <name>toolTip</name>
- <string>Unit of Size, Stretch and Slink</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget row="0" column="2" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingValueL</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Value:</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property>
- <name>toolTip</name>
- <string>Amount of spacing</string>
- </property>
- </widget>
- <widget row="0" column="3" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingPlusL</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Stretch:</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property>
- <name>toolTip</name>
- <string>Margin by which paragraph is allowed to increase</string>
- </property>
- </widget>
- <widget row="0" column="4" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingMinusL</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Shrink:</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property>
- <name>toolTip</name>
- <string>Margin by which paragraph is allowed to decrease</string>
- </property>
- </widget>
- <widget row="1" column="1" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>None</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>DefSkip</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>SmallSkip</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>MedSkip</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>BigSkip</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>VFill</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Custom</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAbove</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- </widget>
- <widget row="1" column="0" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAboveL</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Above:</string>
- </property>
- <property>
- <name>buddy</name>
- <cstring></cstring>
- </property>
- </widget>
- <widget row="3" column="0" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelowL</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Below:</string>
- </property>
- <property>
- <name>buddy</name>
- <cstring></cstring>
- </property>
- </widget>
- <widget row="3" column="1" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>None</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>DefSkip</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>SmallSkip</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>MedSkip</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>BigSkip</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>VFill</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Custom</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelow</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- </widget>
- <widget row="5" column="1" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingAboveKeep</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Keep space at the top of the page</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
- </property>
- <property>
- <name>toolTip</name>
- <string>Keep space at top of the page</string>
- </property>
- </widget>
- <widget row="5" column="3" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>spacingBelowKeep</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Keep space at the bottom of the page</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
- </property>
- <property>
- <name>toolTip</name>
- <string>Keep space at the bottom of the page</string>
- </property>
- </widget>
- </grid>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>SmallSkip</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>MedSkip</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>BigSkip</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>VFill</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Custom</string>
+ </property>
+ </item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>spacingAbove</cstring>
+ </property>
</widget>
- <widget>
- <class>QGroupBox</class>
+ <widget row="1" column="2" >
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>None</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>DefSkip</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>SmallSkip</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>MedSkip</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>BigSkip</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>VFill</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Custom</string>
+ </property>
+ </item>
<property stdset="1">
<name>name</name>
- <cstring>listOptions</cstring>
+ <cstring>spacingBelow</cstring>
</property>
+ </widget>
+ <widget row="2" column="1" >
+ <class>QLineEdit</class>
<property stdset="1">
- <name>title</name>
- <string>List environment</string>
+ <name>name</name>
+ <cstring>valueAbove</cstring>
</property>
<property stdset="1">
<name>enabled</name>
<bool>false</bool>
</property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>11</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>labelWidthL</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Label width:</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property>
- <name>toolTip</name>
- <string>Label width in list environment</string>
- </property>
- </widget>
- <widget>
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>labelWidth</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <spacer>
- <property>
- <name>name</name>
- <cstring>Spacer7</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Horizontal</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
</widget>
- <spacer>
+ <widget row="2" column="2" >
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>valueBelow</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget row="3" column="1" >
+ <class>QComboBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>unitAbove</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget row="3" column="2" >
+ <class>QComboBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>unitBelow</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget row="4" column="1" >
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>keepAbove</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string></string>
+ </property>
+ </widget>
+ <widget row="4" column="2" >
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>keepBelow</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string></string>
+ </property>
+ </widget>
+ <widget row="0" column="2" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>belowL</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Below paragraph</string>
+ </property>
+ <property stdset="1">
+ <name>alignment</name>
+ <set>AlignCenter</set>
+ </property>
+ <property>
+ <name>hAlign</name>
+ </property>
+ </widget>
+ <spacer row="5" column="0" rowspan="1" colspan="3" >
<property>
<name>name</name>
- <cstring>Spacer1_5</cstring>
+ <cstring>Spacer7</cstring>
</property>
<property stdset="1">
<name>orientation</name>
</size>
</property>
</spacer>
- </vbox>
+ </grid>
</widget>
<widget>
<class>QWidget</class>
</property>
<attribute>
<name>title</name>
- <string>&Lines and Page breaks</string>
+ <string>&Lines && Pagebreaks</string>
</attribute>
<grid>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
- <widget row="0" column="1" >
- <class>QGroupBox</class>
+ <widget row="1" column="0" rowspan="1" colspan="2" >
+ <class>QButtonGroup</class>
<property stdset="1">
<name>name</name>
- <cstring>pagebreakOptions</cstring>
+ <cstring>labelwidthGB</cstring>
</property>
<property stdset="1">
- <name>title</name>
- <string>Page break</string>
+ <name>enabled</name>
+ <bool>false</bool>
</property>
<property stdset="1">
- <name>orientation</name>
- <enum>Vertical</enum>
+ <name>title</name>
+ <string>Label width</string>
</property>
- <vbox>
+ <hbox>
<property stdset="1">
<name>margin</name>
<number>11</number>
<number>6</number>
</property>
<widget>
- <class>QCheckBox</class>
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>pagebreakAbove</cstring>
+ <cstring>TextLabel2</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>above paragraph</string>
+ <string>Lon&gest label</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>labelWidth</cstring>
</property>
</widget>
<widget>
- <class>QCheckBox</class>
+ <class>QLineEdit</class>
<property stdset="1">
<name>name</name>
- <cstring>pagebreakBelow</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>below paragraph</string>
+ <cstring>labelWidth</cstring>
</property>
</widget>
- </vbox>
+ </hbox>
</widget>
- <spacer row="0" column="2" >
- <property>
- <name>name</name>
- <cstring>Spacer1_2</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Horizontal</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property>
- <name>toolTip</name>
- <string>Index entry</string>
- </property>
- </spacer>
- <spacer row="1" column="2" >
- <property>
- <name>name</name>
- <cstring>Spacer2</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Vertical</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
<widget row="0" column="0" >
<class>QGroupBox</class>
<property stdset="1">
<name>name</name>
- <cstring>lineOptions</cstring>
+ <cstring>linesGB</cstring>
</property>
<property stdset="1">
<name>title</name>
- <string>Line</string>
+ <string>L&ines</string>
</property>
<vbox>
<property stdset="1">
</property>
<property stdset="1">
<name>text</name>
- <string>above paragraph</string>
+ <string>A&bove</string>
</property>
</widget>
<widget>
</property>
<property stdset="1">
<name>text</name>
- <string>below paragraph</string>
+ <string>B&elow</string>
</property>
</widget>
</vbox>
</widget>
- </grid>
- </widget>
- <widget>
- <class>QWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>tab</cstring>
- </property>
- <attribute>
- <name>title</name>
- <string>&Extra options</string>
- </attribute>
- <grid>
- <property stdset="1">
- <name>margin</name>
- <number>11</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <spacer row="1" column="1" >
- <property>
- <name>name</name>
- <cstring>Spacer1_4</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Horizontal</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget row="0" column="0" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout7</cstring>
- </property>
- <grid>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget row="0" column="2" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>extraUnitL</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Unit:</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget row="1" column="2" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Centimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Inches</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Millimetres</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Picas</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>ex Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>em Units</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Scaled Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Big/PS Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Didot Points</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Cicero Points</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>extraUnit</cstring>
- </property>
- <property stdset="1">
- <name>focusPolicy</name>
- <enum>TabFocus</enum>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget row="1" column="1" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>extraWidth</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget row="1" column="0" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>None</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Minipage</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Wrap text around floats</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Indent whole paragraph</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>extraType</cstring>
- </property>
- </widget>
- <widget row="0" column="1" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>extraWidthL</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Width:</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- </grid>
- </widget>
- <widget row="1" column="0" >
+ <widget row="0" column="1" >
<class>QGroupBox</class>
<property stdset="1">
<name>name</name>
- <cstring>minipageOptions</cstring>
+ <cstring>pagebreakGB</cstring>
</property>
<property stdset="1">
<name>title</name>
- <string>Minipage options</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
+ <string>&Page breaks</string>
</property>
<vbox>
<property stdset="1">
<class>QCheckBox</class>
<property stdset="1">
<name>name</name>
- <cstring>minipageStart</cstring>
+ <cstring>pagebreakAbove</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>Start new minipage</string>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
+ <string>Abo&ve</string>
</property>
</widget>
<widget>
<class>QCheckBox</class>
<property stdset="1">
<name>name</name>
- <cstring>minipageHfill</cstring>
+ <cstring>pagebreakBelow</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>HFill between minipage paragraphs</string>
+ <string>Belo&w</string>
</property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <widget>
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout15</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>minipageValignL</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Vertical Alignment:</string>
- </property>
- </widget>
- <widget>
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Top</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Middle</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Bottom</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>minipageValign</cstring>
- </property>
- </widget>
- <spacer>
- <property>
- <name>name</name>
- <cstring>Spacer8</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Horizontal</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
</widget>
</vbox>
</widget>
- <spacer row="2" column="0" >
- <property>
- <name>name</name>
- <cstring>Spacer6</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Vertical</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
</grid>
</widget>
</widget>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
- <cstring>defaultsPB</cstring>
+ <cstring>restorePB</cstring>
</property>
<property stdset="1">
<name>text</name>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
- <cstring>applyPB</cstring>
+ <cstring>okPB</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>&Apply</string>
+ <string>&OK</string>
</property>
</widget>
<widget>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
- <cstring>okPB</cstring>
+ <cstring>applyPB</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>&OK</string>
- </property>
- <property stdset="1">
- <name>flat</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>default</name>
- <bool>false</bool>
+ <string>&Apply</string>
</property>
</widget>
<widget>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
- <cstring>cancelPB</cstring>
+ <cstring>closePB</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>&Cancel</string>
- </property>
- <property stdset="1">
- <name>default</name>
- <bool>true</bool>
+ <string>&Close</string>
</property>
</widget>
</hbox>
</widget>
<connections>
<connection>
- <sender>defaultsPB</sender>
- <signal>clicked()</signal>
+ <sender>align</sender>
+ <signal>activated(int)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>linespacing</sender>
+ <signal>activated(int)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>linespacing</sender>
+ <signal>activated(int)</signal>
<receiver>QParagraphDialogBase</receiver>
- <slot>restore_adaptor()</slot>
+ <slot>enableLinespacingValue(int)</slot>
</connection>
<connection>
- <sender>applyPB</sender>
- <signal>clicked()</signal>
+ <sender>linespacingValue</sender>
+ <signal>textChanged(const QString&)</signal>
<receiver>QParagraphDialogBase</receiver>
- <slot>apply_adaptor()</slot>
+ <slot>change_adaptor()</slot>
</connection>
<connection>
- <sender>cancelPB</sender>
- <signal>clicked()</signal>
+ <sender>noindent</sender>
+ <signal>toggled(bool)</signal>
<receiver>QParagraphDialogBase</receiver>
- <slot>cancel_adaptor()</slot>
+ <slot>change_adaptor()</slot>
</connection>
<connection>
- <sender>okPB</sender>
- <signal>clicked()</signal>
+ <sender>spacingAbove</sender>
+ <signal>activated(int)</signal>
<receiver>QParagraphDialogBase</receiver>
- <slot>ok_adaptor()</slot>
+ <slot>change_adaptor()</slot>
</connection>
<connection>
<sender>spacingAbove</sender>
<signal>activated(int)</signal>
<receiver>QParagraphDialogBase</receiver>
- <slot>enable_spacingAbove(int)</slot>
+ <slot>enableAbove(int)</slot>
+ </connection>
+ <connection>
+ <sender>valueAbove</sender>
+ <signal>textChanged(const QString&)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>unitAbove</sender>
+ <signal>activated(int)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>keepAbove</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
</connection>
<connection>
<sender>spacingBelow</sender>
<signal>activated(int)</signal>
<receiver>QParagraphDialogBase</receiver>
- <slot>enable_spacingBelow(int)</slot>
+ <slot>enableBelow(int)</slot>
</connection>
<connection>
- <sender>extraType</sender>
+ <sender>spacingBelow</sender>
<signal>activated(int)</signal>
<receiver>QParagraphDialogBase</receiver>
- <slot>enable_minipageOptions(int)</slot>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>valueBelow</sender>
+ <signal>textChanged(const QString&)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>valueBelow</sender>
+ <signal>textChanged(const QString&)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
</connection>
<connection>
- <sender>extraType</sender>
+ <sender>unitBelow</sender>
<signal>activated(int)</signal>
<receiver>QParagraphDialogBase</receiver>
- <slot>enable_extraOptions(int)</slot>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>keepBelow</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>lineAbove</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>lineBelow</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>pagebreakAbove</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
</connection>
- <slot access="protected">apply_adaptor()</slot>
- <slot access="protected">cancel_adaptor()</slot>
- <slot access="protected">enable_extraOptions(int)</slot>
- <slot access="protected">enable_minipageOptions(int)</slot>
- <slot access="protected">enable_spacingAbove(int)</slot>
- <slot access="protected">enable_spacingBelow(int)</slot>
- <slot access="protected">ok_adaptor()</slot>
- <slot access="protected">restore_adaptor()</slot>
+ <connection>
+ <sender>pagebreakBelow</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <connection>
+ <sender>labelWidth</sender>
+ <signal>textChanged(const QString&)</signal>
+ <receiver>QParagraphDialogBase</receiver>
+ <slot>change_adaptor()</slot>
+ </connection>
+ <slot access="protected">change_adaptor()</slot>
+ <slot access="protected">enableLinespacingValue(int)</slot>
+ <slot access="protected">enableAbove(int)</slot>
+ <slot access="protected">enableBelow(int)</slot>
</connections>
<tabstops>
- <tabstop>TabsParagraph</tabstop>
- <tabstop>alignment</tabstop>
- <tabstop>noIndent</tabstop>
+ <tabstop>paragraphTab</tabstop>
+ <tabstop>align</tabstop>
+ <tabstop>linespacing</tabstop>
+ <tabstop>linespacingValue</tabstop>
+ <tabstop>noindent</tabstop>
<tabstop>spacingAbove</tabstop>
- <tabstop>spacingAboveValue</tabstop>
- <tabstop>spacingAbovePlus</tabstop>
- <tabstop>spacingAboveMinus</tabstop>
- <tabstop>spacingAboveKeep</tabstop>
- <tabstop>spacingAboveValueUnit</tabstop>
- <tabstop>spacingAbovePlusUnit</tabstop>
- <tabstop>spacingAboveMinusUnit</tabstop>
+ <tabstop>valueAbove</tabstop>
+ <tabstop>unitAbove</tabstop>
+ <tabstop>keepAbove</tabstop>
<tabstop>spacingBelow</tabstop>
- <tabstop>spacingBelowValue</tabstop>
- <tabstop>spacingBelowPlus</tabstop>
- <tabstop>spacingBelowMinus</tabstop>
- <tabstop>spacingBelowKeep</tabstop>
- <tabstop>spacingBelowValueUnit</tabstop>
- <tabstop>spacingBelowPlusUnit</tabstop>
- <tabstop>spacingBelowMinusUnit</tabstop>
- <tabstop>labelWidth</tabstop>
+ <tabstop>valueBelow</tabstop>
+ <tabstop>unitBelow</tabstop>
+ <tabstop>keepBelow</tabstop>
<tabstop>lineAbove</tabstop>
<tabstop>lineBelow</tabstop>
<tabstop>pagebreakAbove</tabstop>
<tabstop>pagebreakBelow</tabstop>
- <tabstop>extraType</tabstop>
- <tabstop>extraWidth</tabstop>
- <tabstop>extraUnit</tabstop>
- <tabstop>minipageStart</tabstop>
- <tabstop>minipageHfill</tabstop>
- <tabstop>minipageValign</tabstop>
- <tabstop>cancelPB</tabstop>
+ <tabstop>labelWidth</tabstop>
+ <tabstop>restorePB</tabstop>
<tabstop>okPB</tabstop>
<tabstop>applyPB</tabstop>
- <tabstop>defaultsPB</tabstop>
+ <tabstop>closePB</tabstop>
</tabstops>
</UI>