[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/kalgebra
From: Aleix Pol Gonzalez <aleixpol () gmail ! com>
Date: 2010-09-16 3:12:47
Message-ID: 20100916031247.5A6BAAC871 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1175898 by apol:
Make it possible to integrate icons for every function type.
M +5 -0 analitzagui/function.cpp
M +3 -0 analitzagui/function.h
M +1 -0 analitzagui/functioncartesian.cpp
M +1 -0 analitzagui/functionimpl.h
M +1 -0 analitzagui/functionimplicit.cpp
M +1 -0 analitzagui/functionparametric.cpp
M +1 -0 analitzagui/functionpolar.cpp
M +15 -5 src/functionsmodel.cpp
--- trunk/KDE/kdeedu/kalgebra/analitzagui/function.cpp #1175897:1175898
@@ -179,3 +179,8 @@
{
return m_function->allDisconnected();
}
+
+QString function::icon() const
+{
+ return m_function->iconName();
+}
--- trunk/KDE/kdeedu/kalgebra/analitzagui/function.h #1175897:1175898
@@ -110,6 +110,9 @@
/** Queries if it is a correct function. */
bool isCorrect() const;
+ /** @returns an icon name related to the type of the function. */
+ QString icon() const;
+
QStringList errors() const;
const Analitza::Expression& expression() const;
--- trunk/KDE/kdeedu/kalgebra/analitzagui/functioncartesian.cpp #1175897:1175898
@@ -65,6 +65,7 @@
virtual FunctionImpl* copy() { return new FunctionY(*this); }
static QStringList supportedBVars() { return QStringList("x"); }
static ExpressionType expectedType() { return \
ExpressionType(ExpressionType::Lambda).addParameter(ExpressionType(ExpressionType::Value)).addParameter(ExpressionType(ExpressionType::Value)); \
} + virtual QString iconName() const { return "newfunction"; }
QStringList boundings() const { return supportedBVars(); }
void calculateValues(double, double);
--- trunk/KDE/kdeedu/kalgebra/analitzagui/functionimpl.h #1175897:1175898
@@ -47,6 +47,7 @@
virtual FunctionImpl* copy()=0;
virtual QLineF derivative(const QPointF& p)=0;
virtual QStringList boundings() const=0;
+ virtual QString iconName() const=0;
/**
* @returns whether the points vector contains segments (all disconnected is true)
--- trunk/KDE/kdeedu/kalgebra/analitzagui/functionimplicit.cpp #1175897:1175898
@@ -184,6 +184,7 @@
QPair<QPointF, QString> calc(const QPointF& dp);
QLineF derivative(const QPointF& p);
virtual FunctionImpl* copy() { return new FunctionImplicit(*this); }
+ virtual QString iconName() const { return "newimplicit"; }
static QStringList supportedBVars()
{
--- trunk/KDE/kdeedu/kalgebra/analitzagui/functionparametric.cpp #1175897:1175898
@@ -100,6 +100,7 @@
QPair<QPointF, QString> calc(const QPointF& dp);
QLineF derivative(const QPointF& p);
virtual FunctionImpl* copy() { return new FunctionParametric(*this); }
+ virtual QString iconName() const { return "newparametric"; }
static QStringList supportedBVars() { return QStringList("t"); }
static ExpressionType expectedType() { return \
ExpressionType(ExpressionType::Lambda).addParameter(ExpressionType(ExpressionType::Value)).addParameter(ExpressionType(ExpressionType::Vector, \
ExpressionType(ExpressionType::Value), 2)); }
--- trunk/KDE/kdeedu/kalgebra/analitzagui/functionpolar.cpp #1175897:1175898
@@ -85,6 +85,7 @@
QLineF derivative(const QPointF& p);
virtual FunctionImpl* copy() { return new FunctionPolar(*this); }
static QStringList examples() { return QStringList("q->3*sin(7*q)"); } \
//afiestas's favourite plot + virtual QString iconName() const { return "newpolar"; }
inline QPointF fromPolar(double r, double th) { return QPointF(r*std::cos(th), \
r*std::sin(th)); } QRect m_last_viewport;
--- trunk/KDE/kdeedu/kalgebra/src/functionsmodel.cpp #1175897:1175898
@@ -24,6 +24,7 @@
#include <QFont>
#include <cmath>
#include <analitza/expression.h>
+#include <QIcon>
FunctionsModel::FunctionsModel(QObject *parent)
: QAbstractTableModel(parent), m_selectedRow(-1), m_resolution(500), m_fcount(1)
@@ -37,7 +38,8 @@
int var=index.row();
const function &f=funclist[var];
- if(role==Qt::DisplayRole) {
+ switch(role) {
+ case Qt::DisplayRole:
switch(index.column()) {
case 0:
ret=f.name();
@@ -46,22 +48,30 @@
ret=f.expression().toString();
break;
}
- } else if(role==Qt::DecorationRole) {
+ break;
+ case Qt::DecorationRole:
if(index.column()==0) {
QPixmap ico(15, 15);
ico.fill(f.color());
ret=ico;
+ } else {
+ ret = QIcon::fromTheme(f.icon());
}
- } else if(role==Qt::FontRole) {
+ break;
+ case Qt::FontRole:
if(var==m_selectedRow) {
QFont f(qApp->font());
f.setBold(true);
ret=f;
}
- } else if(role==Selection) {
+ break;
+ case Selection:
ret = m_selectedRow;
- } else if(role==Shown) {
+ break;
+ case Shown:
ret=funclist[index.row()].isShown();
+ break;
+
}
return ret;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic