Пример #1
0
void CSVWidget::SceneToolMode::selected()
{
    std::map<ModeButton *, std::string>::const_iterator iter =
        mButtons.find (dynamic_cast<ModeButton *> (sender()));

    if (iter!=mButtons.end())
    {
        if (!iter->first->hasKeepOpen())
            mPanel->hide();

        for (std::map<ModeButton *, std::string>::const_iterator iter2 = mButtons.begin();
            iter2!=mButtons.end(); ++iter2)
            iter2->first->setChecked (iter2==iter);

        setIcon (iter->first->icon());
        adjustToolTip (iter->first);

        if (mCurrent!=iter->first)
        {
            if (mCurrent)
                mCurrent->deactivate (mToolbar);

            mCurrent = iter->first;
            mCurrent->activate (mToolbar);
        }

        emit modeChanged (iter->second);
    }
}
Пример #2
0
void CSVWidget::SceneToolToggle::setSelectionMask (unsigned int selection)
{
    for (std::map<PushButton *, ButtonDesc>::iterator iter (mButtons.begin());
        iter!=mButtons.end(); ++iter)
        iter->first->setChecked (selection & iter->second.mMask);

    adjustToolTip();
    adjustIcon();
}
Пример #3
0
bool CSVWidget::SceneToolMode::event(QEvent* event)
{
    if (event->type() == QEvent::ToolTip)
    {
        adjustToolTip(mCurrent);
    }

    return SceneTool::event(event);
}
Пример #4
0
void CSVWidget::SceneToolToggle::selected()
{
    std::map<PushButton *, ButtonDesc>::const_iterator iter =
        mButtons.find (dynamic_cast<PushButton *> (sender()));

    if (iter!=mButtons.end())
    {
        if (!iter->first->hasKeepOpen())
            mPanel->hide();

        adjustToolTip();
        adjustIcon();

        emit selectionChanged();
    }
}
Пример #5
0
void CSVWidget::SceneToolMode::setButton (std::map<ModeButton *, std::string>::iterator iter)
{
    for (std::map<ModeButton *, std::string>::const_iterator iter2 = mButtons.begin();
        iter2!=mButtons.end(); ++iter2)
        iter2->first->setChecked (iter2==iter);

    setIcon (iter->first->icon());
    adjustToolTip (iter->first);

    if (mCurrent!=iter->first)
    {
        if (mCurrent)
            mCurrent->deactivate (mToolbar);

        mCurrent = iter->first;
        mCurrent->activate (mToolbar);
    }

    emit modeChanged (iter->second);
}
Пример #6
0
void CSVWidget::SceneToolMode::addButton (ModeButton *button, const std::string& id)
{
    button->setParent (mPanel);

    button->setSizePolicy (QSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed));
    button->setIconSize (QSize (mIconSize, mIconSize));
    button->setFixedSize (mButtonSize, mButtonSize);

    mLayout->addWidget (button);

    mButtons.insert (std::make_pair (button, id));

    connect (button, SIGNAL (clicked()), this, SLOT (selected()));

    if (mButtons.size()==1)
    {
        mFirst = mCurrent = button;
        setIcon (button->icon());
        button->setChecked (true);
        adjustToolTip (button);
        mCurrent->activate (mToolbar);
    }
}
Пример #7
0
void CSVWidget::SceneToolMode::addButton (const std::string& icon, const std::string& id,
    const QString& tooltip)
{
    PushButton *button = new PushButton (QIcon (QPixmap (icon.c_str())), PushButton::Type_Mode,
        tooltip, mPanel);
    button->setSizePolicy (QSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed));
    button->setIconSize (QSize (mIconSize, mIconSize));
    button->setFixedSize (mButtonSize, mButtonSize);

    mLayout->addWidget (button);

    mButtons.insert (std::make_pair (button, id));

    connect (button, SIGNAL (clicked()), this, SLOT (selected()));

    if (mButtons.size()==1)
    {
        mFirst = button;
        setIcon (button->icon());
        button->setChecked (true);
        adjustToolTip (button);
    }
}