void FrameAttachmentPoint::onContextMenuClick(int frame, int command)
{
    if (frame >= 0 && frame < mAttachedFrames.size())
    {
        auto framePos = mAttachedFrames.begin();
        for (int i = 0; i < frame; i++) framePos++;

        //Check for command
        if (command == COMMAND_COPY)
        {
            //Copy the plugin
            PluginManager* manager = Carbon::get()->getPluginManager();
            AbstractPlugin* plugin = manager->createPlugin(*(*framePos)->getPluginDefinition(), true);
        }
        else if (command == COMMAND_DELETE)
        {
            //Delete the plugin
            PluginManager* manager = Carbon::get()->getPluginManager();
            manager->deletePlugin((*framePos)->getPluginId(), true);
        }
        else if (command >= COMMAND_MAX_ID)
        {
            //Reattach the plugin
            int target = command - COMMAND_MAX_ID;
            WindowManager* manager = Carbon::get()->getWindowManager();
            if ((int)manager->getFrameAttachmentPoints().size() > target && target >= 0)
            {
                auto pos = manager->getFrameAttachmentPoints().begin(); 
                for (int i = 0; i < target; i++) pos++;

                manager->changeAttachment(*framePos, pos->second->getName());
            }
        }
    }
    else
    {
        LOG_ERROR() << "Illegal frame index " << frame;
    }
}