Skip to content
Snippets Groups Projects
Commit 84e28e27 authored by apvrille's avatar apvrille
Browse files

Adding in search box of TTool help elements

parent 120521b1
No related branches found
No related tags found
No related merge requests found
......@@ -249,5 +249,55 @@ public class HelpEntry implements GenericTree {
return getIndexOfKid((HelpEntry)child);
}
public HelpEntry getFromMasterKeyword(String search) {
if (masterKeyword != null) {
if (masterKeyword.compareTo(search) == 0) {
return this;
}
}
if (entries != null) {
HelpEntry ret;
for(HelpEntry he: entries) {
ret = he.getFromMasterKeyword(search);
if (ret != null) {
return ret;
}
}
}
return null;
}
public void addEntries(Vector<HelpEntry> list) {
list.add(this);
if (entries != null) {
for (HelpEntry he : entries) {
he.addEntries(list);
}
}
}
public int hasSimilarWords(String[] words) {
int result = 0;
for(String s:words) {
if (hasKeyword(s)) {
result ++;
}
}
return result;
}
public boolean hasKeyword(String word) {
for(String s: keywords) {
if (s.compareTo(word) == 0) {
return true;
}
}
return false;
}
}
......@@ -45,6 +45,7 @@ import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Vector;
/**
......@@ -61,6 +62,8 @@ public class HelpManager extends HelpEntry {
private boolean helpLoaded = false;
private Vector<HelpEntry> allEntries;
public HelpManager() {
linkToParent = null;
......@@ -123,7 +126,7 @@ public class HelpManager extends HelpEntry {
return false;
}
computeAllEntries();
helpLoaded = true;
return true;
......@@ -243,4 +246,23 @@ public class HelpManager extends HelpEntry {
return top;
}
private void computeAllEntries() {
allEntries = new Vector<>();
addEntries(allEntries);
}
public Vector<HelpEntry> getEntriesWithKeyword(String[] words) {
Vector<HelpEntry> result = new Vector<>();
for(HelpEntry he: allEntries) {
int nb = he.hasSimilarWords(words);
if (nb > 0) {
result.add(he);
}
}
return result;
}
}
......@@ -758,6 +758,8 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
panel.searchForText(text.toLowerCase(), elements);
}
elements.addAll(helpManager.getEntriesWithKeyword(text.split( " ")));
gtm.setElementsOfSearchTree(elements);
//TraceManager.addDev("Found " + elements.size() + " elements");
dtree.forceUpdate();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment