version 1.118, 2009/08/28 09:02:27
|
version 1.119, 2009/08/28 14:15:47
|
Line 112 Element Template_InsertBagChild (Documen
|
Line 112 Element Template_InsertBagChild (Documen
|
{ |
{ |
#ifdef TEMPLATES |
#ifdef TEMPLATES |
ElementType newElType, selType; |
ElementType newElType, selType; |
Element use = NULL, el, dummy = NULL; |
Element use = NULL, el; |
SSchema sstempl; |
SSchema sstempl; |
int start, end; |
int start, end; |
ThotBool open; |
ThotBool open; |
Line 146 Element Template_InsertBagChild (Documen
|
Line 146 Element Template_InsertBagChild (Documen
|
if (el == NULL && sel != bag) |
if (el == NULL && sel != bag) |
// force a selection |
// force a selection |
TtaSelectElement (doc, sel); |
TtaSelectElement (doc, sel); |
|
GIType (decl->name, &newElType, doc); |
|
el = TtaNewTree (doc, newElType, ""); |
if (sel == bag) |
if (sel == bag) |
{ |
{ |
// insert first an empty element |
// insert first an empty element |
if (DocumentTypes[doc] == docHTML) |
TtaInsertFirstChild (&el, bag, doc); |
newElType.ElTypeNum = HTML_EL_Element; |
TtaRegisterElementCreate (el, doc); |
else if (DocumentTypes[doc] == docMath) |
sel = TtaGetFirstChild (el); |
newElType.ElTypeNum = MathML_EL_Construct; |
if (sel == NULL) |
else |
sel = el; |
newElType.ElTypeNum = XML_EL_XML_Element; |
TtaSelectElement (doc, sel); |
newElType.ElSSchema = TtaGetDocumentSSchema (doc); |
|
dummy = TtaNewElement(doc, newElType); |
|
TtaInsertFirstChild (&dummy, bag, doc); |
|
TtaRegisterElementCreate (dummy, doc); |
|
TtaSelectElement (doc, dummy); |
|
} |
} |
GIType (decl->name, &newElType, doc); |
else |
TtaInsertAnyElement (doc, before); |
|
TtaExtendUndoSequence (doc); |
|
TtaInsertElement (newElType, doc); |
|
TtaGiveFirstSelectedElement (doc, &sel, &start, &end); |
|
if (dummy) |
|
{ |
{ |
TtaRegisterElementDelete (dummy, doc); |
// insert the new element before or after |
TtaDeleteTree (dummy, doc); |
TtaInsertSibling (el, sel, before, doc); |
|
TtaRegisterElementCreate (el, doc); |
|
sel = TtaGetFirstChild (el); |
|
if (sel == NULL) |
|
sel = el; |
|
TtaSelectElement (doc, sel); |
} |
} |
|
//TtaGiveFirstSelectedElement (doc, &sel, &start, &end); |
} |
} |
else if (decl->nature == ComponentNat) |
else if (decl->nature == ComponentNat) |
{ |
{ |