From 332129d6e1b9d55064d5edd9554bcf0fd0054a6f Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 30 Mar 2004 23:15:12 +0000 Subject: [PATCH] reference updates, including diagrams darcs-hash:20040330231512-5007d-015a0b17990c27e93e20e57b6712e401217b8474.gz --- Makefile | 9 +- doc/ibex-doc.xml | 204 +++++ doc/reference/alignmentpoint.pdf | Bin 0 -> 109449 bytes doc/reference/grid.pdf | Bin 0 -> 27243 bytes doc/reference/layout.pdf | Bin 0 -> 6113 bytes doc/reference/lifecycle.pdf | Bin 0 -> 74040 bytes doc/reference/offscreen.pdf | Bin 0 -> 11575 bytes doc/reference/pdftricks.sty | 363 +++++++++ doc/{ => reference}/reference.xml | 1502 +++++++++++++++++++------------------ doc/reference/threeviews.pdf | Bin 0 -> 12022 bytes 10 files changed, 1339 insertions(+), 739 deletions(-) create mode 100644 doc/ibex-doc.xml create mode 100644 doc/reference/alignmentpoint.pdf create mode 100644 doc/reference/grid.pdf create mode 100644 doc/reference/layout.pdf create mode 100644 doc/reference/lifecycle.pdf create mode 100644 doc/reference/offscreen.pdf create mode 100644 doc/reference/pdftricks.sty rename doc/{ => reference}/reference.xml (66%) create mode 100644 doc/reference/threeviews.pdf diff --git a/Makefile b/Makefile index 993e66e..d09fcb1 100644 --- a/Makefile +++ b/Makefile @@ -379,8 +379,9 @@ propose-patch: commit: propose-patch darcs push --and-apply xwt@xwt.org:/var/www/org/ibex/core/ -reference: build/class/org/ibex/util/XML.class build/class/org/ibex/util/Doc.class doc/reference.xml - cd doc; java -cp ../build/class org.ibex.util.Doc < reference.xml > reference.tex - cd doc; pdflatex reference.tex - open doc/reference.pdf +doc/%.pdf: build/class/org/ibex/util/XML.class build/class/org/ibex/util/Doc.class doc/%.xml + cd $(@D); java -cp ../../build/class org.ibex.util.Doc slides < `basename $*`.xml > `basename $*`.tex + cd $(@D); pdflatex `basename $*`.tex + open doc/$*.pdf + diff --git a/doc/ibex-doc.xml b/doc/ibex-doc.xml new file mode 100644 index 0000000..05e49d9 --- /dev/null +++ b/doc/ibex-doc.xml @@ -0,0 +1,204 @@ + + +
+ +
+ + Foo. + +
+ +
+ + + + IbexDoc targets four primary documentation tasks: + + + + Books, Manuals and references + + Articles + + Literate Programming (documentation embedded in source code) + + Presentation Slides + + Web pages, including WikiWebs + + + + + + The goal of separating markup from content has been + around for a long time in the document world. For some reason it + never succeeded. The problem is that: + + + The purpose of content is to convey semantic meaning. + + Some markup and formatting carries semantic meaning. + + + For example, consider italicization. Adding or removing + italicization can actually affect the meaning of a piece of text. + Therefor italicization (or rather "emphasis") is part of the + content of a document. + + IbexDoc recognizes this and does not attempt to use XML for + anything that might carry semantic meaning. Effectively, you can + remove all XML tags from an IbexDoc file without altering the + meaning of the text (although it might be rather hard to discern + the meaning with all the text jumbled together!) + +
+
+
+ + + (title subtitle logo license options(toc,index) logo) + + + + (email, name) + + + + changes + + + + (contains sections, must appear once at EOF) + + + + (title) + + + + .. + + + + .. + + + + (a different kind of list?) + + + + .. + + + + .. + + + + .. + + + + .. + + + + .. + + + + .. + + + + .. + + + + .. + + + + .. + + +
+ +
+ +
+
+     **italics**
+     __boldface__
+     ||typewriter||
+
+     blank lines become paragraph breaks
+
+     # 1
+        # 1.1
+           # 1.1.1
+
+     - 
+        -
+           -
+
+     \\     -   backslash
+     \0x??  -   unicode
+     \amp
+     \lt
+     \gt
+     \quot
+     \apos
+
+  
+ +
+ +
+ + tables + + plugins (charts, graphs, diagrams) + + wiki-style links + + slides + + slide breaks + + overlays + + 2-column + + different diagram layouts + + color + + persistent outline + + watermark/logo + + + + +
+
+          /** */
+          ///      
+          ///<
+          @param
+          @throws
+          @see
+          @link, autolinking (wiki-style?) of other classes/modules
+          @return
+          @deprecated
+          @since
+          @author?
+          package-level overview (but it's lame to put it in a separate file)
+          inheritance
+
+      
+
+ +
\ No newline at end of file diff --git a/doc/reference/alignmentpoint.pdf b/doc/reference/alignmentpoint.pdf new file mode 100644 index 0000000000000000000000000000000000000000..82b5cd40f58da94178b870e1aeb96256c3a2078f GIT binary patch literal 109449 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 literal 0 HcmV?d00001 diff --git a/doc/reference/layout.pdf b/doc/reference/layout.pdf new file mode 100644 index 0000000000000000000000000000000000000000..853b40da19d671d544318a3b794f9d898d946807 GIT binary patch literal 6113 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%0AeE^f=P&_m1|Y)Me*KWtK)t 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 literal 0 HcmV?d00001 diff --git a/doc/reference/pdftricks.sty b/doc/reference/pdftricks.sty new file mode 100644 index 0000000..68ae554 --- /dev/null +++ b/doc/reference/pdftricks.sty @@ -0,0 +1,363 @@ +% +% pdftricks.sty +% +% Copyright (c) 2001, Radhakrishnan CV +% Rajagopal CV +% http://www.river-valley.com +% +% River Valley Technologies, Software Technology Park, +% Trivandrum, India 695034 +% +% Tel: +91 471 33 7501/7502 +% +% Antoine Chambert-Loir +% +% http://www.math.polytechnique.fr/~chambert +% +% Ecole polytechnique, Palaiseau Cedex, France +% +% +% 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 (gpl.txt); if not, write to the Free +% Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +% MA 02111-1307, USA. +% +% $Id: pdftricks.sty,v 1.15 2001/09/30 11:21:23 cvr Exp $ +% +\NeedsTeXFormat{LaTeX2e} +\def\Fileversion$#1: #2 ${\gdef\fileversion{#2}} +\def\Filedate$#1: #2 #3 ${\gdef\filedate{#2}} +\Fileversion$Revision: 1.15 $ +\Filedate$Date: 2001/09/30 11:21:23 $ +\ProvidesPackage{pdftricks} + [\filedate\space\fileversion\space psTricks support in PDF (CVRACL)] +\PackageWarningNoLine{pdftricks} + {****************************************\MessageBreak + Package pdftricks v,\fileversion\space loaded\MessageBreak + [psTricks support in PDF (CVR, ACL)]\MessageBreak + ****************************************} +\RequirePackage{graphicx,color} +\newif\if@debug\@debugfalse +\newif\ifPDFTshell +\newif\ifPDFTnopdf +\newif\ifnoprocess \noprocessfalse +\newif\ifmiktex \miktexfalse +\DeclareOption{debug}{\@debugtrue} +\DeclareOption{noshell}{\PDFTshellfalse} +\DeclareOption{shell}{\PDFTshelltrue} +\DeclareOption{miktex}{\global\miktextrue} +\ExecuteOptions{shell} +\ProcessOptions\relax +\ifPDFTshell +% we must set it to false if \write18 doesn't work. +% Hack given by Thierry Bouche (Thanks !) +\def\tmpfile{/tmp/w18-test-\the\year\the\month\the\day\the\time} +\ifmiktex% + \immediate\write18{rem >"\tmpfile"}%%%%%% LDL-2 +\else + \immediate\write18{touch \tmpfile} %%%%%% LDL-1 +\fi +\ifmiktex + \IfFileExists{\tmpfile.}{\PDFTshelltrue}{\PDFTshellfalse} %%%%%% LDL-4 +\else + \IfFileExists{\tmpfile}{\PDFTshelltrue}{\PDFTshellfalse} %%%%%% LDL-3 +\fi +\fi +\ifPDFTshell + \PackageWarningNoLine{pdftricks} + {****************************************\MessageBreak + Using \csname write\endcsname18 capability \MessageBreak + for producing PDF-figures. \MessageBreak + ****************************************} +\else + \PackageWarningNoLine{pdftricks} + {****************************************\MessageBreak + No \csname write\endcsname18 capability.\MessageBreak + You'll have to run a script by yourself!\MessageBreak + ****************************************} +\fi + +% warning! the definition of FIGURES if pst2pdf must be set accordingly !! +\def\PDFTfigname{\jobname-fig\thepsfig} +\def\PDFTWarning#1#2{\if@debug\PackageWarning{#1}{#2}\fi} +\def\PDFTWarningNoLine#1#2{\if@debug\PackageWarningNoLine{#1}{#2}\fi} +\def\makeinnocent#1{\catcode`#1=12 } +\def\csarg#1#2{\expandafter#1\csname#2\endcsname} +\def\latexname{lplain}\def\latexename{LaTeX2e} +\newwrite\PDFStream + +\long\def\ProcessStream#1% start it all of + {\begingroup% + \def\CurrentStream{#1}% + \let\do\makeinnocent \dospecials + \makeinnocent\^^L% and whatever other special cases + \endlinechar`\^^M \catcode`\^^M=12 \xStream} +{\catcode`\^^M=12 \endlinechar=-1 % + \gdef\xStream#1^^M{% + \expandafter\ProcessStreamLine} + \gdef\ProcessStreamLine#1^^M{\def\test{#1} + \csarg\ifx{End\CurrentStream Test}\test + \edef\next{\noexpand\EndOfStream{\CurrentStream}}% + \else \ThisStream{#1}\let\next\ProcessStreamLine + \fi \next} +} +\long\def\streaminfo{\string\end{document}} +\def\CSstringmeaning#1{\expandafter\CSgobblearrow\meaning#1} +\def\CSstringcsnoescape#1{\expandafter\CSgobbleescape\string#1} +{\escapechar-1 +\expandafter\expandafter\expandafter\gdef + \expandafter\expandafter\expandafter\CSgobblearrow + \expandafter\string\csname macro:->\endcsname{} +} +\def\CSgobbleescape#1{\ifnum`\\=`#1 \else #1\fi} +\def\WriteStreamLine#1{\def\CStmp{#1}% + \immediate\write\PDFStream{\CSstringmeaning\CStmp}} + +\def\AfterIncludedStream + {\immediate\closeout\PDFStream %changed on 2001/1/20 + \relax + }% +\def\BeforeIncludedStream + {\stepcounter{psfig}\xdef\PDFCutFile{\PDFTfigname.tex}% + \message{Opening PDFStream=\PDFCutFile}% + \immediate\openout\PDFStream=\PDFCutFile + \immediate\write\PDFStream{\string\documentclass{article}} + \immediate\write\PDFStream{\string\input\space tmp.inputs} + \immediate\write\PDFStream{\string\pagestyle{empty}} + \immediate\write\PDFStream{\string\usepackage{amssymb,amsbsy}} + \immediate\write\PDFStream{\string\begin{document}} + \let\ThisStream\WriteStreamLine} +\long\def\specialstream #1#2#3{% + \message{Special stream '#1'}% + \csarg\def{After#1Stream}{#2\AfterIncludedStream#3}% + \csarg\def{#1}{\BeforeIncludedStream\relax + \ProcessStream{#1}}% + \PDFEndDef{#1}} +\def\EndOfStream#1{\endgroup\end{#1}% + \csname After#1Stream\endcsname} +\def\PDFEndDef#1{{\escapechar=-1\relax + \csarg\xdef{End#1Test}{\string\\end\string\{#1\string\}}% + }} +%% +%% The real meat of psfile manipulation starts here. +%% +%% +\AtEndDocument{\endPShook% + \ifPDFTnopdf + \PackageWarningNoLine{pdftricks} + {******************************************\MessageBreak + Some PDF files of images were not found.\MessageBreak + Run the script `pst2pdf' before the next\MessageBreak + run of pdfLaTeX\MessageBreak + ******************************************} + \fi +} +\gdef\endPShook{} +\def\noprocess{\global\noprocesstrue + \PackageWarning{pdftricks} + {******************************************\MessageBreak + Figure Number: \PDFTfigname\space is not processed \MessageBreak + ******************************************\MessageBreak} +} +\specialstream{pdfpic}{% + \immediate\write\PDFStream{\streaminfo}} + {\psgraphicsinclude\global\noprocessfalse} +\newcounter{psfig} +\newif\if@pdfGINwidth +\newif\if@pdfGINheight +\newif\if@pdfGINscale +\long\gdef\psgraphicsinclude{% + \@ifundefined{Fig\thepsfig} + {\PDFTWarningNoLine{pdftricks} + {******************************************\MessageBreak + ************ Processing Fig: \thepsfig\space**********\MessageBreak + ******************************************} + } + {\noprocess} + \ifPDFTshell\ifnoprocess\relax\else + \IfFileExists{\PDFTfigname.tex}{% + \immediate\write18{latex -interaction=batchmode \PDFTfigname} + \PDFTWarningNoLine{pdftricks} + {******************************************\MessageBreak + \PDFTfigname.tex converted to \PDFTfigname.dvi\MessageBreak + ******************************************} + }{} + \IfFileExists{\PDFTfigname.dvi}{% + \immediate\write18{dvips -o \PDFTfigname.ps \PDFTfigname} + \immediate\write18{ps2eps -f \PDFTfigname.ps} + \PDFTWarningNoLine{pdftricks} + {******************************************\MessageBreak + \PDFTfigname.eps generated\MessageBreak + ******************************************} + }{} + \IfFileExists{\PDFTfigname.eps}{% + \immediate\write18{epstopdf \PDFTfigname.eps} + \PDFTWarningNoLine{pdftricks} + {******************************************\MessageBreak + \PDFTfigname.eps converted to \PDFTfigname.pdf\MessageBreak + ******************************************} + }{} + \ifmiktex% + \immediate\write18{del \PDFTfigname.aux \PDFTfigname.dvi \PDFTfigname.log \PDFTfigname.eps} %%%%%% LDL-6 + \else + \immediate\write18{rm \PDFTfigname.aux \PDFTfigname.dvi \PDFTfigname.log \PDFTfigname.eps} %%%%%% LDL-5 + \fi\fi + \fi + \IfFileExists{\PDFTfigname.pdf}% + {\begin{center} + \bgroup\fboxsep\@PDFboxsep\fboxrule\@PDFboxrule% + \color{\@PDFgraphiccolor}% + \fcolorbox{\@PDFgraphiclinecolor}{\@PDFgraphicbackground}% + {\if@pdfGINwidth% + \includegraphics[width=\@PDFgraphicwidth]{\PDFTfigname}\else% + \if@pdfGINheight% + \includegraphics[height=\@PDFgraphicheight]{\PDFTfigname}\else% + \if@pdfGINscale% + \includegraphics[scale=\@PDFgraphicscale]{\PDFTfigname}\else% + \includegraphics{\PDFTfigname}\fi\fi\fi% + }\egroup\end{center}% + \global\@pdfGINwidthfalse\let\@PDFgraphicwidth\relax + \global\@pdfGINheightfalse\let\@PDFgraphicheight\relax + \global\@pdfGINscalefalse\let\@PDFgraphicscale\relax + }{\PDFTnopdftrue} + \gdef\@PDFgraphiclinecolor{white} + \gdef\@PDFgraphicbackground{white} + \gdef\@PDFboxsep{0pt} + \gdef\@PDFboxrule{0pt} +} +\definecolor{gray30}{gray}{.70} +\definecolor{gray10}{gray}{.90} +\RequirePackage{keyval} +\def\configure[#1][#2]{\setkeys{#1}{#2} + \PDFTWarning{pdftricks}{Reconfigured #1 parameter(s)\MessageBreak #2\MessageBreak} + } +\define@key{pdfgraphic}{width} {\gdef\@PDFgraphicwidth{#1}\global\@pdfGINwidthtrue} +\define@key{pdfgraphic}{height} {\gdef\@PDFgraphicheight{#1}\global\@pdfGINheighttrue} +\define@key{pdfgraphic}{scale} {\gdef\@PDFgraphicscale{#1}\global\@pdfGINscaletrue} +\define@key{pdfgraphic}{color} {\gdef\@PDFgraphiccolor{#1}} +\define@key{pdfgraphic}{linecolor} {\gdef\@PDFgraphiclinecolor{#1}} +\define@key{pdfgraphic}{background}{\gdef\@PDFgraphicbackground{#1}} +\define@key{pdfgraphic}{linewidth} {\gdef\@PDFboxrule{#1}} +\define@key{pdfgraphic}{rulesep} {\gdef\@PDFboxsep{#1}} +\gdef\@PDFgraphiccolor{black} +\gdef\@PDFgraphiclinecolor{white} +\gdef\@PDFgraphicbackground{white} +\gdef\@PDFboxrule{0pt} +\gdef\@PDFboxsep{0pt} +%% +%% Tweak to grab all the packages used in the master doc. +%% This forces you to load pdftricks as the first package. +%% +\newenvironment{psinputs}{\begingroup + \newwrite\CVinputs + \immediate\openout\CVinputs=tmp.inputs + \def\usepackage{\@ifnextchar[\@CVUsepackage\@@CVUsepackage} + \def\@CVUsepackage[##1]##2{\immediate\write\CVinputs% + {\string\usepackage[##1]{##2}}} + \def\@@CVUsepackage##1{\immediate\write\CVinputs% + {\string\usepackage{##1}}} + } + {\endgroup\immediate\closeout\CVinputs} +%% +%% Arrays to keep the fig numbers +%% +\newcounter{arraylength}% +\newcounter{ArrayIndex}% +\newcounter{zeroCtr}% +\newcounter{recordCtr} +\setcounter{recordCtr}{1} +\newcounter{Ctr} +\def\DeclareArray#1{\Array{#1}[0]{}}% +% +\def\Array#1[#2]#3{% + \expandafter\gdef\csname #1#2\endcsname{#3}% + \expandafter\gdef\csname #1\endcsname[##1]{\csname #1##1\endcsname}}% +% +\def\getArraylength#1{\setcounter{arraylength}{0}% + \loop\expandafter\ifx\csname #1\thearraylength\endcsname\relax% + \else\stepcounter{arraylength}\repeat}% +% +\def\addToArray#1#2{\setcounter{arraylength}{0}% + \loop\expandafter\ifx\csname #1\thearraylength\endcsname\relax% + \else\stepcounter{arraylength}\repeat% + \Array{#1}[\thearraylength]{#2}}% +% +\def\clearArray#1{\getArraylength{#1}% + \loop\ifnum\c@arraylength >0% + \global\expandafter\let\csname #1\thearraylength\endcsname\relax% + \addtocounter{arraylength}{-1}\repeat}% +% +\long\def\ArrayIterator#1#2{% + \setcounter{ArrayIndex}{1}\getArraylength{#1}% + \setcounter{zeroCtr}{\c@arraylength}% + \loop\ifnum\c@ArrayIndex<\c@zeroCtr{#2}% + \stepcounter{ArrayIndex}\repeat% +}% +\def\@nnil{\@nil} +\def\@empty{} +\def\@cvrstop#1\@@#2{} +%% +%% Equivalent of \@tfor and \@for where any delimiter can be +%% provided instead of LaTeX's default comma character +%% +\long\def\cvr@delimfor#1#2#3{\DeclareArray{#1}\clearArray{#1}% + \long\def\@icvrloop##1#2##2\@@##3{\def##3{##1}\ifx ##3\@nnil% + \expandafter\@cvrstop \else\addToArray{#1}{##1}% + \relax\expandafter\@icvrloop\fi##2\@@##3}% + \long\def\@cvrloop##1#2##2#2##3\@@##4{\addToArray{#1}{##1}% + \def##4{##1}\ifx ##4\@nnil \else% + \def##4{##2}\def\y@y{##2}\ifx\y@y\@nnil\else% + \addToArray{#1}{##2}\fi\ifx ##4\@nnil \else% + \@icvrloop ##3\@@##4\fi\fi}% + \expandafter\def\expandafter\@fortmp\expandafter{#3}% + \ifx\@fortmp\@empty \else% + \expandafter\@cvrloop#3#2\@nil#2\@nil\@@\@ee@\fi}% +% +% Dont look into the following code. It is harmful +% for your eyes and brain as well. +% +\newcounter{f@irstCtr} +\newcounter{s@econdCtr} +\long\gdef\NoProcess[#1]{% + \long\def\@i@@noprocess##1,##2\@@##3{\def##3{##1}\ifx ##3\@nnil% + \expandafter\@cvrstop \else + \expandafter\hyphencheck##1-@-*[*] + \relax\expandafter\@i@@noprocess\fi##2\@@##3}% + \long\def\@@@noprocess##1,##2,##3\@@##4{ + \expandafter\hyphencheck##1-@-*[*] + \def##4{##1}\ifx ##4\@nnil \else% + \def##4{##2}\def\y@y{##2}\ifx\y@y\@nnil\else% + \expandafter\hyphencheck##2-@-*[*] + \fi\ifx ##4\@nnil \else% + \@i@@noprocess ##3\@@##4\fi\fi}% + \expandafter\def\expandafter\@fortmp\expandafter{#1}% + \ifx\@fortmp\@empty \else% + \expandafter\@@@noprocess#1,\@nil,\@nil\@@\@ee@\fi}% +\def\d@d#1[*]{} +\def\hyphencheck#1-#2-#3{\def\r@r{@}\def\s@s{*}\edef\c@c{#3} + \ifx\c@c\r@r + \setcounter{f@irstCtr}{#1} + \setcounter{s@econdCtr}{#2} + \stepcounter{s@econdCtr} + \loop\ifnum\thes@econdCtr > \thef@irstCtr% + \expandafter\edef\csname Fig\thef@irstCtr\endcsname{TRUE} + \stepcounter{f@irstCtr} + \repeat% + \else\ifx\c@c\s@s% + \expandafter\edef\csname Fig#1\endcsname{TRUE} + \fi\fi\d@d} + +%% +%% +%% End of file `pdftricks.sty' +%% diff --git a/doc/reference.xml b/doc/reference/reference.xml similarity index 66% rename from doc/reference.xml rename to doc/reference/reference.xml index 15b8da4..4850109 100644 --- a/doc/reference.xml +++ b/doc/reference/reference.xml @@ -1,8 +1,8 @@ -
- +
+ If you are reading the html version of this document and are thinking of printing it out, you might be interested in the nicely @@ -23,14 +23,7 @@ aspect of the environment that the Ibex Core provides to client applications, from the bottom up. If you want to be an Ibex expert, this is the right document to read. It is assumed that you are already - familiar with XML and with either JavaScript or ECMAscript. If - you are not familiar with ECMAscript, some reference materials are - provided in - - The wildebeest sequence (how the Ibex Core gets onto the - client's computer, and how it knows where to download the initial - .ibex from) is not described in this document, since it - will be different for every platform that Ibex is ported to. + familiar with XML and with either JavaScript or ECMAscript. If you need to use or rely on some behavior you notice in the Ibex Core, but which is not clearly defined here, please post to Ibex itself; the native code (or Java bytecode) that runs on - the client. This term does not include the wildebeest + the client. This term does not include the Wildebeest or the UI - a set of files (mostly XML, JavaScript, and PNG images) - bundled up in a zip archive, ending with the "..ibex" + A set of files (mostly XML, JavaScript, and PNG images) + bundled up in a zip archive, ending with the ".ibex" extension. Together, these files specify the appearance and - behavior of the application's user interface. Sometimes - we'll refer to this as the ".ibex" to be clear that we're - talking about the actual zip archive, rather than its visual - appearance when rendered on the screen. + behavior of the application's user interface. + We will use the term "the server" to refer to any other @@ -58,11 +49,11 @@ to. Note that it is possible for the client and server to be the same machine. - - this is a very small piece of code that is downloaded the + + This is a very small piece of code that is downloaded the first time a client uses Ibex. It downloads the Ibex core, verifies its signature, and launches it with the appropriate - parameters indicating where to find the initial UI. The + parameters indicating where to find the initial UI. Wildebeest works differently on every platform, and is outside the scope of this document. @@ -85,492 +76,572 @@ We will use the terms JavaScript and ECMAScript interchangeably in this document. The Ibex interpreter is not completely ECMA-compliant, however (see for details). -
-
- -
- - Each top-level window in an Ibex UI is called a - surface. There are two kinds of surfaces: frames, - which usually have a platform-specific titlebar and border, and - windows, which never have any additional platform-specific - decorations. - - Whenever we refer to the size or position of a surface, we are - referring to the size or position of the UI-accessible portion of the - surface; this does not include any platform-specific decorations. This - means that if you set the position of a frame to (0,0), the - platform-specific titlebar will actually be off the screen on most - platforms (it will be above and to the left of the top-left corner of - the screen). - - Surfaces are not actual JavaScript objects; you cannot obtain a - reference to a surface. However, each surface is uniquely identified - by its root box, described in the next section. - -
+ appendix="ECMAscript compliance"/> for details). + -
+
- A box is the fundamental unit from which all Ibex user - interfaces are built. Boxes can contain other boxes (known as - children). Each Surface has a single box associated with it - called the root box; the root box and its children (and its - children's children, and so on) form the surface's box tree. - - There are three ways to think of a box: as a rendered visualization on - the screen (the "Visual Representation"), as a JavaScript object (the - "Object Representation"), and as an XML tag (the "XML - Representation"). - - FIXME: diagram here - - All three representations are equally valid, and being able to figure - out what an action in one representation would mean in terms of the other - two representations is crucial to a solid understanding of Ibex. - -
+
+ + + + A user typically begins an Ibex session by clicking on a link to + an Ibex application. This link serves the {\tt launch.html} file + to the user's browser, which in turn downloads the appropriate + {\it Wildebeest} -- currently either an ActiveX Control + (Win32/MSIE), XPInstaller (Mozilla), or Signed Applet (all + others). + + The Wildebeest downloads the appropriate core for the user's + machine and verifies its digital signature. It then launches the + core, which downloads the UI (an .ibex archive), loads it, + applies the main.t template (found in the archive), and + renders it onto the screen, running any associated JavaScript + code. + + The user interacts with the application by clicking and moving the + mouse, and by pressing keys on the keyboard. These actions trigger + fragments of JavaScript code which are designated to handle events. + This JavaScript code can then relay important information back to the + server using XML-RPC or SOAP, or it can modify the structure and + properties of the user interface to change its appearance, thereby + giving feedback to the user. + + The Ibex core quits when the last remaining surface has been destroyed. - Each box is a full-fledged ECMAscript object, and can store key-value - pairs as properties. Some of these keys have special meaning, which - will be explained later. Each box's numeric properties hold its - child boxes. -
-
- Each box occupies a rectangular region on the surface. The visual - appearance of a surface is created by rendering each box in its tree. - Unless the clip attribute is false, each box will - clip its childrens' visual representations to its own, so that the - children appear "confined to" the parent. Children are rendered after - their parents so they appear "on top of" their parents (they obscure - them). - - Each box has two major visual components, each with subcomponents: - - FIXME: diagram - +
+ + + Each top-level window in an Ibex UI is called a + surface. There are two kinds of surfaces: frames, + which usually have a platform-specific titlebar and border, and + windows, which never have any additional platform-specific + decorations. + + Whenever we refer to the size or position + of a surface, we are referring to the size or position of the + UI-accessible portion of the surface; this does not include any + platform-specific decorations. This means that if you set the + position of a frame to (0,0), the platform-specific titlebar will + actually be off the screen on most platforms (it will be above and + to the left of the top-left corner of the screen). + + Surfaces are not actual JavaScript objects; you cannot obtain a + reference to a surface. However, each surface is uniquely identified + by its root box, described in the next section. + +
+ +
+ + A box is the fundamental unit from which all Ibex user + interfaces are built. Boxes can contain other boxes (referred to as + its children). Each surface has a single box associated with + it called the root box; the root box and its children (and + its children's children, and so on) form the surface's box + tree. + + There are three ways to think of a box: - A path, which consists of zero or more lines and - curves. The path may be filled with a color, gradient, or - texture, and may be stroked with a line of a given thickness - and color. If the path is not specified, it defaults to the - perimiter of the box. - - - The path has an associated strokecolor, which is a - color - - The path has an associated strokewidth, which is a - number specifying the width of the stroke. - - The path also has a fill, which is either a color, gradient, or - texture - - A single line of text, which can be rendered in - different fonts, colors, and sizes. - - - The text has an associated font, which currently can be - any font supported by the library. - - The text also has an associated fontsize - - The text is drawn in an associated textcolor - + + As a rendered visualization on the screen (the "Visual Representation") + + As a JavaScript object (the "Object Representation") + + As as an XML tag (the "XML Template Representation"). + - These eight components plus the size of a box fully specify its - appearance. Every single box you see in Ibex is drawn only on the - basis of these components and its size. - + + + All three representations are equally valid, and being able to + figure out what an action in one representation would mean in terms + of the other two representations is crucial to a solid understanding + of Ibex. +
+
+ +
+ + A template (discussed in the next section) is an XML file which acts + as a blueprint for constructing a tree of boxes. We call this + construction process applying, since unlike + instantiation in object-oriented programming systems, you + always apply a template to a pre-existing box, and you can apply + multiple templates to the same box. + + Each XML tag corresponds to a single box, or to another template + which will be applied to that box. For example, a scrollbar + template, when applied, will construct a tree of boxes which has the + visual appearance and behavior of a scrollbar. + + Although it is useful to think of the XML tags as being boxes, keep + in mind that the XML representation is only a blueprint for + constructing a tree of JavaScript objects. Once the template has + been instantiated, the XML is effectively "thrown away", and + JavaScript code is free to alter the boxes. Once the process of + applying a template is complete, Ibex completely forgets the fact + that it has applied a particular template to a particular box. One + consequence of this approach is that if you think of templates as + classes, then Ibex has no equivalent for Java's instanceof + operator. + + Each template is an XML document whose root element is + <ibex>. Here is a sample template file: -
+
+  
 
-    A template (discussed in the next section) is an XML file which acts
-    as a blueprint for constructing a tree of boxes.  We call this
-    construction process applying, since unlike
-    instantiation, you always apply a template to a pre-existing
-    box, and you can apply multiple templates to the same box.  Each XML
-    tag corresponds to a single box, or to another template which will be
-    applied to that box.  For example, a scrollbar template, when
-    applied, will construct a tree of boxes which has the visual
-    appearance and behavior of a scrollbar.
-    
-    Although it is useful to think of the XML tags as being boxes, keep in
-    mind that the XML representation is only a blueprint for constructing
-    a tree of JavaScript objects.  Once the template has been
-    instantiated, the XML is effectively "thrown away", and JavaScript code is
-    free to alter the boxes.
-    
-  
-
+ + This is a cool widget. + -
+ // this code is executed only once + static = { instances : [] }; - Each template is an XML document whose root element - is <ibex>. Any text content of the root element is - ignored, and may safely be used for comments. The root element may - have any of the following elements as children, each of which may - appear no more than once, and which must appear in this order: - - Here is a sample Ibex file: - -
-  
-      This is a sample Ibex file. Text up here is ignored.
-      Copyright (C) 2004 Mustapha Mond.
-      
-          // code here will be executed only once
-      
-      
+          
+      
   
   
- - - The following description of the box application is extremely detailed - and precise; it is intended for UI designers who need to know the - exact order in which each event happens. FIXME: - easier description. While this whole process sounds very - complex, it actually works pretty intuitively. The description below - is given in great detail since most applications will wind up being - unintentionally dependent on subtle features of this process. - However, most of the time you can just pretend that the XML tags and - the boxes are the same thing. - - To apply an XML tag X to a box B, perform the following - operations, in this order: - - + The following two namespaces are predefined and need not be declared + using xmlns: - Allocate a fresh scope s whose parent scope is - b. - - Process each child element or text segment of X in the - order they appear in the document: For each text - segment t: + + http://xmlns.ibex.org/meta - - Treat t a JavaScript script, and execute it - with s as the root scope. - + This will be referred to as the "meta namespace" in the + remainder of this document. + - For each child element x of - x: + + http://xmlns.ibex.org/ui - - Create a new box b. - - If the name of tag x is not "box" (in the - default XML namespace), prepend the tag's namespace - identifier uri (if any) to the name of the tag, and use - the result as a key to retrieve a property from the root - stream (defined later). Interpret the resulting stream as - a template and apply that template to b. - - (recursively) apply x to b. - - If x has an id attribute, declare a variable - in s whose name is the value of the id - attribute, prefixed with the $ character, and whose - value is b - - Copy any $-variables created during the application - of x into scope s. - - Append b as the last child of b. - - - Apply any attributes on x to b, except for - id. Since XML specifies that the order of attributes - cannot be significant, Ibex processes attributes in - alphabetical order by attribute name. For example, if - x has the attribute foo="bar", then the - equivalent of the statement B.foo="bar"; will be - performed, with the following exceptions: + This will be referred to as the "ui namespace" in the + remainder of this document. + - - If the value portion of the attribute is the string - "true", put the boolean true. If the - value is "false", put the boolean false. - - If the value is a valid ECMAscript number, put it as a - number (instead of a string). - - If the value begins with a dollar sign ($), - retrieve the value of the corresponding variable in - s and use that value instead. - - If the value begins with a dot (.), prepend the - attributes' namespace identifier uri (if any) and - interpret the remainder as a property to be retrieved from - the root stream (defined later). - - + Additionally, the default namespace for the document will be set to + the template's package FIXME. - The last two steps are referred to as the initialization of the - node. There are two important aspects of this ordering to be aware of: - - - - A given box will be fully initialized before its parent is - given a reference to that box. This way, parents can be - certain that they will never wind up accessing a box when it - is in a partially-initialized state. - - Attributes are applied after scripts are run so that - the attributes will trigger any traps (defined later) - placed by the script. - - - -
- -
- - A user begins by specifying the URL of an Ibex application run. - Usually this is done by visiting a web page which uses the - wildebeest to install the core if it is not already on the user's - machine, but you can also supply the URL on the command line. - - The Ibex Core downloads the .ibex for the application, loads it, applies - the main.ibex template and renders it onto the screen, running - any associated ECMAscript code. - - The user interacts with the application by clicking and moving the - mouse, and by pressing keys on the keyboard. These actions trigger - fragments of JavaScript code which are designated to handle events. - This JavaScript code can then relay important information back to the - server using XML-RPC or SOAP, or it can modify the structure and - properties of the user interface to change its appearance, thereby - giving feedback to the user. - - - DIAGRAM: graphic here showing the circular feedback cycle. - - - The Ibex core quits when the last remaining surface has been destroyed. - -
+
- -
+ If the root <ibex> element contains any non-whitespace + text content, this text is interpreted as JavaScript code and is + executed the first time the template is referenced. This code is + executed in a fresh scope containing two predefined properties: + + + The Ibex Object (described in ) + + + + A reference to this template's static object, which is + initially null. The static object can be accessed (read + and written) from both static scripts as well as instance + scripts in a particular template. FIXME + - The size and position of every other box is determined - by its properties, its childrens' sizes, and its parent's size and position. - Box layout and rendering happens in four phases: packing, - constraining, placing, and rendering. The Core is careful to only - perform a phase on a box if the box has changed in a way that - invalidates the work done the last time that phase was performed. - The - packing and constraining phases are performed in a single traversal of - the tree (packing is preorder, constraining is postorder), and the - placing and rendering phases are performed in a second traversal of - the tree (first placing, then rendering, both preorder). - - For brevity, the rest of this chapter deals only with width and - columns. Height and rows is treated identically and independently. - Also, it is important to note that the term minimum width is - not the same thing as the property minwidth, although they - are closely related. - -
- - When the user resizes a window, Ibex changes the root box's - maxwidth and maxheight to match the size chosen by - the user and then determines the root box's size using the same sizing - rules it uses for other boxes. - - Ibex will always attempt to prevent the - user from making the surface smaller than the root box's - minwidth and minheight. If the hshrink or - vshrink flag is set, Ibex will try to prevent the user from - resizing the surface at all. However, not all platforms give Ibex - enough control to do this. -
+ +
-
- - When talking about positioning, we will often refer to the - alignment point. - - - - If the align property is "center", then the - alignment point is the center of the box. - - If the align property is "topleft", - "bottomleft", "topright", or - "bottomright", then the alignment point is - corresponding corner of the box. - - If the align property is "top", - "bottom", "right", or "left", then - the alignment point is middle of the corresponding edge of the - box. - + Any immediate children of the root element which are in the + meta namespace are treated as metadata and are exempted from + the rest of the template application process. Currently only one + type of metadata element is defined: + + + <meta:doc>: structured documentation for the + template. - FIXME: diagram - - When positioning a child box, the alignment point is determined by the - parent's align property. When positioning a visual - element (a texture, path, or text string) within a box, the alignment - point is determined by the box's own align property. - - A simple way to think about this is that whenever there are two boxes - involved in the decision, you should use the parent's alignment point. - -
- -
- - of cells is created within the parent. If the parent's - cols property is set to 0, the cell grid has an infinite - number of columns. Either cols or rows must be - zero, but not both. - - If a child's visible property is false, it does - not occupy any cells (and is not rendered). Otherwise, each child - occupies a rectangular set of cells child.colspan cells - wide and child.rowspan cells high. - - The Core iterates over the cells in the grid in the following - order: if rows is 0, the Core iterates across each column - before proceeding to the next row; otherwise rows come before - columns. At each cell, the Core attempts to place the first - remaining unplaced child's top-left corner in that cell (with - the child occupying some set of cells extending down and to the - right of that cell). If the parent has a fixed number of columns - and the child's colspan exceeds that limit, the child is - placed in column zero regardless, but only occupies the available - set of cells (it does not "hang off the end" of the box). - - - -
-    
-        
-        
-        
-        
-        
-    
-    
- - Notes on the layout example: - - +
- Box '3' doesn't fit in the gap after '2', nor in the gaps either - side of '2' on the next row, hence it is pushed onto the 3rd row. +
- Box '4' would fit in the gaps around '2', but must be placed - after it's preceeding box, '3'. + All remaining children of the root element are treated as elements + to be applied to the box, in the order in which they appear + in the file using the following procedure. + + + + + + ... FIXME + + During a box initialization, script-private references to a + box's descendants with id attributes are placed on the + box. These references allow scripts on that box to easily refer + to descendant nodes created by the template in which the script + appears. For example, these two blocks of code have exactly the + same effect: + +
+                                 
+                           
+          $foo.color = "red";             var $foo = this[0];
+                                          $foo.color = "red";
+                                
+      
+ + + + To apply an XML tag x to a box b, perform the following + operations, in this order: + + + + Allocate a fresh scope s whose parent scope is + b. + + Process each child element or text segment of x + in the order they appear in the document: + + + + Treat each text segment t as JavaScript code + and execute it with s as the root scope. + + For each child element x' of x: + + + Create a new box b'. + + If the name of tag x' is not + "box" in the ui namespace, prepend the + tag's namespace identifier uri (if any) to the name of + the tag, and use the result as a key to retrieve a + property from the root stream (defined later). + Interpret the resulting stream as a template and apply + that template to b'. + + (recursively) apply x' to b'. + + If x' has an id attribute, declare a variable + in s whose name is the value of the id + attribute, prefixed with the $ character, and whose + value is b' + + Copy any $-variables created during the application + of x' into scope s. + + Append b' as the last child of b. + + + + Apply any attributes on x to b, except for + id. Since XML specifies that the order of attributes + cannot be significant, Ibex processes attributes in + alphabetical order by attribute name. For example, if + x has the attribute foo="bar", then the + equivalent of the statement B.foo="bar"; will be + performed, with the following exceptions: + + + If the value portion of the attribute is the string + "true", put the boolean true. If the + value is "false", put the boolean false. + + If the value is a valid ECMAscript number, put it as a + number (instead of a string). + + If the value begins with a dollar sign ($), + retrieve the value of the corresponding variable in + s and use that value instead. + + If the value begins with a dot (.), prepend the + attributes' namespace identifier uri (if any) and + interpret the remainder as a property to be retrieved from + the root stream (defined later). + + + + + + The last two steps are referred to as the initialization of the + node. There are two important aspects of this ordering to be aware of: + + + + A given box will be fully initialized before its parent is + given a reference to that box. This way, parents can be + certain that they will never wind up accessing a box when it + is in a partially-initialized state. + + Attributes are applied after scripts are run so that + the attributes will trigger any traps (defined later) + placed by the script. + + - +
-
- -
- - - - Each box's minimum width is computed recursively as the - maximum of: - - - Its minwidth - - The width of the box's text (after applying the - box's transform). - - The width of the box's path (after applying the box's - transform) if the box is packed. - - The width of the bounding box enclosing the box's cells. - - - The minimum width of each cell is computed as the minimum - width of the box occupying it divided by the box's - colspan. - - If a box's hshrink property is set to - true, the box's maximum width is the same as its - minimum width; otherwise it is the box's - maxwidth. - - The maximum width of each cell is the maxwidth of - the box occupying it divided by the box's - colspan. - - - -
- -
- - - - Each column's actual width is set to the maximum - minimum width of all the cells in that column. - NOTE: although a column or row can be sized smaller - than its "minimum width" or larger than its "maximum width", a - box will never be smaller than its minwidth or - larger than its maxwidth. - - Each column's maximum width is the largest maximum width of - the cells in that column, but no smaller than the column's - minimum width. - - The slack is the difference between the parent's width - and the sum of its columns' actual width. The slack is - divided equally among the columns. Any column which has - exceeded its maximum width is set to its maximum width, and - the difference is returned to the slack. This process is - repeated until the slack is zero or all columns are at their - maximum width. - - Next, the rows and columns are positioned within the parent - box. The rows and columns are transformed according to the - parent's transform property, and the bounding box of - the resulting cells are placed such that the cells' alignment - point coincides with the parent's alignment point (both - alignment points are determined by the parent's align - property). FIXME: diagram - - Packed boxes: Each packed box's actual position - and size is then set to the aggregation of the actual sizes of - the cells it spans. If this size exceeds the box's maximum - width, the box is sized to its maximum width and centered - horizontally within the space occupied by its cells. - - Non-packed boxes: each non-packed box is transformed - according to the parent's transform property and then - positioned so that its alignment point is (child.x, - child.y) pixels from the parent's alignment point (both - alignment points are determined by the parent's align - property). - - +
-
+ +
+
+ + Each box occupies a rectangular region on the surface. The visual + appearance of a surface is created by rendering each box in its tree. + Unless the clip attribute is false, each box will + clip its childrens' visual representations to its own, so that the + children appear "confined to" the parent. Children are rendered after + their parents so they appear "on top of" their parents. + + Each box has two major visual components, each with subcomponents: + + FIXME: diagram + + + + A box's path consists of zero or more lines and curves. + The path may be filled with a color, gradient, or texture, and + may be stroked with a line of a given thickness and color. If + the path is not specified, it defaults to the perimiter of the + box. [Note: Vector Graphics support (including the ability + to set the path property to anything other than the + default) is currently not implemented]. + + A path also has: + + + an associated strokecolor, which is a color + + an associated strokewidth, which is a number + specifying the width of the stroke. [Note: Vector + Graphics support (including the strokewidth + property) is currently not implemented] + + a fill, which is either a color, gradient, or + texture + + + + + + Each box also has a single line of text, whose + appearance is determined by its: + + + associated font, which can be any font supported by + the + library. + + an associated fontsize in pixels + + an associated textcolor + + + + These eight components plus the size of a box fully specify its + appearance. Every single box you see in Ibex is drawn only on the + basis of these components and its size. +
+ +
+ + The size and position of every box is determined by its + properties, its childrens' sizes, and its parent's size and + position. Box layout and rendering happens in four phases: + packing, constraining, placing, and + rendering. The Core is careful to only perform a phase on + a box if the box has changed in a way that invalidates the work + done the last time that phase was performed. The packing and + constraining phases are performed in a single traversal of the + tree (packing is preorder, constraining is postorder), and the + placing and rendering phases are performed in a second traversal + of the tree (first placing, then rendering, both preorder). + + For brevity, the rest of this chapter deals only with width and + columns. Height and rows is treated identically and independently. + Also, it is important to note that the term minimum width is + not the same thing as the property minwidth, although they + are closely related. + + + + When the user resizes a window, Ibex changes the root box's + maxwidth and maxheight to match the size chosen by + the user and then determines the root box's size using the same sizing + rules it uses for other boxes. + + Ibex will always attempt to prevent the + user from making the surface smaller than the root box's + minwidth and minheight. If the hshrink or + vshrink flag is set, Ibex will try to prevent the user from + resizing the surface at all. However, not all platforms give Ibex + enough control to do this. + + + + + When talking about positioning, we will often refer to the + alignment point. + + If the align property is "center", then the + alignment point is the center of the box. + + If the align property is "topleft", + "bottomleft", "topright", or + "bottomright", then the alignment point is + corresponding corner of the box. + + If the align property is "top", + "bottom", "right", or "left", then + the alignment point is middle of the corresponding edge of the + box. + + When positioning a child box, the alignment point is determined by + the parent's align property. When rendering a + visual element (a texture, path, or text string) within a box, the + alignment point is determined by the box's own align + property. + + A simple way to think about this is that whenever there are two boxes + involved in the decision, you should use the parent's alignment point. + +
+ + A grid of cells is created within the parent. If the + parent's cols property is set to 0, the cell grid has an + infinite number of columns. Either cols or rows + must be zero, but not both. + + If a child's visible property is false, it does + not occupy any cells (and is not rendered). Otherwise, each child + occupies a rectangular set of cells child.colspan cells + wide and child.rowspan cells high. + + The Core iterates over the cells in the grid in the following + order: if rows is 0, the Core iterates across each column + before proceeding to the next row; otherwise rows come before + columns. At each cell, the Core attempts to place the first + remaining unplaced child's top-left corner in that cell + (with the child occupying some set of cells extending down and + to the right of that cell). If the parent has a fixed number of + columns and the child's colspan exceeds that limit, the + child is placed in column zero regardless, but only occupies the + available set of cells (it does not "hang off the end" of the + box). + +
+      
+          
+          
+          
+          
+          
+      
+
+
+
+      
+ +
+ +
+ + Each box's minimum width is computed recursively as the + maximum of: + + + Its minwidth + + The width of the box's text (after applying the + box's transform) [Note: Vector Graphics support + (including the transform property) is currently not + implemented]. + + The width of the box's path (after applying the box's + transform) if the box is packed. + + The width of the bounding box enclosing the box's cells. + + + The minimum width of each cell is computed as the minimum + width of the box occupying it divided by the box's + colspan. + + If a box's hshrink property is set to + true, the box's maximum width is the same as its + minimum width; otherwise it is the box's + maxwidth. + + The maximum width of each cell is the maxwidth of + the box occupying it divided by the box's + colspan. +
+ +
+ + Each column's actual width is set to the maximum + minimum width of all the cells in that column. + NOTE: although a column or row can be sized smaller + than its "minimum width" or larger than its "maximum width", a + box will never be smaller than its minwidth or + larger than its maxwidth. + + Each column's maximum width is the largest maximum width of + the cells in that column, but no smaller than the column's + minimum width. + + A value k is chosen such that when each column's width + is set to min(maximum width, max(minimum width, k)), + the sum of all the column widths equals the parent's width. + If no such value exists, positive or negative infinity is used + (whichever is appropriate). Each column is then set to the + width dictated by k. + + Next, the rows and columns are positioned within the parent + box. The rows and columns are transformed according to the + parent's transform property [Note: Vector Graphics + support (including the transform property) is currently + not implemented]., and the bounding box of the resulting + cells are placed such that the cells' alignment point + coincides with the parent's alignment point (both alignment + points are determined by the parent's align property). + + + + Packed boxes: Each packed box's actual position + and size is then set to the aggregation of the actual sizes of + the cells it spans. If this size exceeds the box's maximum + width, the box is sized to its maximum width and centered + horizontally within the space occupied by its cells. + + Non-packed boxes: each non-packed box is transformed + according to the parent's transform property and then + positioned so that its alignment point is (child.x, + child.y) pixels from the parent's alignment point (both + alignment points are determined by the parent's align + property). + +
+
+
Boxes are rendered in a depth-first, pre-order traversal. Note that @@ -580,7 +651,9 @@ If the box's transform property is non-null, the coordinate space is transformed accordingly for the rest of - this phase and for the rendering of all children. + this phase and for the rendering of all children. [Note: + Vector Graphics support (including the transform + property) is currently not implemented]. If the box is packed and has a non-null path, the path is translated such that the alignment point of the path's @@ -601,7 +674,7 @@ alignment points are determined by the box's align property). - The box's children are rendered (pre-prder traversal). + The box's children are rendered (pre-order traversal). @@ -612,6 +685,11 @@
+ Each box is a full-fledged ECMAscript object, and can store + key-value pairs as properties. Some of these keys have special + meaning, which will be explained later. Each box's numeric + properties hold its child boxes. +
Every box has several special properties which control how it is @@ -620,15 +698,19 @@ put will be ignored. + If the value is a 5-character hex string (#RGB), 7-character hex string (#RRGGBB), 9-character hex string (#AARRGGBB), the box's stroke color will be set to that color. - If the value is one of the colors - (the same set of color names supported by SVG), the stroke - color be set to that color. - If the value is null, the stroke color will be set to - clear (#00000000). + + If the value is one of the colors (the same set of color names + supported by SVG), the stroke color be set to that color. + + If the value is null, the stroke color will be set + to clear (#00000000). @@ -654,23 +736,23 @@ The box's text; writing null to this property sets it - to "". + to "". - + + The color in which to render the font; accepts the same values as strokecolor. + + + When an object is written to this property, its stream is read - using the , and the resulting font is used to render the + using the , + and the resulting font is used to render the box's text. The size (in points) to render the text. - - - The color in which to render the font; accepts the same values as strokecolor. -
@@ -682,36 +764,27 @@ its children and the bounding box of its path. - + If the box is a root box, this is the (x/y)-coordinate of the surface; otherwise it is the distance between the parent's alignment point and this box's alignment point. - - The distance between this box's (left/top) edge and the root - box's (left/top) edge. A put to this property has the same - effect as a put to the (x/y) property, - except that it is relative to the root box rather than to this - box's parent. FIXME is this fakeable? How is - distance measured? - - - + The desired minimum width and height. - + The desired maximum width and height. - - When read, this is the (width/height) of this box. Writing to - this property is equivalent to writing to both the - minimum and maximum (width/height). + + When read, this is the current (width/height) of this box. + Writing to this property is equivalent to writing to + both the minimum and maximum (width/height). - + The number of (columns/rows) in which to lay out the children of this box. If set to zero, the number of (columns/rows) is unconstrained. Either rows or cols must be zero. If @@ -721,7 +794,7 @@ rows is set to 0, and vice versa. - + The number of (columns/rows) that this box spans within its parent. @@ -731,48 +804,43 @@ - If set to false, this box will be rendered as if its width and - height were zero. If this is a root box, the associated surface - will be hidden. - When reading from this property, the value - false will be returned if this box or any of its - ancestors is not visible. Thus it is possible to write - true to a box's visible property and then - read back false. + If set to false, this box will be rendered as if its + width and height were zero. If this is a root box, the + associated surface will be hidden. + + When reading from this property, the value false will + be returned if this box or any of its ancestors is not + visible. Thus it is possible to write true to a box's + visible property and then read back false. - The layout strategy for this box. + The layout strategy for this box. If set to true, the + box occupies no cells and is laid out independently of its + siblings.
- During a box initialization, script-private references to a box's - descendants with id attributes are placed on the box. These - references allow scripts on that box to easily refer to descendant - nodes created by the template in which the script appears. For - example, these two blocks of code have exactly the same effect: - -
-                         
-                   
-        $foo.color = "red";       var $foo = this[0];
-                                  $foo.color = "red";
-                        
-    
- - The following special properties control how a box's children are laid - out. If a box has a non-null redirect target, reads and writes to these - properties will be forwarded to the redirect target. - - The redirect attribute is very useful for hiding the - internal structure of a widget, and for allowing widgets to act as - "smart" containers for other widgets. For example, a menu widget might - have an invisible child as its redirect target; this way, when boxes - representing items on the menu are added as children of the menu - widget, they do not appear until the menu is pulled down. + + Writing to this property sets the box's redirect target. This + property cannot be read from, and can only be written to if + the value being written is a descendant of the current + value. + + If a box has a non-null redirect target, reads and writes to + any of the other properties in this section will be forwarded + to the redirect target. + + The redirect attribute is very useful for hiding the + internal structure of a widget, and for allowing widgets to act as + "smart" containers for other widgets. For example, a menu widget might + have an invisible child as its redirect target; this way, when boxes + representing items on the menu are added as children of the menu + widget, they do not appear until the menu is pulled down. + The nth child of box b can be accessed by reading from @@ -800,13 +868,9 @@ The number of children this box has. - - Writing to this property sets the box's redirect - target. This property cannot be read from, and can only be - written to once. - - + + FIXME If this box has a parent, this property returns parent.surface; otherwise it returns null. This property is a simple building block that the widget @@ -820,7 +884,7 @@ The shape that the cursor should take when inside this - box. Valid values are: "default " , "wait", + box. Valid values are: "default" , "wait", "crosshair", "text", "hand", and "move", as well as resizing cursors"east", "west", "north", "south", @@ -834,21 +898,6 @@ "default" cursor will be used. - - The (horizontal/vertical) distance between the mouse cursor and this - box's (left/top) edge. Puts to this property are ignored. This - value will not be updated if the mouse is outside the root - box of the surface and no button was pressed when it left. - - - - True if the mouse is inside the rendered region of this box or - any of its children. This value will be false if the mouse is - inside a portion of this box which is covered up by one of - this box's siblings, or one of its ancestors' descendants. Puts - to this value are ignored. - - Reading from this property will return the parent scope used to execute the block of the template @@ -872,47 +921,16 @@ has no effect. - - - These properties are meant to be trapped on FIXME defined later?. Placing a trap on - childadded/childremoved lets a box receive - notification when a child is added/removed. In either - situation, the child will be passed as an argument to the trap - function after the addition or removal has been - performed. - - Note that if the parent's redirect target is set to another - box, these traps will only be invoked when children are - manipulated by reading and writing to the parent. Reads and - writes directly to the redirect target will not trigger - the traps. - - Note also that these traps are still triggered if a box's - redirect target is null. This is useful for - boxes that need to accept children and then relocate them - elsewhere. + + This property is actually a function; invoking + box.distanceto(otherbox) will return an object with two + properties, x and y, containing the horizontal + and vertical distance between the two boxes (negative if + otherbox is to the left of / above box). This + can be used to determine the relative placement of two boxes + on different branches of the box tree. - -
-
- - The following properties are used to notify a box of changes specific - to that particular box. - - - The value true is written to this property when the mouse enters the box. - - - - The value true is written to this property when the mouse leaves the box. - - - - The value true is put to this property after the size - of this box changes. - -
@@ -953,8 +971,8 @@ When the user attempts to close a surface, the value true will be put to this property. Scripts may trap - this property FIXME defined later? to - prevent the window from closing. Putting the value + this property to prevent the window from closing. Putting the + value true to this property on a root box has the same effect as putting null to the thisbox property. @@ -962,7 +980,7 @@ The surface's icon. This is usually displayed on the titlebar of a - window. The value should be the stream name of a PNG image. Note + window. The value should be an object whose stream is a PNG image. Note that not all platforms support this property. @@ -978,7 +996,7 @@
-
+ Every object has a stream associated with it. A stream is a sequence of bytes that can be read or written to. @@ -990,9 +1008,7 @@ be an .ibex template which, when applied, will fully reconstitute the box's state. -
- -
+ Despite the ubiquity of streams, you cannot actually reference a stream, since it is not an object. Instead, you simply reference the @@ -1006,8 +1022,6 @@ just shorthand for saying to perform those actions on the object the stream belongs to. -
-
You can create a stream from a URL by calling @@ -1053,16 +1067,18 @@
+ FIXME + You can access variables within the static block of a template by appending a double period (..) and the variable name to the stream used to load that template:
-    
+    
             foo = 12;
     ...
     // elsewhere
-    ibex.log.print(org.ibex.themes.monopoly.scrollbar..foo);   // prints "12"
+    ibex.log.print(org.ibex.themes.linux.scrollbar..foo);  // prints "12"
     
@@ -1087,18 +1103,18 @@ You can read a UTF-8 encoded string from a stream like this:
-    var myString = ibex.stream.fromUTF(ibex.stream.url("utf8:this is a test"));
+    var myString = ibex.stream.fromUTF(ibex.stream.url("utf8:testing..."));
     
You can also parse XML from a stream using SAX like this:
     ibex.stream.xml.sax(
-        ibex.stream.url("http://foo.com/foo.xml"),
-            { beginElement : function(tagname, attributeKeyValuePairs) { ... },
-              endElement   : function(tagname) { ... },
-              content      : function(contentString) { ... }
-              whitespace   : function(whitespaceString) { ... }
-            });
+      ibex.stream.url("http://foo.com/foo.xml"),
+        { beginElement : function(tagname, attributeKeyValuePairs) { ... },
+          endElement   : function(tagname) { ... },
+          content      : function(contentString) { ... }
+          whitespace   : function(whitespaceString) { ... }
+        });
     
@@ -1140,24 +1156,21 @@ - - log the debug message m, optionally dumping object + + log the debug messages m1 through mn. o - - log the informational message m, optionally dumping - object o + + log the info messages m1 through mn. - - log the warning message m, optionally dumping object - o + + log the warning messages m1 through mn. - - log the error message m, optionally dumping object - o + + log the error messages m1 through mn. @@ -1229,10 +1242,6 @@ - - not yet implemented - - return an XML-RPC call object with endpoint URL u @@ -1329,11 +1338,11 @@ that property is written to.
-    
+    
         foo ++= function(z) {
            ibex.log.info("foo is " + z);
         }
-    
+    
     
If another script were to set the property "foo" @@ -1349,13 +1358,13 @@ is applied to multiple traps. For example:
-    
+    
         func ++= function(z) {
             ibex.log.info("called trap " + trapname);
         }
         foo ++= func;
         bar ++= func;
-    
+    
     
@@ -1364,27 +1373,27 @@ function you added as a trap:
-    
+    
         var myfunc = function(z) { /* ... */ }
         // add the trap
         func ++= myfunc;
         // ...
         // remove the trap
         func --= myfunc;
-    
+    
     
- When the property is written to, each of the trap functions placed - on it will be invoked in the opposite order that they were placed on - the box -- the most recently placed trap will execute first. This - last-to-first execution of traps is called cascading. After the - last trap is invoked, the value is stored on the box (remember, boxes - are objects, so they can hold properties just like all other - ECMAscript objects). + When the trapped property is written to, each of the trap + functions placed on it will be invoked in the opposite order that + they were placed on the box -- the most recently placed trap will + execute first. This last-to-first execution of traps is called + cascading. After the last trap is invoked, the value is + stored on the box (remember, boxes are objects, so they can hold + properties just like all other ECMAscript objects).
@@ -1395,12 +1404,12 @@ lower traps), you can use cascade. For example:
-    
+    
         color ++= function(c) {
             ibex.log.info("refusing to change colors!");
             cascade = "black";
         }
-    
+    
     
This effectively creates a box whose color cannot be changed, and @@ -1409,20 +1418,20 @@ Do not try to do something like this:
-    
+    
         color ++= function(z) {
             color = "black";      // INFINITE LOOP! BAD!!!
         }
-    
+    
     
To prevent automatic cascading, return true from your function:
-    
+    
         color ++= function(z) {
             return true;          // the box's color will not change
         }
-    
+    
     
@@ -1434,9 +1443,9 @@ also do not automatically cascade.
-    
+    
         doublewidth ++= function() { return 2 * width; }
-    
+    
     
If another script attempts to read from the doublewidth @@ -1448,9 +1457,9 @@ You can manually cascade on read traps as well:
-    
+    
         text ++= function() { return "my text is " + cascade; }
-    
+    
     
Read traps are only rarely needed -- most of the time a write trap @@ -1467,7 +1476,7 @@ Properties"/> except for childadded, childremoved and surface. FIXME: remove? - + If an uncaught exception is thrown from a trap, Ibex will log the exception, but will not propagate it to the code which @@ -1602,14 +1611,14 @@ example prints out "first second third fourth" in that order.
-    
+    
         _Press1 ++= function(b) { ibex.log.info("first"); }
          Press1 ++= function(b) { ibex.log.info("fourth"); }
-        
+        
           _Press1 ++= function(b) { ibex.log.info("second"); }
            Press1 ++= function(b) { ibex.log.info("third"); }
-        
-    
+        
+    
     
In general, you should use the non-underscore names to respond @@ -1631,17 +1640,42 @@ This will immediately cease the propagation of the event. This is how you would indicate that an event has been "handled". - + - Ibex will trigger the Enter and Leave properties as - it walks down the tree, based on the position of the mouse (or the - faked position if the mouse property has been written to). - However, Enter and Leave are not events since they - do not implicitly cascade up or down the tree. + Ibex uses the following events to notify a box about changes that + only matter to that particular box. These events do not propagate + either up or down the tree. + + + The value true is written to this property when the mouse (enters/leaves) the box. + + + + The value true is put to this property after the size + of this box changes. + + + + When a child is added or removed, that child is written to + this property. The write is always performed after the + addition or removal, so these two cases can be distinguished + by checking indexof(child). + + Note that if the parent's redirect target is set to another + box, this trap will only be invoked when children are + manipulated by reading and writing to the parent. Reads and + writes directly to the redirect target will not trigger + this trap. + + Note also that this traps is still triggered if a box's + redirect target is null. This is useful for + boxes that need to accept children and then relocate them + elsewhere. +
- + Indicates that the use has pressed a mouse button. On platforms with three mouse buttons, the middle button is button 3 -- this ensures that applications written to only @@ -1649,17 +1683,17 @@ platforms. - + Indicates that the use has released a mouse button. - + Indicates that the user has pressed and released the mouse button without moving the mouse much (exactly how much is platform-dependent). - + Indicates that the user has clicked the mouse button twice within a short period of time (exactly how long is platform-dependent). @@ -1670,32 +1704,38 @@ + A string is written to this property when a key is pressed or released If the key was any other key, a multi-character string describing the key will be put. For simplicity, we use the VK_ constants in the . When a + text=" Java 1.1 API java.awt.event.KeyEvent class"/>. When a key is pressed or released, the string put will be the portion of its VK_ constant after the underscore, all in lower case. - If the shift key was depressed immediately before the event - took place, then the string will be capitalized. Special + + + If the shift key was depressed immediately before the + event took place, then the string will be capitalized. Special keynames are also capitalized; shift+home is reported as - "HOME". Symbols are capitalized as they appear on the + "HOME". Symbols are capitalized as they appear on the keyboard; for example, on an American QWERTY keyboard, shift+2 - is reported as "@". If the alt, meta, or command key - was depressed immediately before this key was pressed, then - the string will be prefixed with the string "A-". If - the control key was depressed while this key was pressed, then - the string will be prefixed with the string "C-". If - both alt and control are depressed, the string is prefixed - with "C-A-". Ibex does not distinguish between a key - press resulting from the user physically pushing down a key, - and a 'key press' resulting from the keyboard's typematic - repeat. In the rare case that an application needs to - distinguish between these two events, it should watch for - KeyReleased messages and maintain an internal key-state - vector. + is reported as "@". + + If the alt, meta, or command key was depressed immediately + before this key was pressed, then the string will be prefixed + with the string "A-". If the control key was depressed + while this key was pressed, then the string will be prefixed + with the string "C-". If both alt and control are + depressed, the string is prefixed with "C-A-". + + Ibex does not distinguish between a key press resulting from + the user physically pushing down a key, and a 'key press' + resulting from the keyboard's typematic repeat. In the rare + case that an application needs to distinguish between these + two events, it should watch for KeyReleased messages and + maintain an internal key-state vector. +
@@ -1756,11 +1796,16 @@ Ibex supports HTTP Basic and Digest authentication. To use authentication, pass ibex.net.rpc.xml() a URL in the form - http[s]://user:password@hostname/. Ibex will use Digest - authentication if the server supports it; otherwise it will use - Basic authentication. Please be aware that many XML-RPC server - implementations contain a . + +
+       http[s]://user:password@hostname/
+    
+ + Ibex will use Digest authentication if the server supports it; + otherwise it will use Basic authentication. Please be aware that + many XML-RPC server implementations contain a .
@@ -1950,11 +1995,11 @@ the proper key on the target box.
-    
+    
         _KeyPressed = function(k) { ibex.log.info("first"); }
          KeyPressed = function(k) { ibex.log.info("sixth"); }
         $recipient.target = $target;
-        
+        
             _KeyPressed = function(k) {
                 ibex.log.info("second");
                 thisbox.target.KeyPressed = k;
@@ -1962,17 +2007,17 @@
                 return true;
             }
              KeyPressed = function(k) { ibex.log.info("fifth"); }
-            
+            
                 _KeyPressed = function(k) {
                    ibex.log.info("this never happens");
                 }
-            
-        
-         
+            
+        
+         
             _KeyPressed = function(k) { ibex.log.info("third"); }
              KeyPressed = function(k) { ibex.log.info("fourth"); }
-        
-    
+        
+    
     
@@ -2123,7 +2168,7 @@ and doing so squanders scarce public IPv4 addresses. As such, the onus is on the administrators of such machines to explicitly block access to clients reporting a User-Agent: header beginning with the - three characters "Ibex". + four characters "IBEX". @@ -2197,7 +2242,7 @@ The token .. is equivalent to [""]. Trapping - + Cloning Extended catch syntax. The following code: @@ -2268,48 +2313,35 @@ - Very early in the loading process, Ibex begins logging messages about - what it is doing. Where this output is logged to differs by platform; - currently it goes to standard output when running inside a JVM, and to - $TMPDIR\ibex-log.txt on Win32 (where $TMPDIR is the - value returned by GetTempPath()). The logs contain a lot of - valuable debugging information and performance hints; if you are - having trouble developing an Ibex application, be sure to check the - logs. - +
+    Usage: ibex [-lawp] [ url | file | directory ]
+        -l [level]      set logging level to { debug, info (default), warn, error, silent }
+        -l rpc          log all XML-RPC and SOAP conversations
+        -l user@host    email log to user@host
+        -l host:port    emit log to TCP socket
+        -l [file]       write log to a file on disk
+        -a              check assertions
+        -w   reserved for libibex
+        -p              dump profiling information [not yet supported]
+    
+ If Ibex encounters a serious problem before it starts logging information, or if it is unable to open the log file, it will abort immediately with a critical abort, which will be displayed on the console for POSIX-native cores and in a dialog box for JVM-based and Win32-native cores. - - You can invoke Ibex directly from the command line during - development. When using a JVM, the invocation format is: - -
    
-  java -jar path-to-ibex-jar [-sv] source-location [initial-template]
-    
- - Where path-to-ibex-jar is the path to ibex.jar, - which can be downloaded . - - On Win32, the invocation format is: - -
-    ibex.exe [-v] source-location [initial-template]
-    
- - The file ibex.exe is placed in Windows' ActiveX cache - directory the first time Ibex is used on the machine. The ActiveX - cache location depends on what version of Windows you are using; - on newer versions of Windows it is C:\WINDOWS\DOWNLOADED - PROGRAM FILES\. You can also extract ibex.exe from - ibex.cab, which is available . + + Note that Microsoft Windows does not provide any mechanism for + redirecting standard input/output of an application which is not + compiled as a "console application". Therefore, Ibex is compiled + as a "console application", and will open a console window when + invoked. To inhibit this console window, provide a logging + destination (file, port, etc). The source-location parameter can be either the path - to an .ibex archive, the http url of an .ibex archive, or the path to a - directory comprising an unpacked .ibex archive. + to an .ibex archive, the http url of an .ibex + archive, or the path to a directory comprising an unpacked + .ibex archive. The initial-template parameter is the stream name of a template to be used as the initial template. If ommitted, it diff --git a/doc/reference/threeviews.pdf b/doc/reference/threeviews.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0840c4062c8d3f3f8deef72f78eb46e0cd5f94ad GIT binary patch literal 12022 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 gQlP67dl|0>!fC+4zB*