73 |
73 |
/** The querywidget. */
|
74 |
74 |
protected QueryWidget querywidget;
|
75 |
75 |
|
76 |
|
private QueryAssistDialog d;
|
|
76 |
protected QueryAssistDialog d;
|
77 |
77 |
|
|
78 |
protected ComboViewer engineCombo;
|
|
79 |
protected List<SearchEngine> engines;
|
78 |
80 |
/**
|
79 |
81 |
* Instantiates a new assisted query widget.
|
80 |
82 |
*
|
... | ... | |
86 |
88 |
super(parent, SWT.NONE);
|
87 |
89 |
this.setLayout(GLComposite.createDefaultLayout(3));
|
88 |
90 |
|
89 |
|
List<SearchEngine> engines = SearchEnginesManager.getAvailableEngines(corpus);
|
|
91 |
engines = SearchEnginesManager.getAvailableEngines(corpus);
|
90 |
92 |
|
91 |
93 |
if (engines.size() > 1) {
|
92 |
|
ComboViewer combo = new ComboViewer(this);
|
93 |
|
Combo ccombo = combo.getCombo();
|
94 |
|
combo.setContentProvider(new ListContentProvider());
|
|
94 |
engineCombo = new ComboViewer(this);
|
|
95 |
Combo ccombo = engineCombo.getCombo();
|
|
96 |
engineCombo.setContentProvider(new ListContentProvider());
|
95 |
97 |
ccombo.setLayoutData(new GridData(GridData.FILL, GridData.CENTER,
|
96 |
98 |
false, false));
|
97 |
|
combo.setLabelProvider(new LabelProvider() {
|
|
99 |
engineCombo.setLabelProvider(new LabelProvider() {
|
98 |
100 |
@Override
|
99 |
101 |
public String getText(Object element) {
|
100 |
102 |
return ((SearchEngine)element).getName();
|
101 |
103 |
}
|
102 |
104 |
});
|
103 |
|
combo.setInput(engines);
|
|
105 |
engineCombo.setInput(engines);
|
104 |
106 |
ccombo.select(0);
|
105 |
|
combo.addSelectionChangedListener(new ISelectionChangedListener() {
|
106 |
|
|
|
107 |
engineCombo.addSelectionChangedListener(new ISelectionChangedListener() {
|
|
108 |
|
107 |
109 |
@Override
|
108 |
110 |
public void selectionChanged(SelectionChangedEvent event) {
|
109 |
111 |
ISelection isel = event.getSelection();
|
... | ... | |
140 |
142 |
}
|
141 |
143 |
}
|
142 |
144 |
|
|
145 |
public void setSearchEngine(SearchEngine engine) {
|
|
146 |
if (engineCombo != null) {
|
|
147 |
int i = engines.indexOf(engine);
|
|
148 |
if (i >= 0) {
|
|
149 |
engineCombo.setSelection(new StructuredSelection(engine));
|
|
150 |
}
|
|
151 |
}
|
|
152 |
}
|
|
153 |
|
|
154 |
public void setSearchEngine(String name) {
|
|
155 |
if (engineCombo != null) {
|
|
156 |
for (int i = 0 ; i < engines.size() ; i++) {
|
|
157 |
if (name.equals(engines.get(i).getName())) {
|
|
158 |
engineCombo.setSelection(new StructuredSelection(engines.get(i)));
|
|
159 |
}
|
|
160 |
}
|
|
161 |
}
|
|
162 |
}
|
|
163 |
|
143 |
164 |
public QueryWidget getQueryWidget() {
|
144 |
165 |
return querywidget;
|
145 |
166 |
}
|
146 |
|
|
|
167 |
|
147 |
168 |
public boolean setFocus() {
|
148 |
169 |
return this.querywidget.setFocus();
|
149 |
170 |
}
|
... | ... | |
212 |
233 |
// fix the query
|
213 |
234 |
query = query.replaceAll("^\"(.*)\"$","$1"); //$NON-NLS-1$
|
214 |
235 |
|
215 |
|
|
|
236 |
|
216 |
237 |
querywidget.setText(query);
|
217 |
238 |
}
|
218 |
239 |
|