LCOV - code coverage report
Current view: top level - muse/framework/uicomponents/qml/Muse/UiComponents - testtableviewmodel.cpp Coverage Total Hit
Test: filtered_coverage.info Lines: 0.0 % 89 0
Test Date: 2026-11-05 04:07:02

            Line data    Source code
       1              : /*
       2              :  * SPDX-License-Identifier: GPL-3.0-only
       3              :  * MuseScore-CLA-applies
       4              :  *
       5              :  * MuseScore Studio
       6              :  * Music Composition & Notation
       7              :  *
       8              :  * Copyright (C) 2025 MuseScore Limited and others
       9              :  *
      10              :  * This program is free software: you can redistribute it and/or modify
      11              :  * it under the terms of the GNU General Public License version 3 as
      12              :  * published by the Free Software Foundation.
      13              :  *
      14              :  * This program is distributed in the hope that it will be useful,
      15              :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      16              :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      17              :  * GNU General Public License for more details.
      18              :  *
      19              :  * You should have received a copy of the GNU General Public License
      20              :  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
      21              :  */
      22              : #include "testtableviewmodel.h"
      23              : 
      24              : #include "global/types/translatablestring.h"
      25              : #include "internal/tableviewheader.h"
      26              : 
      27              : using namespace muse::uicomponents;
      28              : 
      29            0 : TestTableViewModel::TestTableViewModel(QObject* parent)
      30            0 :     : AbstractTableViewModel(parent)
      31              : {
      32            0 :     load();
      33            0 : }
      34              : 
      35            0 : void TestTableViewModel::load()
      36              : {
      37            0 :     QVector<QVector<TableViewCell*> > table;
      38              : 
      39            0 :     const ValList listOptions { Val("Item 1"), Val("Item 2"), Val("Item 3") };
      40            0 :     const ValList colorOptions { Val("Red"), Val("Green"), Val("Blue") };
      41              : 
      42            0 :     table.append({
      43            0 :         makeCell(Val("Charlie")),
      44            0 :         makeCell(Val(listOptions), Val("Item 2")),
      45            0 :         makeCell(Val("12h34m56.789 s")),
      46            0 :         makeCell(Val(3.5)),
      47            0 :         makeCell(Val("00h05m12.000 s")),
      48            0 :         makeCell(Val(colorOptions), Val("Red")),
      49              :     });
      50              : 
      51            0 :     table.append({
      52            0 :         makeCell(Val("Alpha")),
      53            0 :         makeCell(Val(listOptions), Val("Item 3")),
      54            0 :         makeCell(Val("00h00m00.000 s")),
      55            0 :         makeCell(Val(-1.25)),
      56            0 :         makeCell(Val("01h22m07.500 s")),
      57            0 :         makeCell(Val(colorOptions), Val("Green")),
      58              :     });
      59              : 
      60            0 :     table.append({
      61            0 :         makeCell(Val("Echo")),
      62            0 :         makeCell(Val(listOptions), Val("Item 1")),
      63            0 :         makeCell(Val("00h00m00.000 s")),
      64            0 :         makeCell(Val(10.0)),
      65            0 :         makeCell(Val("00h00m45.250 s")),
      66            0 :         makeCell(Val(colorOptions), Val("Blue")),
      67              :     });
      68              : 
      69            0 :     table.append({
      70            0 :         makeCell(Val("Bravo")),
      71            0 :         makeCell(Val(listOptions), Val("Item 1")),
      72            0 :         makeCell(Val("00h00m00.000 s")),
      73            0 :         makeCell(Val(0.0)),
      74            0 :         makeCell(Val("02h15m30.000 s")),
      75            0 :         makeCell(Val(colorOptions), Val("Green")),
      76              :     });
      77              : 
      78            0 :     table.append({
      79            0 :         makeCell(Val("Foxtrot")),
      80            0 :         makeCell(Val(listOptions), Val("Item 3")),
      81            0 :         makeCell(Val("00h00m00.000 s")),
      82            0 :         makeCell(Val(7.75)),
      83            0 :         makeCell(Val("00h45m00.000 s")),
      84            0 :         makeCell(Val(colorOptions), Val("Blue")),
      85              :     });
      86              : 
      87            0 :     table.append({
      88            0 :         makeCell(Val("Delta")),
      89            0 :         makeCell(Val(listOptions), Val("Item 2")),
      90            0 :         makeCell(Val("00h00m00.000 s")),
      91            0 :         makeCell(Val(2.0)),
      92            0 :         makeCell(Val("00h00m00.000 s")),
      93            0 :         makeCell(Val(colorOptions), Val("Red")),
      94              :     });
      95              : 
      96            0 :     table.append({
      97            0 :         makeCell(Val("Bravo")),
      98            0 :         makeCell(Val(listOptions), Val("Item 2")),
      99            0 :         makeCell(Val("00h00m00.000 s")),
     100            0 :         makeCell(Val(5.0)),
     101            0 :         makeCell(Val("00h12m00.000 s")),
     102            0 :         makeCell(Val(colorOptions), Val("Blue")),
     103              :     });
     104              : 
     105            0 :     table.append({
     106            0 :         makeCell(Val("Golf")),
     107            0 :         makeCell(Val(listOptions), Val("Item 1")),
     108            0 :         makeCell(Val("00h00m00.000 s")),
     109            0 :         makeCell(Val(-3.0)),
     110            0 :         makeCell(Val("03h00m00.000 s")),
     111            0 :         makeCell(Val(colorOptions), Val("Green")),
     112              :     });
     113              : 
     114              :     QList<TableViewHeader*> hHeaders = {
     115            0 :         makeHorizontalHeader("Column 1", TableViewCellType::Type::String, TableViewCellEditMode::Mode::DoubleClick, 100),
     116            0 :         makeHorizontalHeader("Column 2", TableViewCellType::Type::List, TableViewCellEditMode::Mode::DoubleClick, 100),
     117            0 :         makeHorizontalHeader("Column 3", static_cast<TableViewCellType::Type>(TestTableViewCellType::Type::Custom),
     118            0 :                              TableViewCellEditMode::Mode::StartInEdit, 200, makeAvailableFormats()),
     119            0 :         makeHorizontalHeader("Column 4", TableViewCellType::Type::Double, TableViewCellEditMode::Mode::StartInEdit, 200),
     120            0 :         makeHorizontalHeader("Column 5", TableViewCellType::Type::String, TableViewCellEditMode::Mode::StartInEdit, 300),
     121            0 :         makeHorizontalHeader("Column 6", TableViewCellType::Type::List, TableViewCellEditMode::Mode::DoubleClick, 100),
     122            0 :     };
     123              : 
     124            0 :     setHorizontalHeaders(hHeaders);
     125              : 
     126            0 :     setTable(table);
     127            0 : }
     128              : 
     129            0 : bool TestTableViewModel::doCellValueChangeRequested(int row, int column, const Val& value)
     130              : {
     131              :     Q_UNUSED(row);
     132              :     Q_UNUSED(column);
     133              :     Q_UNUSED(value);
     134            0 :     return true;
     135              : }
     136              : 
     137            0 : MenuItemList TestTableViewModel::makeAvailableFormats()
     138              : {
     139            0 :     MenuItemList items;
     140              : 
     141            0 :     MenuItem* item1 = new MenuItem(this);
     142            0 :     item1->setTitle(TranslatableString::untranslatable("Default"));
     143            0 :     item1->setSelectable(true);
     144            0 :     items << item1;
     145              : 
     146            0 :     MenuItem* item2 = new MenuItem(this);
     147            0 :     item2->setTitle(TranslatableString::untranslatable("Accent"));
     148            0 :     item2->setSelectable(true);
     149            0 :     items << item2;
     150              : 
     151            0 :     return items;
     152            0 : }
        

Generated by: LCOV version 2.0-1