diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2 (patch) | |
tree | d3bb9f5d25a2dc09ca81adecf39621d871534297 /kmplot/kmplot/editfunction.h | |
download | tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.tar.gz tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeedu@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmplot/kmplot/editfunction.h')
-rw-r--r-- | kmplot/kmplot/editfunction.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/kmplot/kmplot/editfunction.h b/kmplot/kmplot/editfunction.h new file mode 100644 index 00000000..9ef8ee05 --- /dev/null +++ b/kmplot/kmplot/editfunction.h @@ -0,0 +1,91 @@ +/* +* KmPlot - a math. function plotter for the KDE-Desktop +* +* Copyright (C) 1998, 1999 Klaus-Dieter Möller +* 2000, 2002 kd.moeller@t-online.de +* +* This file is part of the KDE Project. +* KmPlot is part of the KDE-EDU Project. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +* +*/ + +#ifndef KEDITFUNCTION_H +#define KEDITFUNCTION_H + +#include <kdialogbase.h> + +#include "xparser.h" + +class XParser; +class EditFunctionPage; +class EditDerivativesPage; +class EditIntegralPage; + +/** @short Dialog window editing a function plot and its properties. */ +class EditFunction : public KDialogBase +{ + Q_OBJECT + public: + /// @param parser points to the parser instance. + /// @param parent points to the parent widget. + /// @param name of this instance. + EditFunction( XParser* parser, QWidget* parent = NULL, const char* name = NULL ); + /// Nothing special to do. + virtual ~EditFunction() {} + /// Fill the dialog's widgets with the properties of the parser function number index. + void initDialog( int id = -1 ); + /// Returns a pointer to the added/updated function + Ufkt *functionItem(); + + protected slots: + /// Overwrites the dialog's accept() method to make sure, that the user's input is valid. + virtual void accept(); + /// Invokes the HelpCenter. + void slotHelp(); + /// Called when the "Change parameter values" is clicked + void cmdParameter_clicked(); + /// Called when the no_parameter-radiobutton is toggled. + void noParameter_toggled(bool); + /// Called when customMinRange is toggled. + void customMinRange_toggled(bool); + /// Called when customMaxRange is toggled. + void customMaxRange_toggled(bool); + + private: + /// Clear alls widgets values + void clearWidgets(); + /// Fill the dialog's widgets with values from the parser + void setWidgets(); + /// Check, if the function has 2 arguments (function group) + bool functionHas2Arguments(); + /// Adding an extra argument + void fixFunctionArguments(QString &); + + /// Pointer to the parser instance + XParser* m_parser; + /// Current function index + int m_id; + QValueList<ParameterValueItem> m_parameter; + + EditFunctionPage* editfunctionpage; + EditDerivativesPage* editderivativespage; + EditIntegralPage* editintegralpage; + + Ufkt *m_updatedfunction; +}; + +#endif |