ContextMenuGtk.cpp [plain text]
#include "config.h"
#include "ContextMenu.h"
#include "NotImplemented.h"
#include <gtk/gtk.h>
namespace WebCore {
ContextMenu::ContextMenu()
{
m_platformDescription = GTK_MENU(gtk_menu_new());
}
ContextMenu::~ContextMenu()
{
if (m_platformDescription)
gtk_widget_destroy(GTK_WIDGET(m_platformDescription));
}
void ContextMenu::appendItem(ContextMenuItem& item)
{
ASSERT(m_platformDescription);
GtkMenuItem* platformItem = item.releasePlatformDescription();
ASSERT(platformItem);
gtk_menu_shell_append(GTK_MENU_SHELL(m_platformDescription), GTK_WIDGET(platformItem));
gtk_widget_show(GTK_WIDGET(platformItem));
}
void ContextMenu::setPlatformDescription(PlatformMenuDescription menu)
{
ASSERT(menu);
if (m_platformDescription)
gtk_widget_destroy(GTK_WIDGET(m_platformDescription));
m_platformDescription = menu;
}
PlatformMenuDescription ContextMenu::platformDescription() const
{
return m_platformDescription;
}
PlatformMenuDescription ContextMenu::releasePlatformDescription()
{
PlatformMenuDescription description = m_platformDescription;
m_platformDescription = 0;
return description;
}
Vector<ContextMenuItem> contextMenuItemVector(const PlatformMenuDescription)
{
notImplemented();
Vector<ContextMenuItem> menuItemVector;
return menuItemVector;
}
}