Plasma GitLab Archive
Projects Blog Knowledge

<?xml version="1.0" encoding="ISO8859-1"?>

<!-- $Id: index.ui,v 3.1 2002-02-12 21:18:21 stolpmann Exp $ -->

<!DOCTYPE ui:application
          PUBLIC "-//NPC//DTD WDIALOG 2.1//EN" "application.dtd" [

<!-- Better we would have a complete definition of all HTML-related
     entities. For the moment, ad-hoc definitions do the job.
  -->

<!ENTITY nbsp "<ui:special>&amp;nbsp;</ui:special>">

]>

<ui:application start-dialog="directory">

  <!-- ******************** TEMPLATES *********************** -->

  <!-- The top-level layout of the pages.
       Params:
       page:   the page to display
    -->
  <ui:template name="page-layout" from-caller="page">
    <html>
      <head><title>Directory listing application</title></head>
      <body bgcolor="white">

        <ui:form>

          <!-- We want the whole page to be indented by 20 pixels -->
          <table>
            <tr>
              <td width="20">&nbsp;</td>
              <td>$page</td>
            </tr>
          </table>

        </ui:form>

      </body>
    </html>
  </ui:template>



  <!-- One row of the directory listing
       Params:
       filename, fileperms, fileowner, filegroup, filesize,
       filemtime, filesymlink
    -->
  <ui:template name="directory-row" from-caller="int">
    <tr>
      <td align="left">
	<tt><ui:dynamic variable="fileperms" index="$int"/></tt>
      </td>
      <td>&nbsp;&nbsp;</td>
      <td align="left">
        <ui:dynamic variable="fileowner" index="$int"/>
      </td>
      <td>&nbsp;&nbsp;</td>
      <td align="left">
        <ui:dynamic variable="filegroup" index="$int"/>
      </td>
      <td>&nbsp;&nbsp;</td>
      <td align="right">
        <ui:dynamic variable="filesize" index="$int"/>
      </td>
      <td>&nbsp;&nbsp;</td>
      <td align="left">
        <tt><ui:dynamic variable="filemtime" index="$int"/></tt>
      </td>
      <td>&nbsp;&nbsp;</td>
      <td align="left">
        <ui:dynamic variable="filename" index="$int" special="yes"/>
        <ui:dynamic variable="filesymlink" index="$int" special="yes"/>
      </td>
    </tr>
  </ui:template>



  <!-- The default layout of a filename.
       Params:
       value
    -->
  <ui:template name="filename" from-caller="value">
    $value
  </ui:template>



  <!-- The layout of filenames of directories.
       Params:
       value
    -->
  <ui:template name="filename_d" from-caller="value">
    <ui:a name="goto_dir" index="$value">$value</ui:a>
  </ui:template>



  <!-- The layout of a symlink
       Params:
       value
    -->
  <ui:template name="symlink" from-caller="value">
    -&gt; $value
  </ui:template>


  <!-- ********************* OBJECTS *********************** -->

  <ui:dialog name="directory" start-page="enter_path">


    <!-- *** Declaration of state variables *** -->

    <ui:variable name="path">
	 <ui:string-value>/</ui:string-value>
    </ui:variable>
        <!-- The path to list -->

    <ui:variable name="fileperms" associative="yes" temporary="yes"/>
    <ui:variable name="fileowner" associative="yes" temporary="yes"/>
    <ui:variable name="filegroup" associative="yes" temporary="yes"/>
    <ui:variable name="filesize"  associative="yes" temporary="yes"/>
    <ui:variable name="filemtime" associative="yes" temporary="yes"/>
    <ui:variable name="filename"  associative="yes" temporary="yes"/>
    <ui:variable name="filesymlink" associative="yes" temporary="yes"/>
      <!-- Properties of every file -->


    <!-- *** The page enter_path *** -->

    <ui:page name="enter_path">
      <ui:use template="page-layout">
        <ui:param name="page">
	  <h1>Directory Listings</h1>
          Please enter the path name of the directory you want to
          see.<br/>
	  Path name: <ui:text variable="path" size="40"/>
	  <ui:button name="path-ok" label="OK" goto="show_listing"/>
        </ui:param>
      </ui:use>
    </ui:page>


    <!-- *** The page show_listing *** -->

    <ui:page name="show_listing">
      <ui:use template="page-layout">
        <ui:param name="page">
          <h1>The directory <ui:dynamic variable="path"/></h1>
          <table>
             <!-- Here multiple instances of the template
                  "directory-row" are inserted.
	       -->
	     <ui:iterate variable="filename" template="directory-row">
	       <ui:iter-head>
		 <tr>
		   <td><b>Permissions</b></td>
		   <td/>
		   <td><b>Owner</b></td>
		   <td/>
		   <td><b>Group</b></td>
		   <td/>
		   <td align="right"><b>Size</b></td>
		   <td/>
		   <td align="right"><b>Last modified</b></td>
		   <td/>
		   <td><b>Name</b></td>
	         </tr>
	       </ui:iter-head>
	     </ui:iterate>
          </table>
          <ui:button name="enter-path" label="Change path" goto="enter_path"/>
        </ui:param>
      </ui:use>
    </ui:page>

  </ui:dialog>

</ui:application>



This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml