]>
git.saurik.com Git - iphone-api.git/blob - WebCore/RenderFileUploadControl.h
2 * Copyright (C) 2006, 2007 Apple Inc.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
21 #ifndef RenderFileUploadControl_h
22 #define RenderFileUploadControl_h
24 #include "RenderBlock.h"
28 class HTMLInputElement
;
30 // Each RenderFileUploadControl contains a RenderButton (for opening the file chooser), and
31 // sufficient space to draw a file icon and filename. The RenderButton has a shadow node
32 // associated with it to receive click/hover events.
34 class RenderFileUploadControl
: public RenderBlock
{
36 RenderFileUploadControl(HTMLInputElement
*);
37 ~RenderFileUploadControl();
39 virtual const char* renderName() const { return "RenderFileUploadControl"; }
41 virtual void updateFromElement();
42 virtual void calcPrefWidths();
43 virtual void paintObject(PaintInfo
&, int tx
, int ty
);
51 String
fileTextValue();
53 bool allowsMultipleFiles();
56 virtual void styleDidChange(StyleDifference
, const RenderStyle
* oldStyle
);
59 int maxFilenameWidth() const;
60 PassRefPtr
<RenderStyle
> createButtonStyle(const RenderStyle
* parentStyle
) const;
62 RefPtr
<HTMLInputElement
> m_button
;
65 } // namespace WebCore
67 #endif // RenderFileUploadControl_h