]> git.lyx.org Git - lyx.git/blob - src/frontends/kde/refdlg.C
initalize memeber vars
[lyx.git] / src / frontends / kde / refdlg.C
1 /**
2  * \file refdlg.C
3  * Copyright 2001 the LyX Team
4  * Read the file COPYING
5  *
6  * \author John Levon
7  */
8
9 #include <config.h>
10  
11 #include "refdlg.h"
12 #include "dlg/helpers.h"
13 #include "insets/insetref.h"
14
15 using kde_helpers::setSizeHint;
16
17 RefDialog::RefDialog(FormRef * form, QWidget * parent, char const * name, bool, WFlags)
18         : QDialog(parent,name,0), form_(form)
19 {
20         setCaption(name);
21
22         // widgets
23
24         refs = new QListBox(this);
25         refs->setMinimumSize(200,200);
26  
27         labelrefs = new QLabel(this);
28         labelrefs->setText(_("Available References"));
29         labelrefs->setMargin(5);
30         setSizeHint(labelrefs);
31         labelrefs->setMaximumSize(labelrefs->sizeHint());
32
33         refname = new QLineEdit(this);
34         setSizeHint(refname);
35         // FIXME: should user be able to edit this ? what's it for ? - jbl 
36         refname->setFocusPolicy(QWidget::NoFocus);
37  
38         reference = new QLineEdit(this); 
39         setSizeHint(reference);
40         reference->setFocusPolicy(QWidget::NoFocus);
41
42         labelrefname = new QLabel(this);
43         labelrefname->setText(_("Name :"));
44         labelrefname->setMargin(5);
45         setSizeHint(labelrefname);
46         labelrefname->setMaximumSize(labelrefname->sizeHint());
47
48         labelreference = new QLabel(this);
49         labelreference->setText(_("Reference :"));
50         labelreference->setMargin(5);
51         setSizeHint(labelreference);
52         labelreference->setMaximumSize(labelreference->sizeHint());
53
54         sort = new QCheckBox(this); 
55         sort->setText(_("Sort"));
56         setSizeHint(sort);
57         sort->setMaximumSize(sort->sizeHint());
58  
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()));
62         setSizeHint(type);
63          
64         labeltype = new QLabel(this); 
65         labeltype->setText(_("Reference Type"));
66         labeltype->setMargin(5);
67         setSizeHint(labeltype);
68         labeltype->setMaximumSize(labeltype->sizeHint());
69  
70         buttonGoto = new QPushButton(this);
71         buttonGoto->setText(_("&Goto reference"));
72         setSizeHint(buttonGoto);
73         buttonGoto->setMaximumSize(buttonGoto->sizeHint());
74
75         buttonUpdate = new QPushButton(this);
76         buttonUpdate->setText(_("&Update"));
77         setSizeHint(buttonUpdate);
78         buttonUpdate->setMaximumSize(buttonUpdate->sizeHint());
79
80         buttonOk = new QPushButton(this);
81         buttonOk->setText(_("&OK"));
82         setSizeHint(buttonOk);
83         buttonOk->setMaximumSize(buttonOk->sizeHint());
84         buttonOk->setDefault(true);
85
86         buttonCancel = new QPushButton(this);
87         buttonCancel->setText(_("&Cancel"));
88         setSizeHint(buttonCancel);
89         buttonCancel->setMaximumSize(buttonCancel->sizeHint());
90
91         // tooltips
92
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 !")); 
98
99         // layouts
100
101         topLayout = new QHBoxLayout(this,10);
102
103         layout = new QVBoxLayout();
104         topLayout->addLayout(layout);
105         layout->addSpacing(10);
106
107         upperLayout = new QHBoxLayout();
108         layout->addLayout(upperLayout, 1);
109
110         browserLayout = new QVBoxLayout();
111         upperLayout->addLayout(browserLayout, 1);
112
113         browserLayout->addWidget(labelrefs, 0);
114         browserLayout->addWidget(refs, 1);
115
116         rightLayout = new QVBoxLayout();
117         upperLayout->addLayout(rightLayout, 1);
118
119         nameLayout = new QHBoxLayout();
120         rightLayout->addLayout(nameLayout, 0);
121
122         nameLayout->addWidget(labelrefname, 0);
123         nameLayout->addWidget(refname, 1);
124
125         rightLayout->addStretch(1);
126  
127         referenceLayout = new QHBoxLayout();
128         rightLayout->addLayout(referenceLayout, 0);
129
130         referenceLayout->addWidget(labelreference, 0);
131         referenceLayout->addWidget(reference, 1);
132  
133         rightLayout->addStretch(1);
134  
135         rightLayout->addWidget(labeltype, 0);
136         rightLayout->addWidget(type, 0);
137  
138         rightLayout->addStretch(1);
139  
140         rightLayout->addWidget(buttonGoto, 1);
141
142         rightLayout->addStretch(1);
143  
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);
154  
155         // connections
156
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()));
164         
165         resize(sizeHint());
166 }
167
168
169 RefDialog::~RefDialog()
170 {
171 }
172
173
174 void RefDialog::closeEvent(QCloseEvent * e)
175 {
176         form_->CancelButton();
177         e->accept();
178 }