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 <kstandarddirs.h>
31 #include <tqapplication.h>
34 #include <kxmlguifactory.h>
42 class DockMainWindowPrivate
45 DockMainWindowPrivate()
48 m_bShellGUIActivated =
false;
51 ~DockMainWindowPrivate()
55 TQGuardedPtr<Part> m_activePart;
56 bool m_bShellGUIActivated;
57 KHelpMenu *m_helpMenu;
62 : KDockMainWindow( parent, name, f )
64 d =
new DockMainWindowPrivate();
75 kdDebug(1000) << TQString(TQString(
"DockMainWindow::createGUI for %1").arg(part?part->name():
"0L")) <<
endl;
77 KXMLGUIFactory *factory = guiFactory();
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 );
90 factory->removeClient( d->m_activePart );
92 disconnect( d->m_activePart, TQT_SIGNAL( setWindowCaption(
const TQString & ) ),
93 this, TQT_SLOT( setCaption(
const TQString & ) ) );
94 disconnect( d->m_activePart, TQT_SIGNAL( setStatusBarText(
const TQString & ) ),
98 if ( !d->m_bShellGUIActivated )
102 d->m_bShellGUIActivated =
true;
108 connect( part, TQT_SIGNAL( setWindowCaption(
const TQString & ) ),
109 this, TQT_SLOT( setCaption(
const TQString & ) ) );
110 connect( part, TQT_SIGNAL( setStatusBarText(
const TQString & ) ),
113 factory->addClient( part );
116 TQApplication::sendEvent( part, &ev );
120 setUpdatesEnabled(
true );
122 d->m_activePart = part;
127 statusBar()->message( text );
130 void DockMainWindow::createShellGUI(
bool create )
132 bool bAccelAutoUpdate = accel()->setAutoUpdate(
false );
133 assert( d->m_bShellGUIActivated != create );
134 d->m_bShellGUIActivated = create;
137 if ( isHelpMenuEnabled() )
138 d->m_helpMenu =
new KHelpMenu(
this, instance()->aboutData(),
true, actionCollection() );
140 TQString f = xmlFile();
141 setXMLFile(
locate(
"config",
"ui/ui_standards.rc", instance() ) );
143 setXMLFile( f,
true );
146 TQString auto_file( instance()->instanceName() +
"ui.rc" );
147 setXMLFile( auto_file,
true );
151 TQApplication::sendEvent(
this, &ev );
153 guiFactory()->addClient(
this );
159 TQApplication::sendEvent(
this, &ev );
161 guiFactory()->removeClient(
this );
163 accel()->setAutoUpdate( bAccelAutoUpdate );
166 #include "dockmainwindow.moc"
virtual void slotSetStatusBarText(const TQString &)
Called when the active part wants to change the statusbar message.
virtual ~DockMainWindow()
Destructor.
kdbgstream kdDebug(int area=0)
static TDEInstance * instance()
This event is sent to a Part when its GUI has been activated or deactivated.
DockMainWindow(TQWidget *parent=0L, const char *name=0L, WFlags f=(WFlags) WDestructiveClose)
Constructor, same signature as KDockMainWindow.
void loadPlugins(TQObject *parent, KXMLGUIClient *parentGUIClient, TDEInstance *instance)
Load the Plugins honoring the PluginLoadingMode.
void createGUI(KParts::Part *part)
Create the GUI (by merging the host's and the active part's)
kndbgstream & endl(kndbgstream &s)
TQString locate(const char *type, const TQString &filename, const TDEInstance *instance=TDEGlobal::instance())
void setPartObject(TQObject *object)
Internal method.