/* This file is part of the KDE project Copyright (C) 2002-2003 Norbert Andres (C) 2002-2003 Philipp Mueller (C) 2002 John Dailey (C) 1999-2004 Laurent Montel This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #ifndef __kspread_dlg_conditional__ #define __kspread_dlg_conditional__ #include #include #include "kspread_condition.h" class TQComboBox; class KLineEdit; namespace KSpread { class Style; class View; class ConditionalWidget : public TQWidget { TQ_OBJECT public: ConditionalWidget( TQWidget * parent = 0, const char * name = 0, WFlags fl = 0 ); ~ConditionalWidget(); TQComboBox * m_condition_1; TQComboBox * m_style_1; KLineEdit * m_firstValue_1; KLineEdit * m_secondValue_1; TQComboBox * m_condition_2; TQComboBox * m_style_2; KLineEdit * m_firstValue_2; KLineEdit * m_secondValue_2; TQComboBox * m_condition_3; TQComboBox * m_style_3; KLineEdit * m_firstValue_3; KLineEdit * m_secondValue_3; public slots: void slotTextChanged1( const TQString & ); void slotTextChanged2( const TQString & ); void slotTextChanged3( const TQString & ); }; class ConditionalDialog : public KDialogBase { TQ_OBJECT public: ConditionalDialog( View * parent, const char * name, const TQRect & marker ); void init(); public slots: void slotOk(); protected: View * m_view; ConditionalWidget * m_dlg; TQRect m_marker; Conditional::Type m_result; private: void init( Conditional const & tmp, int numCondition ); Conditional::Type typeOfCondition( TQComboBox const * const cb ) const; bool checkInputData( KLineEdit const * const edit1, KLineEdit const * const edit2 ); bool checkInputData(); bool getCondition( Conditional & newCondition, const TQComboBox * cb, const KLineEdit * edit1, const KLineEdit * edit2, const TQComboBox * sb, Style * style ); }; } // namespace KSpread #endif