// // Copyright 2006 Jim Bublitz // Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson // may also apply // Generated by preSip // module tdecore 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 TDEApplication : TQApplication, TDEInstance { %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 }; TDEApplication (bool = 1, bool = 1); %If ( KDE_3_3_0 - ) //ig TDEApplication (Display*, TQt::HANDLE = 0, TQt::HANDLE = 0, bool = 1); %End //ig TDEApplication (Display*, int&, char**, const TQCString&, bool = 1, bool = 1); TDEApplication (SIP_PYLIST, TQCString&, bool = 1, bool = 1) [(int&, char**, const TQCString&, 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 TDECmdLineArgs::init (nargc, argv, (char *)"unknown", (char *)"KDE Application", NULL, false); sipCpp = new sipTDEApplication((bool)a1,(bool)a2); // This method calls TDECmdLineArgs::initIgnore, which is a private method // sipCpp = new sipTDEApplication (nargc,argv, qc, a1, a2); Py_END_ALLOW_THREADS // Now modify the original list. updatePyArgv(a0, argc, argv); %End static void addCmdLineOptions (); static TDEApplication* 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 (TDEApplication::ShutdownConfirm = ShutdownConfirmDefault , TDEApplication::ShutdownType = ShutdownTypeDefault , TDEApplication::ShutdownMode = ShutdownModeDefault ); void propagateSessionManager (); void commitData (TQSessionManager&); void saveState (TQSessionManager&); %If ( KDE_3_1_1 - ) bool sessionSaving () const; %End static DCOPClient* dcopClient (); static void disableAutoDcopRegistration (); TQPixmap icon () const; TQString iconName () const; TQPixmap miniIcon () const; TQString miniIconName () const; void setTopWidget (TQWidget*); %If ( KDE_3_2_0 - ) void invokeHelp (const TQString&, const TQString&, const TQCString&) const; %End void invokeHelp (const TQString& = TQString ::null , const TQString& = TQString ::null ) const; void invokeHTMLHelp (const TQString&, const TQString& = TQString ::null ) const; %If ( KDE_3_2_0 - ) void invokeMailer (const TQString&, const TQString&, const TQCString&); %End void invokeMailer (const TQString&, const TQString&); %If ( KDE_3_3_0 - ) void invokeMailer (const KURL&, const TQCString&, bool); %End %If ( KDE_3_2_0 - ) void invokeMailer (const KURL&, const TQCString&); %End void invokeMailer (const KURL&); %If ( KDE_3_2_0 - ) void invokeMailer (const TQString&, const TQString&, const TQString&, const TQString&, const TQString&, const TQString&, const TQStringList&, const TQCString&); %End void invokeMailer (const TQString&, const TQString&, const TQString&, const TQString&, const TQString&, const TQString& = TQString ::null , const TQStringList& = TQStringList ()); public slots: %If ( KDE_3_2_0 - ) void invokeBrowser (const TQString&, const TQCString&); %End void invokeBrowser (const TQString&); %If ( KDE_3_2_0 - ) void cut (); void copy (); void paste (); void clear (); void selectAll (); %End public: static TQCString launcher (); static int startServiceByName (const TQString&, const TQString&, TQString* /Out/, TQCString* /Out/, int*, const TQCString& = TQCString ("" ), bool = 0); static int startServiceByName (const TQString&, const TQStringList&, TQString* /Out/, TQCString* /Out/, int*, const TQCString& = TQCString ("" ), bool = 0); static int startServiceByDesktopPath (const TQString&, const TQString&, TQString* /Out/, TQCString* /Out/, int*, const TQCString& = TQCString ("" ), bool = 0); static int startServiceByDesktopPath (const TQString&, const TQStringList&, TQString* /Out/, TQCString* /Out/, int*, const TQCString& = TQCString ("" ), bool = 0); static int startServiceByDesktopName (const TQString&, const TQString&, TQString* /Out/, TQCString* /Out/, int*, const TQCString& = TQCString ("" ), bool = 0); static int startServiceByDesktopName (const TQString&, const TQStringList&, TQString* /Out/, TQCString* /Out/, int*, const TQCString& = TQCString ("" ), bool = 0); %If ( KDE_3_2_0 - ) static int tdeinitExec (const TQString&, const TQStringList&, TQString* /Out/, int*, TQCString&); %End static int tdeinitExec (const TQString&, const TQStringList&, TQString* /Out/, int*); %If ( KDE_3_2_0 - ) static int tdeinitExecWait (const TQString&, const TQStringList&, TQString* /Out/, int*, TQCString&); %End static int tdeinitExecWait (const TQString&, const TQStringList&, TQString* /Out/, int*); TQString caption () const; //ig KStyle* kstyle () const; TQString makeStdCaption (const TQString&, bool = 1, bool = 0) const; TQString tempSaveName (const TQString&) const; TQString checkRecoverFile (const TQString&, bool&) const; Display* getDisplay (); void enableStyles (); void disableStyles (); void installX11EventFilter (TQWidget*); %If ( KDE_3_2_0 - ) void removeX11EventFilter (const TQWidget*); %End static int random (); static TQString randomString (int); void addKipcEventMask (int); void removeKipcEventMask (int); TQCString startupId () const; void setStartupId (const TQCString&); %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 TQCString&, ulong = 0); %End %End %End TQString geometryArgument () const; void installKDEPropertyMap (); bool authorize (const TQString&); bool authorizeKAction (const char*); %If ( KDE_3_1_0 - ) bool authorizeURLAction (const TQString&, const KURL&, const KURL&); %If ( KDE_3_2_0 - ) void allowURLAction (const TQString&, const KURL&, const KURL&); bool authorizeControlModule (const TQString&); TQStringList authorizeControlModules (const TQStringList&); %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: TDEApplication (bool, bool, TDEInstance*); %If ( KDE_3_3_0 - ) //ig TDEApplication (Display*, TQt::HANDLE, TQt::HANDLE, bool, TDEInstance*); %End //ig bool x11EventFilter (XEvent*); %If ( KDE_3_2_0 - ) void invokeEditSlot (const char*); %End public: bool notify (TQObject*, TQEvent*); %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 TQPalette createApplicationPalette (); static TQPalette 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: TDEApplication (const TDEApplication&); protected: //igx virtual void virtual_hook (int, void*); public: %If ( - KDE_3_2_0 ) int xioErrhandler (); %End }; // class TDEApplication class KSessionManaged { %TypeHeaderCode #include %End public: KSessionManaged (); virtual bool saveState (TQSessionManager&); virtual bool commitData (TQSessionManager&); protected: //igx virtual void virtual_hook (int, void*); }; // class KSessionManaged typedef ulong Atom; //ig typedef void Display; //ig bool checkAccess (const TQString&, 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