/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

#include <uitest/toolboxitemuiobject.hxx>

ToolBoxItemUIObject::ToolBoxItemUIObject(const VclPtr<ToolBox>& pToolBox, ToolBoxItemId nId)
    : m_pToolBox(pToolBox)
    , m_nId(nId)
{
}

ToolBoxItemUIObject::~ToolBoxItemUIObject() {}

StringMap ToolBoxItemUIObject::get_state()
{
    StringMap aMap{ { u"Enabled"_ustr, OUString::boolean(m_pToolBox->IsItemEnabled(m_nId)) },
                    { u"Text"_ustr, m_pToolBox->GetItemText(m_nId) } };

    return aMap;
}

bool ToolBoxItemUIObject::equals(const UIObject& rOther) const
{
    const ToolBoxItemUIObject* pOther = dynamic_cast<const ToolBoxItemUIObject*>(&rOther);
    if (!pOther)
        return false;

    return m_pToolBox == pOther->m_pToolBox && m_nId == pOther->m_nId;
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
