2017-10-27 20:33:53 +03:00
|
|
|
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
2012-05-21 15:12:37 +04:00
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
1999-08-06 22:16:27 +04:00
|
|
|
|
|
|
|
#ifndef nsPopupSetFrame_h__
|
|
|
|
#define nsPopupSetFrame_h__
|
|
|
|
|
2012-09-14 20:10:08 +04:00
|
|
|
#include "mozilla/Attributes.h"
|
2017-10-03 01:05:19 +03:00
|
|
|
#include "nsAtom.h"
|
1999-08-06 22:16:27 +04:00
|
|
|
#include "nsBoxFrame.h"
|
|
|
|
|
2018-03-22 21:20:41 +03:00
|
|
|
nsIFrame* NS_NewPopupSetFrame(nsIPresShell* aPresShell,
|
|
|
|
mozilla::ComputedStyle* aStyle);
|
1999-08-06 22:16:27 +04:00
|
|
|
|
2017-04-30 18:30:08 +03:00
|
|
|
class nsPopupSetFrame final : public nsBoxFrame {
|
1999-08-06 22:16:27 +04:00
|
|
|
public:
|
2017-05-26 13:11:11 +03:00
|
|
|
NS_DECL_FRAMEARENA_HELPERS(nsPopupSetFrame)
|
2009-09-12 20:49:24 +04:00
|
|
|
|
2019-02-05 19:45:54 +03:00
|
|
|
explicit nsPopupSetFrame(ComputedStyle* aStyle, nsPresContext* aPresContext)
|
|
|
|
: nsBoxFrame(aStyle, aPresContext, kClassID) {}
|
1999-08-06 22:16:27 +04:00
|
|
|
|
2007-07-04 19:49:38 +04:00
|
|
|
~nsPopupSetFrame() {}
|
2017-04-30 18:30:08 +03:00
|
|
|
|
2014-05-25 02:20:40 +04:00
|
|
|
virtual void Init(nsIContent* aContent, nsContainerFrame* aParent,
|
2015-03-21 19:28:04 +03:00
|
|
|
nsIFrame* aPrevInFlow) override;
|
2014-05-28 23:36:58 +04:00
|
|
|
|
|
|
|
virtual void SetInitialChildList(ChildListID aListID,
|
2015-03-21 19:28:04 +03:00
|
|
|
nsFrameList& aChildList) override;
|
2014-05-28 23:36:58 +04:00
|
|
|
virtual void AppendFrames(ChildListID aListID,
|
2015-03-21 19:28:04 +03:00
|
|
|
nsFrameList& aFrameList) override;
|
2014-05-28 23:36:58 +04:00
|
|
|
virtual void RemoveFrame(ChildListID aListID, nsIFrame* aOldFrame) override;
|
|
|
|
virtual void InsertFrames(ChildListID aListID, nsIFrame* aPrevFrame,
|
2015-03-21 19:28:04 +03:00
|
|
|
nsFrameList& aFrameList) override;
|
2007-07-04 19:49:38 +04:00
|
|
|
|
2015-03-21 19:28:04 +03:00
|
|
|
virtual const nsFrameList& GetChildList(ChildListID aList) const override;
|
|
|
|
virtual void GetChildLists(nsTArray<ChildList>* aLists) const override;
|
2013-11-04 20:22:20 +04:00
|
|
|
|
2016-04-21 07:28:35 +03:00
|
|
|
NS_IMETHOD DoXULLayout(nsBoxLayoutState& aBoxLayoutState) override;
|
2000-03-02 06:01:30 +03:00
|
|
|
|
2001-08-18 05:04:47 +04:00
|
|
|
// Used to destroy our popup frames.
|
2017-11-07 03:20:33 +03:00
|
|
|
virtual void DestroyFrom(nsIFrame* aDestructRoot,
|
|
|
|
PostDestroyData& aPostDestroyData) override;
|
1999-08-06 22:16:27 +04:00
|
|
|
|
2014-01-06 03:31:14 +04:00
|
|
|
#ifdef DEBUG_FRAME_DUMP
|
2015-03-21 19:28:04 +03:00
|
|
|
virtual nsresult GetFrameName(nsAString& aResult) const override {
|
2001-11-14 04:33:42 +03:00
|
|
|
return MakeFrameName(NS_LITERAL_STRING("PopupSet"), aResult);
|
1) implememted box reflow coelescing.
2) implemented gfx scrollbars for list boxes
3) fixed progess meter to be an animated gif
4) fixed bugs 23521, 24721, 19114, 20546, 24385, 24457, 23156, 20226, 22543
-r hyatt, troy, rod
2000-02-10 01:02:40 +03:00
|
|
|
}
|
2001-09-15 04:45:54 +04:00
|
|
|
#endif
|
1) implememted box reflow coelescing.
2) implemented gfx scrollbars for list boxes
3) fixed progess meter to be an animated gif
4) fixed bugs 23521, 24721, 19114, 20546, 24385, 24457, 23156, 20226, 22543
-r hyatt, troy, rod
2000-02-10 01:02:40 +03:00
|
|
|
|
1999-08-06 22:16:27 +04:00
|
|
|
protected:
|
2010-02-09 19:05:19 +03:00
|
|
|
void AddPopupFrameList(nsFrameList& aPopupFrameList);
|
|
|
|
void RemovePopupFrame(nsIFrame* aPopup);
|
2017-04-30 18:30:08 +03:00
|
|
|
|
2010-02-09 19:05:19 +03:00
|
|
|
nsFrameList mPopupList;
|
|
|
|
};
|
1999-08-06 22:16:27 +04:00
|
|
|
|
|
|
|
#endif
|