DCOP methods in kicker.. "hidden"?
Waldo Bastian
bastian at kde.org
Fri Apr 5 19:12:06 BST 2002
On Friday 05 April 2002 09:39 am, John Firebaugh wrote:
> On Friday 05 April 2002 9:02, Kurt Granroth wrote:
> > I was tracking down why there wasn't a 'popopKMenu' (or similar) DCOP
> > method in kicker since.. well, it makes a lot of sense. In the course of
> > doing so, I discovered that there *is* such a method.. it's just
> > "hidden".
> >
> > Lemme 'splain. In kicker.h, we see a few k_dcop methods -- including one
> > popupKMenu(QPoint). The 'Kicker' class doesn't virtually inherit
> > DCOPObject since it's derived from KUniqueApplication which does (and
> > hence ambiguity). So, to use DCOP within it, we have this line in the
> > Kicker constructor:
> >
> > dcopClient()->setDefaultObject("Panel");
> >
> > So far, so good, right. Well... browsing through the methods using kdcop
> > or 'dcop' we see that the Panel object has very different methods than
> > the ones described in kicker.h. That's because of 'panel.h/cpp' which
> > has the normal DCOPObject("Panel") constructor call. This effectively
> > overwrites the Kicker setting.
>
> Huh? No, this is correct. The default object is "Panel", as it has always
> been. If you want to access methods of kicker, use "kicker". What's the
> problem here?
Something must have changed there at some point because I needed to add a
compatibility method for something to 'Panel' to call 'kicker' (the theme
manager called that) When I did that there was already another compatibility
method there... lemme see... *check source*
I added
void Panel::configure()
{
Kicker::kicker()->configure();
}
and
void Panel::restart()
{
Kicker::kicker()->restart();
}
was already there at the time.
Cheers,
Waldo
--
bastian at kde.org | SuSE Labs KDE Developer | bastian at suse.com
More information about the kde-core-devel
mailing list