20 #include <analitza/variables.h>
21 #include <analitza/expression.h>
22 #include <analitzagui/operatorsmodel.h>
23 #include <analitzagui/plotsview2d.h>
24 #include <analitzaplot/plotsmodel.h>
25 #include <analitzaplot/plotsfactory.h>
26 #include <analitzaplot/functiongraph.h>
30 #include <QVBoxLayout>
31 #include <QHBoxLayout>
32 #include <QFormLayout>
34 #include <QtMmlWidget>
38 m_ops=
new OperatorsModel(
this);
39 m_sortProxy =
new QSortFilterProxyModel(
this);
40 m_sortProxy->setSourceModel(m_ops);
41 m_sortProxy->sort(2, Qt::AscendingOrder);
42 m_sortProxy->setFilterKeyColumn(2);
44 m_vars =
new Analitza::Variables;
46 QGroupBox *descr=
new QGroupBox(i18n(
"Information"),
this);
47 descr->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
48 QFormLayout *descrLayo=
new QFormLayout;
49 QVBoxLayout *graphLayo=
new QVBoxLayout(
this);
50 m_name=
new QLabel(descr);
51 m_descr=
new QLabel(descr);
52 m_sample=
new QLabel(descr);
53 m_example=
new QLabel(descr);
54 m_formula=
new QtMmlWidget(descr);
56 m_formula->setBaseFontPointSize(10);
57 m_formula->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
58 m_funcs=
new Analitza::PlotsModel(descr);
59 m_graph=
new Analitza::PlotsView2D(descr);
60 m_graph->setTicksShown(0);
61 m_graph->setModel(m_funcs);
62 m_graph->setReadOnly(
true);
63 m_graph->setViewport(QRect(QPoint(-30, 7), QPoint(30, -7)));
64 m_graph->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
66 m_name->setIndent(10);
67 m_descr->setIndent(10);
68 m_sample->setIndent(10);
69 m_example->setIndent(10);
71 m_example->setTextInteractionFlags(Qt::TextSelectableByMouse);
73 descrLayo->addRow(i18n(
"<b>%1</b>", m_ops->headerData(0, Qt::Horizontal).toString()), m_name);
74 descrLayo->addRow(i18n(
"<b>%1</b>", m_ops->headerData(1, Qt::Horizontal).toString()), m_descr);
75 descrLayo->addRow(i18n(
"<b>%1</b>", m_ops->headerData(2, Qt::Horizontal).toString()), m_sample);
76 descrLayo->addRow(i18n(
"<b>%1</b>", m_ops->headerData(3, Qt::Horizontal).toString()), m_example);
77 descrLayo->addRow(i18n(
"<b>Formula</b>"), m_formula);
78 descrLayo->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow);
79 graphLayo->addWidget(descr);
81 graphLayo->addWidget(m_graph);
82 descr->setLayout(descrLayo);
85 m_formula->setContent(
"<math />");
100 QModelIndex nameIdx, descriptionIdx, sampleIdx, exampleIdx;
101 nameIdx = idx.sibling(idx.row(), 0);
102 descriptionIdx = idx.sibling(idx.row(), 1);
103 sampleIdx = idx.sibling(idx.row(), 2);
104 exampleIdx = idx.sibling(idx.row(), 3);
106 QString name=m_sortProxy->data(nameIdx).toString();
107 QString description=m_sortProxy->data(descriptionIdx).toString();
108 QString sample=m_sortProxy->data(sampleIdx).toString();
109 QString example=m_sortProxy->data(exampleIdx).toString();
111 Analitza::Expression e(example,
false);
113 m_name->setText(name);
114 m_descr->setText(description);
115 m_sample->setText(sample);
116 m_example->setText(example);
119 m_formula->setContent(e.toMathMLPresentation(), &error);
121 qDebug() <<
"dict formula error: " << error << e.toMathMLPresentation();
123 m_funcs->addPlot(Analitza::PlotsFactory::self()->requestPlot(e, Analitza::Dim2D, m_vars).create(QColor(0,150,0),
"dict"));
126 m_name->setText(QString());
127 m_descr->setText(QString());
128 m_sample->setText(QString());
129 m_example->setText(QString());
130 m_formula->setContent(
"<math />", &error);
136 m_sortProxy->setFilterFixedString(filter);
139 #include "dictionary.moc"
void setFilter(const QString &)
void activated(const QModelIndex &prev, const QModelIndex &)