summaryrefslogtreecommitdiff
path: root/examples/apps/docedit/fpdeutil.pas
diff options
context:
space:
mode:
Diffstat (limited to 'examples/apps/docedit/fpdeutil.pas')
-rw-r--r--examples/apps/docedit/fpdeutil.pas90
1 files changed, 90 insertions, 0 deletions
diff --git a/examples/apps/docedit/fpdeutil.pas b/examples/apps/docedit/fpdeutil.pas
new file mode 100644
index 00000000..e5f22299
--- /dev/null
+++ b/examples/apps/docedit/fpdeutil.pas
@@ -0,0 +1,90 @@
+{
+ ***************************************************************************
+ * *
+ * This source 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 code 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. *
+ * *
+ * A copy of the GNU General Public License is available on the World *
+ * Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
+ * obtain it by writing to the Free Software Foundation, *
+ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * *
+ ***************************************************************************
+
+ Author: Michael Van Canneyt
+}
+unit FPDEUtil;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils, DOM;
+
+Type
+ TTagType = (ttBold,ttItalic,ttUnderline,ttParagraph,ttVariable,ttRemark,
+ ttNumberedList,ttUnnumberedList,ttListItem,ttTable,ttRow,
+ ttCell,TTHeader,ttPre,ttCode,ttLink,ttFile,ttPrintShort);
+
+ TElementEvent = Procedure (Node : TDomElement) of Object;
+
+Const
+ TagNames : Array[TTagType] of string = ('b','i','u','p','var','remark',
+ 'ol','ul','li','table','tr',
+ 'td','th','pre','code','link','file', 'printshort');
+
+Function IsPackageNode (Node : TDomNode) : Boolean;
+Function IsModuleNode (Node : TDomNode) : Boolean;
+Function IsTopicNode (Node : TDomNode) : Boolean;
+Function IsElementNode (Node : TDomNode) : Boolean;
+Function IsLinkNode (Node : TDomNode) : Boolean;
+
+
+implementation
+{ ---------------------------------------------------------------------
+ Auxiliary functions
+ ---------------------------------------------------------------------}
+
+Function IsPackageNode (Node : TDomNode) : Boolean;
+
+begin
+ Result:=Assigned(Node) and (Node.NodeType=ELEMENT_NODE) and (Node.NodeName='package')
+end;
+
+Function IsModuleNode (Node : TDomNode) : Boolean;
+
+begin
+ Result:=Assigned(Node) and (Node.NodeType=ELEMENT_NODE) and (Node.NodeName='module')
+end;
+
+Function IsTopicNode (Node : TDomNode) : Boolean;
+
+begin
+ Result:=Assigned(Node) and (Node.NodeType=ELEMENT_NODE) and (Node.NodeName='topic')
+end;
+
+Function IsElementNode (Node : TDomNode) : Boolean;
+
+begin
+ Result:=Assigned(Node) and (Node.NodeType=ELEMENT_NODE) and (Node.NodeName='element')
+end;
+
+Function IsLinkNode (Node : TDomNode) : Boolean;
+
+begin
+ Result:=Assigned(Node) and (Node.NodeType=ELEMENT_NODE) and (Node.NodeName='link')
+end;
+
+
+
+
+end.
+