Bug 34408. Force <treeitem> to reframe when open/close attribute changes. r=hyatt

This commit is contained in:
waterson%netscape.com 2000-04-06 21:53:12 +00:00
Родитель c633f66dcc
Коммит 1b703e36d5
4 изменённых файлов: 24 добавлений и 2 удалений

Просмотреть файл

@ -291,6 +291,7 @@ nsIAtom* nsXULElement::kHeightAtom;
nsIAtom* nsXULElement::kHiddenAtom; nsIAtom* nsXULElement::kHiddenAtom;
nsIAtom* nsXULElement::kIdAtom; nsIAtom* nsXULElement::kIdAtom;
nsIAtom* nsXULElement::kObservesAtom; nsIAtom* nsXULElement::kObservesAtom;
nsIAtom* nsXULElement::kOpenAtom;
nsIAtom* nsXULElement::kPopupAtom; nsIAtom* nsXULElement::kPopupAtom;
nsIAtom* nsXULElement::kMenuPopupAtom; nsIAtom* nsXULElement::kMenuPopupAtom;
nsIAtom* nsXULElement::kRefAtom; nsIAtom* nsXULElement::kRefAtom;
@ -364,6 +365,7 @@ nsXULElement::Init()
kHiddenAtom = NS_NewAtom("hidden"); kHiddenAtom = NS_NewAtom("hidden");
kIdAtom = NS_NewAtom("id"); kIdAtom = NS_NewAtom("id");
kObservesAtom = NS_NewAtom("observes"); kObservesAtom = NS_NewAtom("observes");
kOpenAtom = NS_NewAtom("open");
kPopupAtom = NS_NewAtom("popup"); kPopupAtom = NS_NewAtom("popup");
kMenuPopupAtom = NS_NewAtom("menupopup"); kMenuPopupAtom = NS_NewAtom("menupopup");
kRefAtom = NS_NewAtom("ref"); kRefAtom = NS_NewAtom("ref");
@ -447,6 +449,7 @@ nsXULElement::~nsXULElement()
NS_IF_RELEASE(kHiddenAtom); NS_IF_RELEASE(kHiddenAtom);
NS_IF_RELEASE(kIdAtom); NS_IF_RELEASE(kIdAtom);
NS_IF_RELEASE(kObservesAtom); NS_IF_RELEASE(kObservesAtom);
NS_IF_RELEASE(kOpenAtom);
NS_IF_RELEASE(kPopupAtom); NS_IF_RELEASE(kPopupAtom);
NS_IF_RELEASE(kMenuPopupAtom); NS_IF_RELEASE(kMenuPopupAtom);
NS_IF_RELEASE(kRefAtom); NS_IF_RELEASE(kRefAtom);
@ -3919,7 +3922,14 @@ nsXULElement::GetMappedAttributeImpact(const nsIAtom* aAttribute,
nsIAtom* tag = Tag(); nsIAtom* tag = Tag();
if (kTreeColAtom == tag) { if (kTreeItemAtom == tag) {
#if 0
// Force a framechange if the 'open' atom changes on a <treeitem>
if (kOpenAtom == aAttribute)
aHint = NS_STYLE_HINT_FRAMECHANGE;
#endif
}
else if (kTreeColAtom == tag) {
// Ignore 'width' and 'hidden' on a <treecol> // Ignore 'width' and 'hidden' on a <treecol>
if (kWidthAtom == aAttribute || kHiddenAtom == aAttribute) if (kWidthAtom == aAttribute || kHiddenAtom == aAttribute)
aHint = NS_STYLE_HINT_REFLOW; aHint = NS_STYLE_HINT_REFLOW;

Просмотреть файл

@ -335,6 +335,7 @@ protected:
static nsIAtom* kHiddenAtom; static nsIAtom* kHiddenAtom;
static nsIAtom* kIdAtom; static nsIAtom* kIdAtom;
static nsIAtom* kObservesAtom; static nsIAtom* kObservesAtom;
static nsIAtom* kOpenAtom;
static nsIAtom* kPopupAtom; static nsIAtom* kPopupAtom;
static nsIAtom* kMenuPopupAtom; static nsIAtom* kMenuPopupAtom;
static nsIAtom* kRefAtom; static nsIAtom* kRefAtom;

Просмотреть файл

@ -291,6 +291,7 @@ nsIAtom* nsXULElement::kHeightAtom;
nsIAtom* nsXULElement::kHiddenAtom; nsIAtom* nsXULElement::kHiddenAtom;
nsIAtom* nsXULElement::kIdAtom; nsIAtom* nsXULElement::kIdAtom;
nsIAtom* nsXULElement::kObservesAtom; nsIAtom* nsXULElement::kObservesAtom;
nsIAtom* nsXULElement::kOpenAtom;
nsIAtom* nsXULElement::kPopupAtom; nsIAtom* nsXULElement::kPopupAtom;
nsIAtom* nsXULElement::kMenuPopupAtom; nsIAtom* nsXULElement::kMenuPopupAtom;
nsIAtom* nsXULElement::kRefAtom; nsIAtom* nsXULElement::kRefAtom;
@ -364,6 +365,7 @@ nsXULElement::Init()
kHiddenAtom = NS_NewAtom("hidden"); kHiddenAtom = NS_NewAtom("hidden");
kIdAtom = NS_NewAtom("id"); kIdAtom = NS_NewAtom("id");
kObservesAtom = NS_NewAtom("observes"); kObservesAtom = NS_NewAtom("observes");
kOpenAtom = NS_NewAtom("open");
kPopupAtom = NS_NewAtom("popup"); kPopupAtom = NS_NewAtom("popup");
kMenuPopupAtom = NS_NewAtom("menupopup"); kMenuPopupAtom = NS_NewAtom("menupopup");
kRefAtom = NS_NewAtom("ref"); kRefAtom = NS_NewAtom("ref");
@ -447,6 +449,7 @@ nsXULElement::~nsXULElement()
NS_IF_RELEASE(kHiddenAtom); NS_IF_RELEASE(kHiddenAtom);
NS_IF_RELEASE(kIdAtom); NS_IF_RELEASE(kIdAtom);
NS_IF_RELEASE(kObservesAtom); NS_IF_RELEASE(kObservesAtom);
NS_IF_RELEASE(kOpenAtom);
NS_IF_RELEASE(kPopupAtom); NS_IF_RELEASE(kPopupAtom);
NS_IF_RELEASE(kMenuPopupAtom); NS_IF_RELEASE(kMenuPopupAtom);
NS_IF_RELEASE(kRefAtom); NS_IF_RELEASE(kRefAtom);
@ -3919,7 +3922,14 @@ nsXULElement::GetMappedAttributeImpact(const nsIAtom* aAttribute,
nsIAtom* tag = Tag(); nsIAtom* tag = Tag();
if (kTreeColAtom == tag) { if (kTreeItemAtom == tag) {
#if 0
// Force a framechange if the 'open' atom changes on a <treeitem>
if (kOpenAtom == aAttribute)
aHint = NS_STYLE_HINT_FRAMECHANGE;
#endif
}
else if (kTreeColAtom == tag) {
// Ignore 'width' and 'hidden' on a <treecol> // Ignore 'width' and 'hidden' on a <treecol>
if (kWidthAtom == aAttribute || kHiddenAtom == aAttribute) if (kWidthAtom == aAttribute || kHiddenAtom == aAttribute)
aHint = NS_STYLE_HINT_REFLOW; aHint = NS_STYLE_HINT_REFLOW;

Просмотреть файл

@ -335,6 +335,7 @@ protected:
static nsIAtom* kHiddenAtom; static nsIAtom* kHiddenAtom;
static nsIAtom* kIdAtom; static nsIAtom* kIdAtom;
static nsIAtom* kObservesAtom; static nsIAtom* kObservesAtom;
static nsIAtom* kOpenAtom;
static nsIAtom* kPopupAtom; static nsIAtom* kPopupAtom;
static nsIAtom* kMenuPopupAtom; static nsIAtom* kMenuPopupAtom;
static nsIAtom* kRefAtom; static nsIAtom* kRefAtom;