]> git.saurik.com Git - wxWidgets.git/blob - src/html/m_dflist.cpp
Optimized sizers to not call CalcMin more often than neccessary
[wxWidgets.git] / src / html / m_dflist.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: m_dflist.cpp
3 // Purpose: wxHtml module for definition lists (DL,DT,DD)
4 // Author: Vaclav Slavik
5 // RCS-ID: $Id$
6 // Copyright: (c) 1999 Vaclav Slavik
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
11 #pragma implementation
12 #endif
13
14 #include "wx/wxprec.h"
15
16
17 #include "wx/defs.h"
18 #if wxUSE_HTML && wxUSE_STREAMS
19
20 #ifdef __BORLANDC__
21 #pragma hdrstop
22 #endif
23
24 #ifndef WXPRECOMP
25 #endif
26
27 #include "wx/html/forcelnk.h"
28 #include "wx/html/m_templ.h"
29
30 #include "wx/html/htmlcell.h"
31
32 FORCE_LINK_ME(m_dflist)
33
34
35
36
37 TAG_HANDLER_BEGIN(DEFLIST, "DL,DT,DD" )
38
39 TAG_HANDLER_CONSTR(DEFLIST) { }
40
41 TAG_HANDLER_PROC(tag)
42 {
43 wxHtmlContainerCell *c;
44
45
46 if (tag.GetName() == wxT("DL"))
47 {
48 if (m_WParser->GetContainer()->GetFirstChild() != NULL)
49 {
50 m_WParser->CloseContainer();
51 m_WParser->OpenContainer();
52 }
53 m_WParser->GetContainer()->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
54
55 ParseInner(tag);
56
57 if (m_WParser->GetContainer()->GetFirstChild() != NULL)
58 {
59 m_WParser->CloseContainer();
60 m_WParser->OpenContainer();
61 }
62 m_WParser->GetContainer()->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
63
64 return TRUE;
65 }
66 else if (tag.GetName() == wxT("DT"))
67 {
68 m_WParser->CloseContainer();
69 c = m_WParser->OpenContainer();
70 c->SetAlignHor(wxHTML_ALIGN_LEFT);
71 c->SetMinHeight(m_WParser->GetCharHeight());
72 return FALSE;
73 }
74 else // "DD"
75 {
76 m_WParser->CloseContainer();
77 c = m_WParser->OpenContainer();
78 c->SetIndent(5 * m_WParser->GetCharWidth(), wxHTML_INDENT_LEFT);
79 return FALSE;
80 }
81 }
82
83 TAG_HANDLER_END(DEFLIST)
84
85
86 TAGS_MODULE_BEGIN(DefinitionList)
87
88 TAGS_MODULE_ADD(DEFLIST)
89
90 TAGS_MODULE_END(DefinitionList)
91
92 #endif