summaryrefslogtreecommitdiffstats
path: root/python/pykde/examples/pyKHTMLPart.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/pykde/examples/pyKHTMLPart.py')
-rw-r--r--python/pykde/examples/pyKHTMLPart.py214
1 files changed, 0 insertions, 214 deletions
diff --git a/python/pykde/examples/pyKHTMLPart.py b/python/pykde/examples/pyKHTMLPart.py
deleted file mode 100644
index 7629c115..00000000
--- a/python/pykde/examples/pyKHTMLPart.py
+++ /dev/null
@@ -1,214 +0,0 @@
-#
-# pyParts.py (C) 2002 Jim Bublitz <jbublitz@nwinternet.com>
-#
-
-"""
-
-This is an extemely simple and crude example of using
-a KHTMLPart - I put it together mostly to make sure
-the openURL method worked correctly after some modifications
-done in KParts::ReadOnlyPart. It took exactly four lines
-added to a basic PyKDE app framework to display a URL
-via the 'net:
-
- self.w = KHTMLPart (self, "HTMLPart", self);
- self.w.openURL (KURL ("http://www.kde.org"));
- self.w.view ().setGeometry (30, 55, 500, 400);
- self.w.show ();
-
-(Actually 5 lines if you count the 'import' line)
-
-You can play around with the commented out lines or add
-additional code to make this do something useful. The
-.rc for khtnmlpart (sorry, I never looked it up), doesn't
-seem to provide much help. Also, to follow links, you
-probably need to connect some signals to slots. I
-haven't tried it, but this should work with a plain
-KMainWindow or other widget too.
-
-The KDE website also incorporates gifs, jpegs, and
-I believe CSS too. Playing around with some other
-sites, it appears the font defaults could use some
-improvement.
-
-NOTE!!! For this to work, you (obviously) need to have
-a route to the internet established or specify a local
-URL - PyKDE/KDE will take care of everything else.
-
-Perceptive users will notice the KHTMLPart code is
-lifted from the KDE classref.
-
-"""
-
-# If you import more classes, don't forget to add them here (some of these
-# are extras/not used)
-
-from kdecore import KCmdLineArgs, KURL, KApplication, i18n, KAboutData, BarIcon, KLibLoader
-
-from kdeui import KMainWindow, KMessageBox, KAction, KStdAction, KKeyDialog, KEditToolbar
-
-from qt import QString, QStringList
-
-from kio import KTrader
-
-from khtml import KHTMLPart, KHTMLView
-
-# Importing the KParts namespace gets us all of the KParts:: classes
-from kparts import KParts, createReadOnlyPart, createReadWritePart
-
-import sys, os
-
-FALSE = 0
-TRUE = not FALSE
-
-TOOLBAR_EXIT = 0
-TOOLBAR_OPEN = 1
-
-# Note that we use KParts.MainWindow, not KMainWindow as the superclass
-# (KParts.MainWindow subclasses KMainWindow). Also, be sure the 'apply'
-# clause references KParts.MainWindow - it's a hard bug to track down
-# if it doesn't.
-
-class pyPartsMW (KParts.MainWindow):
- def __init__ (self, *args):
- apply (KParts.MainWindow.__init__, (self,) + args)
-
- # Create the actions for our menu/toolbar to use
- # Keep in mind that the part loaded will provide its
- # own menu/toolbar entries
-
- # check out KParts.MainWindow's ancestry to see where
- # some of this and later stuff (like self.actionCollection () )
- # comes from
-
- quitAction = KStdAction.quit (self.close, self.actionCollection ())
-
- self.m_toolbarAction = KStdAction.showToolbar(self.optionsShowToolbar, self.actionCollection());
- self.m_statusbarAction = KStdAction.showStatusbar(self.optionsShowStatusbar, self.actionCollection());
-
- KStdAction.keyBindings(self.optionsConfigureKeys, self.actionCollection());
- KStdAction.configureToolbars(self.optionsConfigureToolbars, self.actionCollection());
-
- self.path = os.getcwd () + '/'
- self.setGeometry (0, 0, 600, 500)
-
- # point to our XML file
- self.setXMLFile (self.path + "pyParts.rc", FALSE)
-
- # The next few lines are all that's necessary to
- # create a web browser (of course you have to edit
- # this file to change url's)
-
- self.w = KHTMLPart (self, "HTMLPart", self);
- self.w.openURL (KURL ("http://www.kde.org"));
-
- self.w.view ().setGeometry (30, 55, 500, 400);
-
-
-# self.v = KHTMLView (self.w, self)
-
-# self.setCentralWidget (self.v)
-
-# self.createGUI (self.w)
-
- self.w.show ();
-
-
-
-
- # slots for our actions
- def optionsShowToolbar (self):
- if self.m_toolbarAction.isChecked():
- self.toolBar().show()
- else:
- self.toolBar().hide()
-
- def optionsShowStatusbar (self):
- if self.m_statusbarAction.isChecked ():
- self.statusBar().show()
- else:
- self.statusBar().hide()
-
-
- def optionsConfigureKeys (self):
- KKeyDialog.configureActionKeys (self.actionCollection(), self.xmlFile ())
-
-
- def optionsConfigureToolbars (self):
- dlg = KEditToolbar (self.actionCollection(), self.xmlFile ())
- if dlg.exec_loop ():
- self.createGUI(self);
-
-
- # some boilerplate left over from pyKLess/KLess
- def queryClose(self):
- res = KMessageBox.warningYesNoCancel(self,\
- i18n("Save changes to Document?<br>(Does not make sense, we know, but it is just a programming example :-)"))
- if res == KMessageBox.Yes:
- #// save document here. If saving fails, return FALSE
- return TRUE
-
- elif res == KMessageBox.No:
- return TRUE
-
- else: #// cancel
- return FALSE
-
- def queryExit(self):
- #// this slot is invoked in addition when the *last* window is going
- #// to be closed. We could do some final cleanup here.
- return TRUE #// accept
-
- # I'm not sure the session mgmt stuff here works
-
- # Session management: save data
- def saveProperties(self, config):
- # This is provided just as an example.
- # It is generally not so good to save the raw contents of an application
- # in its configuration file (as this example does).
- # It is preferable to save the contents in a file on the application's
- # data zone and save an URL to it in the configuration resource.
- config.writeEntry("text", self.edit.text())
-
-
- # Session management: read data again
- def readProperties(self, config):
- # See above
- self.edit.setText(config.readEntry("text"))
-
-
-
-#------------- main ----------------------------
-
-# A Human readable description of your program
-description = "KHTMLPart - simple example"
-# The version
-version = "0.1"
-
-# stuff for the "About" menu
-aboutData = KAboutData ("pyKHTMLPart", "pyHTMLPart",\
- version, description, KAboutData.License_GPL,\
- "(c) 2002, Jim Bublitz")
-
-aboutData.addAuthor ("Jim Bublitz", "Example for PyKDE", "jbublitz@nwinternet.com")
-
-# This MUST go here (before KApplication () is called)
-KCmdLineArgs.init (sys.argv, aboutData)
-
-app = KApplication ()
-
-if (app.isRestored()):
- RESTORE(KLess)
-else:
- # no session management: just create one window
- # this is our KParts::MainWindow derived class
- parts = pyPartsMW (None, "pyParts")
- if len(sys.argv) > 1:
- # read kcmdlineargs.h for the full unabridged instructions
- # on using KCmdLineArgs, it's pretty confusing at first, but it works
- # This is pretty useless in this program - you might want to
- # expand this in your app (to load a file, etc)
- args = KCmdLineArgs.parsedArgs()
-
-parts.show()
-app.exec_loop()