/* This file is part of the KDE project
   Copyright (C) 2003 Jaroslaw Staniek <js@iidea.pl>

   This program 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 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
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this program; see the file COPYING.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301, USA.

   Loosely based on tdevelop/src/statusbar.h
   Copyright (C) 2001 by Bernd Gehrmann <bernd@kdevelop.org>
*/

#ifndef KEXISTATUSBAR_H
#define KEXISTATUSBAR_H

//temporary
#define KexitStatusBar_KTEXTEDITOR_USED 0

#include <kstatusbar.h>
#include <tqmap.h>

class TQLabel;

#if KexitStatusBar_KTEXTEDITOR_USED
namespace KTextEditor { class ViewStatusMsgInterface; }
namespace KTextEditor { class ViewCursorInterface; }
#endif
namespace KParts { class Part; }

class KexitStatusBar : public KStatusBar
{
	TQ_OBJECT
  
	public:
		KexitStatusBar( TQWidget *parent=0, const char *name=0 );
		virtual ~KexitStatusBar();
//		virtual void addWidget( TQWidget *widget, int stretch = 0, bool permanent = false);

	public slots:
		virtual void setStatus(const TQString &str);
		virtual void setReadOnlyFlag(bool readOnly);

	protected slots:
		virtual void cursorPositionChanged();
		virtual void activePartChanged(KParts::Part *part);
		virtual void setCursorPosition(int line, int col);

	protected:
		int m_msgID, m_readOnlyID;
//		TQLabel *m_status, *m_readOnlyStatus;

#if KexitStatusBar_KTEXTEDITOR_USED
	KTextEditor::ViewCursorInterface * m_cursorIface;
	KTextEditor::ViewStatusMsgInterface * m_viewmsgIface;
#endif
	KParts::Part *m_activePart;
};

#endif

