/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is * Netscape Communications Corporation. * Portions created by the Initial Developer are Copyright (C) 2000 * the Initial Developer. All Rights Reserved. * * Contributor(s): * David Hyatt (original author) * Johnny Stenback * * Alternatively, the contents of this file may be used under the terms of * either of the GNU General Public License Version 2 or later (the "GPL"), * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #include "nsIDOMElement.idl" interface nsIRDFCompositeDataSource; interface nsIXULTemplateBuilder; interface nsIRDFResource; interface nsIControllers; interface nsIBoxObject; [scriptable, uuid(5e0a7c2c-fdb6-459d-a67b-549181218c31)] interface nsIDOMXULElement : nsIDOMElement { attribute DOMString id; attribute DOMString className; // Layout properties attribute DOMString align; attribute DOMString dir; attribute DOMString flex; attribute DOMString flexGroup; attribute DOMString ordinal; attribute DOMString orient; attribute DOMString pack; // Properties for hiding elements. attribute boolean hidden; attribute boolean collapsed; // Property for hooking up to broadcasters attribute DOMString observes; // Properties for hooking up to popups attribute DOMString menu; attribute DOMString contextMenu; attribute DOMString tooltip; // Width/height properties attribute DOMString width; attribute DOMString height; attribute DOMString minWidth; attribute DOMString minHeight; attribute DOMString maxWidth; attribute DOMString maxHeight; // Persistence attribute DOMString persist; // Position properties for // * popups - these are screen coordinates // * other elements - these are client coordinates relative to parent stack. attribute DOMString left; attribute DOMString top; // XUL Template Builder attribute DOMString datasources; attribute DOMString ref; // Tooltip and status info attribute DOMString tooltipText; attribute DOMString statusText; attribute boolean allowEvents; readonly attribute nsIRDFCompositeDataSource database; readonly attribute nsIXULTemplateBuilder builder; readonly attribute nsIRDFResource resource; readonly attribute nsIControllers controllers; readonly attribute nsIBoxObject boxObject; void focus(); void blur(); void click(); void doCommand(); nsIDOMNodeList getElementsByAttribute(in DOMString name, in DOMString value); nsIDOMNodeList getElementsByAttributeNS(in DOMString namespaceURI, in DOMString name, in DOMString value); };