keximacroview.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 Copyright (C) 2006 Sebastian Sauer <mail@dipe.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 This library is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 Library General Public License for more details. 00012 You should have received a copy of the GNU Library General Public License 00013 along with this library; see the file COPYING.LIB. If not, write to 00014 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00015 Boston, MA 02110-1301, USA. 00016 */ 00017 00018 #ifndef KEXIMACROVIEW_H 00019 #define KEXIMACROVIEW_H 00020 00021 #include <kexiviewbase.h> 00022 00023 // Forward declarations. 00024 namespace KoMacro { 00025 class Macro; 00026 } 00027 namespace KoProperty { 00028 class Property; 00029 } 00030 namespace KexiDB { 00031 class ResultInfo; 00032 } 00033 class KexiTableItem; 00034 00042 class KexiMacroView : public KexiViewBase 00043 { 00044 Q_OBJECT 00045 public: 00046 00055 KexiMacroView(KexiMainWindow *mainwin, QWidget *parent, ::KoMacro::Macro* const macro, const char* name = 0); 00056 00060 virtual ~KexiMacroView(); 00061 00065 KSharedPtr<KoMacro::Macro> macro() const; 00066 00071 virtual bool loadData(); 00072 00083 virtual KexiDB::SchemaData* storeNewData(const KexiDB::SchemaData& sdata, bool &cancel); 00084 00089 virtual tristate storeData(bool dontAsk = false); 00090 00091 public slots: 00092 00097 void execute(QObject* sender = 0); 00098 00099 protected: 00100 00117 virtual tristate beforeSwitchTo(int mode, bool& dontstore); 00118 00131 virtual tristate afterSwitchFrom(int mode); 00132 00133 private: 00135 class Private; 00137 Private* const d; 00138 }; 00139 00140 #endif
