- From: C. Greg Hagerty <cgreg@cgreg.com>
- Date: Mon, 17 Nov 2003 23:25:55 -0500
- To: www-amaya-dev@w3.org
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?). 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 }, --------------------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); } */ --------------------
Received on Monday, 17 November 2003 23:26:27 UTC