You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qalculate-tde/src/qalculateeditdatasetdialog.h

146 lines
4.4 KiB

/***************************************************************************
* Copyright (C) 2005 by Niklas Knutsson *
* nq@altern.org *
* *
* 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., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef QALCULATEEDITDATASETDIALOG_H
#define QALCULATEEDITDATASETDIALOG_H
#include <kdialogbase.h>
#include <tqmap.h>
#include <tqvaluevector.h>
class KLineEdit;
class TQCheckBox;
class KComboBox;
class TQPushButton;
class MathStructure;
class QalculateEditNamesDialog;
class DataSet;
class TDEListView;
class TQTextEdit;
class DataProperty;
class TQTabWidget;
class UserFunction;
class QalculateEditDataPropertyDialog;
class QalculateEditDataPropertyNamesDialog;
class TQLineEdit;
/**
@author Niklas Knutsson
*/
class QalculateEditDataSetDialog : public KDialogBase {
Q_OBJECT
public:
QalculateEditDataSetDialog(TQWidget *parent = 0, const char *name = 0);
virtual ~QalculateEditDataSetDialog();
DataSet *editDataSet(DataSet *ds = NULL);
void updateDatasetPropertyList();
QalculateEditNamesDialog *names_edit_dialog;
QalculateEditDataPropertyDialog *property_edit_dialog;
DataSet *edited_dataset;
KLineEdit *objectArgumentEdit, *propertyArgumentEdit, *defaultPropertyEdit, *nameEdit, *titleEdit, *fileEdit;
TQLabel *namesLabel;
TDEListView *propertiesView;
TQTextEdit *descriptionEdit, *copyrightEdit;
TQPushButton *namesButton, *newPropertyButton, *editPropertyButton, *deletePropertyButton;
TQTabWidget *tabs;
TQMap<TQListViewItem*, DataProperty*> propertiesItems;
TQValueVector<DataProperty*> tmp_props;
TQValueVector<DataProperty*> tmp_props_orig;
public slots:
void propertySelectionChanged();
void editNames();
void newProperty();
void editProperty();
void deleteProperty();
void nameChanged(const TQString&);
protected slots:
void slotOk();
};
class QalculateEditDataPropertyDialog : public KDialogBase {
Q_OBJECT
public:
QalculateEditDataPropertyDialog(TQWidget *parent = 0, const char *name = 0);
~QalculateEditDataPropertyDialog();
bool editDataProperty(DataProperty *dp, bool newdp = false);
QalculateEditDataPropertyNamesDialog *names_edit_dialog;
DataProperty *edited_property;
KComboBox *typeCombo;
KLineEdit *nameEdit, *titleEdit, *unitEdit;
TQLabel *namesLabel;
TQCheckBox *hideButton, *keyButton, *approximateButton, *caseButton, *bracketsButton;
TQPushButton *namesButton;
TQTextEdit *descriptionEdit;
public slots:
void editNames();
protected slots:
void slotOk();
};
class QalculateEditDataPropertyNamesDialog : public KDialog {
Q_OBJECT
public:
QalculateEditDataPropertyNamesDialog(TQWidget *parent = 0, const char *name = 0);
~QalculateEditDataPropertyNamesDialog();
void saveNames(DataProperty *item, const TQString &str = TQString::null);
void setNames(DataProperty *item = NULL, const TQString &namestr = TQString::null, bool names_edited = false);
bool isEmpty();
void setNamesLE(TQLineEdit *entry, TQLabel *label);
TDEListView* namesView;
TQPushButton* newButton;
TQPushButton* deleteButton;
TQPushButton* buttonClose;
int i_type;
public slots:
void itemClicked(TQListViewItem*, const TQPoint&, int);
void newName();
void deleteName();
void nameSelectionChanged();
};
#endif