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.
179 lines
5.5 KiB
179 lines
5.5 KiB
/***************************************************************************
|
|
kxmleditorshell.h - description
|
|
-------------------
|
|
begin : Thu Oct 18 2001
|
|
copyright : (C) 2001, 2002, 2003 by The KXMLEditor Team
|
|
email : lvanek@users.sourceforge.net
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* 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. *
|
|
* *
|
|
***************************************************************************/
|
|
/**
|
|
@file
|
|
*/
|
|
|
|
|
|
#ifndef KXMLEDITORSHELL_H
|
|
#define KXMLEDITORSHELL_H
|
|
|
|
#include <tdeparts/mainwindow.h>
|
|
|
|
class KParts::ReadWritePart;
|
|
class KXMLEditorShellIface;
|
|
class TDEAction;
|
|
class KXEShellManager;
|
|
|
|
|
|
/**
|
|
@short The shell, which can contain our #KXMLEditorPart.
|
|
|
|
It is the window that owns main user interface elements.
|
|
*/
|
|
class KXMLEditorShell : public KParts::MainWindow
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/** @short Constructor
|
|
|
|
Creates shell and adds it into one global instance of KXEShellManager.
|
|
@sa KXEShellManager
|
|
*/
|
|
KXMLEditorShell( const char * name = 0L, WFlags f = WDestructiveClose );
|
|
|
|
/** @short Destructor
|
|
|
|
Destroys shell. Performs also removing given shell from global instance
|
|
of KXEShellManager.
|
|
*/
|
|
virtual ~KXMLEditorShell();
|
|
|
|
/** @short Opens new file and shows it in the current shell. */
|
|
bool openURL( const KURL & url ) ;
|
|
|
|
/** @short Closes this shell. */
|
|
virtual void close();
|
|
|
|
/** @short Returns part manager object */
|
|
KXEShellManager* manager();
|
|
|
|
/** @short Creates new part which can be shown in the shell.
|
|
@param parent parent object for the part*/
|
|
static KParts::ReadWritePart* createXMLPart(TQObject *parent) ;
|
|
|
|
static KParts::ReadWritePart* createPart(TQObject *parent, const TQString& libName, const TQString& className);
|
|
|
|
/** @short Changes currenly shown part. */
|
|
void setPart(KParts::ReadWritePart* pPart);
|
|
|
|
public slots:
|
|
/** @short Slot connected to File->New action. */
|
|
void slotActFileNew();
|
|
|
|
/** @short Slot connected to File->Open action. */
|
|
void slotFileOpen();
|
|
|
|
void slotFileOpenRecent( const KURL & url );
|
|
|
|
/** @short Slot connected to File->Reload action. */
|
|
void slotFileReload();
|
|
|
|
/** @short Slot connected to action responsible for showing and hiding main toolbar.*/
|
|
void slotToggleMainToolBar();
|
|
|
|
/** @short Slot connected to action responsible for showing and hiding status bar.*/
|
|
void slotToggleStatusBar();
|
|
|
|
/** @short Slot connected to action. Shows shortcut configuration dialog.*/
|
|
void slotConfigureKeys();
|
|
|
|
/** @short Slot connected to action. Shows toolbar configuration dialog.*/
|
|
void slotConfigureToolbars();
|
|
|
|
/** @short Changes shell caption.*/
|
|
virtual void setCaption( const TQString & strCaption );
|
|
|
|
/** @short Sends currently opened XML file over e-mail.
|
|
|
|
The application will try to start default mail client and prepare
|
|
new empty mail with currently opened file as an attachment.
|
|
The file have to be saved first on a disc.
|
|
@sa TDEApplication::invokeMailer()
|
|
*/
|
|
void mail();
|
|
|
|
/** @short Connected to File->Close action
|
|
|
|
Closes currently opened file, but not the shell itself. The shell
|
|
remaines empty but active, so it's possible for the user
|
|
to open another file in it.*/
|
|
void slotActClose();
|
|
|
|
/** @short slot connected to Window->Close action.
|
|
@sa close() */
|
|
void slotActWindowClose();
|
|
|
|
/** @short slot connected to Window->Close All action. */
|
|
void slotActWindowCloseAll();
|
|
|
|
/** @short slot connected to Window->Close All Others action. */
|
|
void slotActWindowCloseAllOthers();
|
|
|
|
void slotActivate();
|
|
|
|
protected:
|
|
virtual bool queryClose();
|
|
virtual void saveProperties( TDEConfig * );
|
|
virtual void readProperties( TDEConfig * );
|
|
|
|
/** @short Stores pointer to currenly shown part. */
|
|
KParts::ReadWritePart * m_pPart;
|
|
|
|
/** @short Action for recently opened files. */
|
|
TDERecentFilesAction * m_pActFileOpenRecent;
|
|
|
|
/** @short Action for reloading the document currently open. */
|
|
TDEAction * m_pActReload;
|
|
|
|
/** @short Action for printing complete XML files.*/
|
|
// L.V. moved to part. TDEAction* pActPrint;
|
|
|
|
TDEAction* pActCloseW;
|
|
TDEAction* pActCloseAllW;
|
|
TDEAction* pActCloseAllO;
|
|
|
|
/** @short DCOP interface pointer (if no such iface pointer == 0).*/
|
|
KXMLEditorShellIface * m_pKXEShellIface;
|
|
|
|
/** @short Stores pointer to window menu.
|
|
|
|
This menu is expanded everytime new shell is shown. */
|
|
TDEPopupMenu* m_windowMenu;
|
|
|
|
/** @short Returns currently shown part. */
|
|
KParts::ReadWritePart* part() const {return m_pPart;}
|
|
|
|
/** @short Adds this shell window to part manager for monitoring */
|
|
// void addToManager();
|
|
|
|
protected slots:
|
|
/** To enable/disable actions, the way the parts browser extension wishes. */
|
|
void slotEnableBrowserExtActions( const char * pszName, bool bEnabled );
|
|
|
|
void slotBeforeWindowMenuShown();
|
|
|
|
// Add URL to recent file list
|
|
void slotAddRecentURL(const KURL &);
|
|
|
|
private:
|
|
/** @short Stores pointer to global instance of #KParts::PartManager */
|
|
static KXEShellManager *s_manager;
|
|
};
|
|
|
|
#endif
|