Back to index

lightning-sunbird  0.9+nobinonly
nsCSSPseudoClassList.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is atom lists for CSS pseudos.
00016  *
00017  * The Initial Developer of the Original Code is 
00018  * Netscape Communications Corporation.
00019  * Portions created by the Initial Developer are Copyright (C) 1998
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *   L. David Baron <dbaron@dbaron.org>
00024  *
00025  * Alternatively, the contents of this file may be used under the terms of
00026  * either the GNU General Public License Version 2 or later (the "GPL"), or
00027  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00028  * in which case the provisions of the GPL or the LGPL are applicable instead
00029  * of those above. If you wish to allow use of your version of this file only
00030  * under the terms of either the GPL or the LGPL, and not to allow others to
00031  * use your version of this file under the terms of the MPL, indicate your
00032  * decision by deleting the provisions above and replace them with the notice
00033  * and other provisions required by the GPL or the LGPL. If you do not delete
00034  * the provisions above, a recipient may use your version of this file under
00035  * the terms of any one of the MPL, the GPL or the LGPL.
00036  *
00037  * ***** END LICENSE BLOCK ***** */
00038 
00039 /*
00040  * This file contains the list of nsIAtoms and their values for CSS
00041  * pseudo-classes.  It is designed to be used as inline input to
00042  * nsCSSPseudoClasses.cpp *only* through the magic of C preprocessing.
00043  * All entries must be enclosed in the macro CSS_PSEUDO_CLASS which will
00044  * have cruel and unusual things done to it.  The entries should be kept
00045  * in some sort of logical order.  The first argument to
00046  * CSS_PSEUDO_CLASS is the C++ identifier of the atom.  The second
00047  * argument is the string value of the atom.
00048  */
00049 
00050 // OUTPUT_CLASS=nsCSSPseudoClasses
00051 // MACRO_NAME=CSS_PSEUDO_CLASS
00052 
00053 CSS_PSEUDO_CLASS(empty, ":empty")
00054 CSS_PSEUDO_CLASS(mozOnlyWhitespace, ":-moz-only-whitespace")
00055 CSS_PSEUDO_CLASS(lang, ":lang")
00056 CSS_PSEUDO_CLASS(notPseudo, ":not")
00057 CSS_PSEUDO_CLASS(mozBoundElement, ":-moz-bound-element")
00058 CSS_PSEUDO_CLASS(root, ":root")
00059 
00060 CSS_PSEUDO_CLASS(link, ":link")
00061 CSS_PSEUDO_CLASS(mozAnyLink, ":-moz-any-link") // what matches :link or :visited
00062 CSS_PSEUDO_CLASS(visited, ":visited")
00063 
00064 CSS_PSEUDO_CLASS(active, ":active")
00065 CSS_PSEUDO_CLASS(checked, ":checked")
00066 CSS_PSEUDO_CLASS(disabled, ":disabled")
00067 CSS_PSEUDO_CLASS(enabled, ":enabled")
00068 CSS_PSEUDO_CLASS(focus, ":focus")
00069 CSS_PSEUDO_CLASS(hover, ":hover")
00070 CSS_PSEUDO_CLASS(mozDragOver, ":-moz-drag-over")
00071 CSS_PSEUDO_CLASS(target, ":target")
00072 
00073 CSS_PSEUDO_CLASS(firstChild, ":first-child")
00074 CSS_PSEUDO_CLASS(firstNode, ":-moz-first-node")
00075 CSS_PSEUDO_CLASS(lastChild, ":last-child")
00076 CSS_PSEUDO_CLASS(lastNode, ":-moz-last-node")
00077 CSS_PSEUDO_CLASS(onlyChild, ":only-child")
00078 
00079 // Match nodes that are HTML but not XHTML
00080 CSS_PSEUDO_CLASS(mozIsHTML, ":-moz-is-html")
00081 
00082 // CSS 3 UI
00083 // http://www.w3.org/TR/2004/CR-css3-ui-20040511/#pseudo-classes
00084 CSS_PSEUDO_CLASS(required, ":required")
00085 CSS_PSEUDO_CLASS(optional, ":optional")
00086 CSS_PSEUDO_CLASS(valid, ":valid")
00087 CSS_PSEUDO_CLASS(invalid, ":invalid")
00088 CSS_PSEUDO_CLASS(inRange, ":in-range")
00089 CSS_PSEUDO_CLASS(outOfRange, ":out-of-range")
00090 CSS_PSEUDO_CLASS(mozReadOnly, ":-moz-read-only")
00091 CSS_PSEUDO_CLASS(mozReadWrite, ":-moz-read-write")