/* * Copyright © 2002 Olivier Martin * Copyright © 2002 Jorn Baayen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #if !defined (__EPHY_EPIPHANY_H_INSIDE__) && !defined (EPIPHANY_COMPILATION) #error "Only can be included directly." #endif #ifndef EPHY_NODE_FILTER_H #define EPHY_NODE_FILTER_H #include #include "ephy-node.h" G_BEGIN_DECLS #define EPHY_TYPE_NODE_FILTER (ephy_node_filter_get_type ()) #define EPHY_NODE_FILTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EPHY_TYPE_NODE_FILTER, EphyNodeFilter)) #define EPHY_NODE_FILTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EPHY_TYPE_NODE_FILTER, EphyNodeFilterClass)) #define EPHY_IS_NODE_FILTER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_NODE_FILTER)) #define EPHY_IS_NODE_FILTER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_NODE_FILTER)) #define EPHY_NODE_FILTER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_NODE_FILTER, EphyNodeFilterClass)) typedef struct _EphyNodeFilterPrivate EphyNodeFilterPrivate; typedef struct { GObject parent; /*< private >*/ EphyNodeFilterPrivate *priv; } EphyNodeFilter; typedef struct { GObjectClass parent; void (*changed) (EphyNodeFilter *filter); } EphyNodeFilterClass; typedef enum { EPHY_NODE_FILTER_EXPRESSION_ALWAYS_TRUE, /* args: none */ EPHY_NODE_FILTER_EXPRESSION_NODE_EQUALS, /* args: EphyNode *a, EphyNode *b */ EPHY_NODE_FILTER_EXPRESSION_EQUALS, /* args: EphyNode *node */ EPHY_NODE_FILTER_EXPRESSION_HAS_PARENT, /* args: EphyNode *parent */ EPHY_NODE_FILTER_EXPRESSION_HAS_CHILD, /* args: EphyNode *child */ EPHY_NODE_FILTER_EXPRESSION_NODE_PROP_EQUALS, /* args: int prop_id, EphyNode *node */ EPHY_NODE_FILTER_EXPRESSION_CHILD_PROP_EQUALS, /* args: int prop_id, EphyNode *node */ EPHY_NODE_FILTER_EXPRESSION_STRING_PROP_CONTAINS, /* args: int prop_id, const char *string */ EPHY_NODE_FILTER_EXPRESSION_STRING_PROP_EQUALS, /* args: int prop_id, const char *string */ EPHY_NODE_FILTER_EXPRESSION_KEY_PROP_CONTAINS, /* args: int prop_id, const char *string */ EPHY_NODE_FILTER_EXPRESSION_KEY_PROP_EQUALS, /* args: int prop_id, const char *string */ EPHY_NODE_FILTER_EXPRESSION_INT_PROP_EQUALS, /* args: int prop_id, int int */ EPHY_NODE_FILTER_EXPRESSION_INT_PROP_BIGGER_THAN, /* args: int prop_id, int int */ EPHY_NODE_FILTER_EXPRESSION_INT_PROP_LESS_THAN /* args: int prop_id, int int */ } EphyNodeFilterExpressionType; typedef struct _EphyNodeFilterExpression EphyNodeFilterExpression; /* The filter starts iterating over all expressions at level 0, * if one of them is TRUE it continues to level 1, etc. * If it still has TRUE when there are no more expressions at the * next level, the result is TRUE. Otherwise, it's FALSE. */ GType ephy_node_filter_get_type (void); EphyNodeFilter *ephy_node_filter_new (void); void ephy_node_filter_add_expression (EphyNodeFilter *filter, EphyNodeFilterExpression *expression, int level); void ephy_node_filter_empty (EphyNodeFilter *filter); void ephy_node_filter_done_changing (EphyNodeFilter *filter); gboolean ephy_node_filter_evaluate (EphyNodeFilter *filter, EphyNode *node); EphyNodeFilterExpression *ephy_node_filter_expression_new (EphyNodeFilterExpressionType, ...); /* no need to free unless you didn't add the expression to a filter */ void ephy_node_filter_expression_free (EphyNodeFilterExpression *expression); G_END_DECLS #endif /* EPHY_NODE_FILTER_H */ /td>sf2002-01-1915-106/+166 * Update maintainer's email addressdwcjr2002-01-181-1/+1 * New port cyclone version 0.2: A safe dialect of C from Cornell andlioux2002-01-187-0/+268 * Activate python21.tg2002-01-161-0/+1 * Downgrade to Python-2.1.1 again after repo-copy.tg2002-01-164-346/+134 * Implement PyObject_DelItemString(), which was obviously forgotten fortg2002-01-1622-0/+627 * Update to version 2.711.jim2002-01-152-4/+3 * Upgrade to v0.6.0.jkoshy2002-01-1410-412/+280 * Change MAINTAINER to the capable hands of Johannes 5 Joemannjkoshy2002-01-141-1/+1 * Upgrade to v0.57.jkoshy2002-01-144-9/+19 * Commit after maintainer timeout:nectar2002-01-122-1/+5 * Fix plistpat2002-01-111-2/+2 * Upgrade to 2.0.3.tg2002-01-103-4/+20 * Include docs for Python-2.2.tg2002-01-092-0/+984 * Update to 0.0.6pat2002-01-092-2/+2 * Update to 0.2.6pat2002-01-095-18/+80 * Update to 2.00 and give maintainership to submitterpat2002-01-093-3/+5 * - Install examples to EXAMPLESDIRwjv2002-01-082-0/+77 * Update port to version 5.02.1olgeni2002-01-0715-1608/+1821 * - Update to version 3.9.1wjv2002-01-073-11/+17 * Upgrade lang/python to 2.2. Adjust bsd.python.mk accordingly.tg2002-01-0748-1608/+4152 * Get this port to build correctly in the midst of ac/am 2.52/1.5, sincewill2002-01-072-2/+10 * First round of auto* cleanups:will2002-01-065-4/+7 * Update to 1.95.8pat2002-01-063-3/+15 * - make portlint happierdinoex2002-01-061-1/+2 * Add www site.jdp2002-01-031-0/+2 * Remove the modula-3-socks port. It is obsolete. CVSup works finejdp2002-01-0337-1078/+0 * Don't assume that strnstr(3) exists in the system libc. This should fix thesobomax2002-01-024-41/+27 * Add a port for ezm3, a smaller, more portable distribution of thejdp2002-01-028-0/+1241 * upgrade to 1.1ijliao2002-01-013-5/+17 * To much _MLINKS for README.htmldinoex2001-12-281-0/+1 * Use Tk/tcl 8.3.petef2001-12-272-4/+4 * Update to 0.3.0.knu2001-12-272-5/+8 * Remove ruby-syslog from here too.knu2001-12-262-4/+2 * Update lang/ruby to the 1.6.6 Xmas stable release.knu2001-12-2612-8/+30 * Add missing tcl84 SUBDIR.will2001-12-241-0/+1 * portlint: remove extra whitespaces before end of line.dirk2001-12-243-4/+4 * Update to version 2.3.1.jasone2001-12-242-3/+3 * Install with the correct user:group.jkoshy2001-12-241-0/+2 * - PORTDOCS policepat2001-12-242-10/+10 * Properly set the file mode bits of the irb executables to ${BINMODE}.knu2001-12-234-0/+4 * Initial import of fbbi 0.98kevlo2001-12-226-0/+56 * Update to version 2.1.b2kevlo2001-12-223-2/+5 * Update to version 21-2.7akevlo2001-12-223-15/+16 * upgrade to 1.10ijliao2001-12-224-17/+40 * Add back a @ that got lost.jasone2001-12-221-1/+1 * Update to Onyx 2.3.0.jasone2001-12-223-6/+4 * add nhc98 1.08ijliao2001-12-2212-0/+614 * Use correct comparison operator ('=' -> '==').dirk2001-12-221-4/+4 * Upgrade to the latest version of the PHP documentation.dirk2001-12-217-82/+1317 * Update to v110.37.jkoshy2001-12-207-158/+187 * Backout previous change - it seems that new revision of the patch doesn'tsobomax2001-12-201-17/+8 * Don't filter libc_r on 5-CURRENT.sobomax2001-12-201-8/+17 * Add tcl-manual 2001.12.19, documentation for TCL (Tool Commandpetef2001-12-2010-0/+895 * Set PORTREVISION to 0 after upgrading mod_php4 to 4.1.0.dirk2001-12-203-3/+3 * Unforbid the port for the use of general FreeBSD public.tobez2001-12-2049-112/+994 * Unbroke on -current: don't prototype/implement strnstr(3) - this functionsobomax2001-12-192-0/+39 * Add p5-Scalar-List-Utils, a collection of Perl subroutines that would betobez2001-12-196-0/+55 * Add linux-j 405a, a general purpose programming language.will2001-12-198-0/+1125 * upgrade to 1.95.7ijliao2001-12-183-6/+8 * Update to the lastest version.kevlo2001-12-174-11/+112 * Add USE_BISON=yes because this port requires bison to build.steve2001-12-161-0/+1 * Upgrade to v103p1.jkoshy2001-12-133-5/+6 * Missing patch. Part of Makefile revision 1.2 fixlioux2001-12-102-2/+20 * o Uphold port style tradition: handle post extraction duties inlioux2001-12-106-16/+34 * o New port fpc version 1.0.4: Free Pascal beta compiler with Turbo,lioux2001-12-0923-0/+5195 * upgrade to 2.4.0ijliao2001-12-0814-272/+161 * Use GNU_CONFIGURE and some style changespat2001-12-081-7/+5 * upgrade to 2.1b1ijliao2001-12-063-459/+804 * o New port gnat-doc-txt version 3.13p: Documentation for the GNATlioux2001-12-052-0/+12 * o New port gnat-doc-texi version 3.13p: Documentation for the GNATlioux2001-12-052-0/+12 * o New port gnat-doc-ps version 3.13p: Documentation for the GNATlioux2001-12-052-0/+12 * o New port gnat-doc-info version 3.13p: Documentation for the GNATlioux2001-12-052-0/+12 * o New port jgnat-doc-txt version 1.1p: Documentation for the JGNATlioux2001-12-052-0/+12 * o New port jgnat-doc-ps version 1.1p: Documentation for the JGNATlioux2001-12-052-0/+12 * o New port jgnat-doc-info version 1.1p: Documentation for the JGNATlioux2001-12-052-0/+12 * o New port jgnat-doc-html version 1.1p: Documentation for the JGNATlioux2001-12-0527-0/+424 * New port jgnat-doc-html version 1.1p: Documentation for the JGNATlioux2001-12-051-0/+1 * Add --enable-discard-path to lang/php3.dirk2001-12-041-0/+1 * Add --enable-discard-path and --with-readline to lang/php4.dirk2001-12-043-3/+3 * Unbreak -- it now compiles with cdef.h revs 1.48 / 1.28.2.6.obrien2001-12-032-3/+4 * o Return maintainer to portslioux2001-12-012-8/+5 * o Return maintainer to portslioux2001-12-012-5/+3 * Upgrade to 1.95.6.vanilla2001-11-303-5/+5 * - Update to version 3.8.1wjv2001-11-283-12/+17 * Add squeak3.knu2001-11-271-0/+1 * Add Version 3 of Squeak, after a repocopy from lang/squeak2.knu2001-11-275-51/+52 * Update to 0.3.knu2001-11-273-3/+6 * Put back missed \n, accidentally deleted in the previous commit.sobomax2001-11-271-1/+2 * Allow slave ports to override PORTVERSION.dirk2001-11-261-1/+1 * Add support for japanese (PHP_LANG=ja).dirk2001-11-263-4/+2335 * Upgrade to version from 2001-11-22.dirk2001-11-266-102/+537 * Fix PostgreSQL support:petef2001-11-255-10/+10 * Support new <nfsclient/nfs.h> in -current.jwd2001-11-252-8/+32 * Add support for building without X11 supportdwcjr2001-11-252-4/+20 * update pkg-descrdinoex2001-11-241-1/+1 * Update lang/ruby to the latest snapshot, 1.6-2001.11.23.knu2001-11-244-4/+4 * update ports after rep after reprocopy:dinoex2001-11-24