diff options
Diffstat (limited to 'kpovmodeler/pmshell.h')
-rw-r--r-- | kpovmodeler/pmshell.h | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/kpovmodeler/pmshell.h b/kpovmodeler/pmshell.h new file mode 100644 index 00000000..9a0dbb91 --- /dev/null +++ b/kpovmodeler/pmshell.h @@ -0,0 +1,172 @@ +//-*-C++-*- +/* +************************************************************************** + description + -------------------- + copyright : (C) 2000-2003 by Andreas Zehender + email : [email protected] +************************************************************************** + +************************************************************************** +* * +* 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. * +* * +**************************************************************************/ + + +#ifndef PMSHELL_H +#define PMSHELL_H + +#include "pmdockwidget.h" + +#include "pmpart.h" +#include "pmglview.h" +#include "version.h" + +#include <qptrlist.h> + +//class KHelpMenu; +class KStatusBar; +class KListAction; +class KToggleAction; +class KSelectAction; +class KRecentFilesAction; +class KActionMenu; +class PMViewOptions; + +/** + * Main view for KPovModeler + */ +class PMShell : public PMDockMainWindow +{ + Q_OBJECT + +public: + /** + * Standard constructor + */ + PMShell( const KURL& = KURL( ) ); + /** + * Destructor + */ + virtual ~PMShell( ); + + /** + * Creates the actions + */ + void setupActions( ); + /** + * Creates the docking views + */ + void setupView( ); + /** + * Updates the gui (menus and toolbars) + */ + void updateGUI( ); + + /** + * Checks if a file with that name exists and asks if + * it should be overwritten. + * + * Returns true if the files is not a local file, the file does'n exist + * or the file should be overwritten. + */ + static bool overwriteURL( const KURL& u ); + +public slots: + void openURL( const KURL& ); + void slotOpenRecent( const KURL& ); + void slotOpenRecentTimer( ); + + void slotFileNew( ); + void slotFileOpen( ); + void slotFileSave( ); + void slotFileSaveAs( ); + void slotFileRevert( ); + void slotFilePrint( ); + void slotFileNewWindow( ); + void slotFileClose( ); + + void slotShowToolbar( ); + void slotShowStatusbar( ); + void slotShowPath( ); + void slotConfigureKeys( ); + void slotConfigureToolbars( ); + void slotSettings( ); + void slotNewToolbarConfig( ); + + void slotNewGraphicalView( PMGLView::PMViewType ); + void slotNewTopView( ); + void slotNewBottomView( ); + void slotNewLeftView( ); + void slotNewRightView( ); + void slotNewFrontView( ); + void slotNewBackView( ); + void slotNewCameraView( ); + void slotNewTreeView( ); + void slotNewDialogView( ); + void slotNewLibraryBrowserView( ); + + void saveOptions( ); + void restoreOptions( ); + + void setCaption( const QString& caption = QString::null ); + void statusMsg( const QString& text = QString::null ); + void slotControlPointMsg( const QString& msg = QString::null ); + + void slotModified( ); + void slotDockWidgetClosed( ); + void slotDeleteClosedObjects( ); + void slotSelectedLayout( int id ); + void slotSaveViewLayout( ); + void slotViewsMenuAboutToShow( ); + +protected: + virtual bool queryClose( ); + virtual void showEvent( QShowEvent* ); + void saveAs( ); + +public: + /** + * Creates a dock widget of view type t with custom config c. + * + * If initPosition is true, the widget is docked to the desktop. + */ + PMDockWidget* createView( const QString& t, PMViewOptions* c = 0, + bool initPosition = true ); + //PMDockWidget* createTreeView( ); + //PMDockWidget* createDialogView( ); + //PMDockWidget* create3DView( PMGLView::PMViewType ); + +private: + KRecentFilesAction* m_pRecent; + KToggleAction* m_pToolbarAction; + KToggleAction* m_pStatusbarAction; + KToggleAction* m_pPathAction; + + KAction* m_pNewTreeViewAction; + KAction* m_pNewDialogViewAction; + KAction* m_pNewTopViewAction; + KAction* m_pNewBottomViewAction; + KAction* m_pNewLeftViewAction; + KAction* m_pNewRightViewAction; + KAction* m_pNewFrontViewAction; + KAction* m_pNewBackViewAction; + KAction* m_pNewCameraViewAction; + KAction* m_pNewLibraryBrowserAction; + + KActionMenu* m_pViewLayoutsAction; + KAction* m_pSaveViewLayoutAction; + + KStatusBar* m_pStatusBar; + PMPart* m_pPart; + KURL m_openRecentURL; + + QPtrList<QObject> m_objectsToDelete; + int m_viewNumber; +}; + +#endif |