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