Révision 2346
| tmp/org.txm.tigersearch.rcp/groovy/org/txm/macro/tiger/exploit/TIGERIndexMacro.groovy (revision 2346) | ||
|---|---|---|
| 43 | 43 |
def labels |
| 44 | 44 |
@Field @Option(name="properties", usage="List of properties separated with ','", widget="String", required=true, def="word, word, word") |
| 45 | 45 |
def properties |
| 46 |
@Field @Option(name="count_subgraph", usage="A Full TIGERSearch query", widget="Boolean", required=true, def="true")
|
|
| 47 |
def count_subgraph
|
|
| 46 |
@Field @Option(name="count_sub_matches", usage="A Full TIGERSearch query", widget="Boolean", required=true, def="true")
|
|
| 47 |
def count_sub_matches
|
|
| 48 | 48 |
@Field @Option(name="sort_column", usage="choose between the len or freq columns", widget="StringArray", metaVar="freq labels", required=false, def="freq") |
| 49 | 49 |
String sort_column |
| 50 | 50 |
@Field @Option(name="max_lines", usage="choose between the len or freq columns", widget="Integer", metaVar="freq labels", required=false, def="-1") |
| ... | ... | |
| 149 | 149 |
counts[strings] = counts[strings] + 1 |
| 150 | 150 |
total_counts[strings] = total_counts[strings] + 1 |
| 151 | 151 |
|
| 152 |
if (!count_subgraph) break;
|
|
| 152 |
if (!count_sub_matches) break;
|
|
| 153 | 153 |
} |
| 154 | 154 |
} |
| 155 | 155 |
|
| tmp/org.txm.tigersearch.rcp/groovy/org/txm/macro/tiger/exploit/TIGERSummaryMacro.groovy (revision 2346) | ||
|---|---|---|
| 27 | 27 |
|
| 28 | 28 |
@Field @Option(name="tiger_query", usage="A Full TIGERSearch query", widget="Text", required=true, def="[]") |
| 29 | 29 |
String tiger_query |
| 30 |
@Field @Option(name="count_subgraph", usage="A Full TIGERSearch query", widget="Boolean", required=true, def="true")
|
|
| 31 |
def count_subgraph
|
|
| 30 |
@Field @Option(name="count_sub_matches", usage="A Full TIGERSearch query", widget="Boolean", required=true, def="true")
|
|
| 31 |
def count_sub_matches
|
|
| 32 | 32 |
@Field @Option(name="debug", usage="Show internal variable content", widget="StringArray", metaVar="OFF ON ALL REALLY ALL", required=true, def="OFF") |
| 33 | 33 |
debug |
| 34 | 34 |
if (!ParametersDialog.open(this)) return |
| ... | ... | |
| 54 | 54 |
def sentences_min_max = tse.getSentMinMax(corpus); |
| 55 | 55 |
def mresult = tcorpus.manager.processQuery(tiger_query, sentences_min_max[0], sentences_min_max[1], 9999999); |
| 56 | 56 |
int size = 0; |
| 57 |
if (count_subgraph) {
|
|
| 57 |
if (count_sub_matches) {
|
|
| 58 | 58 |
size = mresult.submatchSize(); |
| 59 | 59 |
} else {
|
| 60 | 60 |
size = mresult.size(); |
| tmp/org.txm.tigersearch.rcp/groovy/org/txm/macro/tiger/exploit/TIGERRatioMacro.groovy (revision 2346) | ||
|---|---|---|
| 29 | 29 |
String tiger_query_A |
| 30 | 30 |
@Field @Option(name="tiger_query_B", usage="A Full TIGERSearch query", widget="Text", required=true, def="[]") |
| 31 | 31 |
String tiger_query_B |
| 32 |
@Field @Option(name="count_subgraph", usage="A Full TIGERSearch query", widget="Boolean", required=true, def="true")
|
|
| 33 |
def count_subgraph
|
|
| 32 |
@Field @Option(name="count_sub_matches", usage="A Full TIGERSearch query", widget="Boolean", required=true, def="true")
|
|
| 33 |
def count_sub_matches
|
|
| 34 | 34 |
@Field @Option(name="debug", usage="Show internal variable content", widget="StringArray", metaVar="OFF ON ALL REALLY ALL", required=true, def="OFF") |
| 35 | 35 |
debug |
| 36 | 36 |
if (!ParametersDialog.open(this)) return |
| 37 | 37 |
if (debug == "OFF") debug = 0; else if (debug == "ON") debug = 1; else if (debug == "ALL") debug = 2 else if (debug == "REALLY ALL") debug = 3 |
| 38 | 38 |
|
| 39 | 39 |
|
| 40 |
def results_A = gse.run(TIGERSummaryMacro, ["args":["tiger_query":tiger_query_A, "count_subgraph":count_subgraph, "debug":debug],
|
|
| 40 |
def results_A = gse.run(TIGERSummaryMacro, ["args":["tiger_query":tiger_query_A, "count_sub_matches":count_sub_matches, "debug":debug],
|
|
| 41 | 41 |
"selection":selection, |
| 42 | 42 |
"selections":selections, |
| 43 | 43 |
"corpusViewSelection":corpusViewSelection, |
| 44 | 44 |
"corpusViewSelections":corpusViewSelections, |
| 45 | 45 |
"monitor":monitor]) |
| 46 | 46 |
|
| 47 |
def results_B = gse.run(TIGERSummaryMacro, ["args":["tiger_query":tiger_query_B, "count_subgraph":count_subgraph, "debug":debug],
|
|
| 47 |
def results_B = gse.run(TIGERSummaryMacro, ["args":["tiger_query":tiger_query_B, "count_sub_matches":count_sub_matches, "debug":debug],
|
|
| 48 | 48 |
"selection":selection, |
| 49 | 49 |
"selections":selections, |
| 50 | 50 |
"corpusViewSelection":corpusViewSelection, |
| tmp/org.txm.tigersearch.rcp/groovy/org/txm/macro/tiger/exploit/TIGERSVOSummaryMacro.groovy (revision 2346) | ||
|---|---|---|
| 6 | 6 |
|
| 7 | 7 |
import groovy.transform.Field |
| 8 | 8 |
|
| 9 |
import org.txm.libs.office.WriteODS |
|
| 9 | 10 |
import org.txm.searchengine.core.SearchEnginesManager |
| 10 | 11 |
import org.txm.searchengine.cqp.corpus.* |
| 11 | 12 |
import org.txm.searchengine.ts.TIGERSearchEngine |
| 13 |
import org.txm.utils.ConsoleProgressBar |
|
| 12 | 14 |
import org.txm.utils.TableReader |
| 13 | 15 |
|
| 14 | 16 |
def scriptName = this.class.getSimpleName() |
| ... | ... | |
| 26 | 28 |
for (def c : selection) c.compute(false) |
| 27 | 29 |
} |
| 28 | 30 |
|
| 31 |
@Field @Option(name="new_ods_file", usage="file to create", widget="FileSave", required=true, def="result.ods") |
|
| 32 |
def new_ods_file |
|
| 29 | 33 |
@Field @Option(name="query_table_file", usage="A Full TIGERSearch query", widget="FileOpen", required=true, def="queries.ods") |
| 30 | 34 |
def query_table_file |
| 31 |
@Field @Option(name="count_subgraph", usage="A Full TIGERSearch query", widget="Boolean", required=true, def="true")
|
|
| 32 |
def count_subgraph
|
|
| 33 |
@Field @Option(name="sujet_value", usage="", widget="String", required=true, def=".*subj.*")
|
|
| 35 |
@Field @Option(name="count_sub_matches", usage="A Full TIGERSearch query", widget="Boolean", required=true, def="true")
|
|
| 36 |
def count_sub_matches
|
|
| 37 |
@Field @Option(name="sujet_value", usage="", widget="String", required=true, def="[cat=(\"nsubj\"|\"csubj\")]")
|
|
| 34 | 38 |
def sujet_value |
| 35 |
@Field @Option(name="object_value", usage="", widget="String", required=true, def=".*obj.*")
|
|
| 39 |
@Field @Option(name="object_value", usage="", widget="String", required=true, def="[cat=(\"obj\"|\"ccomp\"|\"obj\\\\:advneg\"|\"obj\\\\:advmod\")]")
|
|
| 36 | 40 |
def object_value |
| 37 |
@Field @Option(name="proposition_type", usage="", widget="String", required=true, def=".*") |
|
| 38 |
def proposition_type |
|
| 39 |
@Field @Option(name="proposition_subordonee", usage="", widget="StringArray", metaVar="Sans Seulement Avec", required=true, def="Sans") |
|
| 40 |
def proposition_subordonee |
|
| 41 |
@Field @Option(name="coordinations", usage="", widget="StringArray", metaVar="Sans Seulement Avec", required=true, def="Sans") |
|
| 42 |
def coordinations |
|
| 41 |
@Field @Option(name="clauses_count_main", usage="", widget="Boolean", required=true, def="true") |
|
| 42 |
def clauses_count_main |
|
| 43 |
@Field @Option(name="clauses_count_subordinate", usage="", widget="Boolean", required=true, def="false") |
|
| 44 |
def clauses_count_subordinate |
|
| 45 |
@Field @Option(name="clauses_count_inserted", usage="", widget="Boolean", required=true, def="false") |
|
| 46 |
def clauses_count_inserted |
|
| 47 |
@Field @Option(name="print_queries", usage="insert columns with the used queries", widget="Boolean", required=true, def="true") |
|
| 48 |
def print_queries |
|
| 43 | 49 |
@Field @Option(name="debug", usage="Show internal variable content", widget="StringArray", metaVar="OFF ON ALL REALLY ALL", required=true, def="OFF") |
| 44 | 50 |
debug |
| 45 | 51 |
|
| 46 | 52 |
if (!ParametersDialog.open(this)) return |
| 53 |
|
|
| 47 | 54 |
if (debug == "OFF") debug = 0; else if (debug == "ON") debug = 1; else if (debug == "ALL") debug = 2 else if (debug == "REALLY ALL") debug = 3 |
| 48 | 55 |
|
| 49 |
TIGERSearchEngine tse = SearchEnginesManager.getTIGERSearchEngine() |
|
| 56 |
if (!clauses_count_main && !clauses_count_subordinate && !clauses_count_inserted) {
|
|
| 57 |
println "Error: at least one clause must be selected" |
|
| 58 |
return |
|
| 59 |
} |
|
| 50 | 60 |
|
| 51 |
String based_query = """#pivot:[pos="VERB"] & #clause:[cat="root" & type="VFin"] & #clause >L #pivot & #clause >D #obj:[cat=("obj"|"ccomp"|"obj\\:advneg"|"obj\\:advmod")] & #clause >D #suj:[cat=("nsubj"|"csubj")] & #obj >L #objhead:[] & #suj >L #sujhead:[]"""
|
|
| 61 |
String based_query = """#pivot:[pos="VERB"] |
|
| 62 |
& #clause:CLAUSEVALUE |
|
| 63 |
& #clause >L #pivot |
|
| 64 |
& #clause >D #obj:OBJVALUE |
|
| 65 |
& #clause >D #suj:SUJVALUE |
|
| 66 |
& #obj >L #objhead:[] & #suj >L #sujhead:[]""" |
|
| 67 |
|
|
| 68 |
String clause_value = "[cat=\"root\" & type=\"VFin\"]" // main clause |
|
| 69 |
if (clauses_count_inserted) {
|
|
| 70 |
clause_value = "[cat=\"Insrt\" & type=\"VFin\"]" |
|
| 71 |
} else if (clauses_count_subordinate) {
|
|
| 72 |
clause_value = "[cat!=(\"root\"|\"Insrt\") & type=\"VFin\"]" |
|
| 73 |
} |
|
| 74 |
based_query = based_query.replaceAll("CLAUSEVALUE", clause_value)
|
|
| 75 |
based_query = based_query.replaceAll("OBJVALUE", object_value)
|
|
| 76 |
based_query = based_query.replaceAll("SUJVALUE", sujet_value)
|
|
| 77 |
|
|
| 52 | 78 |
println "based_query=$based_query" |
| 53 | 79 |
def SVO_queries = new LinkedHashMap<String, String>() |
| 54 | 80 |
SVO_queries["SVO"] = "& #sujhead .* #pivot & #pivot .* #objhead" |
| ... | ... | |
| 57 | 83 |
SVO_queries["OVS"] = "& #objhead .* #pivot & #pivot .* #sujhead" |
| 58 | 84 |
SVO_queries["VSO"] = "& #pivot .* #sujhead & #sujhead .* #objhead" |
| 59 | 85 |
SVO_queries["VOS"] = "& #pivot .* #objhead & #objhead .* #sujhead" |
| 60 |
|
|
| 86 |
int ncols = 2 + (SVO_queries.keySet().size() * (print_queries?2:1)) |
|
| 87 |
|
|
| 61 | 88 |
def test_queries = [] |
| 62 | 89 |
TableReader reader = new TableReader(query_table_file) |
| 63 | 90 |
reader.readHeaders() |
| 91 |
|
|
| 92 |
WriteODS writer = new WriteODS(new_ods_file); |
|
| 93 |
|
|
| 64 | 94 |
def headers = reader.getHeaders() |
| 65 | 95 |
if (!(headers.contains("mesure") && headers.contains("valeur") && headers.contains("requête"))) { // mesure, valeur, requête
|
| 66 | 96 |
println "Error: 'mesure', 'valeur', 'requête' columns not found" |
| 67 | 97 |
return |
| 68 | 98 |
} |
| 69 | 99 |
while (reader.readRecord()) {
|
| 70 |
test_queries << [reader.get("mesure"), reader.get("valeur"), reader.get("requête")]
|
|
| 100 |
test_queries << [ |
|
| 101 |
reader.get("mesure"),
|
|
| 102 |
reader.get("valeur"),
|
|
| 103 |
reader.get("requête")
|
|
| 104 |
] |
|
| 71 | 105 |
} |
| 72 | 106 |
|
| 73 |
println "mesure valeur SVO SOV OSV OVS VSO VOS"
|
|
| 107 |
ConsoleProgressBar cpb = new ConsoleProgressBar(selection.size())
|
|
| 74 | 108 |
|
| 109 |
|
|
| 110 |
TIGERSearchEngine tse = SearchEnginesManager.getTIGERSearchEngine() |
|
| 75 | 111 |
def results = new LinkedHashMap() |
| 76 | 112 |
for (def corpus : selection) {
|
| 113 |
cpb.tick() |
|
| 77 | 114 |
|
| 115 |
writer.newTable(corpus.getName()) |
|
| 116 |
|
|
| 78 | 117 |
def root = corpus.getRootCorpusBuild(); |
| 79 | 118 |
File buildDirectory = new File(root.getProjectDirectory(), "tiger"); |
| 80 | 119 |
|
| ... | ... | |
| 83 | 122 |
continue; |
| 84 | 123 |
} |
| 85 | 124 |
|
| 125 |
writer.declareRowsAndColumns(0, ncols) |
|
| 126 |
def cols = ["mesure", "valeur"] |
|
| 127 |
for (String col : SVO_queries.keySet()) {
|
|
| 128 |
if (print_queries) cols << "q"+col |
|
| 129 |
cols << col |
|
| 130 |
} |
|
| 131 |
writer.writeLine(cols) |
|
| 132 |
|
|
| 86 | 133 |
def tcorpus = tse.getTSCorpus(corpus); |
| 87 | 134 |
def based_sentences_min_max = tse.getSentMinMax(corpus); |
| 88 | 135 |
|
| 89 | 136 |
for (def test : test_queries) {
|
| 90 | 137 |
def test_query = test[2] |
| 138 |
def lineToWrite = [] |
|
| 139 |
lineToWrite << test[0] |
|
| 140 |
lineToWrite << test[1] |
|
| 91 | 141 |
|
| 92 |
print test[0]+"\t"+test[1] |
|
| 93 |
|
|
| 94 | 142 |
for (def k : SVO_queries.keySet()) {
|
| 95 | 143 |
def svo_query = based_query+"\n"+SVO_queries[k]+"\n"+test_query |
| 96 |
|
|
| 144 |
|
|
| 145 |
if (debug > 0) println svo_query |
|
| 146 |
|
|
| 97 | 147 |
def test_result = tcorpus.manager.processQuery(svo_query, based_sentences_min_max[0], based_sentences_min_max[1], 9999999); |
| 98 |
if (count_subgraph) {
|
|
| 99 |
print " "+test_result.submatchSize() |
|
| 148 |
if (print_queries) lineToWrite << svo_query |
|
| 149 |
if (count_sub_matches) {
|
|
| 150 |
lineToWrite << test_result.submatchSize() |
|
| 100 | 151 |
} else {
|
| 101 |
print " "+test_result.size()
|
|
| 152 |
lineToWrite << test_result.size()
|
|
| 102 | 153 |
} |
| 103 | 154 |
} |
| 104 |
println "" |
|
| 105 |
|
|
| 106 |
// for (def svo_match : svo_result.getMatches()) {
|
|
| 107 |
// |
|
| 108 |
// } |
|
| 155 |
|
|
| 156 |
writer.writeLine(lineToWrite) |
|
| 109 | 157 |
} |
| 110 | 158 |
} |
| 111 | 159 |
|
| 112 |
println "" |
|
| 160 |
writer.save() |
|
| 161 |
cpb.done() |
|
| 113 | 162 |
|
| 114 |
println "Done." |
|
| 115 |
|
|
| 116 | 163 |
return results |
| tmp/org.txm.tigersearch.rcp/src/org/txm/function/tigersearch/TIGERSearch.java (revision 2346) | ||
|---|---|---|
| 141 | 141 |
return tsresult.getNumberOfMatch(); |
| 142 | 142 |
} |
| 143 | 143 |
|
| 144 |
public int getNSubGraph() {
|
|
| 144 |
public int getNSubGraph(int matchNo) {
|
|
| 145 | 145 |
if (tsresult == null) return 0; |
| 146 |
if (tsresult.getCurrentMatch() == null) return 0;
|
|
| 146 |
if (tsresult.getMatch(matchNo) == null) return 0;
|
|
| 147 | 147 |
|
| 148 |
return tsresult.getCurrentMatch().getNumberOfSubGraph();
|
|
| 148 |
return tsresult.getMatch(matchNo).getNumberOfSubGraph();
|
|
| 149 | 149 |
} |
| 150 | 150 |
|
| 151 |
public int getSent() {
|
|
| 152 |
if (tsresult == null) return 0; |
|
| 153 |
return tsresult.getCurrentMatchNo(); |
|
| 154 |
} |
|
| 151 |
// public int getSent() {
|
|
| 152 |
// if (tsresult == null) return 0;
|
|
| 153 |
// return tsresult.getCurrentMatchNo();
|
|
| 154 |
// }
|
|
| 155 | 155 |
|
| 156 |
public int getSub() {
|
|
| 156 |
public int getSub(int matchNo) {
|
|
| 157 | 157 |
if (tsresult == null) return 0; |
| 158 |
return tsresult.getCurrentMatch().getCurrentSubMatchNo(); |
|
| 158 |
if (tsresult.getMatch(matchNo) == null) return 0; |
|
| 159 |
|
|
| 160 |
return tsresult.getMatch(matchNo).getCurrentSubMatchNo(); |
|
| 159 | 161 |
} |
| 160 | 162 |
|
| 161 | 163 |
public String getQuery() {
|
| ... | ... | |
| 210 | 212 |
|
| 211 | 213 |
@Override |
| 212 | 214 |
public boolean canCompute() {
|
| 213 |
return corpus != null && pQuery != null && pQuery.length() > 0;
|
|
| 215 |
return corpus != null; // && pQuery != null && pQuery.length() > 0; // if pQuery is empty/null set a default query
|
|
| 214 | 216 |
} |
| 215 | 217 |
|
| 216 | 218 |
@Override |
| ... | ... | |
| 235 | 237 |
protected boolean _compute() throws Exception {
|
| 236 | 238 |
|
| 237 | 239 |
if (tscorpus == null) return false; |
| 240 |
|
|
| 238 | 241 |
tsresult = null; |
| 239 |
if (pQuery.length() == 0) {
|
|
| 240 |
return false; |
|
| 242 |
|
|
| 243 |
if (pQuery == null || pQuery.length() == 0) {
|
|
| 244 |
pQuery = "root(#n1)"; |
|
| 241 | 245 |
} |
| 242 | 246 |
tsresult = tscorpus.query(pQuery); |
| 243 | 247 |
tsresult.getFirst(); |
| ... | ... | |
| 248 | 252 |
public String getResultType() {
|
| 249 | 253 |
return "Tiger search"; |
| 250 | 254 |
} |
| 251 |
|
|
| 252 | 255 |
} |
| tmp/org.txm.tigersearch.rcp/src/org/txm/searchengine/ts/TSResult.java (revision 2346) | ||
|---|---|---|
| 50 | 50 |
import org.txm.core.messages.TXMCoreMessages; |
| 51 | 51 |
import org.txm.importer.ApplyXsl2; |
| 52 | 52 |
|
| 53 |
// TODO: Auto-generated Javadoc |
|
| 54 | 53 |
/** |
| 55 | 54 |
* The Class TSResult. |
| 56 | 55 |
*/ |
| ... | ... | |
| 71 | 70 |
/** The matches. */ |
| 72 | 71 |
TSMatch[] matches; |
| 73 | 72 |
|
| 74 |
/** The current match. */ |
|
| 75 |
int currentMatchNo = 0; |
|
| 76 |
TSMatch currentMatch; |
|
| 73 |
// /** The current match. */
|
|
| 74 |
// int currentMatchNo = 0;
|
|
| 75 |
// TSMatch currentMatch;
|
|
| 77 | 76 |
|
| 78 | 77 |
/** The query. */ |
| 79 | 78 |
private String query; |
| ... | ... | |
| 139 | 138 |
return result.size(); |
| 140 | 139 |
} |
| 141 | 140 |
|
| 142 |
/** |
|
| 143 |
* return the no of match, begins with 1. |
|
| 144 |
* |
|
| 145 |
* @return the current match no |
|
| 146 |
*/ |
|
| 147 |
public int getCurrentMatchNo() {
|
|
| 148 |
return currentMatchNo; |
|
| 149 |
} |
|
| 141 |
// /** |
|
| 142 |
// * return the no of match, begins with 1. |
|
| 143 |
// * |
|
| 144 |
// * @return the current match no |
|
| 145 |
// */ |
|
| 146 |
// public int getCurrentMatchNo() {
|
|
| 147 |
// return currentMatchNo; |
|
| 148 |
// } |
|
| 149 |
// |
|
| 150 |
// /** |
|
| 151 |
// * return the no of match, begins with 1. |
|
| 152 |
// * |
|
| 153 |
// * @return the current match no |
|
| 154 |
// */ |
|
| 155 |
// public TSMatch getCurrentMatch() {
|
|
| 156 |
// return currentMatch; |
|
| 157 |
// } |
|
| 150 | 158 |
|
| 151 |
/** |
|
| 152 |
* return the no of match, begins with 1. |
|
| 153 |
* |
|
| 154 |
* @return the current match no |
|
| 155 |
*/ |
|
| 156 |
public TSMatch getCurrentMatch() {
|
|
| 157 |
return currentMatch; |
|
| 158 |
} |
|
| 159 |
// /** |
|
| 160 |
// * return the no of match, begins with 1. |
|
| 161 |
// * |
|
| 162 |
// * @return the current sentence no |
|
| 163 |
// */ |
|
| 164 |
// public int getCurrentSentenceNo() {
|
|
| 165 |
// System.out.println(TXMCoreMessages.numberOfMatch+this.getNumberOfMatch()); |
|
| 166 |
// System.out.println("current match "+this.getCurrentMatchNo()); //$NON-NLS-1$
|
|
| 167 |
// System.out.println(TXMCoreMessages.numberOfSubMatch+this.getCurrentMatch().getNumberOfSubGraph()); |
|
| 168 |
// System.out.println("current sub graph "+this.getCurrentMatch().getCurrentSubMatchNo()); //$NON-NLS-1$
|
|
| 169 |
// return result.getSentenceNumberAt(this.currentMatchNo); // + 1 ? |
|
| 170 |
// } |
|
| 159 | 171 |
|
| 160 | 172 |
/** |
| 161 |
* return the no of match, begins with 1. |
|
| 162 |
* |
|
| 163 |
* @return the current sentence no |
|
| 164 |
*/ |
|
| 165 |
public int getCurrentSentenceNo() {
|
|
| 166 |
System.out.println(TXMCoreMessages.numberOfMatch+this.getNumberOfMatch()); |
|
| 167 |
System.out.println("current match "+this.getCurrentMatchNo()); //$NON-NLS-1$
|
|
| 168 |
System.out.println(TXMCoreMessages.numberOfSubMatch+this.getCurrentMatch().getNumberOfSubGraph()); |
|
| 169 |
System.out.println("current sub graph "+this.getCurrentMatch().getCurrentSubMatchNo()); //$NON-NLS-1$
|
|
| 170 |
return result.getSentenceNumberAt(this.currentMatchNo); // + 1 ? |
|
| 171 |
} |
|
| 172 |
|
|
| 173 |
/** |
|
| 174 | 173 |
* Gets the match. |
| 175 | 174 |
* |
| 176 | 175 |
* @param matchNo the no |
| ... | ... | |
| 198 | 197 |
public TSMatch getFirst() |
| 199 | 198 |
{
|
| 200 | 199 |
if (result.size() > 0) {
|
| 201 |
currentMatchNo = 0; |
|
| 202 |
currentMatch = getMatch(0); |
|
| 203 |
return currentMatch;
|
|
| 200 |
// currentMatchNo = 0;
|
|
| 201 |
// currentMatch = getMatch(0);
|
|
| 202 |
return getMatch(0);
|
|
| 204 | 203 |
} else {
|
| 205 | 204 |
return null; |
| 206 | 205 |
} |
| ... | ... | |
| 214 | 213 |
public TSMatch getLast() |
| 215 | 214 |
{
|
| 216 | 215 |
if (result.size() > 0) {
|
| 217 |
currentMatchNo = result.size() -1; |
|
| 218 |
currentMatch = getMatch(result.size() -1); |
|
| 219 |
return currentMatch;
|
|
| 216 |
// currentMatchNo = result.size() -1;
|
|
| 217 |
// currentMatch = getMatch(result.size() -1);
|
|
| 218 |
return getMatch(result.size() -1);
|
|
| 220 | 219 |
} else {
|
| 221 | 220 |
return null; |
| 222 | 221 |
} |
| 223 | 222 |
} |
| 223 |
// |
|
| 224 |
// /** |
|
| 225 |
// * Gets the next. |
|
| 226 |
// * |
|
| 227 |
// * @return the next |
|
| 228 |
// */ |
|
| 229 |
// public TSMatch getNext() |
|
| 230 |
// {
|
|
| 231 |
// int next = currentMatchNo + 1; |
|
| 232 |
// if (result.size() > next) {
|
|
| 233 |
// currentMatchNo = next; |
|
| 234 |
// currentMatch = getMatch(next); |
|
| 235 |
// return currentMatch; |
|
| 236 |
// } else {
|
|
| 237 |
// return null; |
|
| 238 |
// } |
|
| 239 |
// } |
|
| 240 |
// |
|
| 241 |
// /** |
|
| 242 |
// * Gets the previous. |
|
| 243 |
// * |
|
| 244 |
// * @return the previous |
|
| 245 |
// */ |
|
| 246 |
// public TSMatch getPrevious() |
|
| 247 |
// {
|
|
| 248 |
// int next = currentMatchNo - 1; |
|
| 249 |
// if (next >= 0 && result.size() > 0) {
|
|
| 250 |
// currentMatchNo = next; |
|
| 251 |
// currentMatch = getMatch(next); |
|
| 252 |
// return currentMatch; |
|
| 253 |
// } else {
|
|
| 254 |
// return null; |
|
| 255 |
// } |
|
| 256 |
// } |
|
| 257 |
// |
|
| 258 |
// public TSMatch setCurrentMatch(int graphNo) {
|
|
| 259 |
// currentMatch = this.getMatch(graphNo); |
|
| 260 |
// currentMatchNo = graphNo; |
|
| 261 |
// return currentMatch; |
|
| 262 |
// } |
|
| 224 | 263 |
|
| 225 |
/** |
|
| 226 |
* Gets the next. |
|
| 227 |
* |
|
| 228 |
* @return the next |
|
| 229 |
*/ |
|
| 230 |
public TSMatch getNext() |
|
| 231 |
{
|
|
| 232 |
int next = currentMatchNo + 1; |
|
| 233 |
if (result.size() > next) {
|
|
| 234 |
currentMatchNo = next; |
|
| 235 |
currentMatch = getMatch(next); |
|
| 236 |
return currentMatch; |
|
| 237 |
} else {
|
|
| 238 |
return null; |
|
| 239 |
} |
|
| 240 |
} |
|
| 241 |
|
|
| 242 |
/** |
|
| 243 |
* Gets the previous. |
|
| 244 |
* |
|
| 245 |
* @return the previous |
|
| 246 |
*/ |
|
| 247 |
public TSMatch getPrevious() |
|
| 248 |
{
|
|
| 249 |
int next = currentMatchNo - 1; |
|
| 250 |
if (next >= 0 && result.size() > 0) {
|
|
| 251 |
currentMatchNo = next; |
|
| 252 |
currentMatch = getMatch(next); |
|
| 253 |
return currentMatch; |
|
| 254 |
} else {
|
|
| 255 |
return null; |
|
| 256 |
} |
|
| 257 |
} |
|
| 258 |
|
|
| 259 |
public TSMatch setCurrentMatch(int graphNo) {
|
|
| 260 |
currentMatch = this.getMatch(graphNo); |
|
| 261 |
currentMatchNo = graphNo; |
|
| 262 |
return currentMatch; |
|
| 263 |
} |
|
| 264 |
|
|
| 265 | 264 |
public boolean toXml(File outfile, File xmlFile, File xslFile) throws ExportException, ExportStopException, IOException, TransformerException |
| 266 | 265 |
{
|
| 267 | 266 |
return toXml(outfile, xmlFile, xslFile, false, 30, new ArrayList<String>(), new ArrayList<String>()); |
| tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TIGERSearchEditor.java (revision 2346) | ||
|---|---|---|
| 99 | 99 |
|
| 100 | 100 |
@Override |
| 101 | 101 |
public void widgetSelected(SelectionEvent e) {
|
| 102 |
if (e.widget == sentSpinner) {
|
|
| 103 |
subSpinner.setSelection(1); |
|
| 104 |
subSpinner.setMaximum(ts.getNSubGraph(sentSpinner.getSelection()-1)); |
|
| 105 |
subCounterLabel.setText("/"+ts.getNSubGraph(sentSpinner.getSelection()-1));
|
|
| 106 |
} |
|
| 102 | 107 |
reloadGraph(); |
| 103 | 108 |
} |
| 104 | 109 |
|
| ... | ... | |
| 137 | 142 |
NTCombo.setLayoutData(gdata); |
| 138 | 143 |
NTCombo.addSelectionListener(selChangedListener); |
| 139 | 144 |
|
| 140 |
okButton = new Button(queryPanel, SWT.PUSH); |
|
| 141 |
okButton.setText("Search");
|
|
| 142 |
okButton.addSelectionListener(new SelectionListener() {
|
|
| 143 |
@Override |
|
| 144 |
public void widgetSelected(SelectionEvent e) {
|
|
| 145 |
compute(true); |
|
| 146 |
} |
|
| 147 |
|
|
| 148 |
@Override |
|
| 149 |
public void widgetDefaultSelected(SelectionEvent e) { }
|
|
| 150 |
}); |
|
| 151 | 145 |
queryArea.addListener(SWT.KeyDown, new Listener() {
|
| 152 | 146 |
public void handleEvent(Event e) {
|
| 153 |
if (e.stateMask == SWT.CTRL) |
|
| 147 |
if (e.stateMask == SWT.CTRL) {
|
|
| 154 | 148 |
if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
|
| 155 | 149 |
e.doit = false; |
| 156 | 150 |
compute(true); |
| 157 | 151 |
} |
| 152 |
} |
|
| 158 | 153 |
} |
| 159 | 154 |
}); |
| 160 | 155 |
|
| ... | ... | |
| 163 | 158 |
svgPanel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); |
| 164 | 159 |
|
| 165 | 160 |
initializeFields(); |
| 161 |
this.getTopToolbar().setVisible(COMPUTING_PARAMETERS_GROUP_ID, true); |
|
| 166 | 162 |
} |
| 167 | 163 |
|
| 168 | 164 |
protected void initializeFields() {
|
| ... | ... | |
| 216 | 212 |
if (ts.isComputed()) {
|
| 217 | 213 |
queryArea.setText(ts.getQuery()); |
| 218 | 214 |
sentCounterLabel.setText("/"+ts.getNSentences());
|
| 219 |
subCounterLabel.setText("/"+ts.getNSubGraph());
|
|
| 215 |
subCounterLabel.setText("/"+ts.getNSubGraph(0));
|
|
| 220 | 216 |
} else {
|
| 221 | 217 |
sentCounterLabel.setText("No Sentence");
|
| 222 | 218 |
subCounterLabel.setText("No sub graph");
|
| 223 | 219 |
} |
| 224 | 220 |
|
| 225 | 221 |
if (ts.isDrawn()) {
|
| 226 |
sentSpinner.setSelection(ts.getSent());
|
|
| 222 |
sentSpinner.setSelection(1);
|
|
| 227 | 223 |
sentSpinner.setMaximum(ts.getNSentences()); |
| 228 |
subSpinner.setSelection(ts.getSub()); |
|
| 229 |
subSpinner.setMaximum(ts.getNSubGraph()); |
|
| 224 |
subSpinner.setSelection(ts.getSub(0));
|
|
| 225 |
subSpinner.setMaximum(ts.getNSubGraph(0));
|
|
| 230 | 226 |
|
| 231 | 227 |
reloadGraph(); |
| 232 | 228 |
} else {
|
| ... | ... | |
| 234 | 230 |
subSpinner.setSelection(1); |
| 235 | 231 |
if (ts.isComputed()) {
|
| 236 | 232 |
sentSpinner.setMaximum(ts.getNSentences()); |
| 237 |
subSpinner.setMaximum(ts.getNSubGraph()); |
|
| 233 |
subSpinner.setMaximum(ts.getNSubGraph(0));
|
|
| 238 | 234 |
} else {
|
| 239 | 235 |
sentSpinner.setMaximum(1); |
| 240 | 236 |
subSpinner.setMaximum(1); |
| ... | ... | |
| 268 | 264 |
@Override |
| 269 | 265 |
public void updateResultFromEditor() {
|
| 270 | 266 |
|
| 271 |
reloadGraph(); |
|
| 267 |
String query = this.queryArea.getText(); |
|
| 268 |
this.queryArea.setText(query.trim()); |
|
| 272 | 269 |
} |
| 273 | 270 |
|
| 274 | 271 |
@Override |
| ... | ... | |
| 298 | 295 |
// public void run() {
|
| 299 | 296 |
|
| 300 | 297 |
sentCounterLabel.setText("/"+ts.getNSentences());
|
| 301 |
subCounterLabel.setText("/"+ts.getNSubGraph());
|
|
| 298 |
subCounterLabel.setText("/"+ts.getNSubGraph(0));
|
|
| 302 | 299 |
sentSpinner.setSelection(1); |
| 303 | 300 |
sentSpinner.setMaximum(ts.getNSentences()); |
| 304 | 301 |
subSpinner.setSelection(1); |
| 305 |
subSpinner.setMaximum(ts.getNSubGraph()); |
|
| 302 |
subSpinner.setMaximum(ts.getNSubGraph(0));
|
|
| 306 | 303 |
|
| 307 | 304 |
reloadGraph(); |
| 308 | 305 |
|
Formats disponibles : Unified diff