HowManyAreAnalyzed(): use status_user_agent to report progress
[linguistica.git] / exportwizard.cpp
blob19662e6c1536cdfebb319212b7236b68372411b1
1 // User interface for writing morpheme data to files
2 // Copyright © 2009 The University of Chicago
3 #include "exportwizard.h"
5 #include <QColorDialog>
6 #include <Q3FileDialog>
7 #include <QMessageBox>
8 #include <QDir>
9 #include "linguisticamainwindow.h"
10 #include "MiniLexicon.h"
11 #include "Lexicon.h"
12 #include "CorpusWord.h"
13 #include "Signature.h"
14 #include "Compound.h"
15 #include "Linker.h"
16 #include "Suffix.h"
17 #include "Prefix.h"
18 #include "Edge.h"
19 #include "Stem.h"
20 #include "CorpusWordCollection.h"
21 #include "SignatureCollection.h"
22 #include "CompoundCollection.h"
23 #include "LinkerCollection.h"
24 #include "SuffixCollection.h"
25 #include "PrefixCollection.h"
26 #include "WordCollection.h"
27 #include "StemCollection.h"
29 ExportWizard::ExportWizard( CLexicon* pLexicon, QWidget* parent,
30 Qt::WindowFlags fl )
31 : Q3Wizard(parent, 0, false, fl), ExportWizardBase()
33 setupUi( this );
35 m_pLexicon = pLexicon;
36 m_pSettings = m_pLexicon->GetDocument()->GetSettings();
38 // Disable the next and finish buttons until
39 // proper settings are made
40 setNextEnabled( page(PROJECT_INFO_PAGE), FALSE );
41 setFinishEnabled( page(CONFIRMATION), FALSE );
43 // Set all pages as inappropriate, these will change
44 // as the user makes selections on the first page
45 setAppropriate( page( STYLE_SHEET_PAGE ), FALSE );
46 setAppropriate( page( CORPUS_WORDS_FILE_PAGE ), FALSE );
47 setAppropriate( page( COMPOUNDS_FILE_PAGE ), FALSE );
48 setAppropriate( page( ALL_WORDS_FILE_PAGE ), FALSE );
49 setAppropriate( page( ALL_SUFFIX_SIGNATURES_FILE_PAGE ), FALSE );
50 setAppropriate( page( ALL_PREFIX_SIGNATURES_FILE_PAGE ), FALSE );
51 setAppropriate( page( ALL_STEMS_FILE_PAGE ), FALSE );
52 setAppropriate( page( ALL_SUFFIXES_FILE_PAGE ), FALSE );
53 setAppropriate( page( ALL_PREFIXES_FILE_PAGE ), FALSE );
54 setAppropriate( page( MINI_WORDS_FILE_PAGE ), FALSE );
55 setAppropriate( page( MINI_SIGNATURES_FILE_PAGE ), FALSE );
56 setAppropriate( page( MINI_STEMS_FILE_PAGE ), FALSE );
57 setAppropriate( page( MINI_SUFFIXES_FILE_PAGE ), FALSE );
58 setAppropriate( page( MINI_PREFIXES_FILE_PAGE ), FALSE );
60 // Update all examples
61 updateCorpusWordsExampleSlot();
63 // Load from settings
64 load();
68 void ExportWizard::load()
70 // Project Information
71 m_projectName->setText( m_pSettings->readEntry( SETTINGS + "projectName", "" ) );
72 m_language->setText( m_pSettings->readEntry( SETTINGS + "language", "" ) );
73 m_researchers->setText( m_pSettings->readEntry( SETTINGS + "researchers", "" ) );
74 m_brokenCorpusFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "brokenCorpusFlag" ) );
75 m_corpusWordsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "corpusWordsFlag" ) );
76 m_compoundsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "compoundsFlag" ) );
77 m_allWordsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allWordsFlag" ) );
78 m_allSuffixSigsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allSuffixSigsFlag" ) );
79 m_allPrefixSigsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allPrefixSigsFlag" ) );
80 m_allStemsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allStemsFlag" ) );
81 m_allSuffixesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allSuffixesFlag" ) );
82 m_allPrefixesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allPrefixesFlag" ) );
83 m_miniWordsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "wordsFlag" ) );
84 m_miniSignaturesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "signaturesFlag" ) );
85 m_miniStemsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "stemsFlag" ) );
86 m_miniSuffixesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "suffixesFlag" ) );
87 m_miniPrefixesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "prefixesFlag" ) );
88 m_simpleTextFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "simpleTextFlag" ) );
89 m_markUpFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "markUpFlag" ) );
90 m_bothFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "bothFlag" ) );
91 m_outputDirectory->setText( m_pSettings->readEntry( SETTINGS + "outputDirectory", "" ) );
93 // Style Sheet
94 m_wordStyle->setPaletteForegroundColor( QColor( m_pSettings->readEntry( SETTINGS + "wordStyleColor", "#000000" ) ) );
95 m_wordBoldFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "wordBoldFlag" ) );
96 m_wordItalicFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "wordItalicFlag" ) );
97 m_signatureStyle->setPaletteForegroundColor( QColor( m_pSettings->readEntry( SETTINGS + "signatureStyleColor", "#000000" ) ) );
98 m_signatureBoldFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "signatureBoldFlag" ) );
99 m_signatureItalicFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "signatureItalicFlag" ) );
100 m_stemStyle->setPaletteForegroundColor( QColor( m_pSettings->readEntry( SETTINGS + "stemStyleColor", "#000000" ) ) );
101 m_stemBoldFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "stemBoldFlag" ) );
102 m_stemItalicFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "stemItalicFlag" ) );
103 m_suffixStyle->setPaletteForegroundColor( QColor( m_pSettings->readEntry( SETTINGS + "suffixStyleColor", "#000000" ) ) );
104 m_suffixBoldFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "suffixBoldFlag" ) );
105 m_suffixItalicFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "suffixItalicFlag" ) );
106 m_prefixStyle->setPaletteForegroundColor( QColor( m_pSettings->readEntry( SETTINGS + "prefixStyleColor", "#000000" ) ) );
107 m_prefixBoldFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "prefixBoldFlag" ) );
108 m_prefixItalicFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "prefixItalicFlag" ) );
109 m_compoundStyle->setPaletteForegroundColor( QColor( m_pSettings->readEntry( SETTINGS + "compoundStyleColor", "#000000" ) ) );
110 m_compoundBoldFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "compoundBoldFlag" ) );
111 m_compoundItalicFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "compoundItalicFlag" ) );
113 // Corpus Words
114 m_corpusWordsAnalyzedOnlyFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "corpusWordsAnalyzedOnlyFlag" ) );
115 m_corpusWordsColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "corpusWordsColumnTitlesFlag" ) );
116 m_corpusWordsUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "corpusWordsUniformFieldWidthsFlag" ) );
117 m_corpusWordsAlphabeticalSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "corpusWordsAlphabeticalSortFlag" ) );
118 m_corpusWordsCorpusCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "corpusWordsCorpusCountSortFlag" ) );
119 m_corpusWordsMorphemeCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "corpusWordsMorphemeCountSortFlag" ) );
120 m_corpusWordsLine->setText( m_pSettings->readEntry( SETTINGS + "corpusWordsLine", INDEX_FIELD + ". " + WORD_FIELD + " " + CORPUS_COUNT_FIELD + " " + MORPHS_COUNT_FIELD + " " + MORPHS_FIELD ) );
121 m_corpusWordsMorphemeFieldDelimiter->setText( m_pSettings->readEntry( SETTINGS + "corpusWordsMorphemeFieldDelimiter", "." ) );
123 // Linkers
124 m_linkersColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "linkersColumnTitlesFlag" ) );
125 m_linkersUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "linkersUniformFieldWidthsFlag" ) );
126 m_linkersIncludeCompoundListFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "linkersIncludeCompoundListFlag" ) );
127 m_linkersAlphabeticalSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "linkersAlphabeticalSortFlag" ) );
128 m_linkersCorpusCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "linkersCorpusCountSortFlag" ) );
129 m_linkersLine->setText( m_pSettings->readEntry( SETTINGS + "linkersLine", INDEX_FIELD + ". " + LINKER_FIELD + " " + CORPUS_COUNT_FIELD + " " + COMPOUND_COUNT_FIELD ) );
131 // Compounds
132 m_compoundsColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "compoundsColumnTitlesFlag" ) );
133 m_compoundsUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "compoundsUniformFieldWidthsFlag" ) );
134 m_compoundsAlphabeticalSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "compoundsAlphabeticalSortFlag" ) );
135 m_compoundsCorpusCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "compoundsCorpusCountSortFlag" ) );
136 m_compoundsMorphemeCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "compoundsMorphemeCountSortFlag" ) );
137 m_compoundsLine->setText( m_pSettings->readEntry( SETTINGS + "compoundsLine", INDEX_FIELD + ". " + COMPOUND_FIELD + " " + CORPUS_COUNT_FIELD + " " + MORPHS_COUNT_FIELD + " " + MORPHS_FIELD + " " + SUFFIXNESS_FIELD ) );
138 m_compoundsMorphemeFieldDelimiter->setText( m_pSettings->readEntry( SETTINGS + "compoundsMorphemeFieldDelimiter", "." ) );
140 // All Words
141 m_allWordsAnalyzedOnlyFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allWordsAnalyzedOnlyFlag" ) );
142 m_allWordsColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allWordsColumnTitlesFlag" ) );
143 m_allWordsUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allWordsUniformFieldWidthsFlag" ) );
144 m_allWordsLine->setText( m_pSettings->readEntry( SETTINGS + "allWordsLine", INDEX_FIELD + ". " + WORD_FIELD + " " + MINI_LEX_FIELD + " " + CORPUS_COUNT_FIELD + " " + SIGNATURE_FIELD + " " + PREFIX_FIELD + " " + STEM_FIELD + " " + SUFFIX_FIELD ) );
146 // All Suffixes
147 m_allSuffixesColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allSuffixesColumnTitlesFlag" ) );
148 m_allSuffixesUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allSuffixesUniformFieldWidthsFlag" ) );
149 m_allSuffixesIncludeStemListFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allSuffixesIncludeStemListFlag" ) );
150 m_allSuffixesLine->setText( m_pSettings->readEntry( SETTINGS + "allSuffixesLine", INDEX_FIELD + ". " + SUFFIX_FIELD + " " + MINI_LEX_FIELD + " " + CORPUS_COUNT_FIELD + " " + STEM_COUNT_FIELD ) );
152 // All Suffix Sigs
153 m_allSuffixSigsColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allSuffixSigsColumnTitlesFlag" ) );
154 m_allSuffixSigsUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allSuffixSigsUniformFieldWidthsFlag" ) );
155 m_allSuffixSigsIncludeStemListFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allSuffixSigsIncludeStemListFlag" ) );
156 m_allSuffixSigsLine->setText( m_pSettings->readEntry( SETTINGS + "allSuffixSigsLine", INDEX_FIELD + ". " + SIGNATURE_FIELD + " " + MINI_LEX_FIELD + " " + ROBUSTNESS_FIELD + " " + CORPUS_COUNT_FIELD + " " + STEM_COUNT_FIELD ) );
158 // All Prefixes
159 m_allPrefixesColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allPrefixesColumnTitlesFlag" ) );
160 m_allPrefixesUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allPrefixesUniformFieldWidthsFlag" ) );
161 m_allPrefixesIncludeStemListFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allPrefixesIncludeStemListFlag" ) );
162 m_allPrefixesLine->setText( m_pSettings->readEntry( SETTINGS + "allPrefixesLine", INDEX_FIELD + ". " + PREFIX_FIELD + " " + MINI_LEX_FIELD + " " + CORPUS_COUNT_FIELD + " " + STEM_COUNT_FIELD ) );
164 // All Prefix Sigs
165 m_allPrefixSigsColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allPrefixSigsColumnTitlesFlag" ) );
166 m_allPrefixSigsUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allPrefixSigsUniformFieldWidthsFlag" ) );
167 m_allPrefixSigsIncludeStemListFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allPrefixSigsIncludeStemListFlag" ) );
168 m_allPrefixSigsLine->setText( m_pSettings->readEntry( SETTINGS + "allPrefixSigsLine", INDEX_FIELD + ". " + SIGNATURE_FIELD + " " + MINI_LEX_FIELD + " " + ROBUSTNESS_FIELD + " " + CORPUS_COUNT_FIELD + " " + STEM_COUNT_FIELD ) );
170 // All Stems
171 m_allStemsColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allStemsColumnTitlesFlag" ) );
172 m_allStemsUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "allStemsUniformFieldWidthsFlag" ) );
173 m_allStemsLine->setText( m_pSettings->readEntry( SETTINGS + "allStemsLine", INDEX_FIELD + ". " + STEM_FIELD + " " + MINI_LEX_FIELD + " " + CORPUS_COUNT_FIELD + " " + SIGNATURE_FIELD ) );
175 // Mini Words
176 m_miniWordsAnalyzedOnlyFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniWordsAnalyzedOnlyFlag" ) );
177 m_miniWordsColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniWordsColumnTitlesFlag" ) );
178 m_miniWordsUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniWordsUniformFieldWidthsFlag" ) );
179 m_miniWordsAlphabeticalSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniWordsAlphabeticalSortFlag" ) );
180 m_miniWordsCorpusCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniWordsCorpusCountSortFlag" ) );
181 m_miniWordsMorphemeCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniWordsMorphemeCountSortFlag" ) );
182 m_miniWordsLine->setText( m_pSettings->readEntry( SETTINGS + "miniWordsLine", INDEX_FIELD + ". " + WORD_FIELD + " " + CORPUS_COUNT_FIELD + " " + SIGNATURE_FIELD + " " + PREFIX_FIELD + " " + STEM_FIELD + " " + SUFFIX_FIELD ) );
184 // Mini Signatures
185 m_miniSignaturesColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSignaturesColumnTitlesFlag" ) );
186 m_miniSignaturesUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSignaturesUniformFieldWidthsFlag" ) );
187 m_miniSignaturesIncludeStemListFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSignaturesIncludeStemListFlag" ) );
188 m_miniSignaturesAlphabeticalSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSignaturesAlphabeticalSortFlag" ) );
189 m_miniSignaturesCorpusCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSignaturesCorpusCountSortFlag" ) );
190 m_miniSignaturesStemCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSignaturesStemCountSortFlag" ) );
191 m_miniSignaturesLine->setText( m_pSettings->readEntry( SETTINGS + "miniSignaturesLine", INDEX_FIELD + ". " + SIGNATURE_FIELD + " " + ROBUSTNESS_FIELD + " " + CORPUS_COUNT_FIELD + " " + STEM_COUNT_FIELD ) );
193 // Mini Stems
194 m_miniStemsColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniStemsColumnTitlesFlag" ) );
195 m_miniStemsUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniStemsUniformFieldWidthsFlag" ) );
196 m_miniStemsAlphabeticalSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniStemsAlphabeticalSortFlag" ) );
197 m_miniStemsCorpusCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniStemsCorpusCountSortFlag" ) );
198 m_miniStemsLine->setText( m_pSettings->readEntry( SETTINGS + "miniStemsLine", INDEX_FIELD + ". " + STEM_FIELD + " " + CORPUS_COUNT_FIELD + " " + SIGNATURE_FIELD ) );
200 // Mini Suffixes
201 m_miniSuffixesColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSuffixesColumnTitlesFlag" ) );
202 m_miniSuffixesUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSuffixesUniformFieldWidthsFlag" ) );
203 m_miniSuffixesIncludeStemListFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSuffixesIncludeStemListFlag" ) );
204 m_miniSuffixesAlphabeticalSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSuffixesAlphabeticalSortFlag" ) );
205 m_miniSuffixesCorpusCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSuffixesCorpusCountSortFlag" ) );
206 m_miniSuffixesStemCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniSuffixesStemCountSortFlag" ) );
207 m_miniSuffixesLine->setText( m_pSettings->readEntry( SETTINGS + "miniSuffixesLine", INDEX_FIELD + ". " + SUFFIX_FIELD + " " + CORPUS_COUNT_FIELD + " " + STEM_COUNT_FIELD ) );
209 // Mini Prefixes
210 m_miniPrefixesColumnTitlesFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniPrefixesColumnTitlesFlag" ) );
211 m_miniPrefixesUniformFieldWidthsFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniPrefixesUniformFieldWidthsFlag" ) );
212 m_miniPrefixesIncludeStemListFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniPrefixesIncludeStemListFlag" ) );
213 m_miniPrefixesAlphabeticalSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniPrefixesAlphabeticalSortFlag" ) );
214 m_miniPrefixesCorpusCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniPrefixesCorpusCountSortFlag" ) );
215 m_miniPrefixesStemCountSortFlag->setChecked( m_pSettings->readBoolEntry( SETTINGS + "miniPrefixesStemCountSortFlag" ) );
216 m_miniPrefixesLine->setText( m_pSettings->readEntry( SETTINGS + "miniPrefixesLine", INDEX_FIELD + ". " + SUFFIX_FIELD + " " + CORPUS_COUNT_FIELD + " " + STEM_COUNT_FIELD ) );
218 // Do updates
219 validateProjectInformationSlot();
220 updateStylesSlot();
224 void ExportWizard::save()
226 // Project Information
227 m_pSettings->writeEntry( SETTINGS + "projectName", m_projectName->text() );
228 m_pSettings->writeEntry( SETTINGS + "language", m_language->text() );
229 m_pSettings->writeEntry( SETTINGS + "researchers", m_researchers->text() );
230 m_pSettings->writeEntry( SETTINGS + "brokenCorpusFlag", m_brokenCorpusFlag->isChecked() );
231 m_pSettings->writeEntry( SETTINGS + "corpusWordsFlag", m_corpusWordsFlag->isChecked() );
232 m_pSettings->writeEntry( SETTINGS + "compoundsFlag", m_compoundsFlag->isChecked() );
233 m_pSettings->writeEntry( SETTINGS + "allWordsFlag", m_allWordsFlag->isChecked() );
234 m_pSettings->writeEntry( SETTINGS + "allSuffixSigsFlag", m_allSuffixSigsFlag->isChecked() );
235 m_pSettings->writeEntry( SETTINGS + "allPrefixSigsFlag", m_allPrefixSigsFlag->isChecked() );
236 m_pSettings->writeEntry( SETTINGS + "allStemsFlag", m_allStemsFlag->isChecked() );
237 m_pSettings->writeEntry( SETTINGS + "allSuffixesFlag", m_allSuffixesFlag->isChecked() );
238 m_pSettings->writeEntry( SETTINGS + "allPrefixesFlag", m_allPrefixesFlag->isChecked() );
239 m_pSettings->writeEntry( SETTINGS + "wordsFlag", m_miniWordsFlag->isChecked() );
240 m_pSettings->writeEntry( SETTINGS + "signaturesFlag", m_miniSignaturesFlag->isChecked() );
241 m_pSettings->writeEntry( SETTINGS + "stemsFlag", m_miniStemsFlag->isChecked() );
242 m_pSettings->writeEntry( SETTINGS + "suffixesFlag", m_miniSuffixesFlag->isChecked() );
243 m_pSettings->writeEntry( SETTINGS + "prefixesFlag", m_miniPrefixesFlag->isChecked() );
244 m_pSettings->writeEntry( SETTINGS + "simpleTextFlag", m_simpleTextFlag->isChecked() );
245 m_pSettings->writeEntry( SETTINGS + "markUpFlag", m_markUpFlag->isChecked() );
246 m_pSettings->writeEntry( SETTINGS + "bothFlag", m_bothFlag->isChecked() );
247 m_pSettings->writeEntry( SETTINGS + "outputDirectory", m_outputDirectory->text() );
249 // Style Sheet
250 m_pSettings->writeEntry( SETTINGS + "wordStyleColor", m_wordStyle->paletteForegroundColor().name() );
251 m_pSettings->writeEntry( SETTINGS + "wordBoldFlag", m_wordBoldFlag->isChecked() );
252 m_pSettings->writeEntry( SETTINGS + "wordItalicFlag", m_wordItalicFlag->isChecked() );
253 m_pSettings->writeEntry( SETTINGS + "stemStyleColor", m_stemStyle->paletteForegroundColor().name() );
254 m_pSettings->writeEntry( SETTINGS + "stemBoldFlag", m_stemBoldFlag->isChecked() );
255 m_pSettings->writeEntry( SETTINGS + "stemItalicFlag", m_stemItalicFlag->isChecked() );
256 m_pSettings->writeEntry( SETTINGS + "signatureStyleColor", m_signatureStyle->paletteForegroundColor().name() );
257 m_pSettings->writeEntry( SETTINGS + "signatureBoldFlag", m_signatureBoldFlag->isChecked() );
258 m_pSettings->writeEntry( SETTINGS + "signatureItalicFlag", m_signatureItalicFlag->isChecked() );
259 m_pSettings->writeEntry( SETTINGS + "suffixStyleColor", m_suffixStyle->paletteForegroundColor().name() );
260 m_pSettings->writeEntry( SETTINGS + "suffixBoldFlag", m_suffixBoldFlag->isChecked() );
261 m_pSettings->writeEntry( SETTINGS + "suffixItalicFlag", m_suffixItalicFlag->isChecked() );
262 m_pSettings->writeEntry( SETTINGS + "prefixStyleColor", m_prefixStyle->paletteForegroundColor().name() );
263 m_pSettings->writeEntry( SETTINGS + "prefixBoldFlag", m_prefixBoldFlag->isChecked() );
264 m_pSettings->writeEntry( SETTINGS + "prefixItalicFlag", m_prefixItalicFlag->isChecked() );
265 m_pSettings->writeEntry( SETTINGS + "compoundStyleColor", m_compoundStyle->paletteForegroundColor().name() );
266 m_pSettings->writeEntry( SETTINGS + "compoundBoldFlag", m_compoundBoldFlag->isChecked() );
267 m_pSettings->writeEntry( SETTINGS + "compoundItalicFlag", m_compoundItalicFlag->isChecked() );
269 // Corpus Words
270 m_pSettings->writeEntry( SETTINGS + "corpusWordsAnalyzedOnlyFlag", m_corpusWordsAnalyzedOnlyFlag->isChecked() );
271 m_pSettings->writeEntry( SETTINGS + "corpusWordsColumnTitlesFlag", m_corpusWordsColumnTitlesFlag->isChecked() );
272 m_pSettings->writeEntry( SETTINGS + "corpusWordsUniformFieldWidthsFlag", m_corpusWordsUniformFieldWidthsFlag->isChecked() );
273 m_pSettings->writeEntry( SETTINGS + "corpusWordsAlphabeticalSortFlag", m_corpusWordsAlphabeticalSortFlag->isChecked() );
274 m_pSettings->writeEntry( SETTINGS + "corpusWordsCorpusCountSortFlag", m_corpusWordsCorpusCountSortFlag->isChecked() );
275 m_pSettings->writeEntry( SETTINGS + "corpusWordsMorphemeCountSortFlag", m_corpusWordsMorphemeCountSortFlag->isChecked() );
276 m_pSettings->writeEntry( SETTINGS + "corpusWordsLine", m_corpusWordsLine->text() );
277 m_pSettings->writeEntry( SETTINGS + "corpusWordsMorphemeFieldDelimiter", m_corpusWordsMorphemeFieldDelimiter->text() );
279 // Compounds
280 m_pSettings->writeEntry( SETTINGS + "compoundsColumnTitlesFlag", m_compoundsColumnTitlesFlag->isChecked() );
281 m_pSettings->writeEntry( SETTINGS + "compoundsUniformFieldWidthsFlag", m_compoundsUniformFieldWidthsFlag->isChecked() );
282 m_pSettings->writeEntry( SETTINGS + "compoundsAlphabeticalSortFlag", m_compoundsAlphabeticalSortFlag->isChecked() );
283 m_pSettings->writeEntry( SETTINGS + "compoundsCorpusCountSortFlag", m_compoundsCorpusCountSortFlag->isChecked() );
284 m_pSettings->writeEntry( SETTINGS + "compoundsMorphemeCountSortFlag", m_compoundsMorphemeCountSortFlag->isChecked() );
285 m_pSettings->writeEntry( SETTINGS + "compoundsLine", m_compoundsLine->text() );
286 m_pSettings->writeEntry( SETTINGS + "compoundsMorphemeFieldDelimiter", m_compoundsMorphemeFieldDelimiter->text() );
288 // Linkers
289 m_pSettings->writeEntry( SETTINGS + "linkersColumnTitlesFlag", m_linkersColumnTitlesFlag->isChecked() );
290 m_pSettings->writeEntry( SETTINGS + "linkersUniformFieldWidthsFlag", m_linkersUniformFieldWidthsFlag->isChecked() );
291 m_pSettings->writeEntry( SETTINGS + "linkersIncludeCompoundListFlag", m_linkersIncludeCompoundListFlag->isChecked() );
292 m_pSettings->writeEntry( SETTINGS + "linkersAlphabeticalSortFlag", m_linkersAlphabeticalSortFlag->isChecked() );
293 m_pSettings->writeEntry( SETTINGS + "linkersCorpusCountSortFlag", m_linkersCorpusCountSortFlag->isChecked() );
294 m_pSettings->writeEntry( SETTINGS + "linkersLine", m_linkersLine->text() );
296 // All Words
297 m_pSettings->writeEntry( SETTINGS + "allWordsAnalyzedOnlyFlag", m_allWordsAnalyzedOnlyFlag->isChecked() );
298 m_pSettings->writeEntry( SETTINGS + "allWordsColumnTitlesFlag", m_allWordsColumnTitlesFlag->isChecked() );
299 m_pSettings->writeEntry( SETTINGS + "allWordsUniformFieldWidthsFlag", m_allWordsUniformFieldWidthsFlag->isChecked() );
300 m_pSettings->writeEntry( SETTINGS + "allWordsLine", m_allWordsLine->text() );
302 // All Suffixes
303 m_pSettings->writeEntry( SETTINGS + "allSuffixesColumnTitlesFlag", m_allSuffixesColumnTitlesFlag->isChecked() );
304 m_pSettings->writeEntry( SETTINGS + "allSuffixesUniformFieldWidthsFlag", m_allSuffixesUniformFieldWidthsFlag->isChecked() );
305 m_pSettings->writeEntry( SETTINGS + "allSuffixesIncludeStemListFlag", m_allSuffixesIncludeStemListFlag->isChecked() );
306 m_pSettings->writeEntry( SETTINGS + "allSuffixesLine", m_allSuffixesLine->text() );
308 // All Suffix Sigs
309 m_pSettings->writeEntry( SETTINGS + "allSuffixSigsColumnTitlesFlag", m_allSuffixSigsColumnTitlesFlag->isChecked() );
310 m_pSettings->writeEntry( SETTINGS + "allSuffixSigsUniformFieldWidthsFlag", m_allSuffixSigsUniformFieldWidthsFlag->isChecked() );
311 m_pSettings->writeEntry( SETTINGS + "allSuffixSigsIncludeStemListFlag", m_allSuffixSigsIncludeStemListFlag->isChecked() );
312 m_pSettings->writeEntry( SETTINGS + "allSuffixSigsLine", m_allSuffixSigsLine->text() );
314 // All Prefixes
315 m_pSettings->writeEntry( SETTINGS + "allPrefixesColumnTitlesFlag", m_allPrefixesColumnTitlesFlag->isChecked() );
316 m_pSettings->writeEntry( SETTINGS + "allPrefixesUniformFieldWidthsFlag", m_allPrefixesUniformFieldWidthsFlag->isChecked() );
317 m_pSettings->writeEntry( SETTINGS + "allPrefixesIncludeStemListFlag", m_allPrefixesIncludeStemListFlag->isChecked() );
318 m_pSettings->writeEntry( SETTINGS + "allPrefixesLine", m_allPrefixesLine->text() );
320 // All Prefix Sigs
321 m_pSettings->writeEntry( SETTINGS + "allPrefixSigsColumnTitlesFlag", m_allPrefixSigsColumnTitlesFlag->isChecked() );
322 m_pSettings->writeEntry( SETTINGS + "allPrefixSigsUniformFieldWidthsFlag", m_allPrefixSigsUniformFieldWidthsFlag->isChecked() );
323 m_pSettings->writeEntry( SETTINGS + "allPrefixSigsIncludeStemListFlag", m_allPrefixSigsIncludeStemListFlag->isChecked() );
324 m_pSettings->writeEntry( SETTINGS + "allPrefixSigsLine", m_allPrefixSigsLine->text() );
326 // All Stems
327 m_pSettings->writeEntry( SETTINGS + "allStemsColumnTitlesFlag", m_allStemsColumnTitlesFlag->isChecked() );
328 m_pSettings->writeEntry( SETTINGS + "allStemsUniformFieldWidthsFlag", m_allStemsUniformFieldWidthsFlag->isChecked() );
329 m_pSettings->writeEntry( SETTINGS + "allStemsLine", m_allStemsLine->text() );
331 // Mini Words
332 m_pSettings->writeEntry( SETTINGS + "miniWordsAnalyzedOnlyFlag", m_miniWordsAnalyzedOnlyFlag->isChecked() );
333 m_pSettings->writeEntry( SETTINGS + "miniWordsColumnTitlesFlag", m_miniWordsColumnTitlesFlag->isChecked() );
334 m_pSettings->writeEntry( SETTINGS + "miniWordsUniformFieldWidthsFlag", m_miniWordsUniformFieldWidthsFlag->isChecked() );
335 m_pSettings->writeEntry( SETTINGS + "miniWordsAlphabeticalSortFlag", m_miniWordsAlphabeticalSortFlag->isChecked() );
336 m_pSettings->writeEntry( SETTINGS + "miniWordsCorpusCountSortFlag", m_miniWordsCorpusCountSortFlag->isChecked() );
337 m_pSettings->writeEntry( SETTINGS + "miniWordsMorphemeCountSortFlag", m_miniWordsMorphemeCountSortFlag->isChecked() );
338 m_pSettings->writeEntry( SETTINGS + "miniWordsLine", m_miniWordsLine->text() );
340 // Mini Sigs
341 m_pSettings->writeEntry( SETTINGS + "miniSignaturesColumnTitlesFlag", m_miniSignaturesColumnTitlesFlag->isChecked() );
342 m_pSettings->writeEntry( SETTINGS + "miniSignaturesUniformFieldWidthsFlag", m_miniSignaturesUniformFieldWidthsFlag->isChecked() );
343 m_pSettings->writeEntry( SETTINGS + "miniSignaturesIncludeStemListFlag", m_miniSignaturesIncludeStemListFlag->isChecked() );
344 m_pSettings->writeEntry( SETTINGS + "miniSignaturesAlphabeticalSortFlag", m_miniSignaturesAlphabeticalSortFlag->isChecked() );
345 m_pSettings->writeEntry( SETTINGS + "miniSignaturesCorpusCountSortFlag", m_miniSignaturesCorpusCountSortFlag->isChecked() );
346 m_pSettings->writeEntry( SETTINGS + "miniSignaturesStemCountSortFlag", m_miniSignaturesStemCountSortFlag->isChecked() );
347 m_pSettings->writeEntry( SETTINGS + "miniSignaturesLine", m_miniSignaturesLine->text() );
349 // Mini Stems
350 m_pSettings->writeEntry( SETTINGS + "miniStemsColumnTitlesFlag", m_miniStemsColumnTitlesFlag->isChecked() );
351 m_pSettings->writeEntry( SETTINGS + "miniStemsUniformFieldWidthsFlag", m_miniStemsUniformFieldWidthsFlag->isChecked() );
352 m_pSettings->writeEntry( SETTINGS + "miniStemsAlphabeticalSortFlag", m_miniStemsAlphabeticalSortFlag->isChecked() );
353 m_pSettings->writeEntry( SETTINGS + "miniStemsCorpusCountSortFlag", m_miniStemsCorpusCountSortFlag->isChecked() );
354 m_pSettings->writeEntry( SETTINGS + "miniStemsLine", m_miniStemsLine->text() );
356 // Mini Suffixes
357 m_pSettings->writeEntry( SETTINGS + "miniSuffixesColumnTitlesFlag", m_miniSuffixesColumnTitlesFlag->isChecked() );
358 m_pSettings->writeEntry( SETTINGS + "miniSuffixesUniformFieldWidthsFlag", m_miniSuffixesUniformFieldWidthsFlag->isChecked() );
359 m_pSettings->writeEntry( SETTINGS + "miniSuffixesIncludeStemListFlag", m_miniSuffixesIncludeStemListFlag->isChecked() );
360 m_pSettings->writeEntry( SETTINGS + "miniSuffixesAlphabeticalSortFlag", m_miniSuffixesAlphabeticalSortFlag->isChecked() );
361 m_pSettings->writeEntry( SETTINGS + "miniSuffixesCorpusCountSortFlag", m_miniSuffixesCorpusCountSortFlag->isChecked() );
362 m_pSettings->writeEntry( SETTINGS + "miniSuffixesStemCountSortFlag", m_miniSuffixesStemCountSortFlag->isChecked() );
363 m_pSettings->writeEntry( SETTINGS + "miniSuffixesLine", m_miniSuffixesLine->text() );
365 // Mini Prefixes
366 m_pSettings->writeEntry( SETTINGS + "miniPrefixesColumnTitlesFlag", m_miniPrefixesColumnTitlesFlag->isChecked() );
367 m_pSettings->writeEntry( SETTINGS + "miniPrefixesUniformFieldWidthsFlag", m_miniPrefixesUniformFieldWidthsFlag->isChecked() );
368 m_pSettings->writeEntry( SETTINGS + "miniPrefixesIncludeStemListFlag", m_miniPrefixesIncludeStemListFlag->isChecked() );
369 m_pSettings->writeEntry( SETTINGS + "miniPrefixesAlphabeticalSortFlag", m_miniPrefixesAlphabeticalSortFlag->isChecked() );
370 m_pSettings->writeEntry( SETTINGS + "miniPrefixesCorpusCountSortFlag", m_miniPrefixesCorpusCountSortFlag->isChecked() );
371 m_pSettings->writeEntry( SETTINGS + "miniPrefixesStemCountSortFlag", m_miniPrefixesStemCountSortFlag->isChecked() );
372 m_pSettings->writeEntry( SETTINGS + "miniPrefixesLine", m_miniPrefixesLine->text() );
376 void ExportWizard::browseOutputDirSlot()
378 QString outputDirectory = Q3FileDialog::getExistingDirectory( m_outputDirectory->text(),
379 this,
380 "get existing directory",
381 "Choose an existing directory",
382 TRUE );
384 if( outputDirectory.length() > 0 ) m_outputDirectory->setText( outputDirectory );
388 void ExportWizard::corpusWordsCheckedSlot( bool b )
390 setAppropriate( page( CORPUS_WORDS_FILE_PAGE ), b );
394 void ExportWizard::compoundsCheckedSlot( bool b )
396 setAppropriate( page( COMPOUNDS_FILE_PAGE ), b );
400 void ExportWizard::allWordsCheckedSlot( bool b )
402 setAppropriate( page( ALL_WORDS_FILE_PAGE ), b );
406 void ExportWizard::allSuffixSignaturesCheckedSlot( bool b )
408 setAppropriate( page( ALL_SUFFIX_SIGNATURES_FILE_PAGE ), b );
412 void ExportWizard::allPrefixSignaturesCheckedSlot( bool b )
414 setAppropriate( page( ALL_PREFIX_SIGNATURES_FILE_PAGE ), b );
418 void ExportWizard::allStemsCheckedSlot( bool b )
420 setAppropriate( page( ALL_STEMS_FILE_PAGE ), b );
424 void ExportWizard::allSuffixesCheckedSlot( bool b )
426 setAppropriate( page( ALL_SUFFIXES_FILE_PAGE ), b );
430 void ExportWizard::allPrefixesCheckedSlot( bool b )
432 setAppropriate( page( ALL_PREFIXES_FILE_PAGE ), b );
436 void ExportWizard::wordsCheckedSlot( bool b )
438 setAppropriate( page( MINI_WORDS_FILE_PAGE ), b );
442 void ExportWizard::signaturesCheckedSlot( bool b )
444 setAppropriate( page( MINI_SIGNATURES_FILE_PAGE ), b );
448 void ExportWizard::stemsCheckedSlot( bool b )
450 setAppropriate( page( MINI_STEMS_FILE_PAGE ), b );
454 void ExportWizard::suffixesCheckedSlot( bool b )
456 setAppropriate( page( MINI_SUFFIXES_FILE_PAGE ), b );
460 void ExportWizard::prefixesCheckedSlot( bool b )
462 setAppropriate( page( MINI_PREFIXES_FILE_PAGE ), b );
465 //unused parameter (bool b)
466 //void ExportWizard::simpleTextToggledSlot( bool b )
467 void ExportWizard::simpleTextToggledSlot( )
469 setAppropriate( page( STYLE_SHEET_PAGE ), FALSE );
472 //unused paramater (bool b)
473 //void ExportWizard::markUpToggledSlot( bool b )
474 void ExportWizard::markUpToggledSlot( )
477 setAppropriate( page( STYLE_SHEET_PAGE ), TRUE );
480 //unused parameter (bool b)
481 //void ExportWizard::bothToggledSlot( bool b )
482 void ExportWizard::bothToggledSlot( )
484 setAppropriate( page( STYLE_SHEET_PAGE ), TRUE );
488 void ExportWizard::validateProjectInformationSlot()
490 // If no output directory has been chosen, disable
491 if( m_outputDirectory->text().length() == 0 )
493 setNextEnabled( page(PROJECT_INFO_PAGE), FALSE );
494 setFinishEnabled( page(CONFIRMATION), FALSE );
495 return;
498 // If no project name has been set, disable
499 if( m_projectName->text().length() == 0 )
501 setNextEnabled( page(PROJECT_INFO_PAGE), FALSE );
502 setFinishEnabled( page(CONFIRMATION), FALSE );
503 return;
507 // Disable if the user chosen output directory
508 // doesn't exist
509 QDir directory( m_outputDirectory->text() );
510 if( !directory.exists() )
512 setNextEnabled( page(PROJECT_INFO_PAGE), FALSE );
513 setFinishEnabled( page(CONFIRMATION), FALSE );
514 return;
518 // If the project name is not already the
519 // final directory in the path
520 QString projectName = m_projectName->text().simplifyWhiteSpace();
521 int pos = m_outputDirectory->text().find( projectName );
523 if( pos < 0 || static_cast <int> (m_outputDirectory->text().length() - projectName.length()) != pos ) //%%%% unsigned/signed int???
525 // Disable if the project directory can't be created
526 if( !directory.exists( projectName ) )
528 if( projectName.length() > 0 )
530 if( directory.mkdir( projectName ) )
532 Q_ASSERT( directory.rmdir( projectName ) );
534 else
536 QMessageBox::warning( this, "Linguistica : Export Wizard",
537 "Not able to make a new directory in the\n"
538 "given output directory. Please check its\n"
539 "permission settings.\n\n",
540 QMessageBox::Ok, 0, 0 );
542 setNextEnabled( page(PROJECT_INFO_PAGE), FALSE );
543 setFinishEnabled( page(CONFIRMATION), FALSE );
544 return;
551 // Disable if user hasn't chosen at least
552 // one output
553 if( !m_brokenCorpusFlag->isChecked() &&
554 !m_corpusWordsFlag->isChecked() &&
555 !m_miniSignaturesFlag->isChecked() &&
556 !m_compoundsFlag->isChecked() &&
557 !m_allWordsFlag->isChecked() &&
558 !m_allSuffixSigsFlag->isChecked() &&
559 !m_allPrefixSigsFlag->isChecked() &&
560 !m_allStemsFlag->isChecked() &&
561 !m_allSuffixesFlag->isChecked() &&
562 !m_allPrefixesFlag->isChecked() &&
563 !m_miniSuffixesFlag->isChecked() &&
564 !m_miniPrefixesFlag->isChecked() &&
565 !m_miniWordsFlag->isChecked() &&
566 !m_miniStemsFlag->isChecked() )
568 setNextEnabled( page(PROJECT_INFO_PAGE), FALSE );
569 setFinishEnabled( page(CONFIRMATION), FALSE );
570 return;
574 // Otherwise, enable next button and update
575 // file names
576 setNextEnabled( page(PROJECT_INFO_PAGE), TRUE );
577 setFinishEnabled( page(CONFIRMATION), TRUE );
579 // Update the confirmation page
580 QString confirmation = "", fileName, miniName;
582 fileName = m_projectName->text();
583 fileName.replace( " ", "_" );
585 confirmation += "\t" + m_outputDirectory->text() + "/" + fileName + "/\n\n";
587 if( m_simpleTextFlag->isChecked() || m_bothFlag->isChecked() )
589 if( m_brokenCorpusFlag->isChecked() &&
590 m_pLexicon->GetCorpus()->count() )
592 fileName = m_projectName->text() + "_" + BROKEN_CORPUS_FILE_TITLE + ".txt";
593 fileName.replace( " ", "_" );
595 confirmation += "\t\t" + fileName + "\n";
597 if( m_corpusWordsFlag->isChecked() &&
598 m_pLexicon->GetWords() &&
599 m_pLexicon->GetWords()->GetCount() )
601 fileName = m_projectName->text() + "_" + CORPUS_WORDS_FILE_TITLE + ".txt";
602 fileName.replace( " ", "_" );
604 confirmation += "\t\t" + fileName + "\n";
606 if( m_allWordsFlag->isChecked() &&
607 m_pLexicon->GetAllWords() &&
608 m_pLexicon->GetAllWords()->count() )
610 fileName = m_projectName->text() + "_" + ALL_WORDS_FILE_TITLE + ".txt";
611 fileName.replace( " ", "_" );
613 confirmation += "\t\t" + fileName + "\n";
615 if( m_allSuffixesFlag->isChecked() &&
616 m_pLexicon->GetAllSuffixes() &&
617 m_pLexicon->GetAllSuffixes()->count() )
619 fileName = m_projectName->text() + "_" + ALL_SUFFIXES_FILE_TITLE + ".txt";
620 fileName.replace( " ", "_" );
622 confirmation += "\t\t" + fileName + "\n";
624 if( m_allSuffixSigsFlag->isChecked() &&
625 m_pLexicon->GetAllSuffixSigs() &&
626 m_pLexicon->GetAllSuffixSigs()->count() )
628 fileName = m_projectName->text() + "_" + ALL_SUFFIX_SIGNATURES_FILE_TITLE + ".txt";
629 fileName.replace( " ", "_" );
631 confirmation += "\t\t" + fileName + "\n";
633 if( m_allStemsFlag->isChecked() &&
634 m_pLexicon->GetAllStems() &&
635 m_pLexicon->GetAllStems()->count() )
637 fileName = m_projectName->text() + "_" + ALL_STEMS_FILE_TITLE + ".txt";
638 fileName.replace( " ", "_" );
640 confirmation += "\t\t" + fileName + "\n";
642 if( m_allPrefixesFlag->isChecked() &&
643 m_pLexicon->GetAllPrefixes() &&
644 m_pLexicon->GetAllPrefixes()->count() )
646 fileName = m_projectName->text() + "_" + ALL_PREFIXES_FILE_TITLE + ".txt";
647 fileName.replace( " ", "_" );
649 confirmation += "\t\t" + fileName + "\n";
651 if( m_allPrefixSigsFlag->isChecked() &&
652 m_pLexicon->GetAllPrefixSigs() &&
653 m_pLexicon->GetAllPrefixSigs()->count() )
655 fileName = m_projectName->text() + "_" + ALL_PREFIX_SIGNATURES_FILE_TITLE + ".txt";
656 fileName.replace( " ", "_" );
658 confirmation += "\t\t" + fileName + "\n";
660 if( m_compoundsFlag->isChecked() &&
661 m_pLexicon->GetCompounds() &&
662 m_pLexicon->GetCompounds()->GetCount() )
664 fileName = m_projectName->text() + "_" + COMPOUNDS_FILE_TITLE + ".txt";
665 fileName.replace( " ", "_" );
667 confirmation += "\t\t" + fileName + "\n";
669 fileName = m_projectName->text() + "_" + LINKERS_FILE_TITLE + ".txt";
670 fileName.replace( " ", "_" );
672 confirmation += "\t\t" + fileName + "\n";
676 CMiniLexicon* pMini;
677 for( int mini = 0; mini < m_pLexicon->GetMiniSize(); mini++ )
679 pMini = m_pLexicon->GetMiniLexicon(mini);
680 if( !pMini || !pMini->GetWords() ) continue;
682 miniName = m_projectName->text() + QString( "_Mini_%1_" ).arg( pMini->GetIndex() + 1 );
684 if( m_miniWordsFlag->isChecked() &&
685 pMini->GetWords() &&
686 pMini->GetWords()->GetCount() )
688 fileName = miniName + MINI_WORDS_FILE_TITLE + ".txt";
689 fileName.replace( " ", "_" );
691 confirmation += "\t\t" + fileName + "\n";
693 if( m_miniSuffixesFlag->isChecked() &&
694 pMini->GetSuffixes() &&
695 pMini->GetSuffixes()->GetCount() )
697 fileName = miniName + MINI_SUFFIXES_FILE_TITLE + ".txt";
698 fileName.replace( " ", "_" );
700 confirmation += "\t\t" + fileName + "\n";
702 if( m_miniPrefixesFlag->isChecked() &&
703 pMini->GetPrefixes() &&
704 pMini->GetPrefixes()->GetCount() )
706 fileName = miniName + MINI_PREFIXES_FILE_TITLE + ".txt";
707 fileName.replace( " ", "_" );
709 confirmation += "\t\t" + fileName + "\n";
711 if( m_miniSignaturesFlag->isChecked() &&
712 pMini->GetSignatures() &&
713 pMini->GetSignatures()->GetCount() )
715 fileName = miniName + MINI_SIGNATURES_FILE_TITLE + ".txt";
716 fileName.replace( " ", "_" );
718 confirmation += "\t\t" + fileName + "\n";
720 if( m_miniStemsFlag->isChecked() &&
721 pMini->GetStems() &&
722 pMini->GetStems()->GetCount() )
724 fileName = miniName + MINI_STEMS_FILE_TITLE + ".txt";
725 fileName.replace( " ", "_" );
727 confirmation += "\t\t" + fileName + "\n";
732 if( m_markUpFlag->isChecked() || m_bothFlag->isChecked() )
734 confirmation += "\t\tindex.html\n";
736 fileName = m_projectName->text() + ".css";
737 fileName.replace( " ", "_" );
738 confirmation += "\t\t" + fileName + "\n";
740 if( m_brokenCorpusFlag->isChecked() &&
741 m_pLexicon->GetCorpus()->count() )
743 fileName = m_projectName->text() + "_" + BROKEN_CORPUS_FILE_TITLE + ".html";
744 fileName.replace( " ", "_" );
746 confirmation += "\t\t" + fileName + "\n";
748 if( m_corpusWordsFlag->isChecked() &&
749 m_pLexicon->GetWords() &&
750 m_pLexicon->GetWords()->GetCount() )
752 fileName = m_projectName->text() + "_" + CORPUS_WORDS_FILE_TITLE + ".html";
753 fileName.replace( " ", "_" );
755 confirmation += "\t\t" + fileName + "\n";
757 if( m_allWordsFlag->isChecked() &&
758 m_pLexicon->GetAllWords() &&
759 m_pLexicon->GetAllWords()->count() )
761 fileName = m_projectName->text() + "_" + ALL_WORDS_FILE_TITLE + ".html";
762 fileName.replace( " ", "_" );
764 confirmation += "\t\t" + fileName + "\n";
766 if( m_allSuffixesFlag->isChecked() &&
767 m_pLexicon->GetAllSuffixes() &&
768 m_pLexicon->GetAllSuffixes()->count() )
770 fileName = m_projectName->text() + "_" + ALL_SUFFIXES_FILE_TITLE + ".html";
771 fileName.replace( " ", "_" );
773 confirmation += "\t\t" + fileName + "\n";
775 if( m_allSuffixSigsFlag->isChecked() &&
776 m_pLexicon->GetAllSuffixSigs() &&
777 m_pLexicon->GetAllSuffixSigs()->count() )
779 fileName = m_projectName->text() + "_" + ALL_SUFFIX_SIGNATURES_FILE_TITLE + ".html";
780 fileName.replace( " ", "_" );
782 confirmation += "\t\t" + fileName + "\n";
784 if( m_allStemsFlag->isChecked() &&
785 m_pLexicon->GetAllStems() &&
786 m_pLexicon->GetAllStems()->count() )
788 fileName = m_projectName->text() + "_" + ALL_STEMS_FILE_TITLE + ".html";
789 fileName.replace( " ", "_" );
791 confirmation += "\t\t" + fileName + "\n";
793 if( m_allPrefixesFlag->isChecked() &&
794 m_pLexicon->GetAllPrefixes() &&
795 m_pLexicon->GetAllPrefixes()->count() )
797 fileName = m_projectName->text() + "_" + ALL_PREFIXES_FILE_TITLE + ".html";
798 fileName.replace( " ", "_" );
800 confirmation += "\t\t" + fileName + "\n";
802 if( m_allPrefixSigsFlag->isChecked() &&
803 m_pLexicon->GetAllPrefixSigs() &&
804 m_pLexicon->GetAllPrefixSigs()->count() )
806 fileName = m_projectName->text() + "_" + ALL_PREFIX_SIGNATURES_FILE_TITLE + ".html";
807 fileName.replace( " ", "_" );
809 confirmation += "\t\t" + fileName + "\n";
811 if( m_compoundsFlag->isChecked() &&
812 m_pLexicon->GetCompounds() &&
813 m_pLexicon->GetCompounds()->GetCount() )
815 fileName = m_projectName->text() + "_" + COMPOUNDS_FILE_TITLE + ".html";
816 fileName.replace( " ", "_" );
818 confirmation += "\t\t" + fileName + "\n";
820 fileName = m_projectName->text() + "_" + LINKERS_FILE_TITLE + ".html";
821 fileName.replace( " ", "_" );
823 confirmation += "\t\t" + fileName + "\n";
827 CMiniLexicon* pMini;
828 for( int mini = 0; mini < m_pLexicon->GetMiniSize(); mini++ )
830 pMini = m_pLexicon->GetMiniLexicon(mini);
831 if( !pMini || !pMini->GetWords() ) continue;
833 miniName = m_projectName->text() + QString( "_Mini_%1_" ).arg( pMini->GetIndex() + 1 );
835 if( m_miniWordsFlag->isChecked() &&
836 pMini->GetWords() &&
837 pMini->GetWords()->GetCount() )
839 fileName = miniName + MINI_WORDS_FILE_TITLE + ".html";
840 fileName.replace( " ", "_" );
842 confirmation += "\t\t" + fileName + "\n";
844 if( m_miniSuffixesFlag->isChecked() &&
845 pMini->GetSuffixes() &&
846 pMini->GetSuffixes()->GetCount() )
848 fileName = miniName + MINI_SUFFIXES_FILE_TITLE + ".html";
849 fileName.replace( " ", "_" );
851 confirmation += "\t\t" + fileName + "\n";
853 if( m_miniPrefixesFlag->isChecked() &&
854 pMini->GetPrefixes() &&
855 pMini->GetPrefixes()->GetCount() )
857 fileName = miniName + MINI_PREFIXES_FILE_TITLE + ".html";
858 fileName.replace( " ", "_" );
860 confirmation += "\t\t" + fileName + "\n";
862 if( m_miniSignaturesFlag->isChecked() &&
863 pMini->GetSignatures() &&
864 pMini->GetSignatures()->GetCount() )
866 fileName = miniName + MINI_SIGNATURES_FILE_TITLE + ".html";
867 fileName.replace( " ", "_" );
869 confirmation += "\t\t" + fileName + "\n";
871 if( m_miniStemsFlag->isChecked() &&
872 pMini->GetStems() &&
873 pMini->GetStems()->GetCount() )
875 fileName = miniName + MINI_STEMS_FILE_TITLE + ".html";
876 fileName.replace( " ", "_" );
878 confirmation += "\t\t" + fileName + "\n";
883 m_confirmation->setText( confirmation );
887 void ExportWizard::corpusWordsAddIndexButtonClickedSlot()
889 QString line = m_corpusWordsLine->text();
890 int cursor = m_corpusWordsLine->cursorPosition();
892 line = line.insert( cursor, INDEX_FIELD );
894 m_corpusWordsLine->setText( line );
895 m_corpusWordsLine->setCursorPosition( cursor + INDEX_FIELD.length() );
899 void ExportWizard::corpusWordsAddWordButtonClickedSlot()
901 QString line = m_corpusWordsLine->text();
902 int cursor = m_corpusWordsLine->cursorPosition();
904 line = line.insert( cursor, WORD_FIELD );
906 m_corpusWordsLine->setText( line );
907 m_corpusWordsLine->setCursorPosition( cursor + WORD_FIELD.length() );
911 void ExportWizard::corpusWordsAddCorpusCountButtonClickedSlot()
913 QString line = m_corpusWordsLine->text();
914 int cursor = m_corpusWordsLine->cursorPosition();
916 line = line.insert( cursor, CORPUS_COUNT_FIELD );
918 m_corpusWordsLine->setText( line );
919 m_corpusWordsLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
923 void ExportWizard::corpusWordsAddMorphCountButtonClickedSlot()
925 QString line = m_corpusWordsLine->text();
926 int cursor = m_corpusWordsLine->cursorPosition();
928 line = line.insert( cursor, MORPHS_COUNT_FIELD );
930 m_corpusWordsLine->setText( line );
931 m_corpusWordsLine->setCursorPosition( cursor + MORPHS_COUNT_FIELD.length() );
935 void ExportWizard::corpusWordsAddMorphsButtonClickedSlot()
937 QString line = m_corpusWordsLine->text();
938 int cursor = m_corpusWordsLine->cursorPosition();
940 line = line.insert( cursor, MORPHS_FIELD );
942 m_corpusWordsLine->setText( line );
943 m_corpusWordsLine->setCursorPosition( cursor + MORPHS_FIELD.length() );
947 void ExportWizard::compoundsAddIndexButtonClickedSlot()
949 QString line = m_compoundsLine->text();
950 int cursor = m_compoundsLine->cursorPosition();
952 line = line.insert( cursor, INDEX_FIELD );
954 m_compoundsLine->setText( line );
955 m_compoundsLine->setCursorPosition( cursor + INDEX_FIELD.length() );
959 void ExportWizard::compoundsAddCompoundButtonClickedSlot()
961 QString line = m_compoundsLine->text();
962 int cursor = m_compoundsLine->cursorPosition();
964 line = line.insert( cursor, COMPOUND_FIELD );
966 m_compoundsLine->setText( line );
967 m_compoundsLine->setCursorPosition( cursor + COMPOUND_FIELD.length() );
971 void ExportWizard::compoundsAddCorpusCountButtonClickedSlot()
973 QString line = m_compoundsLine->text();
974 int cursor = m_compoundsLine->cursorPosition();
976 line = line.insert( cursor, CORPUS_COUNT_FIELD );
978 m_compoundsLine->setText( line );
979 m_compoundsLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
983 void ExportWizard::compoundsAddMorphCountButtonClickedSlot()
985 QString line = m_compoundsLine->text();
986 int cursor = m_compoundsLine->cursorPosition();
988 line = line.insert( cursor, MORPHS_COUNT_FIELD );
990 m_compoundsLine->setText( line );
991 m_compoundsLine->setCursorPosition( cursor + MORPHS_COUNT_FIELD.length() );
995 void ExportWizard::compoundsAddMorphsButtonClickedSlot()
997 QString line = m_compoundsLine->text();
998 int cursor = m_compoundsLine->cursorPosition();
1000 line = line.insert( cursor, MORPHS_FIELD );
1002 m_compoundsLine->setText( line );
1003 m_compoundsLine->setCursorPosition( cursor + MORPHS_FIELD.length() );
1007 void ExportWizard::compoundsAddSuffixnessButtonClickedSlot()
1009 QString line = m_compoundsLine->text();
1010 int cursor = m_compoundsLine->cursorPosition();
1012 line = line.insert( cursor, SUFFIXNESS_FIELD );
1014 m_compoundsLine->setText( line );
1015 m_compoundsLine->setCursorPosition( cursor + SUFFIXNESS_FIELD.length() );
1019 void ExportWizard::compoundsAddPrefixnessButtonClickedSlot()
1021 QString line = m_compoundsLine->text();
1022 int cursor = m_compoundsLine->cursorPosition();
1024 line = line.insert( cursor, PREFIXNESS_FIELD );
1026 m_compoundsLine->setText( line );
1027 m_compoundsLine->setCursorPosition( cursor + PREFIXNESS_FIELD.length() );
1031 void ExportWizard::compoundsAddParseButtonClickedSlot()
1033 QString line = m_compoundsLine->text();
1034 int cursor = m_compoundsLine->cursorPosition();
1036 line = line.insert( cursor, PARSE_FIELD );
1038 m_compoundsLine->setText( line );
1039 m_compoundsLine->setCursorPosition( cursor + PARSE_FIELD.length() );
1043 void ExportWizard::linkersAddIndexButtonClickedSlot()
1045 QString line = m_linkersLine->text();
1046 int cursor = m_linkersLine->cursorPosition();
1048 line = line.insert( cursor, INDEX_FIELD );
1050 m_linkersLine->setText( line );
1051 m_linkersLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1055 void ExportWizard::linkersAddLinkerButtonClickedSlot()
1057 QString line = m_linkersLine->text();
1058 int cursor = m_linkersLine->cursorPosition();
1060 line = line.insert( cursor, LINKER_FIELD );
1062 m_linkersLine->setText( line );
1063 m_linkersLine->setCursorPosition( cursor + LINKER_FIELD.length() );
1067 void ExportWizard::linkersAddCorpusCountButtonClickedSlot()
1069 QString line = m_linkersLine->text();
1070 int cursor = m_linkersLine->cursorPosition();
1072 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1074 m_linkersLine->setText( line );
1075 m_linkersLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1079 void ExportWizard::linkersAddCompoundCountButtonClickedSlot()
1081 QString line = m_linkersLine->text();
1082 int cursor = m_linkersLine->cursorPosition();
1084 line = line.insert( cursor, COMPOUND_COUNT_FIELD );
1086 m_linkersLine->setText( line );
1087 m_linkersLine->setCursorPosition( cursor + COMPOUND_COUNT_FIELD.length() );
1091 void ExportWizard::allWordsAddIndexButtonClickedSlot()
1093 QString line = m_allWordsLine->text();
1094 int cursor = m_allWordsLine->cursorPosition();
1096 line = line.insert( cursor, INDEX_FIELD );
1098 m_allWordsLine->setText( line );
1099 m_allWordsLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1103 void ExportWizard::allWordsAddWordButtonClickedSlot()
1105 QString line = m_allWordsLine->text();
1106 int cursor = m_allWordsLine->cursorPosition();
1108 line = line.insert( cursor, WORD_FIELD );
1110 m_allWordsLine->setText( line );
1111 m_allWordsLine->setCursorPosition( cursor + WORD_FIELD.length() );
1115 void ExportWizard::allWordsAddMiniLexButtonClickedSlot()
1117 QString line = m_allWordsLine->text();
1118 int cursor = m_allWordsLine->cursorPosition();
1120 line = line.insert( cursor, MINI_LEX_FIELD );
1122 m_allWordsLine->setText( line );
1123 m_allWordsLine->setCursorPosition( cursor + MINI_LEX_FIELD.length() );
1127 void ExportWizard::allWordsAddDescLengthButtonClickedSlot()
1129 QString line = m_allWordsLine->text();
1130 int cursor = m_allWordsLine->cursorPosition();
1132 line = line.insert( cursor, DESC_LENGTH_FIELD );
1134 m_allWordsLine->setText( line );
1135 m_allWordsLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
1139 void ExportWizard::allWordsAddCorpusCountButtonClickedSlot()
1141 QString line = m_allWordsLine->text();
1142 int cursor = m_allWordsLine->cursorPosition();
1144 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1146 m_allWordsLine->setText( line );
1147 m_allWordsLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1151 void ExportWizard::allWordsAddTypeButtonClickedSlot()
1153 QString line = m_allWordsLine->text();
1154 int cursor = m_allWordsLine->cursorPosition();
1156 line = line.insert( cursor, TYPE_FIELD );
1158 m_allWordsLine->setText( line );
1159 m_allWordsLine->setCursorPosition( cursor + TYPE_FIELD.length() );
1163 void ExportWizard::allWordsAddSignatureButtonClickedSlot()
1165 QString line = m_allWordsLine->text();
1166 int cursor = m_allWordsLine->cursorPosition();
1168 line = line.insert( cursor, SIGNATURE_FIELD );
1170 m_allWordsLine->setText( line );
1171 m_allWordsLine->setCursorPosition( cursor + SIGNATURE_FIELD.length() );
1175 void ExportWizard::allWordsAddSourceButtonClickedSlot()
1177 QString line = m_allWordsLine->text();
1178 int cursor = m_allWordsLine->cursorPosition();
1180 line = line.insert( cursor, SOURCE_FIELD );
1182 m_allWordsLine->setText( line );
1183 m_allWordsLine->setCursorPosition( cursor + SOURCE_FIELD.length() );
1187 void ExportWizard::allWordsAddPrefixButtonClickedSlot()
1189 QString line = m_allWordsLine->text();
1190 int cursor = m_allWordsLine->cursorPosition();
1192 line = line.insert( cursor, PREFIX_FIELD );
1194 m_allWordsLine->setText( line );
1195 m_allWordsLine->setCursorPosition( cursor + PREFIX_FIELD.length() );
1199 void ExportWizard::allWordsAddStemButtonClickedSlot()
1201 QString line = m_allWordsLine->text();
1202 int cursor = m_allWordsLine->cursorPosition();
1204 line = line.insert( cursor, STEM_FIELD );
1206 m_allWordsLine->setText( line );
1207 m_allWordsLine->setCursorPosition( cursor + STEM_FIELD.length() );
1211 void ExportWizard::allWordsAddSuffixButtonClickedSlot()
1213 QString line = m_allWordsLine->text();
1214 int cursor = m_allWordsLine->cursorPosition();
1216 line = line.insert( cursor, SUFFIX_FIELD );
1218 m_allWordsLine->setText( line );
1219 m_allWordsLine->setCursorPosition( cursor + SUFFIX_FIELD.length() );
1223 void ExportWizard::allStemsAddIndexButtonClickedSlot()
1225 QString line = m_allStemsLine->text();
1226 int cursor = m_allStemsLine->cursorPosition();
1228 line = line.insert( cursor, INDEX_FIELD );
1230 m_allStemsLine->setText( line );
1231 m_allStemsLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1235 void ExportWizard::allStemsAddStemButtonClickedSlot()
1237 QString line = m_allStemsLine->text();
1238 int cursor = m_allStemsLine->cursorPosition();
1240 line = line.insert( cursor, STEM_FIELD );
1242 m_allStemsLine->setText( line );
1243 m_allStemsLine->setCursorPosition( cursor + STEM_FIELD.length() );
1247 void ExportWizard::allStemsAddMiniLexButtonClickedSlot()
1249 QString line = m_allStemsLine->text();
1250 int cursor = m_allStemsLine->cursorPosition();
1252 line = line.insert( cursor, MINI_LEX_FIELD );
1254 m_allStemsLine->setText( line );
1255 m_allStemsLine->setCursorPosition( cursor + MINI_LEX_FIELD.length() );
1259 void ExportWizard::allStemsAddDescLengthButtonClickedSlot()
1261 QString line = m_allStemsLine->text();
1262 int cursor = m_allStemsLine->cursorPosition();
1264 line = line.insert( cursor, DESC_LENGTH_FIELD );
1266 m_allStemsLine->setText( line );
1267 m_allStemsLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
1271 void ExportWizard::allStemsAddCorpusCountButtonClickedSlot()
1273 QString line = m_allStemsLine->text();
1274 int cursor = m_allStemsLine->cursorPosition();
1276 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1278 m_allStemsLine->setText( line );
1279 m_allStemsLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1283 void ExportWizard::allStemsAddTypeButtonClickedSlot()
1285 QString line = m_allStemsLine->text();
1286 int cursor = m_allStemsLine->cursorPosition();
1288 line = line.insert( cursor, TYPE_FIELD );
1290 m_allStemsLine->setText( line );
1291 m_allStemsLine->setCursorPosition( cursor + TYPE_FIELD.length() );
1295 void ExportWizard::allStemsAddSignatureButtonClickedSlot()
1297 QString line = m_allStemsLine->text();
1298 int cursor = m_allStemsLine->cursorPosition();
1300 line = line.insert( cursor, SIGNATURE_FIELD );
1302 m_allStemsLine->setText( line );
1303 m_allStemsLine->setCursorPosition( cursor + SIGNATURE_FIELD.length() );
1307 void ExportWizard::allStemsAddOriginButtonClickedSlot()
1309 QString line = m_allStemsLine->text();
1310 int cursor = m_allStemsLine->cursorPosition();
1312 line = line.insert( cursor, ORIGIN_FIELD );
1314 m_allStemsLine->setText( line );
1315 m_allStemsLine->setCursorPosition( cursor + ORIGIN_FIELD.length() );
1319 void ExportWizard::allSuffixesAddIndexButtonClickedSlot()
1321 QString line = m_allSuffixesLine->text();
1322 int cursor = m_allSuffixesLine->cursorPosition();
1324 line = line.insert( cursor, INDEX_FIELD );
1326 m_allSuffixesLine->setText( line );
1327 m_allSuffixesLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1331 void ExportWizard::allSuffixesAddSuffixButtonClickedSlot()
1333 QString line = m_allSuffixesLine->text();
1334 int cursor = m_allSuffixesLine->cursorPosition();
1336 line = line.insert( cursor, SUFFIX_FIELD );
1338 m_allSuffixesLine->setText( line );
1339 m_allSuffixesLine->setCursorPosition( cursor + SUFFIX_FIELD.length() );
1343 void ExportWizard::allSuffixesAddMiniLexButtonClickedSlot()
1345 QString line = m_allSuffixesLine->text();
1346 int cursor = m_allSuffixesLine->cursorPosition();
1348 line = line.insert( cursor, MINI_LEX_FIELD );
1350 m_allSuffixesLine->setText( line );
1351 m_allSuffixesLine->setCursorPosition( cursor + MINI_LEX_FIELD.length() );
1355 void ExportWizard::allSuffixesAddDescLengthButtonClickedSlot()
1357 QString line = m_allSuffixesLine->text();
1358 int cursor = m_allSuffixesLine->cursorPosition();
1360 line = line.insert( cursor, DESC_LENGTH_FIELD );
1362 m_allSuffixesLine->setText( line );
1363 m_allSuffixesLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
1367 void ExportWizard::allSuffixesAddCorpusCountButtonClickedSlot()
1369 QString line = m_allSuffixesLine->text();
1370 int cursor = m_allSuffixesLine->cursorPosition();
1372 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1374 m_allSuffixesLine->setText( line );
1375 m_allSuffixesLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1379 void ExportWizard::allSuffixesAddStemCountButtonClickedSlot()
1381 QString line = m_allSuffixesLine->text();
1382 int cursor = m_allSuffixesLine->cursorPosition();
1384 line = line.insert( cursor, STEM_COUNT_FIELD );
1386 m_allSuffixesLine->setText( line );
1387 m_allSuffixesLine->setCursorPosition( cursor + STEM_COUNT_FIELD.length() );
1391 void ExportWizard::allSuffixSigsAddIndexButtonClickedSlot()
1393 QString line = m_allSuffixSigsLine->text();
1394 int cursor = m_allSuffixSigsLine->cursorPosition();
1396 line = line.insert( cursor, INDEX_FIELD );
1398 m_allSuffixSigsLine->setText( line );
1399 m_allSuffixSigsLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1403 void ExportWizard::allSuffixSigsAddSignatureButtonClickedSlot()
1405 QString line = m_allSuffixSigsLine->text();
1406 int cursor = m_allSuffixSigsLine->cursorPosition();
1408 line = line.insert( cursor, SIGNATURE_FIELD );
1410 m_allSuffixSigsLine->setText( line );
1411 m_allSuffixSigsLine->setCursorPosition( cursor + SIGNATURE_FIELD.length() );
1415 void ExportWizard::allSuffixSigsAddMiniLexButtonClickedSlot()
1417 QString line = m_allSuffixSigsLine->text();
1418 int cursor = m_allSuffixSigsLine->cursorPosition();
1420 line = line.insert( cursor, MINI_LEX_FIELD );
1422 m_allSuffixSigsLine->setText( line );
1423 m_allSuffixSigsLine->setCursorPosition( cursor + MINI_LEX_FIELD.length() );
1427 void ExportWizard::allSuffixSigsAddDescLengthButtonClickedSlot()
1429 QString line = m_allSuffixSigsLine->text();
1430 int cursor = m_allSuffixSigsLine->cursorPosition();
1432 line = line.insert( cursor, DESC_LENGTH_FIELD );
1434 m_allSuffixSigsLine->setText( line );
1435 m_allSuffixSigsLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
1439 void ExportWizard::allSuffixSigsAddCorpusCountButtonClickedSlot()
1441 QString line = m_allSuffixSigsLine->text();
1442 int cursor = m_allSuffixSigsLine->cursorPosition();
1444 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1446 m_allSuffixSigsLine->setText( line );
1447 m_allSuffixSigsLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1451 void ExportWizard::allSuffixSigsAddStemCountButtonClickedSlot()
1453 QString line = m_allSuffixSigsLine->text();
1454 int cursor = m_allSuffixSigsLine->cursorPosition();
1456 line = line.insert( cursor, STEM_COUNT_FIELD );
1458 m_allSuffixSigsLine->setText( line );
1459 m_allSuffixSigsLine->setCursorPosition( cursor + STEM_COUNT_FIELD.length() );
1463 void ExportWizard::allSuffixSigsAddExemplarButtonClickedSlot()
1465 QString line = m_allSuffixSigsLine->text();
1466 int cursor = m_allSuffixSigsLine->cursorPosition();
1468 line = line.insert( cursor, EXEMPLAR_FIELD );
1470 m_allSuffixSigsLine->setText( line );
1471 m_allSuffixSigsLine->setCursorPosition( cursor + EXEMPLAR_FIELD.length() );
1475 void ExportWizard::allSuffixSigsAddRemarksButtonClickedSlot()
1477 QString line = m_allSuffixSigsLine->text();
1478 int cursor = m_allSuffixSigsLine->cursorPosition();
1480 line = line.insert( cursor, REMARKS_FIELD );
1482 m_allSuffixSigsLine->setText( line );
1483 m_allSuffixSigsLine->setCursorPosition( cursor + REMARKS_FIELD.length() );
1487 void ExportWizard::allSuffixSigsAddRobustnessButtonClickedSlot()
1489 QString line = m_allSuffixSigsLine->text();
1490 int cursor = m_allSuffixSigsLine->cursorPosition();
1492 line = line.insert( cursor, ROBUSTNESS_FIELD );
1494 m_allSuffixSigsLine->setText( line );
1495 m_allSuffixSigsLine->setCursorPosition( cursor + ROBUSTNESS_FIELD.length() );
1499 void ExportWizard::allPrefixesAddIndexButtonClickedSlot()
1501 QString line = m_allPrefixesLine->text();
1502 int cursor = m_allPrefixesLine->cursorPosition();
1504 line = line.insert( cursor, INDEX_FIELD );
1506 m_allPrefixesLine->setText( line );
1507 m_allPrefixesLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1511 void ExportWizard::allPrefixesAddPrefixButtonClickedSlot()
1513 QString line = m_allPrefixesLine->text();
1514 int cursor = m_allPrefixesLine->cursorPosition();
1516 line = line.insert( cursor, PREFIX_FIELD );
1518 m_allPrefixesLine->setText( line );
1519 m_allPrefixesLine->setCursorPosition( cursor + PREFIX_FIELD.length() );
1523 void ExportWizard::allPrefixesAddMiniLexButtonClickedSlot()
1525 QString line = m_allPrefixesLine->text();
1526 int cursor = m_allPrefixesLine->cursorPosition();
1528 line = line.insert( cursor, MINI_LEX_FIELD );
1530 m_allPrefixesLine->setText( line );
1531 m_allPrefixesLine->setCursorPosition( cursor + MINI_LEX_FIELD.length() );
1535 void ExportWizard::allPrefixesAddDescLengthButtonClickedSlot()
1537 QString line = m_allPrefixesLine->text();
1538 int cursor = m_allPrefixesLine->cursorPosition();
1540 line = line.insert( cursor, DESC_LENGTH_FIELD );
1542 m_allPrefixesLine->setText( line );
1543 m_allPrefixesLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
1547 void ExportWizard::allPrefixesAddCorpusCountButtonClickedSlot()
1549 QString line = m_allPrefixesLine->text();
1550 int cursor = m_allPrefixesLine->cursorPosition();
1552 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1554 m_allPrefixesLine->setText( line );
1555 m_allPrefixesLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1559 void ExportWizard::allPrefixesAddStemCountButtonClickedSlot()
1561 QString line = m_allPrefixesLine->text();
1562 int cursor = m_allPrefixesLine->cursorPosition();
1564 line = line.insert( cursor, STEM_COUNT_FIELD );
1566 m_allPrefixesLine->setText( line );
1567 m_allPrefixesLine->setCursorPosition( cursor + STEM_COUNT_FIELD.length() );
1571 void ExportWizard::allPrefixSigsAddIndexButtonClickedSlot()
1573 QString line = m_allPrefixSigsLine->text();
1574 int cursor = m_allPrefixSigsLine->cursorPosition();
1576 line = line.insert( cursor, INDEX_FIELD );
1578 m_allPrefixSigsLine->setText( line );
1579 m_allPrefixSigsLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1583 void ExportWizard::allPrefixSigsAddSignatureButtonClickedSlot()
1585 QString line = m_allPrefixSigsLine->text();
1586 int cursor = m_allPrefixSigsLine->cursorPosition();
1588 line = line.insert( cursor, SIGNATURE_FIELD );
1590 m_allPrefixSigsLine->setText( line );
1591 m_allPrefixSigsLine->setCursorPosition( cursor + SIGNATURE_FIELD.length() );
1595 void ExportWizard::allPrefixSigsAddMiniLexButtonClickedSlot()
1597 QString line = m_allPrefixSigsLine->text();
1598 int cursor = m_allPrefixSigsLine->cursorPosition();
1600 line = line.insert( cursor, MINI_LEX_FIELD );
1602 m_allPrefixSigsLine->setText( line );
1603 m_allPrefixSigsLine->setCursorPosition( cursor + MINI_LEX_FIELD.length() );
1607 void ExportWizard::allPrefixSigsAddDescLengthButtonClickedSlot()
1609 QString line = m_allPrefixSigsLine->text();
1610 int cursor = m_allPrefixSigsLine->cursorPosition();
1612 line = line.insert( cursor, DESC_LENGTH_FIELD );
1614 m_allPrefixSigsLine->setText( line );
1615 m_allPrefixSigsLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
1619 void ExportWizard::allPrefixSigsAddCorpusCountButtonClickedSlot()
1621 QString line = m_allPrefixSigsLine->text();
1622 int cursor = m_allPrefixSigsLine->cursorPosition();
1624 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1626 m_allPrefixSigsLine->setText( line );
1627 m_allPrefixSigsLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1631 void ExportWizard::allPrefixSigsAddStemCountButtonClickedSlot()
1633 QString line = m_allPrefixSigsLine->text();
1634 int cursor = m_allPrefixSigsLine->cursorPosition();
1636 line = line.insert( cursor, STEM_COUNT_FIELD );
1638 m_allPrefixSigsLine->setText( line );
1639 m_allPrefixSigsLine->setCursorPosition( cursor + STEM_COUNT_FIELD.length() );
1643 void ExportWizard::allPrefixSigsAddExemplarButtonClickedSlot()
1645 QString line = m_allPrefixSigsLine->text();
1646 int cursor = m_allPrefixSigsLine->cursorPosition();
1648 line = line.insert( cursor, EXEMPLAR_FIELD );
1650 m_allPrefixSigsLine->setText( line );
1651 m_allPrefixSigsLine->setCursorPosition( cursor + EXEMPLAR_FIELD.length() );
1655 void ExportWizard::allPrefixSigsAddRemarksButtonClickedSlot()
1657 QString line = m_allPrefixSigsLine->text();
1658 int cursor = m_allPrefixSigsLine->cursorPosition();
1660 line = line.insert( cursor, REMARKS_FIELD );
1662 m_allPrefixSigsLine->setText( line );
1663 m_allPrefixSigsLine->setCursorPosition( cursor + REMARKS_FIELD.length() );
1667 void ExportWizard::allPrefixSigsAddRobustnessButtonClickedSlot()
1669 QString line = m_allPrefixSigsLine->text();
1670 int cursor = m_allPrefixSigsLine->cursorPosition();
1672 line = line.insert( cursor, ROBUSTNESS_FIELD );
1674 m_allPrefixSigsLine->setText( line );
1675 m_allPrefixSigsLine->setCursorPosition( cursor + ROBUSTNESS_FIELD.length() );
1679 void ExportWizard::miniWordsAddIndexButtonClickedSlot()
1681 QString line = m_miniWordsLine->text();
1682 int cursor = m_miniWordsLine->cursorPosition();
1684 line = line.insert( cursor, INDEX_FIELD );
1686 m_miniWordsLine->setText( line );
1687 m_miniWordsLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1691 void ExportWizard::miniWordsAddWordButtonClickedSlot()
1693 QString line = m_miniWordsLine->text();
1694 int cursor = m_miniWordsLine->cursorPosition();
1696 line = line.insert( cursor, WORD_FIELD );
1698 m_miniWordsLine->setText( line );
1699 m_miniWordsLine->setCursorPosition( cursor + WORD_FIELD.length() );
1703 void ExportWizard::miniWordsAddDescLengthButtonClickedSlot()
1705 QString line = m_miniWordsLine->text();
1706 int cursor = m_miniWordsLine->cursorPosition();
1708 line = line.insert( cursor, DESC_LENGTH_FIELD );
1710 m_miniWordsLine->setText( line );
1711 m_miniWordsLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
1715 void ExportWizard::miniWordsAddCorpusCountButtonClickedSlot()
1717 QString line = m_miniWordsLine->text();
1718 int cursor = m_miniWordsLine->cursorPosition();
1720 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1722 m_miniWordsLine->setText( line );
1723 m_miniWordsLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1727 void ExportWizard::miniWordsAddTypeButtonClickedSlot()
1729 QString line = m_miniWordsLine->text();
1730 int cursor = m_miniWordsLine->cursorPosition();
1732 line = line.insert( cursor, TYPE_FIELD );
1734 m_miniWordsLine->setText( line );
1735 m_miniWordsLine->setCursorPosition( cursor + TYPE_FIELD.length() );
1739 void ExportWizard::miniWordsAddSignatureButtonClickedSlot()
1741 QString line = m_miniWordsLine->text();
1742 int cursor = m_miniWordsLine->cursorPosition();
1744 line = line.insert( cursor, SIGNATURE_FIELD );
1746 m_miniWordsLine->setText( line );
1747 m_miniWordsLine->setCursorPosition( cursor + SIGNATURE_FIELD.length() );
1751 void ExportWizard::miniWordsAddSourceButtonClickedSlot()
1753 QString line = m_miniWordsLine->text();
1754 int cursor = m_miniWordsLine->cursorPosition();
1756 line = line.insert( cursor, SOURCE_FIELD );
1758 m_miniWordsLine->setText( line );
1759 m_miniWordsLine->setCursorPosition( cursor + SOURCE_FIELD.length() );
1763 void ExportWizard::miniWordsAddPrefixButtonClickedSlot()
1765 QString line = m_miniWordsLine->text();
1766 int cursor = m_miniWordsLine->cursorPosition();
1768 line = line.insert( cursor, PREFIX_FIELD );
1770 m_miniWordsLine->setText( line );
1771 m_miniWordsLine->setCursorPosition( cursor + PREFIX_FIELD.length() );
1775 void ExportWizard::miniWordsAddStemButtonClickedSlot()
1777 QString line = m_miniWordsLine->text();
1778 int cursor = m_miniWordsLine->cursorPosition();
1780 line = line.insert( cursor, STEM_FIELD );
1782 m_miniWordsLine->setText( line );
1783 m_miniWordsLine->setCursorPosition( cursor + STEM_FIELD.length() );
1787 void ExportWizard::miniWordsAddSuffixButtonClickedSlot()
1789 QString line = m_miniWordsLine->text();
1790 int cursor = m_miniWordsLine->cursorPosition();
1792 line = line.insert( cursor, SUFFIX_FIELD );
1794 m_miniWordsLine->setText( line );
1795 m_miniWordsLine->setCursorPosition( cursor + SUFFIX_FIELD.length() );
1799 void ExportWizard::miniSignaturesAddIndexButtonClickedSlot()
1801 QString line = m_miniSignaturesLine->text();
1802 int cursor = m_miniSignaturesLine->cursorPosition();
1804 line = line.insert( cursor, INDEX_FIELD );
1806 m_miniSignaturesLine->setText( line );
1807 m_miniSignaturesLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1811 void ExportWizard::miniSignaturesAddSignatureButtonClickedSlot()
1813 QString line = m_miniSignaturesLine->text();
1814 int cursor = m_miniSignaturesLine->cursorPosition();
1816 line = line.insert( cursor, SIGNATURE_FIELD );
1818 m_miniSignaturesLine->setText( line );
1819 m_miniSignaturesLine->setCursorPosition( cursor + SIGNATURE_FIELD.length() );
1823 void ExportWizard::miniSignaturesAddDescLengthButtonClickedSlot()
1825 QString line = m_miniSignaturesLine->text();
1826 int cursor = m_miniSignaturesLine->cursorPosition();
1828 line = line.insert( cursor, DESC_LENGTH_FIELD );
1830 m_miniSignaturesLine->setText( line );
1831 m_miniSignaturesLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
1835 void ExportWizard::miniSignaturesAddCorpusCountButtonClickedSlot()
1837 QString line = m_miniSignaturesLine->text();
1838 int cursor = m_miniSignaturesLine->cursorPosition();
1840 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1842 m_miniSignaturesLine->setText( line );
1843 m_miniSignaturesLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1847 void ExportWizard::miniSignaturesAddStemCountButtonClickedSlot()
1849 QString line = m_miniSignaturesLine->text();
1850 int cursor = m_miniSignaturesLine->cursorPosition();
1852 line = line.insert( cursor, STEM_COUNT_FIELD );
1854 m_miniSignaturesLine->setText( line );
1855 m_miniSignaturesLine->setCursorPosition( cursor + STEM_COUNT_FIELD.length() );
1859 void ExportWizard::miniSignaturesAddExemplarButtonClickedSlot()
1861 QString line = m_miniSignaturesLine->text();
1862 int cursor = m_miniSignaturesLine->cursorPosition();
1864 line = line.insert( cursor, EXEMPLAR_FIELD );
1866 m_miniSignaturesLine->setText( line );
1867 m_miniSignaturesLine->setCursorPosition( cursor + EXEMPLAR_FIELD.length() );
1871 void ExportWizard::miniSignaturesAddRemarksButtonClickedSlot()
1873 QString line = m_miniSignaturesLine->text();
1874 int cursor = m_miniSignaturesLine->cursorPosition();
1876 line = line.insert( cursor, REMARKS_FIELD );
1878 m_miniSignaturesLine->setText( line );
1879 m_miniSignaturesLine->setCursorPosition( cursor + REMARKS_FIELD.length() );
1883 void ExportWizard::miniSignaturesAddRobustnessButtonClickedSlot()
1885 QString line = m_miniSignaturesLine->text();
1886 int cursor = m_miniSignaturesLine->cursorPosition();
1888 line = line.insert( cursor, ROBUSTNESS_FIELD );
1890 m_miniSignaturesLine->setText( line );
1891 m_miniSignaturesLine->setCursorPosition( cursor + ROBUSTNESS_FIELD.length() );
1895 void ExportWizard::miniStemsAddIndexButtonClickedSlot()
1897 QString line = m_miniStemsLine->text();
1898 int cursor = m_miniStemsLine->cursorPosition();
1900 line = line.insert( cursor, INDEX_FIELD );
1902 m_miniStemsLine->setText( line );
1903 m_miniStemsLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1907 void ExportWizard::miniStemsAddStemButtonClickedSlot()
1909 QString line = m_miniStemsLine->text();
1910 int cursor = m_miniStemsLine->cursorPosition();
1912 line = line.insert( cursor, STEM_FIELD );
1914 m_miniStemsLine->setText( line );
1915 m_miniStemsLine->setCursorPosition( cursor + STEM_FIELD.length() );
1919 void ExportWizard::miniStemsAddDescLengthButtonClickedSlot()
1921 QString line = m_miniStemsLine->text();
1922 int cursor = m_miniStemsLine->cursorPosition();
1924 line = line.insert( cursor, DESC_LENGTH_FIELD );
1926 m_miniStemsLine->setText( line );
1927 m_miniStemsLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
1931 void ExportWizard::miniStemsAddCorpusCountButtonClickedSlot()
1933 QString line = m_miniStemsLine->text();
1934 int cursor = m_miniStemsLine->cursorPosition();
1936 line = line.insert( cursor, CORPUS_COUNT_FIELD );
1938 m_miniStemsLine->setText( line );
1939 m_miniStemsLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
1943 void ExportWizard::miniStemsAddTypeButtonClickedSlot()
1945 QString line = m_miniStemsLine->text();
1946 int cursor = m_miniStemsLine->cursorPosition();
1948 line = line.insert( cursor, TYPE_FIELD );
1950 m_miniStemsLine->setText( line );
1951 m_miniStemsLine->setCursorPosition( cursor + TYPE_FIELD.length() );
1955 void ExportWizard::miniStemsAddSignatureButtonClickedSlot()
1957 QString line = m_miniStemsLine->text();
1958 int cursor = m_miniStemsLine->cursorPosition();
1960 line = line.insert( cursor, SIGNATURE_FIELD );
1962 m_miniStemsLine->setText( line );
1963 m_miniStemsLine->setCursorPosition( cursor + SIGNATURE_FIELD.length() );
1967 void ExportWizard::miniStemsAddOriginButtonClickedSlot()
1969 QString line = m_miniStemsLine->text();
1970 int cursor = m_miniStemsLine->cursorPosition();
1972 line = line.insert( cursor, ORIGIN_FIELD );
1974 m_miniStemsLine->setText( line );
1975 m_miniStemsLine->setCursorPosition( cursor + ORIGIN_FIELD.length() );
1979 void ExportWizard::miniSuffixesAddIndexButtonClickedSlot()
1981 QString line = m_miniSuffixesLine->text();
1982 int cursor = m_miniSuffixesLine->cursorPosition();
1984 line = line.insert( cursor, INDEX_FIELD );
1986 m_miniSuffixesLine->setText( line );
1987 m_miniSuffixesLine->setCursorPosition( cursor + INDEX_FIELD.length() );
1991 void ExportWizard::miniSuffixesAddSuffixButtonClickedSlot()
1993 QString line = m_miniSuffixesLine->text();
1994 int cursor = m_miniSuffixesLine->cursorPosition();
1996 line = line.insert( cursor, SUFFIX_FIELD );
1998 m_miniSuffixesLine->setText( line );
1999 m_miniSuffixesLine->setCursorPosition( cursor + SUFFIX_FIELD.length() );
2003 void ExportWizard::miniSuffixesAddDescLengthButtonClickedSlot()
2005 QString line = m_miniSuffixesLine->text();
2006 int cursor = m_miniSuffixesLine->cursorPosition();
2008 line = line.insert( cursor, DESC_LENGTH_FIELD );
2010 m_miniSuffixesLine->setText( line );
2011 m_miniSuffixesLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
2015 void ExportWizard::miniSuffixesAddCorpusCountButtonClickedSlot()
2017 QString line = m_miniSuffixesLine->text();
2018 int cursor = m_miniSuffixesLine->cursorPosition();
2020 line = line.insert( cursor, CORPUS_COUNT_FIELD );
2022 m_miniSuffixesLine->setText( line );
2023 m_miniSuffixesLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
2027 void ExportWizard::miniSuffixesAddStemCountButtonClickedSlot()
2029 QString line = m_miniSuffixesLine->text();
2030 int cursor = m_miniSuffixesLine->cursorPosition();
2032 line = line.insert( cursor, STEM_COUNT_FIELD );
2034 m_miniSuffixesLine->setText( line );
2035 m_miniSuffixesLine->setCursorPosition( cursor + STEM_COUNT_FIELD.length() );
2039 void ExportWizard::miniPrefixesAddIndexButtonClickedSlot()
2041 QString line = m_miniPrefixesLine->text();
2042 int cursor = m_miniPrefixesLine->cursorPosition();
2044 line = line.insert( cursor, INDEX_FIELD );
2046 m_miniPrefixesLine->setText( line );
2047 m_miniPrefixesLine->setCursorPosition( cursor + INDEX_FIELD.length() );
2051 void ExportWizard::miniPrefixesAddPrefixButtonClickedSlot()
2053 QString line = m_miniPrefixesLine->text();
2054 int cursor = m_miniPrefixesLine->cursorPosition();
2056 line = line.insert( cursor, PREFIX_FIELD );
2058 m_miniPrefixesLine->setText( line );
2059 m_miniPrefixesLine->setCursorPosition( cursor + PREFIX_FIELD.length() );
2063 void ExportWizard::miniPrefixesAddDescLengthButtonClickedSlot()
2065 QString line = m_miniPrefixesLine->text();
2066 int cursor = m_miniPrefixesLine->cursorPosition();
2068 line = line.insert( cursor, DESC_LENGTH_FIELD );
2070 m_miniPrefixesLine->setText( line );
2071 m_miniPrefixesLine->setCursorPosition( cursor + DESC_LENGTH_FIELD.length() );
2075 void ExportWizard::miniPrefixesAddCorpusCountButtonClickedSlot()
2077 QString line = m_miniPrefixesLine->text();
2078 int cursor = m_miniPrefixesLine->cursorPosition();
2080 line = line.insert( cursor, CORPUS_COUNT_FIELD );
2082 m_miniPrefixesLine->setText( line );
2083 m_miniPrefixesLine->setCursorPosition( cursor + CORPUS_COUNT_FIELD.length() );
2087 void ExportWizard::miniPrefixesAddStemCountButtonClickedSlot()
2089 QString line = m_miniPrefixesLine->text();
2090 int cursor = m_miniPrefixesLine->cursorPosition();
2092 line = line.insert( cursor, STEM_COUNT_FIELD );
2094 m_miniPrefixesLine->setText( line );
2095 m_miniPrefixesLine->setCursorPosition( cursor + STEM_COUNT_FIELD.length() );
2098 QString ExportWizard::getCorpusWordMorphsField( CCorpusWord* pCorpusWord, bool markUpFlag )
2100 QString field = "",
2101 type = "",
2102 url = m_projectName->text() + "_" + ALL_WORDS_FILE_TITLE + ".html";
2104 bool do_not_link_words = !m_allWordsFlag->isChecked() || m_allWordsAnalyzedOnlyFlag->isChecked();
2106 url.replace( " ", "_" );
2108 // StringToString* filter = m_pLexicon->GetOutFilter(); unused variable 'filter'
2110 CLParse* pLParse;
2112 for( int i = 1; i < pCorpusWord->Size(); i++ )
2114 // All but the last piece with following delimiter
2115 pLParse = pCorpusWord->GetMorpheme(i);
2116 if( !pLParse ) continue;
2118 field += getLParseText( pLParse, markUpFlag );
2119 field += m_corpusWordsMorphemeFieldDelimiter->text();
2122 // Last piece
2123 pLParse = pCorpusWord->GetMorpheme( pCorpusWord->Size() );
2124 if( !pLParse ) return field + "ERROR";
2126 if( pCorpusWord->Size() > 1 ) field += getLParseText( pLParse, markUpFlag );
2127 else field += getLParseText( pLParse, markUpFlag, do_not_link_words, "word", url );
2129 return field;
2133 QString ExportWizard::getCompoundMorphsField( CCompound* pCompound, bool markUpFlag )
2135 QString field = "",
2136 type = "",
2137 url = m_projectName->text() + "_" + ALL_WORDS_FILE_TITLE + ".html",
2138 linkerUrl = m_projectName->text() + "_" + LINKERS_FILE_TITLE + ".html";
2140 url.replace( " ", "_" );
2141 linkerUrl.replace( " ", "_" );
2143 // StringToString* filter = m_pLexicon->GetOutFilter(); unused variable 'filter'
2145 CLParse* pLParse;
2146 StemSet* pStems;
2148 for( int i = 1; i < pCompound->Size(); i++ )
2150 // All but the last piece with following delimiter
2151 pStems = pCompound->GetComponent(i);
2152 if( pStems )
2154 if( m_pLexicon->GetAllStems()->find( pStems->first()->Display() ) )
2156 field += getLParseText( pStems->first(), markUpFlag );
2157 field += m_compoundsMorphemeFieldDelimiter->text();
2159 else
2161 field += getLParseText( pStems->first(), markUpFlag, FALSE, "word", url );
2162 field += m_compoundsMorphemeFieldDelimiter->text();
2165 else
2167 pLParse = pCompound->GetLinker(i);
2168 if( pLParse )
2170 field += getLParseText( pLParse, markUpFlag, FALSE, "suffix", linkerUrl );
2171 field += m_compoundsMorphemeFieldDelimiter->text();
2176 // Last piece
2177 pStems = pCompound->GetComponent( pCompound->Size() );
2178 if( !pStems ) return field + "ERROR";
2180 if( m_pLexicon->GetAllStems()->find( pStems->first()->Display() ) )
2181 field += getLParseText( pStems->first(), markUpFlag );
2182 else
2183 field += getLParseText( pStems->first(), markUpFlag, FALSE, "word", url );
2185 return field;
2189 void ExportWizard::updateCorpusWordsExampleSlot()
2191 if( !m_corpusWordsFlag->isChecked() ) return;
2192 if( m_pLexicon->GetWords()->GetCount() == 0 ) return;
2194 CCorpusWord* pCorpusWord=NULL;
2195 QString example = "",
2196 line = m_corpusWordsLine->text(),
2197 field;
2199 int i, start, end;
2201 StringToString* filter = m_pLexicon->GetOutFilter();
2203 for( i = 0; i < m_pLexicon->GetWords()->GetCount(); i++ )
2205 pCorpusWord = m_pLexicon->GetWords()->GetAt(i);
2206 if( pCorpusWord->Size() > 1 ) break;
2209 if( line.count( "%" ) % 2 == 1 )
2211 m_corpusWordsExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
2213 setNextEnabled( page(CORPUS_WORDS_FILE_PAGE), FALSE );
2214 setFinishEnabled( page(CONFIRMATION), FALSE );
2215 return;
2218 setNextEnabled( page(CORPUS_WORDS_FILE_PAGE), TRUE );
2219 setFinishEnabled( page(CONFIRMATION), TRUE );
2221 while( line.length() > 0 )
2223 start = line.find( "%" );
2225 if( start < 0 )
2227 example += line;
2228 break;
2231 example += line.left( start );
2232 line = line.mid( start );
2233 end = line.find( "%", 1 );
2234 field = line.mid( 0, end + 1 );
2236 if( field == INDEX_FIELD )
2238 example += QString( "%1" ).arg( i + 1 );
2240 if( field == WORD_FIELD )
2242 example += pCorpusWord->Display( filter );
2244 if( field == CORPUS_COUNT_FIELD )
2246 example += QString( "%1" ).arg( pCorpusWord->GetCorpusCount() );
2248 if( field == MORPHS_COUNT_FIELD )
2250 example += QString( "%1" ).arg( pCorpusWord->Size() );
2252 if( field == MORPHS_FIELD )
2254 example += getCorpusWordMorphsField( pCorpusWord );
2257 line = line.mid( end + 1 );
2260 m_corpusWordsExampleText->setText( example );
2264 void ExportWizard::updateCompoundsExampleSlot()
2266 if( !m_compoundsFlag->isChecked() ) return;
2267 if( m_pLexicon->GetCompounds()->GetCount() == 0 ) return;
2269 CCompound* pCompound=NULL;
2270 QString example = "",
2271 line = m_compoundsLine->text(),
2272 field;
2274 int i, start, end;
2276 StringToString* filter = m_pLexicon->GetOutFilter();
2278 for( i = 0; i < m_pLexicon->GetCompounds()->GetCount(); i++ )
2280 pCompound = m_pLexicon->GetCompounds()->GetAt(i);
2281 if( pCompound->Size() > 1 ) break;
2284 if( line.count( "%" ) % 2 == 1 )
2286 m_compoundsExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
2288 setNextEnabled( page(COMPOUNDS_FILE_PAGE), FALSE );
2289 setFinishEnabled( page(CONFIRMATION), FALSE );
2290 return;
2293 setNextEnabled( page(COMPOUNDS_FILE_PAGE), TRUE );
2294 setFinishEnabled( page(CONFIRMATION), TRUE );
2296 while( line.length() > 0 )
2298 start = line.find( "%" );
2300 if( start < 0 )
2302 example += line;
2303 break;
2306 example += line.left( start );
2307 line = line.mid( start );
2308 end = line.find( "%", 1 );
2309 field = line.mid( 0, end + 1 );
2311 if( field == INDEX_FIELD )
2313 example += QString( "%1" ).arg( i + 1 );
2315 if( field == COMPOUND_FIELD )
2317 example += pCompound->Display( filter );
2319 if( field == CORPUS_COUNT_FIELD )
2321 example += QString( "%1" ).arg( pCompound->GetCorpusCount() );
2323 if( field == MORPHS_COUNT_FIELD )
2325 example += QString( "%1" ).arg( pCompound->Size() );
2327 if( field == MORPHS_FIELD )
2329 example += getCompoundMorphsField( pCompound );
2331 if( field == SUFFIXNESS_FIELD )
2333 example += QString( "%1" ).arg( pCompound->GetSuffixness() );
2335 if( field == PREFIXNESS_FIELD )
2337 example += QString( "%1" ).arg( pCompound->GetPrefixness() );
2340 line = line.mid( end + 1 );
2343 m_compoundsExampleText->setText( example );
2347 void ExportWizard::updateLinkersExampleSlot()
2349 if( !m_compoundsFlag->isChecked() ) return;
2350 if( m_pLexicon->GetLinkers()->GetCount() == 0 ) return;
2353 CLinker* pLinker;
2355 QString example = "",
2356 line = m_linkersLine->text(),
2357 field;
2359 int start, end;
2361 StringToString* filter = m_pLexicon->GetOutFilter();
2363 pLinker = m_pLexicon->GetLinkers()->GetAt(0);
2365 if( line.count( "%" ) % 2 == 1 )
2367 m_linkersExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
2369 setNextEnabled( page(LINKERS_FILE_PAGE), FALSE );
2370 setFinishEnabled( page(CONFIRMATION), FALSE );
2371 return;
2374 setNextEnabled( page(LINKERS_FILE_PAGE), TRUE );
2375 setFinishEnabled( page(CONFIRMATION), TRUE );
2377 while( line.length() > 0 )
2379 start = line.find( "%" );
2381 if( start < 0 )
2383 example += line;
2384 break;
2387 example += line.left( start );
2388 line = line.mid( start );
2389 end = line.find( "%", 1 );
2390 field = line.mid( 0, end + 1 );
2392 if( field == INDEX_FIELD )
2394 example += QString( "%1" ).arg(1);
2396 if( field == LINKER_FIELD )
2398 example += pLinker->Display( filter );
2400 if( field == CORPUS_COUNT_FIELD )
2402 example += QString( "%1" ).arg( pLinker->GetCorpusCount() );
2404 if( field == COMPOUND_COUNT_FIELD )
2406 example += QString( "%1" ).arg( pLinker->GetCompoundCount() );
2409 line = line.mid( end + 1 );
2412 m_linkersExampleText->setText( example );
2416 void ExportWizard::updateAllWordsExampleSlot()
2418 if( !m_allWordsFlag->isChecked() ) return;
2419 if( m_pLexicon->GetAllWords()->count() == 0 ) return;
2421 CStem* pWord;
2422 pWord=NULL;
2424 CSignature* pSig;
2425 pSig=NULL;
2427 QString example = "",
2428 line = m_allWordsLine->text(),
2429 field;
2431 int i = 0, start, end;
2433 StringToString* filter = m_pLexicon->GetOutFilter();
2435 // Find the first analyzed word
2436 Q3DictIterator<StemSet> it( *m_pLexicon->GetAllWords() );
2437 for( ; it.current(); ++it )
2439 i++;
2441 pWord = it.current()->first();
2443 if( !pWord ) continue;
2445 pSig = pWord->GetSuffixSignature();
2446 if( pSig == NULL ) pSig = pWord->GetPrefixSignature();
2447 if( !pSig ) continue;
2449 if( pSig->Size() > 1 ) break;
2452 // Make sure the line is formatted appropriately
2453 if( line.count( "%" ) % 2 == 1 )
2455 m_allWordsExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
2457 setNextEnabled( page(ALL_WORDS_FILE_PAGE), FALSE );
2458 setFinishEnabled( page(CONFIRMATION), FALSE );
2459 return;
2462 setNextEnabled( page(ALL_WORDS_FILE_PAGE), TRUE );
2463 setFinishEnabled( page(CONFIRMATION), TRUE );
2465 while( line.length() > 0 )
2467 start = line.find( "%" );
2469 if( start < 0 )
2471 example += line;
2472 break;
2475 example += line.left( start );
2476 line = line.mid( start );
2477 end = line.find( "%", 1 );
2478 field = line.mid( 0, end + 1 );
2480 if( field == INDEX_FIELD )
2482 example += QString( "%1" ).arg( i + 1 );
2484 if( field == WORD_FIELD )
2486 example += pWord->Display( filter );
2488 if( field == CORPUS_COUNT_FIELD )
2490 example += QString( "%1" ).arg( pWord->GetCorpusCount() );
2492 if( field == MINI_LEX_FIELD )
2494 example += QString( "%1" ).arg( pWord->GetMyMini()->GetIndex() + 1 );
2496 if( field == DESC_LENGTH_FIELD )
2498 example += QString( "%1" ).arg( pWord->CalculateDL() );
2500 if( field == TYPE_FIELD )
2502 example += pWord->DisplayStemType();
2504 if( field == SIGNATURE_FIELD )
2506 if( pSig ) example += getLParseText( pSig );
2507 else example += " ";
2509 if( field == SOURCE_FIELD )
2511 if( pSig ) example += pSig->GetRemark();
2512 else example += pWord->GetConfidence();
2514 if( field == PREFIX_FIELD )
2516 example += pWord->GetPiece( pWord->GetPrefixLoc() ).Display( filter );
2518 if( field == STEM_FIELD )
2520 example += pWord->GetStem().Display( filter );
2522 if( field == SUFFIX_FIELD )
2524 example += pWord->GetPiece( pWord->GetSuffixLoc() ).Display( filter );
2527 line = line.mid( end + 1 );
2530 m_allWordsExampleText->setText( example );
2534 void ExportWizard::updateAllStemsExampleSlot()
2536 if( !m_allStemsFlag->isChecked() ) return;
2537 if( m_pLexicon->GetAllStems()->count() == 0 ) return;
2539 CStem* pStem;
2540 pStem=NULL;
2542 CSignature* pSig;
2543 pSig=NULL;
2545 QString example = "",
2546 line = m_allStemsLine->text(),
2547 field;
2549 int i = 0, start, end;
2551 StringToString* filter = m_pLexicon->GetOutFilter();
2553 // Find the first analyzed word
2554 Q3DictIterator<StemSet> it( *m_pLexicon->GetAllStems() );
2555 for( ; it.current(); ++it )
2557 i++;
2559 pStem = it.current()->first();
2561 if( !pStem ) continue;
2563 pSig = pStem->GetSuffixSignature();
2564 if( pSig == NULL ) pSig = pStem->GetPrefixSignature();
2565 if( !pSig ) continue;
2567 if( pSig->Size() > 1 ) break;
2570 // Make sure the line is formatted appropriately
2571 if( line.count( "%" ) % 2 == 1 )
2573 m_allStemsExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
2575 setNextEnabled( page(ALL_STEMS_FILE_PAGE), FALSE );
2576 setFinishEnabled( page(CONFIRMATION), FALSE );
2577 return;
2580 setNextEnabled( page(ALL_STEMS_FILE_PAGE), TRUE );
2581 setFinishEnabled( page(CONFIRMATION), TRUE );
2583 while( line.length() > 0 )
2585 start = line.find( "%" );
2587 if( start < 0 )
2589 example += line;
2590 break;
2593 example += line.left( start );
2594 line = line.mid( start );
2595 end = line.find( "%", 1 );
2596 field = line.mid( 0, end + 1 );
2598 if( field == INDEX_FIELD )
2600 example += QString( "%1" ).arg( i + 1 );
2602 if( field == STEM_FIELD )
2604 example += pStem->Display( filter );
2606 if( field == CORPUS_COUNT_FIELD )
2608 example += QString( "%1" ).arg( pStem->GetCorpusCount() );
2610 if( field == MINI_LEX_FIELD )
2612 example += QString( "%1" ).arg( pStem->GetMyMini()->GetIndex() + 1 );
2614 if( field == DESC_LENGTH_FIELD )
2616 example += QString( "%1" ).arg( pStem->CalculateDL() );
2618 if( field == TYPE_FIELD )
2620 example += pStem->DisplayStemType();
2622 if( field == ORIGIN_FIELD )
2624 example += pStem->GetConfidence();
2626 if( field == SIGNATURE_FIELD )
2628 if( pSig ) example += pSig->Display( '.', filter );
2629 else example += " ";
2632 line = line.mid( end + 1 );
2635 m_allStemsExampleText->setText( example );
2639 void ExportWizard::updateAllSuffixesExampleSlot()
2641 if( !m_allSuffixesFlag->isChecked() ) return;
2642 if( m_pLexicon->GetAllSuffixes()->count() == 0 ) return;
2644 CSuffix* pSuffix;
2645 pSuffix=NULL;
2647 QString example = "",
2648 line = m_allSuffixesLine->text(),
2649 field;
2651 int i, start, end;
2653 StringToString* filter = m_pLexicon->GetOutFilter();
2655 // Find the first analyzed
2656 i = m_pLexicon->GetAllSuffixes()->count();
2657 Q3DictIterator<SuffixSet> it( *m_pLexicon->GetAllSuffixes() );
2658 for( ; it.current(); ++it )
2660 i--;
2661 pSuffix = it.current()->last();
2662 if( pSuffix ) break;
2665 // Make sure the line is formatted appropriately
2666 if( line.count( "%" ) % 2 == 1 )
2668 m_allSuffixesExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
2670 setNextEnabled( page(ALL_SUFFIXES_FILE_PAGE), FALSE );
2671 setFinishEnabled( page(CONFIRMATION), FALSE );
2672 return;
2675 setNextEnabled( page(ALL_SUFFIXES_FILE_PAGE), TRUE );
2676 setFinishEnabled( page(CONFIRMATION), TRUE );
2678 while( line.length() > 0 )
2680 start = line.find( "%" );
2682 if( start < 0 )
2684 example += line;
2685 break;
2688 example += line.left( start );
2689 line = line.mid( start );
2690 end = line.find( "%", 1 );
2691 field = line.mid( 0, end + 1 );
2693 if( field == INDEX_FIELD )
2695 example += QString( "%1" ).arg( i + 1 );
2697 if( field == SUFFIX_FIELD )
2699 example += pSuffix->Display( '.', filter );
2701 if( field == MINI_LEX_FIELD )
2703 example += QString( "%1" ).arg( pSuffix->GetMyMini()->GetIndex() + 1 );
2705 if( field == DESC_LENGTH_FIELD )
2707 example += QString( "%1" ).arg( pSuffix->ComputeDL() );
2709 if( field == STEM_COUNT_FIELD )
2711 example += QString( "%1" ).arg( pSuffix->GetStems()->count() );
2713 if( field == CORPUS_COUNT_FIELD )
2715 example += QString( "%1" ).arg( pSuffix->GetCorpusCount() );
2718 line = line.mid( end + 1 );
2721 m_allSuffixesExampleText->setText( example );
2725 void ExportWizard::updateAllPrefixesExampleSlot()
2727 if( !m_allPrefixesFlag->isChecked() ) return;
2728 if( m_pLexicon->GetAllPrefixes()->count() == 0 ) return;
2730 CPrefix* pPrefix;
2731 pPrefix=NULL;
2733 QString example = "",
2734 line = m_allPrefixesLine->text(),
2735 field;
2737 int i, start, end;
2739 StringToString* filter = m_pLexicon->GetOutFilter();
2741 // Find the first analyzed word
2742 i = m_pLexicon->GetAllPrefixes()->count();
2743 Q3DictIterator<PrefixSet> it( *m_pLexicon->GetAllPrefixes() );
2744 for( ; it.current(); ++it )
2746 i--;
2747 pPrefix = it.current()->last();
2748 if( pPrefix ) break;
2751 // Make sure the line is formatted appropriately
2752 if( line.count( "%" ) % 2 == 1 )
2754 m_allPrefixesExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
2756 setNextEnabled( page(ALL_PREFIXES_FILE_PAGE), FALSE );
2757 setFinishEnabled( page(CONFIRMATION), FALSE );
2758 return;
2761 setNextEnabled( page(ALL_PREFIXES_FILE_PAGE), TRUE );
2762 setFinishEnabled( page(CONFIRMATION), TRUE );
2764 while( line.length() > 0 )
2766 start = line.find( "%" );
2768 if( start < 0 )
2770 example += line;
2771 break;
2774 example += line.left( start );
2775 line = line.mid( start );
2776 end = line.find( "%", 1 );
2777 field = line.mid( 0, end + 1 );
2779 if( field == INDEX_FIELD )
2781 example += QString( "%1" ).arg( i + 1 );
2783 if( field == PREFIX_FIELD )
2785 example += pPrefix->Display( '.', filter );
2787 if( field == MINI_LEX_FIELD )
2789 example += QString( "%1" ).arg( pPrefix->GetMyMini()->GetIndex() + 1 );
2791 if( field == DESC_LENGTH_FIELD )
2793 example += QString( "%1" ).arg( pPrefix->ComputeDL() );
2795 if( field == STEM_COUNT_FIELD )
2797 example += QString( "%1" ).arg( pPrefix->GetStems()->count() );
2799 if( field == CORPUS_COUNT_FIELD )
2801 example += QString( "%1" ).arg( pPrefix->GetCorpusCount() );
2804 line = line.mid( end + 1 );
2807 m_allPrefixesExampleText->setText( example );
2811 void ExportWizard::updateAllSuffixSigsExampleSlot()
2813 if( !m_allSuffixSigsFlag->isChecked() ) return;
2814 if( m_pLexicon->GetAllSuffixSigs()->count() == 0 ) return;
2816 CSignature* pSig;
2817 pSig=NULL;
2819 QString example = "",
2820 line = m_allSuffixSigsLine->text(),
2821 field;
2823 int i = 0, start, end;
2825 StringToString* filter = m_pLexicon->GetOutFilter();
2827 // Find the first analyzed word
2828 i = m_pLexicon->GetAllSuffixSigs()->count();
2829 Q3DictIterator<SignatureSet> it( *m_pLexicon->GetAllSuffixSigs() );
2830 for( ; it.current(); ++it )
2832 pSig = it.current()->first();
2833 if( pSig->Size() > 1 ) break;
2834 i++;
2837 // Make sure the line is formatted appropriately
2838 if( line.count( "%" ) % 2 == 1 )
2840 m_allSuffixSigsExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
2842 setNextEnabled( page(ALL_SUFFIX_SIGNATURES_FILE_PAGE), FALSE );
2843 setFinishEnabled( page(CONFIRMATION), FALSE );
2844 return;
2847 setNextEnabled( page(ALL_SUFFIX_SIGNATURES_FILE_PAGE), TRUE );
2848 setFinishEnabled( page(CONFIRMATION), TRUE );
2850 while( line.length() > 0 )
2852 start = line.find( "%" );
2854 if( start < 0 )
2856 example += line;
2857 break;
2860 example += line.left( start );
2861 line = line.mid( start );
2862 end = line.find( "%", 1 );
2863 field = line.mid( 0, end + 1 );
2865 if( field == INDEX_FIELD )
2867 example += QString( "%1" ).arg( i + 1 );
2869 if( field == SIGNATURE_FIELD )
2871 example += pSig->Display( '.', filter );
2873 if( field == MINI_LEX_FIELD )
2875 example += QString( "%1" ).arg( pSig->GetMyMini()->GetIndex() + 1 );
2877 if( field == DESC_LENGTH_FIELD )
2879 example += QString( "%1" ).arg( pSig->ComputeDLofModel() );
2881 if( field == STEM_COUNT_FIELD )
2883 example += QString( "%1" ).arg( pSig->GetNumberOfStems() );
2885 if( field == CORPUS_COUNT_FIELD )
2887 example += QString( "%1" ).arg( pSig->GetCorpusCount() );
2889 if( field == EXEMPLAR_FIELD )
2891 example += pSig->GetStem(0)->Display( filter );
2893 if( field == REMARKS_FIELD )
2895 example += pSig->GetRemark();
2897 if( field == ROBUSTNESS_FIELD )
2899 example += QString( "%1" ).arg( pSig->GetRobustness() );
2902 line = line.mid( end + 1 );
2905 m_allSuffixSigsExampleText->setText( example );
2910 void ExportWizard::updateAllPrefixSigsExampleSlot()
2912 if( !m_allPrefixSigsFlag->isChecked() ) return;
2913 if( m_pLexicon->GetAllPrefixSigs()->count() == 0 ) return;
2915 CSignature* pSig;
2916 pSig=NULL;
2918 QString example = "",
2919 line = m_allPrefixSigsLine->text(),
2920 field;
2922 int i = 0, start, end;
2924 StringToString* filter = m_pLexicon->GetOutFilter();
2926 // Find the first analyzed word
2927 i = m_pLexicon->GetAllPrefixSigs()->count();
2928 Q3DictIterator<SignatureSet> it( *m_pLexicon->GetAllPrefixSigs() );
2929 for( ; it.current(); ++it )
2931 pSig = it.current()->first();
2932 if( pSig->Size() > 1 ) break;
2933 i++;
2936 // Make sure the line is formatted appropriately
2937 if( line.count( "%" ) % 2 == 1 )
2939 m_allPrefixSigsExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
2941 setNextEnabled( page(ALL_PREFIX_SIGNATURES_FILE_PAGE), FALSE );
2942 setFinishEnabled( page(CONFIRMATION), FALSE );
2943 return;
2946 setNextEnabled( page(ALL_PREFIX_SIGNATURES_FILE_PAGE), TRUE );
2947 setFinishEnabled( page(CONFIRMATION), TRUE );
2949 while( line.length() > 0 )
2951 start = line.find( "%" );
2953 if( start < 0 )
2955 example += line;
2956 break;
2959 example += line.left( start );
2960 line = line.mid( start );
2961 end = line.find( "%", 1 );
2962 field = line.mid( 0, end + 1 );
2964 if( field == INDEX_FIELD )
2966 example += QString( "%1" ).arg( i + 1 );
2968 if( field == SIGNATURE_FIELD )
2970 example += pSig->Display( '.', filter );
2972 if( field == MINI_LEX_FIELD )
2974 example += QString( "%1" ).arg( pSig->GetMyMini()->GetIndex() + 1 );
2976 if( field == DESC_LENGTH_FIELD )
2978 example += QString( "%1" ).arg( pSig->ComputeDLofModel() );
2980 if( field == STEM_COUNT_FIELD )
2982 example += QString( "%1" ).arg( pSig->GetNumberOfStems() );
2984 if( field == CORPUS_COUNT_FIELD )
2986 example += QString( "%1" ).arg( pSig->GetCorpusCount() );
2988 if( field == EXEMPLAR_FIELD )
2990 example += pSig->GetStem(0)->Display( filter );
2992 if( field == REMARKS_FIELD )
2994 example += pSig->GetRemark();
2996 if( field == ROBUSTNESS_FIELD )
2998 example += QString( "%1" ).arg( pSig->GetRobustness() );
3001 line = line.mid( end + 1 );
3004 m_allPrefixSigsExampleText->setText( example );
3008 void ExportWizard::updateMiniWordsExampleSlot()
3010 if( !m_miniWordsFlag->isChecked() ) return;
3011 if( m_pLexicon->GetMiniCount() == 0 ) return;
3013 int mini;
3014 CMiniLexicon* pMini;
3015 for( mini = 0; mini < m_pLexicon->GetMiniSize(); mini++ )
3017 pMini = m_pLexicon->GetMiniLexicon(mini);
3018 if( !pMini || !pMini->GetWords() ) continue;
3019 if( pMini->GetWords()->GetCount() == 0 ) continue;
3021 CStem* pWord;
3022 pWord=NULL;
3024 CSignature* pSig;
3026 QString example = "",
3027 line = m_miniWordsLine->text(),
3028 field;
3030 int i, start, end;
3032 StringToString* filter = m_pLexicon->GetOutFilter();
3034 for( i = 0; i < pMini->GetWords()->GetCount(); i++ )
3036 pWord = pMini->GetWords()->GetAt(i);
3037 if( pWord->Size() > 1 ) break;
3040 if( line.count( "%" ) % 2 == 1 )
3042 m_miniWordsExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
3044 setNextEnabled( page(MINI_WORDS_FILE_PAGE), FALSE );
3045 setFinishEnabled( page(CONFIRMATION), FALSE );
3046 return;
3049 if( pWord->Size() > 1 )
3051 pSig = pWord->GetSuffixSignature();
3052 if( pSig == NULL ) pSig = pWord->GetPrefixSignature();
3054 else pSig = NULL;
3056 setNextEnabled( page(MINI_WORDS_FILE_PAGE), TRUE );
3057 setFinishEnabled( page(CONFIRMATION), TRUE );
3059 while( line.length() > 0 )
3061 start = line.find( "%" );
3063 if( start < 0 )
3065 example += line;
3066 break;
3069 example += line.left( start );
3070 line = line.mid( start );
3071 end = line.find( "%", 1 );
3072 field = line.mid( 0, end + 1 );
3074 if( field == INDEX_FIELD )
3076 example += QString( "%1" ).arg( i + 1 );
3078 if( field == WORD_FIELD )
3080 example += pWord->Display( filter );
3082 if( field == CORPUS_COUNT_FIELD )
3084 example += QString( "%1" ).arg( pWord->GetCorpusCount() );
3086 if( field == DESC_LENGTH_FIELD )
3088 example += QString( "%1" ).arg( pWord->CalculateDL() );
3090 if( field == TYPE_FIELD )
3092 example += pWord->DisplayStemType();
3094 if( field == SIGNATURE_FIELD )
3096 if( pSig ) example += getLParseText( pSig );
3097 else example += "";
3099 if( field == SOURCE_FIELD )
3101 if( pSig ) example += pSig->GetRemark();
3102 else example += pWord->GetConfidence();
3104 if( field == PREFIX_FIELD )
3106 example += pWord->GetPiece( pWord->GetPrefixLoc() ).Display( filter );
3108 if( field == STEM_FIELD )
3110 example += pWord->GetStem().Display( filter );
3112 if( field == SUFFIX_FIELD )
3114 example += pWord->GetPiece( pWord->GetSuffixLoc() ).Display( filter );
3117 line = line.mid( end + 1 );
3120 m_miniWordsExampleText->setText( example );
3125 void ExportWizard::updateMiniSignaturesExampleSlot()
3127 if( !m_miniSignaturesFlag->isChecked() ) return;
3128 if( m_pLexicon->GetMiniCount() == 0 ) return;
3130 int mini;
3131 CMiniLexicon* pMini;
3132 for( mini = 0; mini < m_pLexicon->GetMiniSize(); mini++ )
3134 pMini = m_pLexicon->GetMiniLexicon(mini);
3135 if( !pMini || !pMini->GetSignatures() ) continue;
3136 if( pMini->GetSignatures()->GetCount() == 0 ) continue;
3138 CSignature* pSig;
3139 pSig=NULL;
3141 QString example = "",
3142 line = m_miniSignaturesLine->text(),
3143 field;
3145 int i, start, end;
3147 StringToString* filter = m_pLexicon->GetOutFilter();
3149 for( i = 0; i < pMini->GetSignatures()->GetCount(); i++ )
3151 pSig = pMini->GetSignatures()->GetAt(i);
3152 if( pSig->Size() > 1 ) break;
3155 if( line.count( "%" ) % 2 == 1 )
3157 m_miniSignaturesExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
3159 setNextEnabled( page(MINI_SIGNATURES_FILE_PAGE), FALSE );
3160 setFinishEnabled( page(CONFIRMATION), FALSE );
3161 return;
3164 setNextEnabled( page(MINI_SIGNATURES_FILE_PAGE), TRUE );
3165 setFinishEnabled( page(CONFIRMATION), TRUE );
3167 while( line.length() > 0 )
3169 start = line.find( "%" );
3171 if( start < 0 )
3173 example += line;
3174 break;
3177 example += line.left( start );
3178 line = line.mid( start );
3179 end = line.find( "%", 1 );
3180 field = line.mid( 0, end + 1 );
3182 if( field == INDEX_FIELD )
3184 example += QString( "%1" ).arg( i + 1 );
3186 if( field == SIGNATURE_FIELD )
3188 example += pSig->Display( '.', filter );
3190 if( field == DESC_LENGTH_FIELD )
3192 example += QString( "%1" ).arg( pSig->ComputeDLofModel() );
3194 if( field == STEM_COUNT_FIELD )
3196 example += QString( "%1" ).arg( pSig->GetNumberOfStems() );
3198 if( field == CORPUS_COUNT_FIELD )
3200 example += QString( "%1" ).arg( pSig->GetCorpusCount() );
3202 if( field == EXEMPLAR_FIELD )
3204 example += pSig->GetStem(0)->Display( filter );
3206 if( field == REMARKS_FIELD )
3208 example += pSig->GetRemark();
3210 if( field == ROBUSTNESS_FIELD )
3212 example += QString( "%1" ).arg( pSig->GetRobustness() );
3215 line = line.mid( end + 1 );
3218 m_miniSignaturesExampleText->setText( example );
3223 void ExportWizard::updateMiniStemsExampleSlot()
3225 if( !m_miniStemsFlag->isChecked() ) return;
3226 if( m_pLexicon->GetMiniCount() == 0 ) return;
3228 int mini;
3229 CMiniLexicon* pMini;
3230 for( mini = 0; mini < m_pLexicon->GetMiniSize(); mini++ )
3232 pMini = m_pLexicon->GetMiniLexicon(mini);
3233 if( !pMini || !pMini->GetStems() ) continue;
3234 if( pMini->GetStems()->GetCount() == 0 ) continue;
3236 CStem* pStem;
3237 pStem=NULL;
3238 CSignature* pSig;
3239 pSig=NULL;
3241 QString example = "",
3242 line = m_miniStemsLine->text(),
3243 field;
3245 int i, start, end;
3247 StringToString* filter = m_pLexicon->GetOutFilter();
3249 for( i = 0; i < pMini->GetStems()->GetCount(); i++ )
3251 pStem = pMini->GetStems()->GetAt(i);
3252 pSig = pStem->GetSuffixSignature();
3253 if( pSig == NULL ) pSig = pStem->GetPrefixSignature();
3255 if( pSig && pSig->Size() > 1 ) break;
3258 if( line.count( "%" ) % 2 == 1 )
3260 m_miniStemsExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
3262 setNextEnabled( page(MINI_STEMS_FILE_PAGE), FALSE );
3263 setFinishEnabled( page(CONFIRMATION), FALSE );
3264 return;
3267 setNextEnabled( page(MINI_STEMS_FILE_PAGE), TRUE );
3268 setFinishEnabled( page(CONFIRMATION), TRUE );
3270 while( line.length() > 0 )
3272 start = line.find( "%" );
3274 if( start < 0 )
3276 example += line;
3277 break;
3280 example += line.left( start );
3281 line = line.mid( start );
3282 end = line.find( "%", 1 );
3283 field = line.mid( 0, end + 1 );
3285 if( field == INDEX_FIELD )
3287 example += QString( "%1" ).arg( i + 1 );
3289 if( field == STEM_FIELD )
3291 example += pStem->Display( filter );
3293 if( field == CORPUS_COUNT_FIELD )
3295 example += QString( "%1" ).arg( pStem->GetCorpusCount() );
3297 if( field == DESC_LENGTH_FIELD )
3299 example += QString( "%1" ).arg( pStem->CalculateDL() );
3301 if( field == TYPE_FIELD )
3303 example += pStem->DisplayStemType();
3305 if( field == SIGNATURE_FIELD )
3307 if( pSig ) example += getLParseText( pSig );
3308 else example += "";
3310 if( field == ORIGIN_FIELD )
3312 /* if( pSig ) example += pSig->GetRemark();
3313 else*/ example += pStem->GetConfidence();
3316 line = line.mid( end + 1 );
3319 m_miniStemsExampleText->setText( example );
3324 void ExportWizard::updateMiniSuffixesExampleSlot()
3326 if( !m_miniSuffixesFlag->isChecked() ) return;
3327 if( m_pLexicon->GetMiniCount() == 0 ) return;
3329 int mini;
3330 CMiniLexicon* pMini;
3331 for( mini = 0; mini < m_pLexicon->GetMiniSize(); mini++ )
3333 pMini = m_pLexicon->GetMiniLexicon(mini);
3334 if( !pMini || !pMini->GetSuffixes() ) continue;
3335 if( pMini->GetSuffixes()->GetCount() == 0 ) continue;
3337 CSuffix* pSuffix;
3339 QString example = "",
3340 line = m_miniSuffixesLine->text(),
3341 field;
3343 int i, start, end;
3345 StringToString* filter = m_pLexicon->GetOutFilter();
3347 i = ( pMini->GetSuffixes()->GetCount() - 1 ) / 2;
3348 pSuffix = pMini->GetSuffixes()->GetAt(i);
3350 if( line.count( "%" ) % 2 == 1 )
3352 m_miniSuffixesExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
3354 setNextEnabled( page(MINI_SUFFIXES_FILE_PAGE), FALSE );
3355 setFinishEnabled( page(CONFIRMATION), FALSE );
3356 return;
3359 setNextEnabled( page(MINI_SUFFIXES_FILE_PAGE), TRUE );
3360 setFinishEnabled( page(CONFIRMATION), TRUE );
3362 while( line.length() > 0 )
3364 start = line.find( "%" );
3366 if( start < 0 )
3368 example += line;
3369 break;
3372 example += line.left( start );
3373 line = line.mid( start );
3374 end = line.find( "%", 1 );
3375 field = line.mid( 0, end + 1 );
3377 if( field == INDEX_FIELD )
3379 example += QString( "%1" ).arg( i + 1 );
3381 if( field == SUFFIX_FIELD )
3383 example += pSuffix->Display( filter );
3385 if( field == CORPUS_COUNT_FIELD )
3387 example += QString( "%1" ).arg( pSuffix->GetCorpusCount() );
3389 if( field == DESC_LENGTH_FIELD )
3391 example += QString( "%1" ).arg( pSuffix->ComputeDL() );
3393 if( field == STEM_COUNT_FIELD )
3395 example += QString( "%1" ).arg( pSuffix->GetUseCount() );
3398 line = line.mid( end + 1 );
3401 m_miniSuffixesExampleText->setText( example );
3406 void ExportWizard::updateMiniPrefixesExampleSlot()
3408 if( !m_miniPrefixesFlag->isChecked() ) return;
3409 if( m_pLexicon->GetMiniCount() == 0 ) return;
3411 int mini;
3412 CMiniLexicon* pMini;
3413 for( mini = 0; mini < m_pLexicon->GetMiniSize(); mini++ )
3415 pMini = m_pLexicon->GetMiniLexicon(mini);
3416 if( !pMini || !pMini->GetPrefixes() ) continue;
3417 if( pMini->GetPrefixes()->GetCount() == 0 ) continue;
3419 CPrefix* pPrefix;
3421 QString example = "",
3422 line = m_miniPrefixesLine->text(),
3423 field;
3425 int i, start, end;
3427 StringToString* filter = m_pLexicon->GetOutFilter();
3429 i = ( pMini->GetPrefixes()->GetCount() - 1 ) / 2;
3430 pPrefix = pMini->GetPrefixes()->GetAt(i);
3432 if( line.count( "%" ) % 2 == 1 )
3434 m_miniPrefixesExampleText->setText( "Error : odd number of \'%\'s in line designer!" );
3436 setNextEnabled( page(MINI_PREFIXES_FILE_PAGE), FALSE );
3437 setFinishEnabled( page(CONFIRMATION), FALSE );
3438 return;
3441 setNextEnabled( page(MINI_PREFIXES_FILE_PAGE), TRUE );
3442 setFinishEnabled( page(CONFIRMATION), TRUE );
3444 while( line.length() > 0 )
3446 start = line.find( "%" );
3448 if( start < 0 )
3450 example += line;
3451 break;
3454 example += line.left( start );
3455 line = line.mid( start );
3456 end = line.find( "%", 1 );
3457 field = line.mid( 0, end + 1 );
3459 if( field == INDEX_FIELD )
3461 example += QString( "%1" ).arg( i + 1 );
3463 if( field == PREFIX_FIELD )
3465 example += pPrefix->Display( filter );
3467 if( field == CORPUS_COUNT_FIELD )
3469 example += QString( "%1" ).arg( pPrefix->GetCorpusCount() );
3471 if( field == DESC_LENGTH_FIELD )
3473 example += QString( "%1" ).arg( pPrefix->ComputeDL() );
3475 if( field == STEM_COUNT_FIELD )
3477 example += QString( "%1" ).arg( pPrefix->GetUseCount() );
3480 line = line.mid( end + 1 );
3483 m_miniPrefixesExampleText->setText( example );
3488 void ExportWizard::changeCompoundColorSlot()
3490 QColor color = QColorDialog::getColor( m_compoundStyle->foregroundColor(), this, "color_dialog" );
3492 if( color.isValid() ) m_compoundStyle->setPaletteForegroundColor( color );
3496 void ExportWizard::changePrefixColorSlot()
3498 QColor color = QColorDialog::getColor( m_prefixStyle->foregroundColor(), this, "color_dialog" );
3500 if( color.isValid() ) m_prefixStyle->setPaletteForegroundColor( color );
3504 void ExportWizard::changeSignatureColorSlot()
3506 QColor color = QColorDialog::getColor( m_signatureStyle->foregroundColor(), this, "color_dialog" );
3508 if( color.isValid() ) m_signatureStyle->setPaletteForegroundColor( color );
3512 void ExportWizard::changeStemColorSlot()
3514 QColor color = QColorDialog::getColor( m_stemStyle->foregroundColor(), this, "color_dialog" );
3516 if( color.isValid() ) m_stemStyle->setPaletteForegroundColor( color );
3520 void ExportWizard::changeSuffixColorSlot()
3522 QColor color = QColorDialog::getColor( m_suffixStyle->foregroundColor(), this, "color_dialog" );
3524 if( color.isValid() ) m_suffixStyle->setPaletteForegroundColor( color );
3528 void ExportWizard::changeWordColorSlot()
3530 QColor color = QColorDialog::getColor( m_wordStyle->foregroundColor(), this, "color_dialog" );
3532 if( color.isValid() ) m_wordStyle->setPaletteForegroundColor( color );
3536 void ExportWizard::updateStylesSlot()
3538 if( !m_markUpFlag->isChecked() && !m_bothFlag->isChecked() ) return;
3540 QFont font;
3542 // Word style
3543 font = m_wordStyle->font();
3544 font.setBold( m_wordBoldFlag->isChecked() );
3545 font.setItalic( m_wordItalicFlag->isChecked() );
3546 m_wordStyle->setFont( font );
3548 // Signature style
3549 font = m_signatureStyle->font();
3550 font.setBold( m_signatureBoldFlag->isChecked() );
3551 font.setItalic( m_signatureItalicFlag->isChecked() );
3552 m_signatureStyle->setFont( font );
3554 // Stem style
3555 font = m_stemStyle->font();
3556 font.setBold( m_stemBoldFlag->isChecked() );
3557 font.setItalic( m_stemItalicFlag->isChecked() );
3558 m_stemStyle->setFont( font );
3560 // Suffix style
3561 font = m_suffixStyle->font();
3562 font.setBold( m_suffixBoldFlag->isChecked() );
3563 font.setItalic( m_suffixItalicFlag->isChecked() );
3564 m_suffixStyle->setFont( font );
3566 // Prefix style
3567 font = m_prefixStyle->font();
3568 font.setBold( m_prefixBoldFlag->isChecked() );
3569 font.setItalic( m_prefixItalicFlag->isChecked() );
3570 m_prefixStyle->setFont( font );
3574 QString ExportWizard::getHTMLHeader( QString projectName, QString title, QString language, QString researchers, int myMini )
3576 QString header = "",
3577 projectTitle = projectName,
3578 url = "",
3579 miniName = "";
3581 CMiniLexicon* pMini;
3583 int mini;
3585 projectTitle.replace( " ", "_" );
3587 header += "<!doctype html public \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n\n";
3588 header += "<html>\n";
3589 header += "\t<head>\n";
3590 header += "\t\t<title>" + projectName;
3591 if( title != QString::null ) header += " : " + title;
3592 header += "</title>\n";
3593 header += "\t\t<link rel=\"stylesheet\" type=\"text/css\" href=\"" + projectTitle + ".css\">\n";
3594 header += "\t</head>\n";
3595 header += "\t<body>\n";
3596 header += "\t\t<div id=\"top\">\n";
3597 header += "\t\t\t<h1>" + projectName;
3598 if( title != QString::null ) header += " : " + title;
3599 header += "</h1>\n";
3600 if( language.length() > 0 ) header += "\t\t\t<h2>Language: " + language + "</h2>\n";
3601 if( researchers.length() > 0 ) header += "\t\t\t<h2>Researcher(s): " + researchers + "</h2>\n";
3604 if( title != QString::null )
3606 header += "\t\t\t<p>\n";
3608 if( m_brokenCorpusFlag->isChecked() ||
3609 m_corpusWordsFlag->isChecked() )
3611 header += "\t\t\tCorpus: | ";
3614 if( m_brokenCorpusFlag->isChecked() && m_pLexicon->GetCorpus()->count() > 0 )
3616 if( title != BROKEN_CORPUS_FILE_TITLE )
3618 url = projectTitle + "_" + BROKEN_CORPUS_FILE_TITLE + ".html";
3619 url.replace( " ", "_" );
3620 header += "<a class=\"top\" href=\"" + url + "\">";
3623 header += BROKEN_CORPUS_FILE_TITLE;
3625 if( title != BROKEN_CORPUS_FILE_TITLE ) header += "</a>";
3627 header += " | ";
3629 if( m_corpusWordsFlag->isChecked() && m_pLexicon->GetWords()->GetCount() > 0 )
3631 if( title != CORPUS_WORDS_FILE_TITLE )
3633 url = projectTitle + "_" + CORPUS_WORDS_FILE_TITLE + ".html";
3634 url.replace( " ", "_" );
3635 header += "<a class=\"top\" href=\"" + url + "\">";
3638 header += CORPUS_WORDS_FILE_TITLE;
3640 if( title != CORPUS_WORDS_FILE_TITLE ) header += "</a>";
3642 header += " | ";
3645 if( m_compoundsFlag->isChecked() ||
3646 m_allWordsFlag->isChecked() ||
3647 m_allStemsFlag->isChecked() ||
3648 m_allSuffixSigsFlag->isChecked() ||
3649 m_allPrefixSigsFlag->isChecked() ||
3650 m_allSuffixesFlag->isChecked() ||
3651 m_allPrefixesFlag->isChecked() )
3653 if( m_brokenCorpusFlag->isChecked() ||
3654 m_corpusWordsFlag->isChecked() )
3656 header += "<br>\n\t\t\t";
3659 header += "Lexicon: | ";
3662 if( m_allWordsFlag->isChecked() && m_pLexicon->GetAllWords()->count() > 0 )
3664 if( title != ALL_WORDS_FILE_TITLE )
3666 url = projectTitle + "_" + ALL_WORDS_FILE_TITLE + ".html";
3667 url.replace( " ", "_" );
3668 header += "<a class=\"top\" href=\"" + url + "\">";
3671 header += ALL_WORDS_FILE_TITLE;
3673 if( title != ALL_WORDS_FILE_TITLE ) header += "</a>";
3675 header += " | ";
3677 if( m_allStemsFlag->isChecked() && m_pLexicon->GetAllStems()->count() > 0 )
3679 if( title != ALL_STEMS_FILE_TITLE )
3681 url = projectTitle + "_" + ALL_STEMS_FILE_TITLE + ".html";
3682 url.replace( " ", "_" );
3683 header += "<a class=\"top\" href=\"" + url + "\">";
3686 header += ALL_STEMS_FILE_TITLE;
3688 if( title != ALL_STEMS_FILE_TITLE ) header += "</a>";
3690 header += " | ";
3692 if( m_allSuffixesFlag->isChecked() && m_pLexicon->GetAllSuffixes()->count() > 0 )
3694 if( title != ALL_SUFFIXES_FILE_TITLE )
3696 url = projectTitle + "_" + ALL_SUFFIXES_FILE_TITLE + ".html";
3697 url.replace( " ", "_" );
3698 header += "<a class=\"top\" href=\"" + url + "\">";
3701 header += ALL_SUFFIXES_FILE_TITLE;
3703 if( title != ALL_SUFFIXES_FILE_TITLE ) header += "</a>";
3705 header += " | ";
3707 if( m_allSuffixSigsFlag->isChecked() && m_pLexicon->GetAllSuffixSigs()->count() > 0 )
3709 if( title != ALL_SUFFIX_SIGNATURES_FILE_TITLE )
3711 url = projectTitle + "_" + ALL_SUFFIX_SIGNATURES_FILE_TITLE + ".html";
3712 url.replace( " ", "_" );
3713 header += "<a class=\"top\" href=\"" + url + "\">";
3716 header += ALL_SUFFIX_SIGNATURES_FILE_TITLE;
3718 if( title != ALL_SUFFIX_SIGNATURES_FILE_TITLE ) header += "</a>";
3720 header += " | ";
3722 if( m_allPrefixesFlag->isChecked() && m_pLexicon->GetAllPrefixes()->count() > 0 )
3724 if( title != ALL_PREFIXES_FILE_TITLE )
3726 url = projectTitle + "_" + ALL_PREFIXES_FILE_TITLE + ".html";
3727 url.replace( " ", "_" );
3728 header += "<a class=\"top\" href=\"" + url + "\">";
3731 header += ALL_PREFIXES_FILE_TITLE;
3733 if( title != ALL_PREFIXES_FILE_TITLE ) header += "</a>";
3735 header += " | ";
3737 if( m_allPrefixSigsFlag->isChecked() && m_pLexicon->GetAllPrefixSigs()->count() > 0 )
3739 if( title != ALL_PREFIX_SIGNATURES_FILE_TITLE )
3741 url = projectTitle + "_" + ALL_PREFIX_SIGNATURES_FILE_TITLE + ".html";
3742 url.replace( " ", "_" );
3743 header += "<a class=\"top\" href=\"" + url + "\">";
3746 header += ALL_PREFIX_SIGNATURES_FILE_TITLE;
3748 if( title != ALL_PREFIX_SIGNATURES_FILE_TITLE ) header += "</a>";
3750 header += " | ";
3752 if( m_compoundsFlag->isChecked() && m_pLexicon->GetCompounds()->GetCount() > 0 )
3754 if( title != COMPOUNDS_FILE_TITLE )
3756 url = projectTitle + "_" + COMPOUNDS_FILE_TITLE + ".html";
3757 url.replace( " ", "_" );
3758 header += "<a class=\"top\" href=\"" + url + "\">";
3761 header += COMPOUNDS_FILE_TITLE;
3763 if( title != COMPOUNDS_FILE_TITLE ) header += "</a>";
3765 header += " | ";
3767 if( title != LINKERS_FILE_TITLE )
3769 url = projectTitle + "_" + LINKERS_FILE_TITLE + ".html";
3770 url.replace( " ", "_" );
3771 header += "<a class=\"top\" href=\"" + url + "\">";
3774 header += LINKERS_FILE_TITLE;
3776 if( title != LINKERS_FILE_TITLE ) header += "</a>";
3778 header += " | ";
3781 // Do mini lexica
3782 bool atLeastOneMiniLineWritten = FALSE;
3783 for( mini = 0; mini < m_pLexicon->GetMiniSize(); mini++ )
3785 pMini = m_pLexicon->GetMiniLexicon(mini);
3786 if( !pMini || !pMini->GetWords() ) continue;
3787 if( pMini->GetWords()->GetCount() == 0 ) continue;
3789 miniName = QString( "Mini %1" ).arg( pMini->GetIndex() + 1 );
3791 if( m_miniWordsFlag->isChecked() ||
3792 m_miniSignaturesFlag->isChecked() ||
3793 m_miniStemsFlag->isChecked() ||
3794 m_miniPrefixesFlag->isChecked() ||
3795 m_miniSuffixesFlag->isChecked() )
3797 if( m_brokenCorpusFlag->isChecked() ||
3798 m_corpusWordsFlag->isChecked() ||
3799 m_compoundsFlag->isChecked() ||
3800 m_allWordsFlag->isChecked() ||
3801 m_allStemsFlag->isChecked() ||
3802 m_allSuffixSigsFlag->isChecked() ||
3803 m_allPrefixSigsFlag->isChecked() ||
3804 m_allSuffixesFlag->isChecked() ||
3805 m_allPrefixesFlag->isChecked() ||
3806 atLeastOneMiniLineWritten )
3808 header += "<br>\n\t\t\t";
3811 header += miniName + ": | ";
3812 atLeastOneMiniLineWritten = TRUE;
3815 if( m_miniWordsFlag->isChecked() && pMini->GetWords() && pMini->GetWords()->GetCount() > 0 )
3817 if( title != MINI_WORDS_FILE_TITLE || mini != myMini )
3819 url = projectTitle + "_" + miniName + "_" + MINI_WORDS_FILE_TITLE + ".html";
3820 url.replace( " ", "_" );
3821 header += "<a class=\"top\" href=\"" + url + "\">";
3824 header += MINI_WORDS_FILE_TITLE;
3826 if( title != MINI_WORDS_FILE_TITLE || mini != myMini ) header += "</a>";
3828 header += " | ";
3830 if( m_miniStemsFlag->isChecked() && pMini->GetStems() && pMini->GetStems()->GetCount() > 0 )
3832 if( title != MINI_STEMS_FILE_TITLE || mini != myMini )
3834 url = projectTitle + "_" + miniName + "_" + MINI_STEMS_FILE_TITLE + ".html";
3835 url.replace( " ", "_" );
3836 header += "<a class=\"top\" href=\"" + url + "\">";
3839 header += MINI_STEMS_FILE_TITLE;
3841 if( title != MINI_STEMS_FILE_TITLE || mini != myMini ) header += "</a>";
3843 header += " | ";
3845 if( m_miniPrefixesFlag->isChecked() && pMini->GetPrefixes() && pMini->GetPrefixes()->GetCount() > 0 )
3847 if( title != MINI_PREFIXES_FILE_TITLE || mini != myMini )
3849 url = projectTitle + "_" + miniName + "_" + MINI_PREFIXES_FILE_TITLE + ".html";
3850 url.replace( " ", "_" );
3851 header += "<a class=\"top\" href=\"" + url + "\">";
3854 header += MINI_PREFIXES_FILE_TITLE;
3856 if( title != MINI_PREFIXES_FILE_TITLE || mini != myMini ) header += "</a>";
3858 header += " | ";
3860 if( m_miniSuffixesFlag->isChecked() && pMini->GetSuffixes() && pMini->GetSuffixes()->GetCount() > 0 )
3862 if( title != MINI_SUFFIXES_FILE_TITLE || mini != myMini )
3864 url = projectTitle + "_" + miniName + "_" + MINI_SUFFIXES_FILE_TITLE + ".html";
3865 url.replace( " ", "_" );
3866 header += "<a class=\"top\" href=\"" + url + "\">";
3869 header += MINI_SUFFIXES_FILE_TITLE;
3871 if( title != MINI_SUFFIXES_FILE_TITLE || mini != myMini ) header += "</a>";
3873 header += " | ";
3875 if( m_miniSignaturesFlag->isChecked() && pMini->GetSignatures() && pMini->GetSignatures()->GetCount() > 0 )
3877 if( title != MINI_SIGNATURES_FILE_TITLE || mini != myMini )
3879 url = projectTitle + "_" + miniName + "_" + MINI_SIGNATURES_FILE_TITLE + ".html";
3880 url.replace( " ", "_" );
3881 header += "<a class=\"top\" href=\"" + url + "\">";
3884 header += MINI_SIGNATURES_FILE_TITLE;
3886 if( title != MINI_SIGNATURES_FILE_TITLE || mini != myMini ) header += "</a>";
3888 header += " | ";
3892 header += "</p>\n";
3896 header += "\t\t</div>\n";
3897 header += "\t\t<div id=\"bottom\">\n";
3899 return header;
3903 QString ExportWizard::getHTMLFooter()
3905 QString footer = "";
3907 footer += "\t\t\t<br>\n\t\t\t<hr color=\"#1B2025\">\n";
3908 footer += "\t\t\t<p>Created with <a href=\"#top\" onclick=\"window.open( \'http://linguistica.uchicago.edu/\', \'linguistica\' );\">Linguistica</a>.</p>\n";
3909 footer += "\t\t</div>\n";
3910 footer += "\t\t<br><br>\n";
3911 footer += "\t</body>\n";
3912 footer += "</html>\n";
3914 return footer;
3918 QString ExportWizard::getLParseText( CLParse* pLParse, bool markUpFlag, bool noLinkFlag, QString forcedType, QString forcedURL )
3920 QString lparse = "",
3921 url,
3922 type;
3924 StringToString* filter = m_pLexicon->GetOutFilter();
3926 if( !pLParse ) return "&nbsp;";
3928 if( markUpFlag )
3930 if (dynamic_cast<CPrefix*>(pLParse)) {
3931 if( m_allPrefixesFlag->isChecked() &&
3932 m_pLexicon->GetAllPrefixes() &&
3933 m_pLexicon->GetAllPrefixes()->count() )
3935 url = m_projectName->text() + "_" + ALL_PREFIXES_FILE_TITLE + ".html";
3936 url.replace( " ", "_" );
3937 url += "#_" + pLParse->Display( filter ) + "_";
3939 type = "prefix";
3940 } else if (CSignature* sig = dynamic_cast<CSignature*>(pLParse)) {
3941 if (is_initial(sig->GetAffixLocation())) {
3942 if( m_allPrefixSigsFlag->isChecked() &&
3943 m_pLexicon->GetAllPrefixSigs() &&
3944 m_pLexicon->GetAllPrefixSigs()->count() )
3946 url = m_projectName->text() + "_" + ALL_PREFIX_SIGNATURES_FILE_TITLE + ".html";
3947 url.replace( " ", "_" );
3948 url += "#_" + pLParse->Display( filter ) + "_";
3950 } else {
3951 if( m_allSuffixSigsFlag->isChecked() &&
3952 m_pLexicon->GetAllSuffixSigs() &&
3953 m_pLexicon->GetAllSuffixSigs()->count() )
3955 url = m_projectName->text() + "_" + ALL_SUFFIX_SIGNATURES_FILE_TITLE + ".html";
3956 url.replace( " ", "_" );
3957 url += "#_" + pLParse->Display( filter ) + "_";
3960 type = "signature";
3961 } else if (dynamic_cast<CStem*>(pLParse)) {
3962 if( m_allStemsFlag->isChecked() &&
3963 m_pLexicon->GetAllStems() &&
3964 m_pLexicon->GetAllStems()->count() )
3966 url = m_projectName->text() + "_" + ALL_STEMS_FILE_TITLE + ".html";
3967 url.replace( " ", "_" );
3968 url += "#_" + pLParse->Display( filter ) + "_";
3970 type = "stem";
3971 } else if (dynamic_cast<CSuffix*>(pLParse)) {
3972 if( m_allSuffixesFlag->isChecked() &&
3973 m_pLexicon->GetAllSuffixes() &&
3974 m_pLexicon->GetAllSuffixes()->count() )
3976 url = m_projectName->text() + "_" + ALL_SUFFIXES_FILE_TITLE + ".html";
3977 url.replace( " ", "_" );
3978 url += "#_" + pLParse->Display( filter ) + "_";
3980 type = "suffix";
3981 } else if (dynamic_cast<CCompound*>(pLParse)) {
3982 if( m_compoundsFlag->isChecked() &&
3983 m_pLexicon->GetCompounds() &&
3984 m_pLexicon->GetCompounds()->GetCount() )
3986 url = m_projectName->text() + "_" + COMPOUNDS_FILE_TITLE + ".html";
3987 url.replace( " ", "_" );
3988 url += "#_" + pLParse->Display( filter ) + "_";
3990 type = "compound";
3993 if( !forcedType.isNull() ) type = forcedType;
3994 if( !forcedURL.isNull() )
3996 url = forcedURL;
3997 url += "#_" + pLParse->Display( filter ) + "_";
4000 if( url.length() > 0 && !noLinkFlag ) lparse += "<a href=\"" + url + "\" class=\"data\">";
4001 if( type.length() > 0 ) lparse += "<span class=\"" + type + "\">";
4004 if (dynamic_cast<CSignature*>(pLParse) == NULL)
4005 lparse += pLParse->Display( filter );
4006 else
4007 lparse += pLParse->Display( '.', filter );
4009 if( markUpFlag )
4011 if( type.length() > 0 ) lparse += "</span>";
4012 if( url.length() > 0 && !noLinkFlag ) lparse += "</a>";
4015 return lparse;
4019 void ExportWizard::saveParseImage( CEdge* edge, QString fileName, CanvasDialog* dlg )
4021 CanvasDialog* canvasDlg = dlg;
4023 if( !dlg )
4024 canvasDlg = new CanvasDialog( this, Qt::WStyle_Customize |
4025 Qt::WStyle_NormalBorder |
4026 Qt::WStyle_Title |
4027 Qt::WStyle_SysMenu );
4028 else
4029 canvasDlg->clear();
4031 QRect rectangle = edge->m_Daughters.first()->drawTree( canvasDlg->m_canvas, 10, 0, m_pLexicon->GetOutFilter() );
4033 canvasDlg->show();
4034 canvasDlg->saveToFile( rectangle, fileName, "PNG" );
4036 if( !dlg )
4038 canvasDlg->close();
4039 delete canvasDlg;