src/mainwindow.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef _MAINWINDOW_H_
00019
#define _MAINWINDOW_H_
00020
00021
00022
#include <qmap.h>
00023
#include <qptrlist.h>
00024
#include <qdict.h>
00025
00026
00027
#include <kmdimainfrm.h>
00028
#include <kmdichildview.h>
00029
00030
00031
#include "kdevmainwindow.h"
00032
00033
class QDomElement;
00034
class ViewMenuAction;
00035
class ViewMenuActionPrivateData;
00036
class MainWindowShare;
00037
00042 class MainWindow :
public KMdiMainFrm,
public KDevMainWindow
00043 {
00044 Q_OBJECT
00045
00046
public:
00047
00048
MainWindow(
QWidget* parent=0,
const char *name=0);
00049
~MainWindow();
00050
00051
void embedPartView(
QWidget *view,
const QString &title,
const QString &toolTip = QString::null );
00052
void embedSelectView(
QWidget *view,
const QString &title,
const QString &toolTip);
00053
void embedOutputView(
QWidget *view,
const QString &title,
const QString &toolTip);
00054
00055
void embedSelectViewRight (
QWidget* view,
const QString& title,
const QString &toolTip);
00056
00057
void removeView(
QWidget *view);
00058
void setViewAvailable(
QWidget *pView,
bool bEnabled);
00059
00060
void raiseView(
QWidget *view);
00061
void lowerView(
QWidget *view);
00062
void lowerAllViews();
00063
00064
void loadSettings();
00065
00066
KMainWindow *
main();
00067
00068
void init();
00069
00070
void prepareToCloseViews();
00071
void guiRestoringFinished();
00072
00073
virtual void setUserInterfaceMode(
const QString& uiMode);
00074
00075
virtual void callCommand(
const QString& command);
00076
00078
virtual void childWindowCloseRequest(KMdiChildView *pWnd);
00079
00080 enum EView {
OutputView,
TreeView};
00081
00083
void storeOutputViewTab();
00084
00086
void restoreOutputViewTab();
00087
00088
public slots:
00089
00090
void setCaption(
const QString &);
00091
void createGUI(
KParts::Part *part);
00092
void gotoNextWindow();
00093
void gotoPreviousWindow();
00094
void gotoFirstWindow();
00095
void gotoLastWindow();
00097
virtual void fillWindowMenu();
00099
virtual void switchToToplevelMode();
00101
virtual void switchToChildframeMode();
00103
virtual void switchToTabPageMode();
00105
virtual void switchToIDEAlMode();
00106
00107
virtual void raiseEditor();
00108
00110
virtual void fillOutputToolViewsMenu();
00112
virtual void fillTreeToolViewsMenu();
00113
00115
virtual void toggleSingleToolWin(
const ViewMenuActionPrivateData &ActionData);
00116
00118
virtual void toggleToolDockBaseState(
const ViewMenuActionPrivateData &ActionData);
00119
00121
virtual void showAllToolWin(EView eView,
bool show);
00122
00124
virtual void updateActionState();
00125
00126
protected:
00128
KParts::ReadOnlyPart * getPartFromWidget(
const QWidget * pWidget)
const;
00130
void resizeEvent(
QResizeEvent *ev);
00134
private slots:
00135
void slotReactToProjectOpened();
00136
void slotRestoreAdditionalViewProperties(
const QString& viewName,
const QDomElement* viewEl);
00137
void slotSaveAdditionalViewProperties(
const QString& viewName,
QDomElement* viewEl);
00138
void slotToggleViewbar();
00139
void slotViewActivated(KMdiChildView* view);
00140
void slotPartURLChanged(
KParts::ReadOnlyPart *);
00141
private:
00142
00144
void fillToolViewsMenu(EView eView);
00147
void setWindowMenu(
QPopupMenu *menu);
00148
00149
virtual bool queryClose();
00150
virtual bool queryExit();
00151
00152
00167 KMdiChildView *wrapper(
00168
QWidget *view,
00169
const QString &name);
00170
00171
void createStatusBar();
00172
void createFramework();
00173
void createActions();
00174
00175
void saveSettings();
00176
void saveMDISettings();
00177
void loadMDISettings();
00178
00179
void clearWindowMenu();
00180
void checkAndFixToolViewObjectName(
QWidget* view,
const QString& shortName);
00181
00182
00183
00184 QMap<QWidget*,KMdiChildView*> m_widgetMap;
00185
00186 QMap<KMdiChildView*,QWidget*> m_childViewMap;
00187
00188 QDict<KMdiChildView> m_captionDict;
00189
00190 QPtrList<QWidget> m_outputViews;
00191 QPtrList<QWidget> m_selectViews;
00192 QPtrList<KMdiChildView> m_partViews;
00193 QPtrList<QWidget> m_unavailableViews;
00194
00195
00196 bool m_myWindowsReady;
00197 ViewMenuAction *
m_pShowOutputViews;
00198 ViewMenuAction *
m_pShowTreeViews;
00199 KActionMenu *
m_pTreeToolViewsMenu;
00200 KActionMenu *
m_pOutputToolViewsMenu;
00201 QString m_CurrentOutputTab;
00202 QString m_CurrentTreeTab;
00203 KToggleAction*
m_toggleViewbar;
00204
00205 MainWindowShare*
m_pMainWindowShare;
00206
00207 QValueList<int> m_windowMenus;
00208
00209 bool m_bUiModeSwitchPending;
00210 bool m_bRemoveViewPending;
00211
00212 int mdiStyle;
00213 };
00214
00215
00218 struct ViewMenuActionPrivateData
00219 {
00220 KDockWidget *
pDockWidget;
00221 QWidget *
pChildView;
00222 MainWindow::EView
eView;
00223 };
00224
00227 class ViewMenuAction :
public KToggleAction
00228 {
00229 Q_OBJECT
00230
public:
00231
ViewMenuAction(
ViewMenuActionPrivateData Data,
const QString &Name);
00252
ViewMenuAction(
00253
ViewMenuActionPrivateData Data,
00254
const QString& text,
const QString& pix,
const KShortcut& cut,
00255
const QObject* receiver,
const char* slot,
00256
KActionCollection* parent,
const char* name );
00257
00258 const ViewMenuActionPrivateData*
getData(
void)
00259 {
return &
WindowData;}
00260
00261 signals:
00262
void activated (
const ViewMenuActionPrivateData &);
00263
protected slots:
00264
virtual void slotActivated();
00265
00266
private:
00268 ViewMenuActionPrivateData WindowData;
00269
00270 };
00271
00272
00273
#endif
This file is part of the documentation for KDevelop Version 3.0.4.