summaryrefslogtreecommitdiffstats
path: root/kdejava/koala/org/kde/koala/TDEMainWindow.java
diff options
context:
space:
mode:
Diffstat (limited to 'kdejava/koala/org/kde/koala/TDEMainWindow.java')
-rw-r--r--kdejava/koala/org/kde/koala/TDEMainWindow.java1082
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
+ &lt;Merge name="StandardToolBarMenuHandler" /&gt;
+ 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;
+ }
+
+}