]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QMathDialog.C
some math fixes
[lyx.git] / src / frontends / qt2 / QMathDialog.C
1 /**
2  * \file QMathDialog.C
3  * Copyright 2001 the LyX Team
4  * Read the file COPYING
5  *
6  * \author John Levon <moz@compsoc.man.ac.uk>
7  */
8
9 #include <config.h>
10
11 #include "support/filetools.h"
12 #include "debug.h"
13  
14 #include "QMathDialog.h"
15 #include "QMath.h"
16
17 #include "ControlMath.h"
18 #include "iconpalette.h"
19  
20 #include <qwidgetstack.h>
21 #include <qcombobox.h>
22 #include <qlistbox.h>
23 #include <qpixmap.h>
24 #include <qscrollview.h>
25 #include <qlayout.h>
26  
27 QMathDialog::QMathDialog(QMath * form)
28         : QMathDialogBase(0, 0, false, 0),
29         form_(form)
30 {
31         connect(symbolsCO, SIGNAL(activated(int)), symbolsWS, SLOT(raiseWidget(int))); 
32
33         for (int i = 0; *function_names[i]; ++i) {
34                 functionsLB->insertItem(function_names[i]);
35         }
36  
37         addPanel("operators", latex_bop);
38         addPanel("bigoperators", latex_varsz);
39         addPanel("relations", latex_brel);
40         addPanel("greek", latex_greek);
41         addPanel("arrows", latex_arrow);
42         addPanel("dots", latex_dots);
43         addPanel("deco", latex_deco);
44         addPanel("misc", latex_misc);
45         addPanel("amsoperators", latex_ams_ops);
46         addPanel("amsrelations", latex_ams_rel);
47         addPanel("amsnegrelations", latex_ams_nrel);
48         addPanel("amsarrows", latex_ams_arrows);
49         addPanel("amsmisc", latex_ams_misc);
50         symbolsWS->raiseWidget(0);
51         symbolsWS->resize(symbolsWS->sizeHint());
52 }
53
54  
55 void QMathDialog::addPanel(string const & name, char const ** entries)
56 {
57         static int id = 0;
58  
59         QScrollView * view = new QScrollView(symbolsWS);
60         view->setHScrollBarMode(QScrollView::AlwaysOff);
61         view->setVScrollBarMode(QScrollView::AlwaysOn);
62  
63         IconPalette * p = new IconPalette(view->viewport(), name.c_str());
64         view->addChild(p);
65         for (int i = 0; *entries[i]; ++i) {
66                 string xpm_name = LibFileSearch("images/math/", entries[i], "xpm");
67                 p->add(QPixmap(xpm_name.c_str()), entries[i], string("\\") + entries[i]);
68         }
69         connect(p, SIGNAL(button_clicked(string)), this, SLOT(symbol_clicked(string)));
70  
71         symbolsWS->addWidget(view, id++);
72 }
73
74  
75 void QMathDialog::symbol_clicked(string str)
76 {
77         form_->insert_symbol(str);
78 }
79
80  
81 void QMathDialog::fracClicked()
82 {
83         form_->insert_symbol("frac");
84 }
85  
86
87 void QMathDialog::sqrtClicked()
88 {
89         form_->insert_symbol("sqrt");
90 }
91
92  
93 void QMathDialog::delimiterClicked()
94 {
95 }
96
97  
98 void QMathDialog::expandClicked()
99 {
100 }
101
102  
103  
104 void QMathDialog::functionSelected(const QString & str)
105 {
106         form_->insert_symbol(str.latin1()); 
107 }
108
109  
110 void QMathDialog::matrixClicked()
111 {
112 }
113
114  
115 void QMathDialog::spaceClicked()
116 {
117 }
118
119  
120 void QMathDialog::styleClicked()
121 {
122 }
123
124  
125 void QMathDialog::subscriptClicked()
126 {
127         form_->subscript();
128 }
129
130  
131 void QMathDialog::superscriptClicked()
132 {
133         form_->superscript();
134 }