Exemple #1
0
/**
 * Revert all component data back to the original values.
 * The table view is updated accordingly
 */
void BOM_TABLE_MODEL::RevertFieldChanges()
{
    for( auto& group : Groups )
    {
        if( !group )
            continue;

        bool changed = false;

        for( auto& component : group->Components )
        {
            if( !component )
                continue;

            if( component->HasChanged() )
            {
                component->RevertFieldChanges();
                ItemChanged( RowToItem( &*component ) );
                changed = true;
            }
        }

        // Update the group if any components changed
        if( changed )
        {
            ItemChanged( RowToItem( &*group ) );
        }
    }
}
Exemple #2
0
void wxTreeListModel::ToggleItem(wxDataViewItem dvi)
{
    Node* const item = FromDVI(dvi);

    wxCHECK_RET( item, "Invalid item" );

    const wxCheckBoxState stateOld = item->m_checkedState;

    // If the 3rd state is user-settable then the cycle is
    // unchecked->checked->undetermined.
    switch ( stateOld )
    {
        case wxCHK_CHECKED:
            item->m_checkedState = m_treelist->HasFlag(wxTL_USER_3STATE)
                                        ? wxCHK_UNDETERMINED
                                        : wxCHK_UNCHECKED;
            break;

        case wxCHK_UNDETERMINED:
            // Whether 3rd state is user-settable or not, the next state is
            // unchecked.
            item->m_checkedState = wxCHK_UNCHECKED;
            break;

        case wxCHK_UNCHECKED:
            item->m_checkedState = wxCHK_CHECKED;
            break;
    }

    ItemChanged(ToDVI(item));

    m_treelist->OnItemToggled(item, stateOld);
}
Exemple #3
0
void OptionsMenu::HandleEvent(sf::Event &Event) {
    UIPage::HandleEvent(Event);

    // Arrow keys...
    if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Up)) {
        if (Current <= 0) Current = Options.size();
        Current--;
        
        return;
    }
    
    if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Down)) {
        Current++;
        if (Current >= Options.size()) Current = 0;
        
        return;
    }
    
    // Handle mouse movement
    if ((Event.Type == sf::Event::MouseMoved)) {
        float middle = context->window->GetWidth() / 2;
        
        if ((Event.MouseMove.X < middle - 200) || (Event.MouseMove.X > middle + 200))
            return;
        
        float y = 150;
        for (int i = 0; i < Options.size(); i++) {
            y += 60;
            
            if ((Event.MouseMove.Y > y - 20) && (Event.MouseMove.Y < y + 20)) {
                Current = i;
                return;
            }
        }
        
        return;
    }
    
    // Handle click (assume the mouse has moved recently. I expect a bug report
    // on this eventually)
    if ((Event.Type == sf::Event::MouseButtonReleased) && (Event.MouseButton.Button == sf::Mouse::Left))
        return ItemChanged(Options[Current]);

    // Handle enter
    if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Return))
        return ItemChanged(Options[Current]);
}
Exemple #4
0
void TreeListModel::UpdateItem(const wxDataViewItem& item, const wxVector<wxVariant>& data)
{
    TreeListModel_Item* node = reinterpret_cast<TreeListModel_Item*>(item.GetID());
    if ( node ) {
        node->SetData( data );
        ItemChanged( item );
    }
}
void MemCheckDVCErrorsModel::UpdateItem(const wxDataViewItem& item, const wxVector<wxVariant>& data)
{
    MemCheckDVCErrorsModel_Item* node = reinterpret_cast<MemCheckDVCErrorsModel_Item*>(item.GetID());
    if ( node ) {
        node->SetData( data );
        ItemChanged( item );
    }
}
Exemple #6
0
void wxTreeListModel::CheckItem(Node* item, wxCheckBoxState checkedState)
{
    wxCHECK_RET( item, "Invalid item" );

    item->m_checkedState = checkedState;

    ItemChanged(ToDVI(item));
}
void CScoptViewResultsModel::UpdateItem(const wxDataViewItem& item, const wxVector<wxVariant>& data)
{
    CScoptViewResultsModel_Item* node = reinterpret_cast<CScoptViewResultsModel_Item*>(item.GetID());
    if ( node ) {
        node->SetData( data );
        ItemChanged( item );
    }
}