diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-02-01 15:12:07 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-02-01 15:12:07 -0600 |
commit | 3ed7c09d22a5f310a97516f5bab6068e5688a813 (patch) | |
tree | 23ba07d28f7fad17824db1fc40e9cf1ad4942480 /kdejava/koala/org/kde/koala/TDEMainWindow.java | |
parent | 3a8473ba2620b85b165b5a2fa1a6b153f5945800 (diff) | |
download | tdebindings-3ed7c09d22a5f310a97516f5bab6068e5688a813.tar.gz tdebindings-3ed7c09d22a5f310a97516f5bab6068e5688a813.zip |
Rename a number of classes to enhance compatibility with KDE4
Diffstat (limited to 'kdejava/koala/org/kde/koala/TDEMainWindow.java')
-rw-r--r-- | kdejava/koala/org/kde/koala/TDEMainWindow.java | 1082 |
1 files changed, 1082 insertions, 0 deletions
diff --git a/kdejava/koala/org/kde/koala/TDEMainWindow.java b/kdejava/koala/org/kde/koala/TDEMainWindow.java new file mode 100644 index 00000000..f7e132e1 --- /dev/null +++ b/kdejava/koala/org/kde/koala/TDEMainWindow.java @@ -0,0 +1,1082 @@ +//Auto-generated by kalyptus. DO NOT EDIT. +package org.kde.koala; + +import org.kde.qt.Qt; +import org.kde.qt.TQDomDocument; +import org.kde.qt.TQMetaObject; +import org.kde.qt.QtSupport; +import org.kde.qt.TQCloseEvent; +import org.kde.qt.TQPixmap; +import org.kde.qt.TQPaintEvent; +import org.kde.qt.TQSize; +import java.util.ArrayList; +import org.kde.qt.TQWidget; +import org.kde.qt.TQDomElement; +import org.kde.qt.TQResizeEvent; +import org.kde.qt.TQChildEvent; +import org.kde.qt.TQMainWindow; + +/** + + Top level widget that provides toolbars, a status line and a frame. + It should be used as a top level (parent-less) widget. + It manages the geometry for all its children, including your + main widget. + Normally, you will inherit from TDEMainWindow, + then construct (or use some existing) widget as + your main view. You can set only one main view. + You can add as many toolbars as you like. There can be only one menubar + and only one statusbar. + The toolbars, menubar, and statusbar can be created by the + TDEMainWindow and - unlike the old TDEMainWindow - may, but do not + have to, be deleted by you. TDEMainWindow will handle that internally. + Height and width can be operated independently from each other. Simply + define the minimum/maximum height/width of your main widget and + TDEMainWindow will take this into account. For fixed size windows set + your main widget to a fixed size. + Fixed aspect ratios (heightForWidth()) and fixed width widgets are + not supported. + TDEMainWindow will set icon, mini icon and caption, which it gets + from TDEApplication. It provides full session management, and + will save its position, geometry and positions of toolbars and + menubar on logout. If you want to save additional data, reimplement + saveProperties() and (to read them again on next login) + readProperties(). To save special data about your data, reimplement + saveGlobalProperties(). To warn user that application or + windows have unsaved data on close or logout, reimplement + queryClose() and/or queryExit(). + There are also kRestoreMainWindows convenience functions which + can restore all your windows on next login. + Note that a TDEMainWindow per-default is created with the + WDestructiveClose flag, i.e. it is automatically destroyed when the + window is closed. If you do not want this behavior, specify 0 as + widget flag in the constructor. + @author Reginald Stadlbauer (reggie@kde.org) Stephan Kulow (coolo@kde.org), Matthias Ettrich (ettrich@kde.org), Chris Schlaeger (cs@kde.org), Sven Radej (radej@kde.org). Maintained by Sven Radej (radej@kde.org) + + @short %KDE top level main window. + @see TDEApplication + +*/ +public class TDEMainWindow extends TQMainWindow implements KXMLGUIBuilderInterface, KXMLGUIClientInterface { + protected TDEMainWindow(Class dummy){super((Class) null);} + /** + Flags that can be passed in an argument to the constructor to + change the behavior. + NoDCOPObject tells TDEMainWindow not to create a TDEMainWindowInterface. + This can be useful in particular for inherited classes, which + might want to create more specific dcop interfaces. It's a good + idea to use TDEMainWindowInterface as the base class for such interfaces + though (to provide the standard mainwindow functionality via DCOP). + @short Flags that can be passed in an argument to the constructor to change the behavior. + */ + public static final int NoDCOPObject = 1; + + /** + @short + @see #setupGUI + */ + public static final int ToolBar = 1; + public static final int Keys = 2; + public static final int StatusBar = 4; + public static final int Save = 8; + public static final int Create = 16; + + public native TQMetaObject metaObject(); + public native String className(); + /** + Construct a main window. + @param parent The widget parent. This is usually 0 but it may also be the window + group leader. In that case, the TDEMainWindow becomes sort of a + secondary window. + @param name The object name. For session management and window management to work + properly, all main windows in the application should have a + different name. When passing 0 (the default), TDEMainWindow will create + a unique name, but it's recommended to explicitly pass a window name that will + also describe the type of the window. If there can be several windows of the same + type, append '#' (hash) to the name, and TDEMainWindow will append numbers to make + the names unique. For example, for a mail client which has one main window showing + the mails and folders, and which can also have one or more windows for composing + mails, the name for the folders window should be e.g. "mainwindow" and + for the composer windows "composer#". + @param f Specify the widget flags. The default is + WType_TopLevel and WDestructiveClose. TopLevel indicates that a + main window is a toplevel window, regardless of whether it has a + parent or not. DestructiveClose indicates that a main window is + automatically destroyed when its window is closed. Pass 0 if + you do not want this behavior. + TDEMainWindows must be created on the heap with 'new', like: + <pre> + TDEMainWindow kmw = new TDEMainWindow (...); + </pre> + @short Construct a main window. + @see #http://doc#trolltech#com/3#2/qt#html#WidgetFlags-enum + */ + public TDEMainWindow(TQWidget parent, String name, int f) { + super((Class) null); + newTDEMainWindow(parent,name,f); + } + private native void newTDEMainWindow(TQWidget parent, String name, int f); + public TDEMainWindow(TQWidget parent, String name) { + super((Class) null); + newTDEMainWindow(parent,name); + } + private native void newTDEMainWindow(TQWidget parent, String name); + public TDEMainWindow(TQWidget parent) { + super((Class) null); + newTDEMainWindow(parent); + } + private native void newTDEMainWindow(TQWidget parent); + public TDEMainWindow() { + super((Class) null); + newTDEMainWindow(); + } + private native void newTDEMainWindow(); + /** + Overloaded constructor which allows passing some TDEMainWindow.CreationFlags. + @short Overloaded constructor which allows passing some TDEMainWindow.CreationFlags. + */ + public TDEMainWindow(int cflags, TQWidget parent, String name, int f) { + super((Class) null); + newTDEMainWindow(cflags,parent,name,f); + } + private native void newTDEMainWindow(int cflags, TQWidget parent, String name, int f); + public TDEMainWindow(int cflags, TQWidget parent, String name) { + super((Class) null); + newTDEMainWindow(cflags,parent,name); + } + private native void newTDEMainWindow(int cflags, TQWidget parent, String name); + public TDEMainWindow(int cflags, TQWidget parent) { + super((Class) null); + newTDEMainWindow(cflags,parent); + } + private native void newTDEMainWindow(int cflags, TQWidget parent); + public TDEMainWindow(int cflags) { + super((Class) null); + newTDEMainWindow(cflags); + } + private native void newTDEMainWindow(int cflags); + /** + Retrieve the standard help menu. + It contains entires for the + help system (activated by F1), an optional "What's This?" entry + (activated by Shift F1), an application specific dialog box, + and an "About KDE" dialog box. + Example (adding a standard help menu to your application): + <pre> + TDEPopupMenu help = helpMenu( <myTextString> ); + menuBar().insertItem( i18n("&Help"), help ); + </pre> + @param aboutAppText The string that is used in the application + specific dialog box. If you leave this string empty the + information in the global TDEAboutData of the + application will be used to make a standard dialog box. + @param showWhatsThis Set this to false if you do not want to include + the "What's This" menu entry. + @return A standard help menu. + + @short Retrieve the standard help menu. + */ + public native TDEPopupMenu helpMenu(String aboutAppText, boolean showWhatsThis); + public native TDEPopupMenu helpMenu(String aboutAppText); + public native TDEPopupMenu helpMenu(); + /** + Returns the help menu. Creates a standard help menu if none exists yet. + It contains entries for the + help system (activated by F1), an optional "What's This?" entry + (activated by Shift F1), an application specific dialog box, + and an "About KDE" dialog box. You must create the application + specific dialog box yourself. When the "About application" + menu entry is activated, a signal will trigger the + showAboutApplication slot. See showAboutApplication for more + information. + Example (adding a help menu to your application): + <pre> + menuBar().insertItem( i18n("&Help"), customHelpMenu() ); + </pre> + @param showWhatsThis Set this to <code>false</code> if you do not want to include + the "What's This" menu entry. + @return A standard help menu. + + @short Returns the help menu. + */ + public native TDEPopupMenu customHelpMenu(boolean showWhatsThis); + public native TDEPopupMenu customHelpMenu(); + /** + Reimplementation of TQMainWindow.show() + @short Reimplementation of TQMainWindow.show() + */ + public native void show(); + /** + Reimplementation of TQMainWindow.hide() + @short Reimplementation of TQMainWindow.hide() + */ + public native void hide(); + /** + Restore the session specified by <code>number.</code> + Returns <code>false</code> if this + fails, otherwise returns <code>true</code> and shows the window. + You should call canBeRestored() first. + If <code>show</code> is true (default), this widget will be shown automatically. + @short Restore the session specified by <code>number.</code> + */ + public native boolean restore(int number, boolean show); + public native boolean restore(int number); + public native KXMLGUIFactory guiFactory(); + /** + Create a GUI given a local XML file. + If <code>xmlfile</code> is NULL, + then it will try to construct a local XML filename like + appnameui.rc where 'appname' is your app's name. If that file + does not exist, then the XML UI code will only use the global + (standard) XML file for the layout purposes. + Note that when passing true for the conserveMemory argument subsequent + calls to guiFactory().addClient/removeClient may not work as expected. + Also retrieving references to containers like popup menus or toolbars using + the container method will not work. + @param xmlfile The local xmlfile (relative or absolute) + @param _conserveMemory Specify whether createGUI() should call + KXMLGUIClient.conserveMemory() to free all memory + allocated by the TQDomDocument and by the KXMLGUIFactory. + @short Create a GUI given a local XML file. + */ + public native void createGUI(String xmlfile, boolean _conserveMemory); + public native void createGUI(String xmlfile); + public native void createGUI(); + /** + Enables the build of a standard help menu when calling createGUI(). + The default behavior is to build one, you must call this function + to disable it + @short Enables the build of a standard help menu when calling createGUI(). + */ + public native void setHelpMenuEnabled(boolean showHelpMenu); + public native void setHelpMenuEnabled(); + /** + Return <code>true</code> when the help menu is enabled + @short Return <code>true</code> when the help menu is enabled + */ + public native boolean isHelpMenuEnabled(); + /** + Returns true, if there is a menubar + @short Returns true, if there is a menubar + */ + public native boolean hasMenuBar(); + /** + Returns a pointer to the menu bar. + If there is no menu bar yet one will be created. + @short Returns a pointer to the menu bar. + */ + public native KMenuBar kmenuBar(); + /** + Returns a pointer to the status bar. + If there is no status bar yet, one will be created. + Note that tooltips for kactions in actionCollection() are not + automatically connected to this statusBar. + See the TDEActionCollection documentation for more details. + @short Returns a pointer to the status bar. + @see TDEActionCollection + */ + public native KStatusBar kstatusBar(); + /** + Returns a pointer to the toolbar with the specified name. + This refers to toolbars created dynamically from the XML UI + framework. If the toolbar does not exist one will be created. + @param name The internal name of the toolbar. If no name is + specified "mainToolBar" is assumed. + @return A pointer to the toolbar + + @short Returns a pointer to the toolbar with the specified name. + */ + public native TDEToolBar toolBar(String name); + public native TDEToolBar toolBar(); + /** + @return An iterator over the list of all toolbars for this window. + + @short + */ + // TQPtrListIterator<TDEToolBar> toolBarIterator(); >>>> NOT CONVERTED + /** + @return A TDEAccel instance bound to this mainwindow. Used automatically + by TDEAction to make keybindings work in all cases. + + @short + */ + public native TDEAccel accel(); + public native void setFrameBorderWidth(int arg1); + /** + Call this to enable "auto-save" of toolbar/menubar/statusbar settings + (and optionally window size). + If the bars were moved around/shown/hidden when the window is closed, + saveMainWindowSettings( TDEGlobal.config(), groupName ) will be called. + @param groupName a name that identifies this "type of window". + You can have several types of window in the same application. + @param saveWindowSize set it to true to include the window size + when saving. + Typically, you will call setAutoSaveSettings() in your + TDEMainWindow-inherited class constructor, and it will take care + of restoring and saving automatically. Make sure you call this + _after all_ your bars have been created. + To make sure that TDEMainWindow propertly obtains the default + size of the window you should do the following: + - Remove hard coded resize() calls in the constructor or main, they + should be removed in favor of letting the automatic resizing + determine the default window size. Hard coded window sizes will + be wrong for users that have big fonts, use different styles, + long/small translations, large toolbars, and other factors. + - Put the setAutoSaveSettings ( or setupGUI() ) call after all widgets + have been created and placed inside the main window (i.e. for 99% of + apps setCentralWidget()) + - Widgets that inherit from TQWidget (like game boards) should overload + "TQSize sizeHint() const;" to specify a default size rather + than letting TQWidget.adjust use the default size of 0x0. + @short Call this to enable "auto-save" of toolbar/menubar/statusbar settings (and optionally window size). + */ + public native void setAutoSaveSettings(String groupName, boolean saveWindowSize); + public native void setAutoSaveSettings(String groupName); + public native void setAutoSaveSettings(); + /** + Disable the auto-save-settings feature. + You don't normally need to call this, ever. + @short Disable the auto-save-settings feature. + */ + public native void resetAutoSaveSettings(); + /** + @return the current autosave setting, i.e. true if setAutoSaveSettings() was called, + false by default or if resetAutoSaveSettings() was called. + + @short + */ + public native boolean autoSaveSettings(); + /** + @return the group used for setting-autosaving. + Only meaningful if setAutoSaveSettings() was called. + This can be useful for forcing a save or an apply, e.g. before and after + using KEditToolbar. + + @short + */ + public native String autoSaveGroup(); + /** + Read settings for statusbar, menubar and toolbar from their respective + groups in the config file and apply them. + @param config Config file to read the settings from. + @param groupName Group name to use. If not specified, the last used + group name is used. + @param force if set, even default settings are re-applied + @short Read settings for statusbar, menubar and toolbar from their respective groups in the config file and apply them. + */ + public native void applyMainWindowSettings(TDEConfig config, String groupName, boolean force); + public native void applyMainWindowSettings(TDEConfig config, String groupName); + public native void applyMainWindowSettings(TDEConfig config); + /** + Save settings for statusbar, menubar and toolbar to their respective + groups in the config file <code>config.</code> + @param config Config file to save the settings to. + @param groupName Group name to use. If not specified, the last used + group name is used + @short Save settings for statusbar, menubar and toolbar to their respective groups in the config file <code>config.</code> + */ + public native void saveMainWindowSettings(TDEConfig config, String groupName); + public native void saveMainWindowSettings(TDEConfig config); + /** + Sets whether TDEMainWindow should provide a menu that allows showing/hiding + the available toolbars ( using TDEToggleToolBarAction ) . In case there + is only one toolbar configured a simple 'Show \<toolbar name here\>' menu item + is shown. + The menu / menu item is implemented using xmlgui. It will be inserted in your + menu structure in the 'Settings' menu. + If your application uses a non-standard xmlgui resource file then you can + specify the exact position of the menu / menu item by adding a + <Merge name="StandardToolBarMenuHandler" /> + line to the settings menu section of your resource file ( usually appname.rc ). + Note that you should enable this feature before calling createGUI() ( or similar ) . + You enable/disable it anytime if you pass false to the conserveMemory argument of createGUI. + @short Sets whether TDEMainWindow should provide a menu that allows showing/hiding the available toolbars ( using TDEToggleToolBarAction ) . + */ + public native void setStandardToolBarMenuEnabled(boolean enable); + public native boolean isStandardToolBarMenuEnabled(); + /** + Sets whether TDEMainWindow should provide a menu that allows showing/hiding + of the statusbar ( using TDEToggleStatusBarAction ). + The menu / menu item is implemented using xmlgui. It will be inserted + in your menu structure in the 'Settings' menu. + Note that you should enable this feature before calling createGUI() + ( or similar ). + If an application maintains the action on its own (i.e. never calls + this function) a connection needs to be made to let TDEMainWindow + know when that status (hidden/shown) of the statusbar has changed. + For example: + connect(action, SIGNAL("activated()"), + kmainwindow, SLOT("setSettingsDirty()")); + Otherwise the status (hidden/show) of the statusbar might not be saved + by TDEMainWindow. + @short Sets whether TDEMainWindow should provide a menu that allows showing/hiding of the statusbar ( using TDEToggleStatusBarAction ). + */ + public native void createStandardStatusBarAction(); + /** + Configures the current windows and its actions in the typical KDE + fashion. The options are all enabled by default but can be turned + off if desired through the params or if the prereqs don't exists. + Typically this function replaces createGUI(). + @short Configures the current windows and its actions in the typical KDE fashion. + @see StandardWindowOptions + */ + public native void setupGUI(int options, String xmlfile); + public native void setupGUI(int options); + public native void setupGUI(); + /** + Configures the current windows and its actions in the typical KDE + fashion. The options are all enabled by default but can be turned + off if desired through the params or if the prereqs don't exists. + <code>defaultSize</code> The default size of the window + Typically this function replaces createGUI(). + @short Configures the current windows and its actions in the typical KDE fashion. + @see StandardWindowOptions + */ + public native void setupGUI(TQSize defaultSize, int options, String xmlfile); + public native void setupGUI(TQSize defaultSize, int options); + public native void setupGUI(TQSize defaultSize); + /** + Returns a pointer to the mainwindows action responsible for the toolbars menu + @short Returns a pointer to the mainwindows action responsible for the toolbars menu + */ + public native TDEAction toolBarMenuAction(); + /** + @short + */ + public native void setupToolbarMenuActions(); + public native void finalizeGUI(KXMLGUIClientInterface client); + /** + @short + */ + public native void finalizeGUI(boolean force); + /** + @return true if a -geometry argument was given on the command line, + and this is the first window created (the one on which this option applies) + + @short + */ + public native boolean initialGeometrySet(); + /** + Used from Konqueror when reusing the main window. + @short + */ + public native void ignoreInitialGeometry(); + /** + @short + */ + public native void setIcon(TQPixmap arg1); + /** + Show a standard configure toolbar dialog. + This slot can be connected dirrectly to the action to configure shortcuts. + This is very simple to do that by adding a single line + <pre> + KStdAction.configureToolbars( guiFactory(), SLOT("configureToolbars()"), + actionCollection() ); + </pre> + @short Show a standard configure toolbar dialog. + */ + public native int configureToolbars(); + /** + Makes a KDE compliant caption. + @param caption Your caption. <b>Do</b> <b>not</b> include the application name + in this string. It will be added automatically according to the KDE + standard. + @short Makes a KDE compliant caption. + */ + public native void setCaption(String caption); + /** + Makes a KDE compliant caption. + @param caption Your caption. <b>Do</b> <b>not</b> include the application name + in this string. It will be added automatically according to the KDE + standard. + @param modified Specify whether the document is modified. This displays + an additional sign in the title bar, usually "**". + @short Makes a KDE compliant caption. + */ + public native void setCaption(String caption, boolean modified); + /** + Make a plain caption without any modifications. + @param caption Your caption. This is the string that will be + displayed in the window title. + @short Make a plain caption without any modifications. + */ + public native void setPlainCaption(String caption); + /** + Open the help page for the application. + The application name is + used as a key to determine what to display and the system will attempt + to open \<appName\>/index.html. + This method is intended for use by a help button in the toolbar or + components outside the regular help menu. Use helpMenu() when you + want to provide access to the help system from the help menu. + Example (adding a help button to the first toolbar): + <pre> + KIconLoader &loader = TDEGlobal.iconLoader(); + TQPixmap pixmap = loader.loadIcon( "help" ); + toolBar(0).insertButton( pixmap, 0, SIGNAL("clicked()"), + this, SLOT("appHelpActivated()"), true, i18n("Help") ); + </pre> + @short Open the help page for the application. + */ + public native void appHelpActivated(); + /** + Apply a state change + Enable and disable actions as defined in the XML rc file + @short Apply a state change + */ + public native void slotStateChanged(String newstate); + /** + Apply a state change + Enable and disable actions as defined in the XML rc file, + can "reverse" the state (disable the actions which should be + enabled, and vice-versa) if specified. + @short Apply a state change + */ + public native void slotStateChanged(String newstate, int arg2); + /** + Tell the main window that it should save its settings when being closed. + This is part of the auto-save-settings feature. + For everything related to toolbars this happens automatically, + but you have to call setSettingsDirty() in the slot that toggles + the visibility of the statusbar. + @short Tell the main window that it should save its settings when being closed. + */ + public native void setSettingsDirty(); + /** + <b>Session Management</b> + Try to restore the toplevel widget as defined by the number (1..X). + If the session did not contain so high a number, the configuration + is not changed and <code>false</code> returned. + That means clients could simply do the following: + <pre> + if (kapp.isRestored()){ + int n = 1; + while (TDEMainWindow.canBeRestored(n)){ + (new childMW).restore(n); + n++; + } + } else { + // create default application as usual + } + </pre> + Note that TQWidget.show() is called implicitly in restore. + With this you can easily restore all toplevel windows of your + application. + If your application uses different kinds of toplevel + windows, then you can use TDEMainWindow.classNameOfToplevel(n) + to determine the exact type before calling the childMW + constructor in the example from above. + If your client has only one kind of toplevel widgets (which + should be pretty usual) then you should use the RESTORE-macro + for backwards compatibility with 3.1 and 3.0 branches: + <pre> + if (kapp.isRestored()) + RESTORE(childMW) + else { + // create default application as usual + } + </pre> + The macro expands to the term above but is easier to use and + less code to write. + For new code or if you have more than one kind of toplevel + widget (each derived from TDEMainWindow, of course), you can + use the templated kRestoreMainWindows global functions: + <pre> + if (kapp.isRestored()) + kRestoreMainWindows< childMW1, childMW2, childMW3 >(); + else { + // create default application as usual + } + </pre> + Currently, these functions are provided for up to three + template arguments. If you need more, tell us. To help you in + deciding whether or not you can use kRestoreMainWindows, a + define KDE_RESTORE_MAIN_WINDOWS_NUM_TEMPLATE_ARGS is provided. + @short <b>Session Management</b> + @see #restore + @see #classNameOfToplevel + */ + public static native boolean canBeRestored(int number); + /** + Returns the className() of the <code>number</code> of the toplevel window which + should be restored. + This is only useful if your application uses + different kinds of toplevel windows. + @short Returns the className() of the <code>number</code> of the toplevel window which should be restored. + */ + public static native String classNameOfToplevel(int number); + /** + List of members of TDEMainWindow class. + @short List of members of TDEMainWindow class. + */ + // TQPtrList<TDEMainWindow>* getMemberList(); >>>> NOT CONVERTED + protected native void paintEvent(TQPaintEvent e); + protected native void childEvent(TQChildEvent e); + protected native void resizeEvent(TQResizeEvent e); + /** + Reimplemented to call the queryClose() and queryExit() handlers. + We recommend that you reimplement the handlers rather than closeEvent(). + If you do it anyway, ensure to call the base implementation to keep + queryExit() running. + @short Reimplemented to call the queryClose() and queryExit() handlers. + */ + protected native void closeEvent(TQCloseEvent arg1); + /** + Called before the very last window is closed, either by the + user or indirectly by the session manager. + It is not recommended to do any user interaction in this + function other than indicating severe errors. Better ask the + user on queryClose() (see below). + A typical usage of queryExit() is to write configuration data back. + Note that the application may continue to run after queryExit() + (the user may have canceled a shutdown), so you should not do any cleanups + here. The purpose of queryExit() is purely to prepare the application + (with possible user interaction) so it can safely be closed later (without + user interaction). + If you need to do serious things on exit (like shutting a + dial-up connection down), connect to the signal + TDEApplication.shutDown(). + Default implementation returns <code>true.</code> Returning <code>false</code> will + cancel the exiting. In the latter case, the last window will + remain visible. If TDEApplication.sessionSaving() is true, refusing + the exit will also cancel KDE logout. + @short Called before the very last window is closed, either by the user or indirectly by the session manager. + @see #queryClose + @see TDEApplication#sessionSaving + */ + protected native boolean queryExit(); + /** + Called before the window is closed, either by the user or indirectly by + the session manager. + The purpose of this function is to prepare the window in a way that it is + safe to close it, i.e. without the user losing some data. + Default implementation returns true. Returning <code>false</code> will cancel + the closing, and, if TDEApplication.sessionSaving() is true, it will also + cancel KDE logout. + Reimplement this function to prevent the user from losing data. + Example: + <pre> + switch ( KMessageBox.warningYesNoCancel( this, + i18n("Save changes to document foo?")) ) { + case KMessageBox.Yes : + // save document here. If saving fails, return false; + return true; + case KMessageBox.No : + return true; + default: // cancel + return false; + </pre> + Note that you should probably <b>not</b> actually close the document from + within this method, as it may be called by the session manager before the + session is saved. If the document is closed before the session save occurs, + its location might not be properly saved. In addition, the session shutdown + may be canceled, in which case the document should remain open. + @short Called before the window is closed, either by the user or indirectly by the session manager. + @see #queryExit + @see TDEApplication#sessionSaving + */ + protected native boolean queryClose(); + /** + Save your instance-specific properties. The function is + invoked when the session manager requests your application + to save its state. + You <b>must</b> <b>not</b> change the group of the <code>tdeconfig</code> object, since + TDEMainWindow uses one group for each window. Please + reimplement these function in childclasses. + Note: No user interaction is allowed + in this function! + @short Save your instance-specific properties. + */ + protected native void saveProperties(TDEConfig arg1); + /** + Read your instance-specific properties. + @short Read your instance-specific properties. + */ + protected native void readProperties(TDEConfig arg1); + /** + Save your application-wide properties. The function is + invoked when the session manager requests your application + to save its state. + This function is similar to saveProperties() but is only called for + the very first main window, regardless how many main window are open. + Override it if you need to save other data about your documents on + session end. sessionConfig is a config to which that data should be + saved. Normally, you don't need this function. But if you want to save + data about your documents that are not in opened windows you might need + it. + Default implementation does nothing. + @short Save your application-wide properties. + */ + protected native void saveGlobalProperties(TDEConfig sessionConfig); + /** + The counterpart of saveGlobalProperties(). + Read the application-specific properties in again. + @short The counterpart of saveGlobalProperties(). + */ + protected native void readGlobalProperties(TDEConfig sessionConfig); + protected native void savePropertiesInternal(TDEConfig arg1, int arg2); + protected native boolean readPropertiesInternal(TDEConfig arg1, int arg2); + /** + For inherited classes + @short For inherited classes + */ + protected native boolean settingsDirty(); + /** + For inherited classes + @short For inherited classes + */ + protected native String settingsGroup(); + /** + For inherited classes + Note that the group must be set before calling + @short For inherited classes Note that the group must be set before calling + */ + protected native void saveWindowSize(TDEConfig config); + /** + For inherited classes + Note that the group must be set before calling, and that + a -geometry on the command line has priority. + @short For inherited classes Note that the group must be set before calling, and that a -geometry on the command line has priority. + */ + protected native void restoreWindowSize(TDEConfig config); + protected native void parseGeometry(boolean parsewidth); + /** + Rebuilds the GUI after KEditToolbar changed the toolbar layout. + @short Rebuilds the GUI after KEditToolbar changed the toolbar layout. + @see #configureToolbars + */ + protected native void saveNewToolbarConfig(); + /** + This slot does nothing. + It must be reimplemented if you want + to use a custom About Application dialog box. This slot is + connected to the About Application entry in the menu returned + by customHelpMenu. + Example: + <pre> + void MyMainLevel.setupInterface() + { + .. + menuBar().insertItem( i18n("&Help"), customHelpMenu() ); + .. + } + void MyMainLevel.showAboutApplication() + { + <activate your custom dialog> + } + </pre> + @short This slot does nothing. + */ + protected native void showAboutApplication(); + /** + This slot should only be called in case you reimplement closeEvent() and + if you are using the "auto-save" feature. In all other cases, + setSettingsDirty() should be called instead to benefit from the delayed + saving. + Example: + <pre> + void MyMainWindow.closeEvent( TQCloseEvent e ) + { + // Save settings if auto-save is enabled, and settings have changed + if ( settingsDirty() && autoSaveSettings() ) + saveAutoSaveSettings(); + .. + } + </pre> + @short This slot should only be called in case you reimplement closeEvent() and if you are using the "auto-save" feature. + @see #setAutoSaveSettings + @see #setSettingsDirty + */ + protected native void saveAutoSaveSettings(); + /** Deletes the wrapped C++ instance */ + protected native void finalize() throws InternalError; + /** Delete the wrapped C++ instance ahead of finalize() */ + public native void dispose(); + /** Has the wrapped C++ instance been deleted? */ + public native boolean isDisposed(); + public native KXMLGUIClientInterface builderClient(); + public native void setBuilderClient(KXMLGUIClientInterface client); + public native TDEInstanceInterface builderInstance(); + public native void setBuilderInstance(TDEInstanceInterface instance); + public native TQWidget widget(); + public native ArrayList containerTags(); + /** + Creates a container (menubar/menu/toolbar/statusbar/separator/...) + from an element in the XML file + @param parent The parent for the container + @param index The index where the container should be inserted + into the parent container/widget + @param element The element from the DOM tree describing the + container (use it to access container specified + attributes or child elements) + @param id The id to be used for this container + @short Creates a container (menubar/menu/toolbar/statusbar/separator/. + */ + public native TQWidget createContainer(TQWidget parent, int index, TQDomElement element, int[] id); + /** + Removes the given (and previously via createContainer ) + created container. + @short Removes the given (and previously via createContainer ) created container. + */ + public native void removeContainer(TQWidget container, TQWidget parent, TQDomElement element, int id); + public native ArrayList customTags(); + public native int createCustomElement(TQWidget parent, int index, TQDomElement element); + public native void removeCustomElement(TQWidget parent, int id); + /** + Retrieves an action of the client by name. If not found, it looks in its child clients. + This method is provided for convenience, as it uses actionCollection() + to get the action object. + @short Retrieves an action of the client by name. + */ + public native TDEAction action(String name); + /** + Retrieves an action for a given TQDomElement. The default + implementation uses the "name" attribute to query the action + object via the other action() method. + @short Retrieves an action for a given TQDomElement. + */ + public native TDEAction action(TQDomElement element); + /** + Retrieves the entire action collection for the GUI client. If + you subclass KXMLGUIClient you should call + TDEActionCollection.setWidget( TQWidget ) with this object, or + you will encounter subtle bugs with TDEAction keyboard shortcuts. + This is not necessary if your KXMLGUIClient is a TDEMainWindow. + @short Retrieves the entire action collection for the GUI client. + @see TDEActionCollection#setWidget( + @see org.kde.qt.TQWidget* + */ + public native TDEActionCollection actionCollection(); + /** + @return The instance ( TDEInstance ) for this GUI client. + + @short + */ + public native TDEInstanceInterface instance(); + /** + @return The parsed XML in a TQDomDocument, set by + setXMLFile() or setXML(). + This document describes the layout of the GUI. + + @short + */ + public native TQDomDocument domDocument(); + /** + This will return the name of the XML file as set by setXMLFile(). + If setXML() is used directly, then this will return NULL. + The filename that this returns is obvious for components as each + component has exactly one XML file. In non-components, however, + there are usually two: the global file and the local file. This + function doesn't really care about that, though. It will always + return the last XML file set. This, in almost all cases, will + be the local XML file. + @return The name of the XML file or null + + @short This will return the name of the XML file as set by setXMLFile(). + */ + public native String xmlFile(); + public native String localXMLFile(); + /** + @short + */ + public native void setXMLGUIBuildDocument(TQDomDocument doc); + /** + @short + */ + public native TQDomDocument xmlguiBuildDocument(); + /** + This method is called by the KXMLGUIFactory as soon as the client + is added to the KXMLGUIFactory's GUI. + @short This method is called by the KXMLGUIFactory as soon as the client is added to the KXMLGUIFactory's GUI. + */ + public native void setFactory(KXMLGUIFactory factory); + /** + Retrieves a pointer to the KXMLGUIFactory this client is + associated with (will return null if the client's GUI has not been built + by a KXMLGUIFactory. + @short Retrieves a pointer to the KXMLGUIFactory this client is associated with (will return 0L if the client's GUI has not been built by a KXMLGUIFactory. + */ + public native KXMLGUIFactory factory(); + /** + KXMLGUIClients can form a simple child/parent object tree. This + method returns a pointer to the parent client or null if it has no + parent client assigned. + @short KXMLGUIClients can form a simple child/parent object tree. + */ + public native KXMLGUIClientInterface parentClient(); + /** + Use this method to make a client a child client of another client. + Usually you don't need to call this method, as it is called + automatically when using the second constructor, which takes a + parent argument. + @short Use this method to make a client a child client of another client. + */ + public native void insertChildClient(KXMLGUIClientInterface child); + /** + Removes the given <code>child</code> from the client's children list. + @short Removes the given <code>child</code> from the client's children list. + */ + public native void removeChildClient(KXMLGUIClientInterface child); + /** + Retrieves a list of all child clients. + @short Retrieves a list of all child clients. + */ + // const TQPtrList<KXMLGUIClient>* childClients(); >>>> NOT CONVERTED + /** + A client can have an own KXMLGUIBuilder. + Use this method to assign your builder instance to the client (so that the + KXMLGUIFactory can use it when building the client's GUI) + Client specific guibuilders are useful if you want to create + custom container widgets for your GUI. + @short A client can have an own KXMLGUIBuilder. + */ + public native void setClientBuilder(KXMLGUIBuilderInterface builder); + /** + Retrieves the client's GUI builder or null if no client specific + builder has been assigned via setClientBuilder() + @short Retrieves the client's GUI builder or 0L if no client specific builder has been assigned via setClientBuilder() + */ + public native KXMLGUIBuilderInterface clientBuilder(); + /** + Forces this client to re-read its XML resource file. This is + intended to be used when you know that the resource file has + changed and you will soon be rebuilding the GUI. It has no + useful effect with non-KParts GUIs, so don't bother using it + unless your app is component based. + @short Forces this client to re-read its XML resource file. + */ + public native void reloadXML(); + /** + ActionLists are a way for XMLGUI to support dynamic lists of + actions. E.g. if you are writing a file manager, and there is a + menu file whose contents depend on the mimetype of the file that + is selected, then you can achieve this using ActionLists. It + works as follows: + In your xxxui.rc file ( the one that you set in setXMLFile() + ), you put an <p>\<ActionList name="xxx"\></p> tag. E.g. + <pre> + <kpartgui name="xxx_part" version="1"> + <MenuBar> + <Menu name="file"> + ... <!-- some useful actions-. + <ActionList name="xxx_file_actionlist" /> + ... <!-- even more useful actions-. + </Menu> + ... + </MenuBar> + </kpartgui> + </pre> + This tag will get expanded to a list of actions. In the example + above ( a file manager with a dynamic file menu ), you would call + <pre> + TQPtrList<TDEAction> file_actions; + for( ... ) + if( ... ) + file_actions.append( cool_action ); + unplugActionList( "xxx_file_actionlist" ); + plugActionList( "xxx_file_actionlist", file_actions ); + </pre> + every time a file is selected, unselected or ... + <b>Note:<> You should not call createGUI() after calling this + function. In fact, that would remove the newly added + actionlists again... + <b>Note:<> Forgetting to call unplugActionList() before + plugActionList() would leave the previous actions in the + menu too.. + @short ActionLists are a way for XMLGUI to support dynamic lists of actions. + */ + // void plugActionList(const TQString& arg1,const TQPtrList<TDEAction>& arg2); >>>> NOT CONVERTED + /** + The complement of plugActionList() ... + @short The complement of plugActionList() . + */ + public native void unplugActionList(String name); + public native void addStateActionEnabled(String state, String action); + public native void addStateActionDisabled(String state, String action); + // KXMLGUIClient::StateChange getActionsToChangeForState(const TQString& arg1); >>>> NOT CONVERTED + public native void beginXMLPlug(TQWidget arg1); + public native void endXMLPlug(); + public native void prepareXMLUnplug(TQWidget arg1); + public static native String findMostRecentXMLFile(String[] files, StringBuffer doc); + /** + Sets the instance ( TDEInstance) for this part. + Call this first in the inherited class constructor. + (At least before setXMLFile().) + @short Sets the instance ( TDEInstance) for this part. + */ + protected native void setInstance(TDEInstanceInterface instance); + /** + Sets the name of the rc file containing the XML for the part. + Call this in the Part-inherited class constructor. + @param file Either an absolute path for the file, or simply the + filename, which will then be assumed to be installed + in the "data" resource, under a directory named like + the instance. + @param merge Whether to merge with the global document. + @param setXMLDoc Specify whether to call setXML. Default is true. + and the DOM document at once. + @short Sets the name of the rc file containing the XML for the part. + */ + protected native void setXMLFile(String file, boolean merge, boolean setXMLDoc); + protected native void setXMLFile(String file, boolean merge); + protected native void setXMLFile(String file); + protected native void setLocalXMLFile(String file); + /** + Sets the XML for the part. + Call this in the Part-inherited class constructor if you + don't call setXMLFile(). + @short Sets the XML for the part. + */ + protected native void setXML(String document, boolean merge); + protected native void setXML(String document); + /** + Sets the Document for the part, describing the layout of the GUI. + Call this in the Part-inherited class constructor if you don't call + setXMLFile or setXML . + @short Sets the Document for the part, describing the layout of the GUI. + */ + protected native void setDOMDocument(TQDomDocument document, boolean merge); + protected native void setDOMDocument(TQDomDocument document); + /** + This function will attempt to give up some memory after the GUI + is built. It should never be used in apps where the GUI may be + rebuilt at some later time (components, for instance). + @short This function will attempt to give up some memory after the GUI is built. + */ + protected native void conserveMemory(); + /** + Actions can collectively be assigned a "State". To accomplish this + the respective actions are tagged as \<enable\> or \<disable\> in + a \<State\> \</State\> group of the XMLfile. During program execution the + programmer can call stateChanged() to set actions to a defined state. + @param newstate Name of a State in the XMLfile. + @param reverse If the flag reverse is set to StateReverse, the State is reversed. + (actions to be enabled will be disabled and action to be disabled will be enabled) + Default is reverse=false. + @short Actions can collectively be assigned a "State". + */ + protected native void stateChanged(String newstate, int reverse); + protected native void stateChanged(String newstate); + /** + List of members of TDEMainWindow class. + */ + public native ArrayList memberList(); + + public static void RESTORE(String typeName) { + Class savedClass; + + try { + savedClass = Class.forName(typeName); + int n = 1; + while (TDEMainWindow.canBeRestored(n)){ + ((TDEMainWindow) savedClass.newInstance()).restore(n); + n++; + } + } catch(Exception e) { + return; + } + + return; + } + +} |