Line data Source code
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/. */
5 :
6 : #ifndef nsIFormControlFrame_h___
7 : #define nsIFormControlFrame_h___
8 :
9 : #include "nsQueryFrame.h"
10 :
11 : class nsAString;
12 : class nsIAtom;
13 :
14 : /**
15 : * nsIFormControlFrame is the common interface for frames of form controls. It
16 : * provides a uniform way of creating widgets, resizing, and painting.
17 : * @see nsLeafFrame and its base classes for more info
18 : */
19 4 : class nsIFormControlFrame : public nsQueryFrame
20 : {
21 : public:
22 : NS_DECL_QUERYFRAME_TARGET(nsIFormControlFrame)
23 :
24 : /**
25 : *
26 : * @param aOn
27 : * @param aRepaint
28 : */
29 : virtual void SetFocus(bool aOn = true, bool aRepaint = false) = 0;
30 :
31 : /**
32 : * Set a property on the form control frame.
33 : *
34 : * @param aName name of the property to set
35 : * @param aValue value of the property
36 : * @returns NS_OK if the property name is valid, otherwise an error code
37 : */
38 : virtual nsresult SetFormProperty(nsIAtom* aName, const nsAString& aValue) = 0;
39 : };
40 :
41 : #endif
42 :
|