%{H_TEMPLATE}

#ifndef _%{APPNAMEUC}KMDI_H
#define _%{APPNAMEUC}KMDI_H

#include <tqvaluelist.h>

#include <tdeapplication.h>
#include <tdemdimainfrm.h>
#include <kurl.h>

class TDEToggleAction;
class TDERecentFilesAction;

class tdemdikonsole;
class KMdiChildView;
class TQWidgetStack;
class %{APPNAMELC}tdemdiView;
class TextProperties;
class MiscProperties;

/**
 * This class serves as the main window for %{APPNAMELC}tdemdi.  It handles the
 * menus, toolbars, and status bars.
 *
 * @short Main window class
 */
class %{APPNAMELC}tdemdi : public KMdiMainFrm
{
	Q_OBJECT
  
	public:
		%{APPNAMELC}tdemdi( KMdi::MdiMode mode );
		virtual ~%{APPNAMELC}tdemdi();
		void showTipOnStart();

	public slots:
		void openURL( const KURL& );

	protected:
		virtual void dragEnterEvent(TQDragEnterEvent *event);
		virtual void dropEvent(TQDropEvent *event);
		virtual bool queryClose();

	private slots:
		void slotFileNew();
		void slotFileClose();
		void slotFileQuit();

		/// this is called when a new file is saved
		void showTip();

		void optionsShowToolbar();
		void optionsShowStatusbar();
		void optionsConfigureKeys();
		void optionsConfigureToolbars();
		void optionsPreferences();
		void newToolbarConfig();


		void changeStatusbar(const TQString& text);

		void currentChanged( KMdiChildView *current );
		bool requestClose(KMdiChildView* view);

		void settingsChanged();

	private:
		void setupAccel();
		void setupActions();

		TQValueList<%{APPNAMELC}tdemdiView*> m_views;

		TDEToggleAction *m_toolbarAction;
		TDEToggleAction *m_statusbarAction;

		KParts::PartManager *m_manager;

		tdemdikonsole *m_console;
};

#endif // _%{APPNAMEUC}KMDI_H

