// // Copyright 2006 Jim Bublitz // Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson // may also apply // Generated by preSip // module kdecore version KDE 3.5.3 // This software is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as // published by the Free Software Foundation; either version 2 of // the License, or (at your option) any later version. // // This software is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public // License along with this library; see the file COPYING. // If not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. class KApplication : QApplication, KInstance { %TypeHeaderCode #include #include extern char **pyArgvToC(PyObject *argvlist,int *argcp); extern void updatePyArgv(PyObject *argvlist,int argc,char **argv); %End public: enum CaptionLayout { CaptionAppLast, CaptionAppFirst, CaptionNoApp }; KApplication (bool = 1, bool = 1); %If ( KDE_3_3_0 - ) //ig KApplication (Display*, Qt::HANDLE = 0, Qt::HANDLE = 0, bool = 1); %End //ig KApplication (Display*, int&, char**, const QCString&, bool = 1, bool = 1); KApplication (SIP_PYLIST, QCString&, bool = 1, bool = 1) [(int&, char**, const QCString&, bool = 1, bool = 1)]; %MethodCode //takes argv | (a Python list of strings) | rAppName | (Python string) | allowStyles | (bool = 1) | GUIenabled | (bool = 1) int argc, nargc; char **argv; // Convert the list. if ((argv = pyArgvToC(a0, &argc)) == NULL) return NULL; // Create it now the arguments are right. nargc = argc; Py_BEGIN_ALLOW_THREADS // The following two lines simulate the actual ctor call // which is commented out below KCmdLineArgs::init (nargc, argv, (char *)"unknown", (char *)"KDE Application", NULL, false); sipCpp = new sipKApplication((bool)a1,(bool)a2); // This method calls KCmdLineArgs::initIgnore, which is a private method // sipCpp = new sipKApplication (nargc,argv, qc, a1, a2); Py_END_ALLOW_THREADS // Now modify the original list. updatePyArgv(a0, argc, argv); %End static void addCmdLineOptions (); static KApplication* kApplication (); KConfig* sessionConfig (); bool isRestored () const; void disableSessionManagement (); %If ( KDE_3_2_0 - ) void enableSessionManagement (); %End enum ShutdownConfirm { ShutdownConfirmDefault, ShutdownConfirmNo, ShutdownConfirmYes }; enum ShutdownType { ShutdownTypeDefault, ShutdownTypeNone, ShutdownTypeReboot, ShutdownTypeHalt }; enum ShutdownMode { ShutdownModeDefault, ShutdownModeSchedule, ShutdownModeTryNow, ShutdownModeForceNow, ShutdownModeInteractive }; bool requestShutDown (KApplication::ShutdownConfirm = ShutdownConfirmDefault , KApplication::ShutdownType = ShutdownTypeDefault , KApplication::ShutdownMode = ShutdownModeDefault ); void propagateSessionManager (); void commitData (QSessionManager&); void saveState (QSessionManager&); %If ( KDE_3_1_1 - ) bool sessionSaving () const; %End static DCOPClient* dcopClient (); static void disableAutoDcopRegistration (); QPixmap icon () const; QString iconName () const; QPixmap miniIcon () const; QString miniIconName () const; void setTopWidget (QWidget*); %If ( KDE_3_2_0 - ) void invokeHelp (const QString&, const QString&, const QCString&) const; %End void invokeHelp (const QString& = QString ::null , const QString& = QString ::null ) const; void invokeHTMLHelp (const QString&, const QString& = QString ::null ) const; %If ( KDE_3_2_0 - ) void invokeMailer (const QString&, const QString&, const QCString&); %End void invokeMailer (const QString&, const QString&); %If ( KDE_3_3_0 - ) void invokeMailer (const KURL&, const QCString&, bool); %End %If ( KDE_3_2_0 - ) void invokeMailer (const KURL&, const QCString&); %End void invokeMailer (const KURL&); %If ( KDE_3_2_0 - ) void invokeMailer (const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QStringList&, const QCString&); %End void invokeMailer (const QString&, const QString&, const QString&, const QString&, const QString&, const QString& = QString ::null , const QStringList& = QStringList ()); public slots: %If ( KDE_3_2_0 - ) void invokeBrowser (const QString&, const QCString&); %End void invokeBrowser (const QString&); %If ( KDE_3_2_0 - ) void cut (); void copy (); void paste (); void clear (); void selectAll (); %End public: static QCString launcher (); static int startServiceByName (const QString&, const QString&, QString* /Out/, QCString* /Out/, int*, const QCString& = QCString ("" ), bool = 0); static int startServiceByName (const QString&, const QStringList&, QString* /Out/, QCString* /Out/, int*, const QCString& = QCString ("" ), bool = 0); static int startServiceByDesktopPath (const QString&, const QString&, QString* /Out/, QCString* /Out/, int*, const QCString& = QCString ("" ), bool = 0); static int startServiceByDesktopPath (const QString&, const QStringList&, QString* /Out/, QCString* /Out/, int*, const QCString& = QCString ("" ), bool = 0); static int startServiceByDesktopName (const QString&, const QString&, QString* /Out/, QCString* /Out/, int*, const QCString& = QCString ("" ), bool = 0); static int startServiceByDesktopName (const QString&, const QStringList&, QString* /Out/, QCString* /Out/, int*, const QCString& = QCString ("" ), bool = 0); %If ( KDE_3_2_0 - ) static int kdeinitExec (const QString&, const QStringList&, QString* /Out/, int*, QCString&); %End static int kdeinitExec (const QString&, const QStringList&, QString* /Out/, int*); %If ( KDE_3_2_0 - ) static int kdeinitExecWait (const QString&, const QStringList&, QString* /Out/, int*, QCString&); %End static int kdeinitExecWait (const QString&, const QStringList&, QString* /Out/, int*); QString caption () const; //ig KStyle* kstyle () const; QString makeStdCaption (const QString&, bool = 1, bool = 0) const; QString tempSaveName (const QString&) const; QString checkRecoverFile (const QString&, bool&) const; Display* getDisplay (); void enableStyles (); void disableStyles (); void installX11EventFilter (QWidget*); %If ( KDE_3_2_0 - ) void removeX11EventFilter (const QWidget*); %End static int random (); static QString randomString (int); void addKipcEventMask (int); void removeKipcEventMask (int); QCString startupId () const; void setStartupId (const QCString&); %If ( KDE_3_2_0 - ) void updateUserTimestamp (ulong = 0); %If ( KDE_3_2_3 - ) ulong userTimestamp () const; %If ( KDE_3_3_0 - ) void updateRemoteUserTimestamp (const QCString&, ulong = 0); %End %End %End QString geometryArgument () const; void installKDEPropertyMap (); bool authorize (const QString&); bool authorizeKAction (const char*); %If ( KDE_3_1_0 - ) bool authorizeURLAction (const QString&, const KURL&, const KURL&); %If ( KDE_3_2_0 - ) void allowURLAction (const QString&, const KURL&, const KURL&); bool authorizeControlModule (const QString&); QStringList authorizeControlModules (const QStringList&); %If ( KDE_3_4_0 - ) static ButtonState keyboardMouseState (); %End %End enum { ShiftModifier, LockModifier, ControlModifier, Modifier1, Modifier2, Modifier3, Modifier4, Modifier5 }; static uint keyboardModifiers (); enum { Button1Pressed, Button2Pressed, Button3Pressed, Button4Pressed, Button5Pressed }; static uint mouseState (); %End public slots: void ref (); void deref (); protected: KApplication (bool, bool, KInstance*); %If ( KDE_3_3_0 - ) //ig KApplication (Display*, Qt::HANDLE, Qt::HANDLE, bool, KInstance*); %End //ig bool x11EventFilter (XEvent*); %If ( KDE_3_2_0 - ) void invokeEditSlot (const char*); %End public: bool notify (QObject*, QEvent*); %If ( KDE_3_2_0 - ) //ig int xErrhandler (Display*, void*); //ig int xioErrhandler (Display*); %End %If ( KDE_3_0_1 - ) //ig void iceIOErrorHandler (_IceConn*); %End bool loadedByKdeinit; static void startKdeinit (); enum SettingsCategory { SETTINGS_MOUSE, SETTINGS_COMPLETION, SETTINGS_PATHS, SETTINGS_POPUPMENU, SETTINGS_QT, SETTINGS_SHORTCUTS }; %If ( KDE_3_1_0 - ) static QPalette createApplicationPalette (); static QPalette createApplicationPalette (KConfig*, int); %If ( KDE_3_2_0 - ) static void installSigpipeHandler (); static bool guiEnabled (); %End %End signals: void kdisplayPaletteChanged (); void kdisplayStyleChanged (); void kdisplayFontChanged (); void appearanceChanged (); void toolbarAppearanceChanged (int); void backgroundChanged (int); void settingsChanged (int); void iconChanged (int); void kipcMessage (int, int); void saveYourself (); void shutDown (); private: KApplication (const KApplication&); protected: //igx virtual void virtual_hook (int, void*); public: %If ( - KDE_3_2_0 ) int xioErrhandler (); %End }; // class KApplication class KSessionManaged { %TypeHeaderCode #include %End public: KSessionManaged (); virtual bool saveState (QSessionManager&); virtual bool commitData (QSessionManager&); protected: //igx virtual void virtual_hook (int, void*); }; // class KSessionManaged typedef ulong Atom; //ig typedef void Display; //ig bool checkAccess (const QString&, int); %ModuleCode #include // Convert a Python argv list to a conventional C argc count and argv array. char **pyArgvToC(PyObject *argvlist,int *argcp) { int argc; char **argv; argc = PyList_Size(argvlist); // Allocate space for two copies of the argument pointers, plus the // terminating NULL. if ((argv = (char **)sipMalloc(2 * (argc + 1) * sizeof (char *))) == NULL) return NULL; // Convert the list. for (int a = 0; a < argc; ++a) { char *arg; // Get the argument and allocate memory for it. if ((arg = PyString_AsString(PyList_GetItem(argvlist,a))) == NULL || (argv[a] = (char *)sipMalloc(strlen(arg) + 1)) == NULL) return NULL; // Copy the argument and save a pointer to it. strcpy(argv[a],arg); argv[a + argc + 1] = argv[a]; } argv[argc + argc + 1] = argv[argc] = NULL; *argcp = argc; return argv; } // Remove arguments from the Python argv list that have been removed from the // C argv array. void updatePyArgv(PyObject *argvlist,int argc,char **argv) { for (int a = 0, na = 0; a < argc; ++a) { // See if it was removed. if (argv[na] == argv[a + argc + 1]) ++na; else PyList_SetSlice(argvlist,na,na + 1,NULL); } } %End