1 /*
2 * Copyright (C) 2006 Zack Rusin <zack@kde.org>
3 * Copyright (C) 2007 Staikos Computing Services Inc. <info@staikos.net>
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27 #include "config.h"
28 #include "ContextMenuItem.h"
29
30 #include "ContextMenu.h"
31
32 namespace WebCore {
33
ContextMenuItem(ContextMenu * subMenu)34 ContextMenuItem::ContextMenuItem(ContextMenu* subMenu)
35 {
36 m_platformDescription.type = SubmenuType;
37 m_platformDescription.action = ContextMenuItemTagNoAction;
38 if (subMenu)
39 setSubMenu(subMenu);
40 }
41
ContextMenuItem(ContextMenuItemType type,ContextMenuAction action,const String & title,ContextMenu * subMenu)42 ContextMenuItem::ContextMenuItem(ContextMenuItemType type, ContextMenuAction action,
43 const String& title, ContextMenu* subMenu)
44 {
45 m_platformDescription.type = type;
46 m_platformDescription.action = action;
47 m_platformDescription.title = title;
48 if (subMenu)
49 setSubMenu(subMenu);
50 }
51
ContextMenuItem(ContextMenuItemType,ContextMenuAction,const String &,bool,bool)52 ContextMenuItem::ContextMenuItem(ContextMenuItemType, ContextMenuAction, const String&, bool, bool)
53 {
54 // FIXME: Implement
55 }
56
ContextMenuItem(ContextMenuAction,const String &,bool,bool,Vector<ContextMenuItem> &)57 ContextMenuItem::ContextMenuItem(ContextMenuAction, const String&, bool, bool, Vector<ContextMenuItem>&)
58 {
59 // FIXME: Implement
60 }
61
~ContextMenuItem()62 ContextMenuItem::~ContextMenuItem()
63 {
64 }
65
releasePlatformDescription()66 PlatformMenuItemDescription ContextMenuItem::releasePlatformDescription()
67 {
68 return m_platformDescription;
69 }
70
type() const71 ContextMenuItemType ContextMenuItem::type() const
72 {
73 return m_platformDescription.type;
74 }
75
setType(ContextMenuItemType type)76 void ContextMenuItem::setType(ContextMenuItemType type)
77 {
78 m_platformDescription.type = type;
79 }
80
action() const81 ContextMenuAction ContextMenuItem::action() const
82 {
83 return m_platformDescription.action;
84 }
85
setAction(ContextMenuAction action)86 void ContextMenuItem::setAction(ContextMenuAction action)
87 {
88 m_platformDescription.action = action;
89 }
90
title() const91 String ContextMenuItem::title() const
92 {
93 return m_platformDescription.title;
94 }
95
setTitle(const String & title)96 void ContextMenuItem::setTitle(const String& title)
97 {
98 m_platformDescription.title = title;
99 }
100
101
platformSubMenu() const102 PlatformMenuDescription ContextMenuItem::platformSubMenu() const
103 {
104 return &m_platformDescription.subMenuItems;
105 }
106
setSubMenu(ContextMenu * menu)107 void ContextMenuItem::setSubMenu(ContextMenu* menu)
108 {
109 m_platformDescription.subMenuItems = *menu->platformDescription();
110 }
111
setSubMenu(Vector<ContextMenuItem> &)112 void ContextMenuItem::setSubMenu(Vector<ContextMenuItem>&)
113 {
114 // FIXME: Implement
115 }
116
setChecked(bool on)117 void ContextMenuItem::setChecked(bool on)
118 {
119 m_platformDescription.checked = on;
120 }
121
checked() const122 bool ContextMenuItem::checked() const
123 {
124 // FIXME - Implement
125 return false;
126 }
127
setEnabled(bool on)128 void ContextMenuItem::setEnabled(bool on)
129 {
130 m_platformDescription.enabled = on;
131 }
132
enabled() const133 bool ContextMenuItem::enabled() const
134 {
135 return m_platformDescription.enabled;
136 }
137
138 }
139 // vim: ts=4 sw=4 et
140