コード例 #1
0
void LMSImportChannelMapDialog::AddModel(Model &cls) {
    ChannelMapGrid->BeginBatch();
    int i = ChannelMapGrid->GetNumberRows();
    ChannelMapGrid->AppendRows(cls.GetNumStrands() + 1);
    ChannelMapGrid->SetCellValue(i, 0, cls.name);
    i++;
    for (int s = 0; s < cls.GetNumStrands(); s++) {
        ChannelMapGrid->SetCellValue(i, 0, cls.name);
        wxString sn = cls.GetStrandName(s);
        if ("" == sn) {
            sn = wxString::Format("Strand %d", s + 1);
        }
        ChannelMapGrid->SetCellValue(i, 1, sn);
        i++;
        if (!MapByStrand->GetValue()) {
            ChannelMapGrid->AppendRows(cls.GetStrandLength(s));
            for (int n = 0; n < cls.GetStrandLength(s); n++) {
                ChannelMapGrid->SetCellValue(i, 0, cls.name);
                ChannelMapGrid->SetCellValue(i, 1, sn);
                wxString nn = cls.GetNodeName(cls.MapToNodeIndex(s, n));
                if ("" == nn) {
                    nn = wxString::Format("Node %d", n + 1);
                }
                ChannelMapGrid->SetCellValue(i, 2, nn);
                i++;
            }
        }
    }
    ChannelMapGrid->EndBatch();
}
コード例 #2
0
ファイル: PixelBuffer.cpp プロジェクト: bagumondigi/xLights
void PixelBufferClass::InitStrandBuffer(const Model &pbc, int strand, int timing)
{
    if (ssModel == nullptr) {
        ssModel = new SingleLineModel(pbc.GetModelManager());
    }
        
    ssModel->Reset(pbc.GetStrandLength(strand), pbc, strand);
    model = ssModel;
    reset(2, timing);
}
コード例 #3
0
ファイル: EffectLayer.cpp プロジェクト: bagumondigi/xLights
void StrandLayer::InitFromModel(Model &model) {
    int nc = model.GetStrandLength(strand);
    SetName(model.GetStrandName(strand));
    for (int x = 0; x < mNodeLayers.size(); x++) {
        mNodeLayers[x]->SetName(model.GetNodeName(x));
    }
    while (mNodeLayers.size() < nc) {
        NodeLayer *nl = new NodeLayer(GetParentElement(), model.GetNodeName(mNodeLayers.size()));
        mNodeLayers.push_back(nl);
    }
}