Re: Trouble with simple HTML extension

Irene Vatton <[email protected]>
Newsgroups gmane.comp.web.amaya.devel
Organization INRIA
Message-ID <[email protected]>
On Mon, 17 Nov 2003 23:25:55 -0500
"C. Greg Hagerty" <[email protected]> wrote:

> 
> 
> I'm having trouble trying to make a simple extension to HTML, modeling
> a "statement" element after the "strong" element.
> I've made the following edits to amaya-src-8.2-pre.tgz under Windows.
> It compiles through the Thot compilers, builds, and the generated
> files such as Windows/amaya/EDITOR.h, EDITORAPP.c seem to reflect the
> changes, but the new menu item just doesn't appear - it seems to be
> supressed somehow (something to do with context?). 

Yes the new menu entry must be added in the file Amaya/config/amaya.profiles.

>   Help?
> 	 ...Greg
> 
> 
> --------------------DTD Extension
> 
> HTML.S:  [It would be better to create an actual extension structure]
>   [Phrase case]  Statement = Basic_Set;
> 
> HTMLT.T: Statement rule, same as emphasis or strong
> HTMLP.P: Statement rule, same as emphasis or strong
> 
> HTMLnames.h:
>    {"statement", SPACE, HTML_EL_Statement, L_BasicValue, TRUE},
> 
> html2thot.c: character level element HTML_EL_Statement
> 
> HTML.en: 
>   Statement: statement
> 
> Amaya\libwww\Library\src\HTMLPDTD.h:
>   HTML_ENTITIES 101
>   enum _HTMLElement HTML_Statement
> 
> Amaya\libwww\Library\src\HTMLPDTD.c:
>     { "STATEMENT"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED },

These files (HTMLPDTD.h and HTMLPDTD.c) are not used by Amaya.

> --------------------Editor Menu Extension
> 
> EDITOR.A: 
>   Types.Phrase toggle:TStatement -> SetOnOffStatement;
>   [...after TStrong; also tried after BAddress:]  Types button:TStatement -> SetOnOffStatement;
>   [and an extra Separator does appear when thrown in]
> 
> HTMLedit.c:
>       elType.ElTypeNum != HTML_EL_Statement &&
>       elType.ElTypeNum == HTML_EL_Statement ||
> 
> /* SetOnOffStatement adapted from SetOnOfStrong */
> void SetOnOffStatement (Document document, View view)
>  {
>   Element             selectedEl;
>   ElementType         elType;
>   int                 firstSelectedChar, lastSelectedChar;
> 	    
>   TtaGiveFirstSelectedElement (document, &selectedEl, &firstSelectedChar,
> 			       &lastSelectedChar);
>   if (selectedEl)
>     {
>     elType = TtaGetElementType (selectedEl);
>     if (!strcmp(TtaGetSSchemaName (elType.ElSSchema), "HTML"))
>        /* it's a HTML element */
>        SetCharFontOrPhrase (document, HTML_EL_Statement);
>     else if (!strcmp(TtaGetSSchemaName (elType.ElSSchema), "MathML"))
>        /* it's a MathML element */
>        SetMathCharFont (document, MathML_ATTR_fontweight);
>     }
> }
> 
> 
> f/HTMLedit_f.h:
>   extern void SetOnOffStatement ( Document document,  View view );
> 
> config/en-amayadialogue: [numbered lines correspond to EDITOR.A entries]
>   Statement [line inserted and all lines renumbered]
> 
> config/amaya.kb: [optional?]
>   Ctrl <Key>t , Ctrl <Key>u:         SetOnOffStatement() 
> 
> --------------------Beginnings of support for a corresponding button
> 
> amaya.h:
>   THOT_EXPORT int iStatement;
>   THOT_EXPORT ThotBool   SelectionInSTATEMENT ;
> 
> init.c:
>    SelectionInSTATEMENT = FALSE;
> /*
>    iStatement =  TtaAddButton (doc, 1, iconB, SetOnOffStatement, "SetOnOffStatement",
>      something like strong, use AM_BUTTON_STATEMENT?
> */
> 
> amayamsg.h: [somehow generated?] #define AM_BUTTON_STATEMENT
> 
> HTMLactions.c:  
> /* SOMETHING LIKE THIS WHEN WE FIGURE MORE OUT
>    if (SelectionInSTATEMENT != NewSelInElem)
>      {
> 	SelectionInSTATEMENT = NewSelInElem;
> 	TtaSetToggleItem (doc, 1, Types, TStatement, NewSelInElem);
> 	TtaSwitchButton (doc, 1, iStatement);
>      }
> */
> 
> --------------------


     Irene.
-----
Irène Vatton                     INRIA Rhône-Alpes
INRIA                               ZIRST
e-mail: [email protected]       655 avenue de l'Europe
Tel.: +33 4 76 61 53 61             Montbonnot
Fax:  +33 4 76 61 52 07             38334 Saint Ismier Cedex - France
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.