22 #include <tdeparts/dockmainwindow.h>
23 #include <tdeparts/event.h>
24 #include <tdeparts/part.h>
26 #include <tdeparts/plugin.h>
27 #include <kstatusbar.h>
28 #include <kinstance.h>
29 #include <khelpmenu.h>
30 #include <tdestandarddirs.h>
31 #include <tqapplication.h>
34 #include <kxmlguifactory.h>
38 using namespace KParts;
42 class DockMainWindowPrivate
45 DockMainWindowPrivate()
48 m_bShellGUIActivated =
false;
51 ~DockMainWindowPrivate()
55 TQGuardedPtr<Part> m_activePart;
56 bool m_bShellGUIActivated;
64 d =
new DockMainWindowPrivate();
75 kdDebug(1000) << TQString(TQString(
"DockMainWindow::createGUI for %1").arg(part?part->name():
"0L")) <<
endl;
79 setUpdatesEnabled(
false );
81 TQPtrList<Plugin> plugins;
83 if ( d->m_activePart )
85 kdDebug(1000) << TQString(TQString(
"deactivating GUI for %1").arg(d->m_activePart->name())) <<
endl;
88 TQApplication::sendEvent( d->m_activePart, &ev );
92 disconnect( d->m_activePart, TQ_SIGNAL( setWindowCaption(
const TQString & ) ),
93 this, TQ_SLOT(
setCaption(
const TQString & ) ) );
94 disconnect( d->m_activePart, TQ_SIGNAL( setStatusBarText(
const TQString & ) ),
98 if ( !d->m_bShellGUIActivated )
102 d->m_bShellGUIActivated =
true;
108 connect( part, TQ_SIGNAL( setWindowCaption(
const TQString & ) ),
109 this, TQ_SLOT(
setCaption(
const TQString & ) ) );
110 connect( part, TQ_SIGNAL( setStatusBarText(
const TQString & ) ),
116 TQApplication::sendEvent( part, &ev );
120 setUpdatesEnabled(
true );
122 d->m_activePart = part;
130 void DockMainWindow::createShellGUI(
bool create )
133 assert( d->m_bShellGUIActivated != create );
134 d->m_bShellGUIActivated = create;
146 TQString auto_file(
instance()->instanceName() +
"ui.rc" );
151 TQApplication::sendEvent(
this, &ev );
153 guiFactory()->addClient(
this );
159 TQApplication::sendEvent(
this, &ev );
161 guiFactory()->removeClient(
this );
166 #include "dockmainwindow.moc"
virtual void setXMLFile(const TQString &file, bool merge=false, bool setXMLDoc=true)
void loadPlugins(TQObject *parent, KXMLGUIClient *parentGUIClient, TDEInstance *instance)
Load the Plugins honoring the PluginLoadingMode.
void removeClient(KXMLGUIClient *client)
void setPartObject(TQObject *object)
Internal method.
This event is sent to a Part when its GUI has been activated or deactivated.
TQString locate(const char *type, const TQString &filename, const TDEInstance *instance=TDEGlobal::instance())
virtual void slotSetStatusBarText(const TQString &)
Called when the active part wants to change the statusbar message.
kndbgstream & endl(kndbgstream &s)
void createGUI(KParts::Part *part)
Create the GUI (by merging the host's and the active part's)
virtual void setCaption(const TQString &caption)
virtual TQString xmlFile() const
kdbgstream kdDebug(int area=0)
virtual ~DockMainWindow()
Destructor.
KXMLGUIFactory * factory() const
void addClient(KXMLGUIClient *client)
virtual TDEInstance * instance() const
DockMainWindow(TQWidget *parent=0L, const char *name=0L, WFlags f=(WFlags) WDestructiveClose)
Constructor, same signature as KDockMainWindow.
static TDEInstance * instance()
virtual TDEActionCollection * actionCollection() const
bool setAutoUpdate(bool bAuto)