//Auto-generated by kalyptus. DO NOT EDIT.
package org.trinitydesktop.koala;

import org.trinitydesktop.qt.TQt;
import org.trinitydesktop.qt.QtSupport;
import java.util.ArrayList;
import org.trinitydesktop.qt.TQWidget;
import org.trinitydesktop.qt.TQDomElement;

/**

 Abstract interface for a "GUI builder", used by the GUIFactory
 This interface is implemented by TDEMainWindow for the case where
 the toplevel widget is a TDEMainWindow. Other implementations may appear
 in the future (dialogs for instance)
 		@short    Abstract interface for a "GUI builder", used by the GUIFactory  This interface is implemented by TDEMainWindow for the case where  the toplevel widget is a TDEMainWindow.

*/
public class KXMLGUIBuilder implements QtSupport, KXMLGUIBuilderInterface {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected KXMLGUIBuilder(Class dummy){}

	public KXMLGUIBuilder(TQWidget widget) {
		newKXMLGUIBuilder(widget);
	}
	private native void newKXMLGUIBuilder(TQWidget widget);
	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);
	public native void finalizeGUI(KXMLGUIClientInterface client);
	/** 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();
}
