summaryrefslogtreecommitdiffstats
path: root/python/pykde/examples/uiqxembed.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/pykde/examples/uiqxembed.py')
-rw-r--r--python/pykde/examples/uiqxembed.py119
1 files changed, 0 insertions, 119 deletions
diff --git a/python/pykde/examples/uiqxembed.py b/python/pykde/examples/uiqxembed.py
deleted file mode 100644
index 4f223b70..00000000
--- a/python/pykde/examples/uiqxembed.py
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env python
-"""
-
-"""
-import sys
-
-from qt import QIconSet, QProcess, QTimer, SIGNAL, SLOT
-
-from kdecore import KAboutData, KApplication, KCmdLineArgs, KGlobal, KIcon
-from kdecore import KWin, KWinModule
-from kdeui import KComboBox, KMainWindow, KPushButton, QXEmbed
-
-
-## add the missing items to the pyuic-generated module
-import qxembedexample
-qxembedexample.KComboBox = KComboBox
-qxembedexample.KPushButton = KPushButton
-
-from qxembedexample import QXEmbedExample
-
-
-def getIcon(name, group=KIcon.NoGroup, size=KIcon.SizeSmall):
- """ returns a kde icon by name
-
- """
- return KGlobal.instance().iconLoader().loadIcon(name, group, size)
-
-def getIconSet(name, group=KIcon.NoGroup, size=KIcon.SizeSmall):
- """ returns a kde icon set by name
-
- """
- return KGlobal.instance().iconLoader().loadIconSet(name, group, size)
-
-
-def getWindow(pid):
- """ return a window info object for the process id (or None)
-
- """
- for winid in KWinModule().windows():
- info = KWin.info(winid)
- if pid == info.pid:
- return info
-
-
-class ExampleForm(QXEmbedExample):
- """ wraps the pyuic generated form class with our behavior
-
- """
- def __init__(self, parent):
- QXEmbedExample.__init__(self, parent)
- combo = self.appNameCombo
- items = [(idx, '%s' % combo.text(idx)) for idx in range(combo.count())]
- for idx, name in items:
- combo.changeItem(getIcon(name), name, idx)
- self.mainTabs.setTabIconSet(self.tab, getIconSet('help'))
- self.launchButton.setIconSet(getIconSet('exec'))
- self.launchButton.setText('Launch and Embed')
-
- def launchApp(self):
- """ launch the process selected in the combo
-
- """
- name = self.appNameCombo.currentText()
- self.proc = proc = QProcess()
- proc.addArgument(name)
- code = proc.start()
- if code:
- pid = proc.processIdentifier()
- self.launchPid = pid ## cheap
- QTimer.singleShot(2000, self.embedLaunchedWindow)
- else:
- print 'failed to start %s' % name
- return
-
- def embedLaunchedWindow(self):
- """ embed the window of the last launched pid
-
- """
- pid = self.launchPid
- winobj = getWindow(pid)
- if winobj:
- tabs = self.mainTabs
- embedded = QXEmbed(self)
- caption = '%s (%s)' % (winobj.name, pid, )
- tabs.insertTab(embedded, caption)
- embedded.embed(winobj.win)
- tabs.showPage(embedded)
- pxm = KWin.icon(winobj.win)
- tabs.setTabIconSet(embedded, QIconSet(pxm))
-
-
-class ExampleMain(KMainWindow):
- """ an example main window
-
- """
- def __init__ (self, *args):
- KMainWindow.__init__(self, *args)
- self.setGeometry(0, 0, 400, 400)
- self.embed = embed = ExampleForm(self)
- self.setCentralWidget(embed)
-
-
-if __name__ == '__main__':
- aname = 'PyKDE QXEmbed Sample'
- desc = 'A Simple PyKDE QXEmbed Sample'
- ver = '1.0'
- lic = KAboutData.License_GPL
- author = 'Troy Melhase'
- authormail = 'troy@gci.net'
-
- about = KAboutData(aname, aname, ver, desc, lic, '%s (c) 2004' % authormail)
- about.addAuthor(author, 'hi, mom!', authormail)
- about.addAuthor ('Jim Bublitz', 'For PyKDE', 'jbublitz@nwinternet.com')
- KCmdLineArgs.init(sys.argv, about)
- app = KApplication()
- mainWindow = ExampleMain()
- mainWindow.show()
- app.connect(app, SIGNAL('lastWindowClosed()'), app, SLOT('quit()'))
- app.exec_loop()