[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