home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 April / Chip_2000-04_cd.bin / zkuste / Tango / data1.cab / Tango_Demos_TCFs / TreeFunctions.tcf < prev    next >
Extensible Markup Language  |  1999-09-21  |  13KB  |  340 lines

  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <!DOCTYPE TAF SYSTEM "tango.dtd" >
  3. <TCF Version="0x02000002">
  4.     <Comments />
  5.  
  6.     <!--Defined Classes-->
  7.     <Classes>
  8.         <ClassDef>
  9.             <Name>TreeFunctions</Name>
  10.  
  11.             <!--Class constructor-->
  12.             <On_Create>
  13.                 <Implementation>
  14.                     <ActionRef Ref="TreeFunctions.On_Create.Comments" />
  15.                 </Implementation>
  16.             </On_Create>
  17.  
  18.             <!--Class destructor-->
  19.             <On_Destroy>
  20.                 <Implementation />
  21.             </On_Destroy>
  22.  
  23.             <!--Methods of this class-->
  24.             <Methods>
  25.                 <MethodDef>
  26.                     <Name>getChildrenNodes</Name>
  27.                     <MethodParameterList>
  28.                         <MethodParameterItem DataType="Text" Direction="In">
  29.                             <Name>RootNode</Name>
  30.                         </MethodParameterItem>
  31.                         <MethodParameterItem DataType="Text" Direction="In">
  32.                             <Name>DSN</Name>
  33.                         </MethodParameterItem>
  34.                     </MethodParameterList>
  35.                     <Implementation>
  36.                         <ActionRef Ref="TreeFunctions.getChildrenNodes.Get_Children" />
  37.                     </Implementation>
  38.                     <UseReturnValue>TRUE</UseReturnValue>
  39.                 </MethodDef>
  40.                 <MethodDef>
  41.                     <Name>createTreeFiles</Name>
  42.                     <MethodParameterList>
  43.                         <MethodParameterItem DataType="Text" Direction="In">
  44.                             <Name>DSN</Name>
  45.                         </MethodParameterItem>
  46.                     </MethodParameterList>
  47.                     <Implementation>
  48.                         <ActionRef Ref="TreeFunctions.createTreeFiles.Get_RootCategory" />
  49.                         <ActionRef Ref="TreeFunctions.createTreeFiles.Create_TreeFiles" />
  50.                         <ActionRef Ref="TreeFunctions.createTreeFiles.Write_HtmlTree" />
  51.                         <ActionRef Ref="TreeFunctions.createTreeFiles.Write_JavaTree" />
  52.                         <ActionRef Ref="TreeFunctions.createTreeFiles.Assign_Support" />
  53.                     </Implementation>
  54.                     <ReturnValueName>return_value</ReturnValueName>
  55.                     <ReturnValueType>Any</ReturnValueType>
  56.                     <UseReturnValue>TRUE</UseReturnValue>
  57.                 </MethodDef>
  58.                 <MethodDef>
  59.                     <Name>buildTree</Name>
  60.                     <MethodParameterList>
  61.                         <MethodParameterItem DataType="Text" Direction="In">
  62.                             <Name>CategoryID</Name>
  63.                         </MethodParameterItem>
  64.                         <MethodParameterItem DataType="Text" Direction="In">
  65.                             <Name>CategoryString</Name>
  66.                         </MethodParameterItem>
  67.                         <MethodParameterItem DataType="Text" Direction="In">
  68.                             <Name>DSN</Name>
  69.                         </MethodParameterItem>
  70.                     </MethodParameterList>
  71.                     <Implementation>
  72.                         <ActionRef Ref="TreeFunctions.buildTree.Get_ChildNodes" />
  73.                     </Implementation>
  74.                     <ReturnValueName>return_value</ReturnValueName>
  75.                     <ReturnValueType>Any</ReturnValueType>
  76.                 </MethodDef>
  77.             </Methods>
  78.  
  79.             <!--Instance variables for this class-->
  80.             <Variables />
  81.         </ClassDef>
  82.     </Classes>
  83.  
  84.     <!--Program actions-->
  85.     <Actions>
  86.         <ResultAction ID="TreeFunctions.On_Create.Comments" Sig="null">
  87.             <ResultsOutput Ref="TreeFunctions.On_Create.Comments.Results" />
  88.         </ResultAction>
  89.         <SearchAction DSID="Phonelist Data" DeploymentDSID="VAR method$DSN.1" ID="TreeFunctions.getChildrenNodes.Get_Children" Sig="srch">
  90.             <Tables>
  91.                 <TableName>tblCategory</TableName>
  92.             </Tables>
  93.             <DataDictionary>
  94.                 <Column DataType="long" ColumnType="0">
  95.                     <TableName>tblCategory</TableName>
  96.                     <ColumnName>CategoryID</ColumnName>
  97.                 </Column>
  98.                 <Column DataType="text" ColumnType="0">
  99.                     <TableName>tblCategory</TableName>
  100.                     <ColumnName>CategoryDesc</ColumnName>
  101.                 </Column>
  102.                 <Column DataType="long" ColumnType="0">
  103.                     <TableName>tblCategory</TableName>
  104.                     <ColumnName>ParentCategoryID</ColumnName>
  105.                 </Column>
  106.             </DataDictionary>
  107.             <SearchColumns>
  108.                 <ColumnReference>
  109.                     <TableName>tblCategory</TableName>
  110.                     <ColumnName>CategoryID</ColumnName>
  111.                 </ColumnReference>
  112.                 <ColumnReference>
  113.                     <TableName>tblCategory</TableName>
  114.                     <ColumnName>CategoryDesc</ColumnName>
  115.                 </ColumnReference>
  116.             </SearchColumns>
  117.             <Criteria>
  118.                 <CriteriaItem>
  119.                     <TableName>tblCategory</TableName>
  120.                     <ColumnName>ParentCategoryID</ColumnName>
  121.                     <Operator>iseq</Operator>
  122.                     <Value><![CDATA[<@VAR method$RootNode>]]></Value>
  123.                     <QuoteValue>false</QuoteValue>
  124.                     <IncludeIfEmpty>false</IncludeIfEmpty>
  125.                 </CriteriaItem>
  126.             </Criteria>
  127.             <StartRow>1</StartRow>
  128.             <ResultsOutput Ref="TreeFunctions.getChildrenNodes.Get_Children.Results" />
  129.         </SearchAction>
  130.         <SearchAction DSID="Phonelist Data" DeploymentDSID="VAR method$DSN.1" ID="TreeFunctions.createTreeFiles.Get_RootCategory" Sig="srch">
  131.             <Tables>
  132.                 <TableName>tblCategory</TableName>
  133.             </Tables>
  134.             <DataDictionary>
  135.                 <Column DataType="long" ColumnType="0">
  136.                     <TableName>tblCategory</TableName>
  137.                     <ColumnName>CategoryID</ColumnName>
  138.                 </Column>
  139.                 <Column DataType="text" ColumnType="0">
  140.                     <TableName>tblCategory</TableName>
  141.                     <ColumnName>CategoryDesc</ColumnName>
  142.                 </Column>
  143.                 <Column DataType="long" ColumnType="0">
  144.                     <TableName>tblCategory</TableName>
  145.                     <ColumnName>ParentCategoryID</ColumnName>
  146.                 </Column>
  147.             </DataDictionary>
  148.             <SearchColumns>
  149.                 <ColumnReference>
  150.                     <TableName>tblCategory</TableName>
  151.                     <ColumnName>CategoryID</ColumnName>
  152.                 </ColumnReference>
  153.                 <ColumnReference>
  154.                     <TableName>tblCategory</TableName>
  155.                     <ColumnName>CategoryDesc</ColumnName>
  156.                 </ColumnReference>
  157.             </SearchColumns>
  158.             <Criteria>
  159.                 <CriteriaItem>
  160.                     <TableName>tblCategory</TableName>
  161.                     <ColumnName>ParentCategoryID</ColumnName>
  162.                     <Operator>iseq</Operator>
  163.                     <Value>0</Value>
  164.                     <QuoteValue>false</QuoteValue>
  165.                     <IncludeIfEmpty>false</IncludeIfEmpty>
  166.                 </CriteriaItem>
  167.             </Criteria>
  168.             <StartRow>1</StartRow>
  169.             <ResultsOutput Ref="TreeFunctions.createTreeFiles.Get_RootCategory.Results" />
  170.         </SearchAction>
  171.         <ResultAction ID="TreeFunctions.createTreeFiles.Create_TreeFiles" Sig="null">
  172.             <ResultsOutput Ref="TreeFunctions.createTreeFiles.Create_TreeFiles.Results" />
  173.         </ResultAction>
  174.         <FileAction ID="TreeFunctions.createTreeFiles.Write_HtmlTree" Sig="flvt">
  175.             <WriteFile FileExistsRule="Overwrite">
  176.                 <Name><![CDATA[<@VAR local$AppDiskPath ENCODING=NONE>include\tree\HtmlTree.htm]]></Name>
  177.                 <Data><![CDATA[<@VAR instance$HtmlTree ENCODING=NONE>]]></Data>
  178.                 <MacFileType>TEXT</MacFileType>
  179.                 <MacFileCreator>R*ch</MacFileCreator>
  180.             </WriteFile>
  181.         </FileAction>
  182.         <FileAction ID="TreeFunctions.createTreeFiles.Write_JavaTree" Sig="flvt">
  183.             <WriteFile FileExistsRule="Overwrite">
  184.                 <Name><![CDATA[<@VAR local$AppDiskPath ENCODING=NONE>include\tree\JavaTree.htm]]></Name>
  185.                 <Data><![CDATA[<@VAR instance$JavaTree ENCODING=NONE>]]></Data>
  186.                 <MacFileType>TEXT</MacFileType>
  187.                 <MacFileCreator>R*ch</MacFileCreator>
  188.             </WriteFile>
  189.         </FileAction>
  190.         <ResultAction ID="TreeFunctions.createTreeFiles.Assign_Support" Sig="null">
  191.             <ResultsOutput Ref="TreeFunctions.createTreeFiles.Assign_Support.Results" />
  192.         </ResultAction>
  193.         <SearchAction DSID="Phonelist Data" DeploymentDSID="VAR method$DSN.1" ID="TreeFunctions.buildTree.Get_ChildNodes" Sig="srch">
  194.             <Tables>
  195.                 <TableName>tblCategory</TableName>
  196.             </Tables>
  197.             <DataDictionary>
  198.                 <Column DataType="long" ColumnType="0">
  199.                     <TableName>tblCategory</TableName>
  200.                     <ColumnName>CategoryID</ColumnName>
  201.                 </Column>
  202.                 <Column DataType="text" ColumnType="0">
  203.                     <TableName>tblCategory</TableName>
  204.                     <ColumnName>CategoryDesc</ColumnName>
  205.                 </Column>
  206.                 <Column DataType="long" ColumnType="0">
  207.                     <TableName>tblCategory</TableName>
  208.                     <ColumnName>ParentCategoryID</ColumnName>
  209.                 </Column>
  210.             </DataDictionary>
  211.             <SearchColumns>
  212.                 <ColumnReference>
  213.                     <TableName>tblCategory</TableName>
  214.                     <ColumnName>CategoryID</ColumnName>
  215.                 </ColumnReference>
  216.                 <ColumnReference>
  217.                     <TableName>tblCategory</TableName>
  218.                     <ColumnName>CategoryDesc</ColumnName>
  219.                 </ColumnReference>
  220.             </SearchColumns>
  221.             <Criteria>
  222.                 <CriteriaItem>
  223.                     <TableName>tblCategory</TableName>
  224.                     <ColumnName>ParentCategoryID</ColumnName>
  225.                     <Operator>iseq</Operator>
  226.                     <Value><![CDATA[<@VAR method$CategoryID>]]></Value>
  227.                     <QuoteValue>false</QuoteValue>
  228.                     <IncludeIfEmpty>false</IncludeIfEmpty>
  229.                 </CriteriaItem>
  230.             </Criteria>
  231.             <ResultsOutput Ref="TreeFunctions.buildTree.Get_ChildNodes.Results" />
  232.         </SearchAction>
  233.     </Actions>
  234.  
  235.     <!--Data sources-->
  236.     <DataSources>
  237.         <DataSource ID="Phonelist Data">
  238.             <DSType>Pervasive.SQL</DSType>
  239.             <DSN>Phonelist Data</DSN>
  240.             <DBMS />
  241.             <Host>Phonelist Data</Host>
  242.             <Database />
  243.             <UserInfo Encrypted="True">
  244.                 <UserName />
  245.                 <Password />
  246.             </UserInfo>
  247.         </DataSource>
  248.         <DataSource ID="VAR method$DSN.1">
  249.             <DSType>Pervasive.SQL</DSType>
  250.             <DSN><![CDATA[<@VAR method$DSN>]]></DSN>
  251.             <DBMS />
  252.             <Host><![CDATA[<@VAR method$DSN>]]></Host>
  253.             <Database />
  254.             <UserInfo Encrypted="True">
  255.                 <UserName />
  256.                 <Password />
  257.             </UserInfo>
  258.         </DataSource>
  259.     </DataSources>
  260.  
  261.     <!--Output blocks-->
  262.     <Outputs>
  263.         <Output ID="TreeFunctions.On_Create.Comments.Results" Type="HTML"><![CDATA[
  264. <@COMMENT>
  265.  
  266.     This Tango Class File contains recursive functions used by the phonelist sample to:
  267.         1. Find all of the children categories of a given parent category.
  268.         2. Generate HTML to display the category tree stored in the database.
  269.     
  270.     Kevin Hurwitz, Kevin.Hurwitz@pervasive.com
  271.     
  272.     Developer Solutions, Pervasive Software
  273.  
  274. </@COMMENT>]]></Output>
  275.         <Output ID="TreeFunctions.getChildrenNodes.Get_Children.Results" Type="HTML"><![CDATA[<@ROWS>
  276.     <@COLUMN tblCategory.CategoryID>;
  277.     <@CALLMETHOD OBJECT="@@this" METHOD="getChildrenNodes(<@COLUMN tblCategory.CategoryID>,<@VAR method$DSN>)">
  278. </@ROWS>
  279. ]]></Output>
  280.         <Output ID="TreeFunctions.createTreeFiles.Get_RootCategory.Results" Type="HTML"><![CDATA[<@ASSIGN method$CategoryID "<@COLUMN tblCategory.CategoryID>">
  281. <@ASSIGN method$CategoryDesc "<@COLUMN tblCategory.CategoryDesc>">]]></Output>
  282.         <Output ID="TreeFunctions.createTreeFiles.Create_TreeFiles.Results" Type="HTML"><![CDATA[<@ASSIGN instance$NodeCount 1>
  283.  
  284. <@ASSIGN instance$HtmlTree "
  285. <META HTTP-EQUIV='Pragma' CONTENT='no-cache'>
  286. <HTML>
  287. <BODY>
  288. <IMG HEIGHT=20 WIDTH=20 BORDER=0 SRC='<@VAR local$AppRootPath>include\tree\htmlhome.gif'>
  289. <A HREF='<@CGI><@VAR local$AppRootPath>RightFrame.taf?_function=Search&CategoryID=<@VAR method$CategoryID>' TARGET='RightFrame'><@VAR method$CategoryDesc></A>
  290. ">
  291.  
  292. <@ASSIGN instance$JavaTree '
  293. <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
  294. <HTML>
  295. <HEAD>
  296. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
  297. <META NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
  298. <BASE TARGET="RightFrame">
  299. <TITLE>Contents</TITLE>
  300. </HEAD>
  301. <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
  302.     <P>
  303.     <APPLET WIDTH=1000 HEIGHT=2000 NAME="Tree" CODE="TreeApp.class" CODEBASE="<@VAR local$AppRootPath>include/tree/" ALIGN="top">
  304.     <PARAM NAME="expanded" VALUE="">
  305.     <PARAM NAME="offset" VALUE="5,5">
  306.     <PARAM NAME="bgColor" VALUE="white">
  307.     <PARAM NAME="textColor" VALUE="black">
  308.       <PARAM NAME="fgColor" VALUE="black">
  309.     <PARAM NAME="rootTitle" VALUE="<@VAR local$AppName>;javahome.gif,javahome.gif;;<@VAR method$CategoryDesc>">
  310.     <PARAM NAME="item1" VALUE="<@VAR method$CategoryDesc>;mainclsd.gif,mainopen.gif;RightFrame.taf?CategoryID=<@VAR method$CategoryID>&_function=search,RightFrame;<@VAR method$CategoryDesc>">
  311. '>
  312.  
  313. <@CALLMETHOD OBJECT="@@this" METHOD="buildTree(<@VAR method$CategoryID>,<@VAR method$CategoryDesc>,<@VAR method$DSN>)">
  314.  
  315. <@ASSIGN instance$JavaTree '<@VAR instance$JavaTree>
  316. </APPLET>
  317. </P>
  318. </BODY>
  319. </HTML>
  320. '>
  321.  
  322. <@ASSIGN instance$HtmlTree '<@VAR instance$HtmlTree>
  323. </BODY>
  324. </HTML>
  325. '>]]></Output>
  326.         <Output ID="TreeFunctions.createTreeFiles.Assign_Support.Results" Type="HTML"><![CDATA[<@COMMENT> Default to JAVA Version unless the variable is already set </@COMMENT>
  327. <@IFEMPTY @@user$support><@ASSIGN user$support JAVA></@IF>]]></Output>
  328.         <Output ID="TreeFunctions.buildTree.Get_ChildNodes.Results" Type="HTML"><![CDATA[<@ASSIGN instance$HtmlTree '<@VAR instance$HtmlTree> <DL>'>
  329.  
  330. <@ROWS>
  331.     <@ASSIGN instance$NodeCount <@CALC "<@VAR instance$NodeCount> + 1">>
  332.     <@ASSIGN instance$HtmlTree "<@VAR instance$HtmlTree> <DD><IMG SRC='<@VAR local$AppRootPath>include\tree\openfold.gif'><A HREF='<@CGI><@VAR local$AppRootPath>RightFrame.taf?_function=Search&CategoryID=<@COL 1>' TARGET='RightFrame'><@COL 2></A></DD>">
  333.     <@ASSIGN instance$JavaTree '<@VAR instance$JavaTree> <PARAM NAME="item<@VAR instance$NodeCount>" VALUE="<@VAR method$CategoryString>/<@RTRIM "<@COL 2>">;clsdfold.gif,openfold.gif;RightFrame.taf?CategoryID=<@COL 1>&_function=search,RightFrame;"><@CRLF>'>
  334.     <@CALLMETHOD OBJECT="@@this" METHOD="buildTree(<@COLUMN tblCategory.CategoryID>,<@VAR method$CategoryString>/<@COL 2>, <@VAR method$DSN>)">
  335. </@ROWS>
  336.  
  337. <@ASSIGN instance$HtmlTree '<@VAR instance$HtmlTree> </DL>'>]]></Output>
  338.     </Outputs>
  339. </TCF>
  340.