1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef nsMathMLmactionFrame_h___
7 #define nsMathMLmactionFrame_h___
10 #include "nsMathMLSelectedFrame.h"
11 #include "nsIDOMEventListener.h"
12 #include "mozilla/Attributes.h"
15 // <maction> -- bind actions to a subexpression
18 class nsMathMLmactionFrame
: public nsMathMLSelectedFrame
{
20 NS_DECL_FRAMEARENA_HELPERS
22 friend nsIFrame
* NS_NewMathMLmactionFrame(nsIPresShell
* aPresShell
, nsStyleContext
* aContext
);
25 Init(nsIContent
* aContent
,
26 nsContainerFrame
* aParent
,
27 nsIFrame
* aPrevInFlow
) MOZ_OVERRIDE
;
30 SetInitialChildList(ChildListID aListID
,
31 nsFrameList
& aChildList
) MOZ_OVERRIDE
;
34 ChildListChanged(int32_t aModType
) MOZ_OVERRIDE
;
37 AttributeChanged(int32_t aNameSpaceID
,
39 int32_t aModType
) MOZ_OVERRIDE
;
46 class MouseListener MOZ_FINAL
: public nsIDOMEventListener
53 NS_DECL_NSIDOMEVENTLISTENER
55 explicit MouseListener(nsMathMLmactionFrame
* aOwner
) : mOwner(aOwner
) { }
57 nsMathMLmactionFrame
* mOwner
;
61 explicit nsMathMLmactionFrame(nsStyleContext
* aContext
) :
62 nsMathMLSelectedFrame(aContext
) {}
63 virtual ~nsMathMLmactionFrame();
69 nsRefPtr
<MouseListener
> mListener
;
71 // helper to return the frame for the attribute selection="number"
73 GetSelectedFrame() MOZ_OVERRIDE
;
76 #endif /* nsMathMLmactionFrame_h___ */