3 * Copyright 2001 the LyX Team
4 * Read the file COPYING
12 #include "dlg/helpers.h"
13 #include "insets/insetref.h"
15 using kde_helpers::setSizeHint;
17 RefDialog::RefDialog(FormRef * form, QWidget * parent, char const * name, bool, WFlags)
18 : QDialog(parent,name,0), form_(form)
24 refs = new QListBox(this);
25 refs->setMinimumSize(200,200);
27 labelrefs = new QLabel(this);
28 labelrefs->setText(_("Available References"));
29 labelrefs->setMargin(5);
30 setSizeHint(labelrefs);
31 labelrefs->setMaximumSize(labelrefs->sizeHint());
33 refname = new QLineEdit(this);
35 // FIXME: should user be able to edit this ? what's it for ? - jbl
36 refname->setFocusPolicy(QWidget::NoFocus);
38 reference = new QLineEdit(this);
39 setSizeHint(reference);
40 reference->setFocusPolicy(QWidget::NoFocus);
42 labelrefname = new QLabel(this);
43 labelrefname->setText(_("Name :"));
44 labelrefname->setMargin(5);
45 setSizeHint(labelrefname);
46 labelrefname->setMaximumSize(labelrefname->sizeHint());
48 labelreference = new QLabel(this);
49 labelreference->setText(_("Reference :"));
50 labelreference->setMargin(5);
51 setSizeHint(labelreference);
52 labelreference->setMaximumSize(labelreference->sizeHint());
54 sort = new QCheckBox(this);
55 sort->setText(_("Sort"));
57 sort->setMaximumSize(sort->sizeHint());
59 type = new QComboBox(this);
60 for (int i = 0; !InsetRef::types[i].latex_name.empty(); ++i)
61 type->insertItem(_(InsetRef::types[i].gui_name.c_str()));
64 labeltype = new QLabel(this);
65 labeltype->setText(_("Reference Type"));
66 labeltype->setMargin(5);
67 setSizeHint(labeltype);
68 labeltype->setMaximumSize(labeltype->sizeHint());
70 buttonGoto = new QPushButton(this);
71 buttonGoto->setText(_("&Goto reference"));
72 setSizeHint(buttonGoto);
73 buttonGoto->setMaximumSize(buttonGoto->sizeHint());
75 buttonUpdate = new QPushButton(this);
76 buttonUpdate->setText(_("&Update"));
77 setSizeHint(buttonUpdate);
78 buttonUpdate->setMaximumSize(buttonUpdate->sizeHint());
80 buttonOk = new QPushButton(this);
81 buttonOk->setText(_("&OK"));
82 setSizeHint(buttonOk);
83 buttonOk->setMaximumSize(buttonOk->sizeHint());
84 buttonOk->setDefault(true);
86 buttonCancel = new QPushButton(this);
87 buttonCancel->setText(_("&Cancel"));
88 setSizeHint(buttonCancel);
89 buttonCancel->setMaximumSize(buttonCancel->sizeHint());
93 QToolTip::add(type,_("Reference as it appears in output"));
94 QToolTip::add(sort,_("Sort references in alphabetical order ?"));
95 QToolTip::add(buttonUpdate,_("Update list of references shown"));
96 QToolTip::add(buttonGoto,_("Jump to reference in document"));
97 QToolTip::add(refname,_("FIXME please !"));
101 topLayout = new QHBoxLayout(this,10);
103 layout = new QVBoxLayout();
104 topLayout->addLayout(layout);
105 layout->addSpacing(10);
107 upperLayout = new QHBoxLayout();
108 layout->addLayout(upperLayout, 1);
110 browserLayout = new QVBoxLayout();
111 upperLayout->addLayout(browserLayout, 1);
113 browserLayout->addWidget(labelrefs, 0);
114 browserLayout->addWidget(refs, 1);
116 rightLayout = new QVBoxLayout();
117 upperLayout->addLayout(rightLayout, 1);
119 nameLayout = new QHBoxLayout();
120 rightLayout->addLayout(nameLayout, 0);
122 nameLayout->addWidget(labelrefname, 0);
123 nameLayout->addWidget(refname, 1);
125 rightLayout->addStretch(1);
127 referenceLayout = new QHBoxLayout();
128 rightLayout->addLayout(referenceLayout, 0);
130 referenceLayout->addWidget(labelreference, 0);
131 referenceLayout->addWidget(reference, 1);
133 rightLayout->addStretch(1);
135 rightLayout->addWidget(labeltype, 0);
136 rightLayout->addWidget(type, 0);
138 rightLayout->addStretch(1);
140 rightLayout->addWidget(buttonGoto, 1);
142 rightLayout->addStretch(1);
144 buttonLayout = new QHBoxLayout();
145 layout->addLayout(buttonLayout);
146 buttonLayout->addWidget(sort, 1);
147 buttonLayout->addStretch(1);
148 buttonLayout->addWidget(buttonUpdate, 1);
149 buttonLayout->addStretch(1);
150 buttonLayout->addWidget(buttonOk, 1);
151 buttonLayout->addStretch(2);
152 buttonLayout->addWidget(buttonCancel, 1);
153 buttonLayout->addStretch(1);
157 connect(refs, SIGNAL(highlighted(const char *)), this, SLOT(highlight_adaptor(const char *)));
158 connect(refs, SIGNAL(selected(const char *)), this, SLOT(select_adaptor(const char *)));
159 connect(sort, SIGNAL(toggled(bool)), this, SLOT(sort_adaptor(bool)));
160 connect(buttonOk, SIGNAL(clicked()), this, SLOT(apply_adaptor()));
161 connect(buttonUpdate, SIGNAL(clicked()), this, SLOT(update_adaptor()));
162 connect(buttonGoto, SIGNAL(clicked()), this, SLOT(goto_adaptor()));
163 connect(buttonCancel, SIGNAL(clicked()), this, SLOT(close_adaptor()));
169 RefDialog::~RefDialog()
174 void RefDialog::closeEvent(QCloseEvent * e)
176 form_->CancelButton();