3 * Copyright 2001 the LyX Team
4 * Read the file COPYING
12 #include "dlg/helpers.h"
13 #include "insets/insetref.h"
15 #ifdef CXX_WORKING_NAMESPACES
16 using kde_helpers::setSizeHint;
19 RefDialog::RefDialog(FormRef * form, QWidget * parent, char const * name, bool, WFlags)
20 : QDialog(parent,name,0), form_(form)
26 refs = new QListBox(this);
27 refs->setMinimumSize(200,200);
29 labelrefs = new QLabel(this);
30 labelrefs->setText(_("Available References"));
31 labelrefs->setMargin(5);
32 setSizeHint(labelrefs);
33 labelrefs->setMaximumSize(labelrefs->sizeHint());
35 refname = new QLineEdit(this);
37 // FIXME: should user be able to edit this ? what's it for ? - jbl
38 refname->setFocusPolicy(QWidget::NoFocus);
40 reference = new QLineEdit(this);
41 setSizeHint(reference);
42 reference->setFocusPolicy(QWidget::NoFocus);
44 labelrefname = new QLabel(this);
45 labelrefname->setText(_("Name :"));
46 labelrefname->setMargin(5);
47 setSizeHint(labelrefname);
48 labelrefname->setMaximumSize(labelrefname->sizeHint());
50 labelreference = new QLabel(this);
51 labelreference->setText(_("Reference :"));
52 labelreference->setMargin(5);
53 setSizeHint(labelreference);
54 labelreference->setMaximumSize(labelreference->sizeHint());
56 sort = new QCheckBox(this);
57 sort->setText(_("Sort"));
59 sort->setMaximumSize(sort->sizeHint());
61 type = new QComboBox(this);
62 for (int i = 0; !InsetRef::types[i].latex_name.empty(); ++i)
63 type->insertItem(_(InsetRef::types[i].gui_name.c_str()));
66 labeltype = new QLabel(this);
67 labeltype->setText(_("Reference Type"));
68 labeltype->setMargin(5);
69 setSizeHint(labeltype);
70 labeltype->setMaximumSize(labeltype->sizeHint());
72 buttonGoto = new QPushButton(this);
73 buttonGoto->setText(_("&Goto reference"));
74 setSizeHint(buttonGoto);
75 buttonGoto->setMaximumSize(buttonGoto->sizeHint());
77 buttonUpdate = new QPushButton(this);
78 buttonUpdate->setText(_("&Update"));
79 setSizeHint(buttonUpdate);
80 buttonUpdate->setMaximumSize(buttonUpdate->sizeHint());
82 buttonOk = new QPushButton(this);
83 buttonOk->setText(_("&OK"));
84 setSizeHint(buttonOk);
85 buttonOk->setMaximumSize(buttonOk->sizeHint());
86 buttonOk->setDefault(true);
88 buttonCancel = new QPushButton(this);
89 buttonCancel->setText(_("&Cancel"));
90 setSizeHint(buttonCancel);
91 buttonCancel->setMaximumSize(buttonCancel->sizeHint());
95 QToolTip::add(type,_("Reference as it appears in output"));
96 QToolTip::add(sort,_("Sort references in alphabetical order ?"));
97 QToolTip::add(buttonUpdate,_("Update list of references shown"));
98 QToolTip::add(buttonGoto,_("Jump to reference in document"));
99 QToolTip::add(refname,_("FIXME please !"));
103 topLayout = new QHBoxLayout(this,10);
105 layout = new QVBoxLayout();
106 topLayout->addLayout(layout);
107 layout->addSpacing(10);
109 upperLayout = new QHBoxLayout();
110 layout->addLayout(upperLayout, 1);
112 browserLayout = new QVBoxLayout();
113 upperLayout->addLayout(browserLayout, 1);
115 browserLayout->addWidget(labelrefs, 0);
116 browserLayout->addWidget(refs, 1);
118 rightLayout = new QVBoxLayout();
119 upperLayout->addLayout(rightLayout, 1);
121 nameLayout = new QHBoxLayout();
122 rightLayout->addLayout(nameLayout, 0);
124 nameLayout->addWidget(labelrefname, 0);
125 nameLayout->addWidget(refname, 1);
127 rightLayout->addStretch(1);
129 referenceLayout = new QHBoxLayout();
130 rightLayout->addLayout(referenceLayout, 0);
132 referenceLayout->addWidget(labelreference, 0);
133 referenceLayout->addWidget(reference, 1);
135 rightLayout->addStretch(1);
137 rightLayout->addWidget(labeltype, 0);
138 rightLayout->addWidget(type, 0);
140 rightLayout->addStretch(1);
142 rightLayout->addWidget(buttonGoto, 1);
144 rightLayout->addStretch(1);
146 buttonLayout = new QHBoxLayout();
147 layout->addLayout(buttonLayout);
148 buttonLayout->addWidget(sort, 1);
149 buttonLayout->addStretch(1);
150 buttonLayout->addWidget(buttonUpdate, 1);
151 buttonLayout->addStretch(1);
152 buttonLayout->addWidget(buttonOk, 1);
153 buttonLayout->addStretch(2);
154 buttonLayout->addWidget(buttonCancel, 1);
155 buttonLayout->addStretch(1);
159 connect(refs, SIGNAL(highlighted(const char *)), this, SLOT(highlight_adaptor(const char *)));
160 connect(refs, SIGNAL(selected(const char *)), this, SLOT(select_adaptor(const char *)));
161 connect(sort, SIGNAL(toggled(bool)), this, SLOT(sort_adaptor(bool)));
162 connect(buttonOk, SIGNAL(clicked()), this, SLOT(apply_adaptor()));
163 connect(buttonUpdate, SIGNAL(clicked()), this, SLOT(update_adaptor()));
164 connect(buttonGoto, SIGNAL(clicked()), this, SLOT(goto_adaptor()));
165 connect(buttonCancel, SIGNAL(clicked()), this, SLOT(close_adaptor()));
171 RefDialog::~RefDialog()
176 void RefDialog::closeEvent(QCloseEvent * e)