]> git.lyx.org Git - lyx.git/blob - src/frontends/qt/DialogFactory.cpp
Make string-widget combination more l7n friendly
[lyx.git] / src / frontends / qt / DialogFactory.cpp
1 /**
2  * \file DialogFactory.cpp
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Yuriy Skalko
7  *
8  * Full author contact details are available in file CREDITS.
9  */
10
11 #include <config.h>
12
13 #include "DialogFactory.h"
14 #include "FindAndReplace.h"
15 #include "GuiAbout.h"
16 #include "GuiBibitem.h"
17 #include "GuiBibtex.h"
18 #include "GuiBox.h"
19 #include "GuiBranch.h"
20 #include "GuiChanges.h"
21 #include "GuiCharacter.h"
22 #include "GuiCitation.h"
23 #include "GuiCompare.h"
24 #include "GuiCompareHistory.h"
25 #include "GuiCounter.h"
26 #include "GuiDelimiter.h"
27 #include "GuiDocument.h"
28 #include "GuiErrorList.h"
29 #include "GuiERT.h"
30 #include "GuiExternal.h"
31 #include "FloatPlacement.h"
32 #include "GuiGraphics.h"
33 #include "GuiHSpace.h"
34 #include "GuiHyperlink.h"
35 #include "GuiInclude.h"
36 #include "GuiIndex.h"
37 #include "GuiInfo.h"
38 #include "GuiLabel.h"
39 #include "GuiLine.h"
40 #include "GuiListings.h"
41 #include "GuiLog.h"
42 #include "GuiLyXFiles.h"
43 #include "GuiMathMatrix.h"
44 #include "GuiNomenclature.h"
45 #include "GuiNote.h"
46 #include "GuiParagraph.h"
47 #include "GuiPhantom.h"
48 #include "GuiPrefs.h"
49 #include "GuiPrintindex.h"
50 #include "GuiPrintNomencl.h"
51 #include "GuiProgressView.h"
52 #include "GuiRef.h"
53 #include "GuiSearch.h"
54 #include "GuiSendto.h"
55 #include "GuiShowFile.h"
56 #include "GuiSpellchecker.h"
57 #include "GuiSymbols.h"
58 #include "GuiTabular.h"
59 #include "GuiTabularCreate.h"
60 #include "GuiTexinfo.h"
61 #include "GuiThesaurus.h"
62 #include "GuiToc.h"
63 #include "GuiViewSource.h"
64 #include "GuiVSpace.h"
65 #include "GuiWrap.h"
66
67 #include "insets/Inset.h"
68 #include "InsetParamsDialog.h"
69 #include "InsetParamsWidget.h"
70
71 using namespace std;
72
73 namespace lyx {
74 namespace frontend {
75
76
77 Dialog * createDialog(GuiView & gv, string const & name)
78 {
79         InsetParamsWidget * widget;
80         switch (insetCode(name)) {
81         case ERT_CODE:
82                 widget = new GuiERT;
83                 break;
84         case FLOAT_CODE:
85                 widget = new FloatPlacement(true);
86                 break;
87         case BIBITEM_CODE:
88                 widget = new GuiBibitem;
89                 break;
90         case BRANCH_CODE:
91                 widget = new GuiBranch;
92                 break;
93         case BOX_CODE:
94                 widget = new GuiBox;
95                 break;
96         case HYPERLINK_CODE:
97                 widget = new GuiHyperlink;
98                 break;
99         case COUNTER_CODE:
100                 widget = new GuiCounter(gv, nullptr);
101                 break;
102         case INFO_CODE:
103                 widget = new GuiInfo;
104                 break;
105         case LABEL_CODE:
106                 widget = new GuiLabel;
107                 break;
108         case LINE_CODE:
109                 widget = new GuiLine;
110                 break;
111         case MATH_SPACE_CODE:
112                 widget = new GuiHSpace(true);
113                 break;
114         case NOMENCL_CODE:
115                 widget = new GuiNomenclature;
116                 break;
117         case NOMENCL_PRINT_CODE:
118                 widget = new GuiPrintNomencl;
119                 break;
120         case SPACE_CODE:
121                 widget = new GuiHSpace(false);
122                 break;
123         case TABULAR_CODE:
124                 widget = new GuiTabular;
125                 break;
126         case VSPACE_CODE:
127                 widget = new GuiVSpace;
128                 break;
129         default:
130                 widget = nullptr;
131         }
132         if (widget)
133                 return new InsetParamsDialog(gv, widget);
134
135         if (name == "aboutlyx")
136                 return new GuiAbout(gv);
137         if (name == "bibtex")
138                 return new GuiBibtex(gv);
139         if (name == "changes")
140                 return new GuiChanges(gv);
141         if (name == "character")
142                 return new GuiCharacter(gv);
143         if (name == "citation")
144                 return new GuiCitation(gv);
145         if (name == "compare")
146                 return new GuiCompare(gv);
147         if (name == "comparehistory")
148                 return new GuiCompareHistory(gv);
149         if (name == "document")
150                 return new GuiDocument(gv);
151         if (name == "errorlist")
152                 return new GuiErrorList(gv);
153         if (name == "external")
154                 return new GuiExternal(gv);
155         if (name == "file")
156                 return new GuiShowFile(gv);
157         if (name == "findreplace")
158                 return new GuiSearch(gv);
159         if (name == "findreplaceadv")
160                 return new FindAndReplace(gv);
161         if (name == "graphics")
162                 return new GuiGraphics(gv);
163         if (name == "include")
164                 return new GuiInclude(gv);
165         if (name == "index")
166                 return new GuiIndex(gv);
167         if (name == "index_print")
168                 return new GuiPrintindex(gv);
169         if (name == "listings")
170                 return new GuiListings(gv);
171         if (name == "log")
172                 return new GuiLog(gv);
173         if (name == "lyxfiles")
174                 return new GuiLyXFiles(gv);
175         if (name == "mathdelimiter")
176                 return new GuiDelimiter(gv);
177         if (name == "mathmatrix")
178                 return new GuiMathMatrix(gv);
179         if (name == "note")
180                 return new GuiNote(gv);
181         if (name == "paragraph")
182                 return new GuiParagraph(gv);
183         if (name == "phantom")
184                 return new GuiPhantom(gv);
185         if (name == "prefs")
186                 return new GuiPreferences(gv);
187         if (name == "ref")
188                 return new GuiRef(gv);
189         if (name == "sendto")
190                 return new GuiSendTo(gv);
191         if (name == "spellchecker")
192                 return new GuiSpellchecker(gv);
193         if (name == "symbols")
194                 return new GuiSymbols(gv);
195         if (name == "tabularcreate")
196                 return new GuiTabularCreate(gv);
197         if (name == "texinfo")
198                 return new GuiTexInfo(gv);
199         if (name == "thesaurus")
200                 return new GuiThesaurus(gv);
201         if (name == "toc")
202                 return new GuiToc(gv);
203         if (name == "view-source")
204                 return new GuiViewSource(gv);
205         if (name == "wrap")
206                 return new GuiWrap(gv);
207         if (name == "progress")
208                 return new GuiProgressView(gv);
209
210         return nullptr;
211 }
212
213
214 } // namespace frontend
215 } // namespace lyx