Changeset 278bc7818f in tspsg for src/tspmodel.cpp


Ignore:
Timestamp:
Feb 27, 2010, 2:13:50 PM (14 years ago)
Author:
Oleksii Serdiuk
Branches:
0.1.3.145-beta1-symbian, 0.1.4.170-beta2-bb10, appveyor, imgbot, master, readme
Children:
162d5c5f94
Parents:
b2bf8e3b6b
Message:

+ Added Symmetric mode: in this mode the cost of travel from city 1 to city 2 and vice versa is the same.
+ Added the ability to reset all settings to their defaults: hold Shift while clicking Save button in Settings Dialog.

  • Better SIP show/hide handling under wince: no need to resize the Main Window, when it isn't active.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/tspmodel.cpp

    rb2bf8e3b6b r278bc7818f  
    191191void CTSPModel::randomize()
    192192{
    193 int randMin = settings->value("Task/RandMin",DEF_RAND_MIN).toInt();
    194 int randMax = settings->value("Task/RandMax",DEF_RAND_MAX).toInt();
    195         for (int r = 0; r < nCities; r++)
    196                 for (int c = 0; c < nCities; c++)
    197                         if (r != c)
    198                                 table[r][c] = rand(randMin,randMax);
    199         emit dataChanged(index(0,0),index(nCities - 1,nCities - 1));
     193int randMin = settings->value("Task/RandMin", DEF_RAND_MIN).toInt();
     194int randMax = settings->value("Task/RandMax", DEF_RAND_MAX).toInt();
     195        if (settings->value("Task/SymmetricMode", DEF_SYMMETRIC_MODE).toBool()) {
     196                for (int r = 0; r < nCities; r++)
     197                        for (int c = 0; c < r; c++)
     198                                table[c][r] = table[r][c] = rand(randMin, randMax);
     199        } else {
     200                for (int r = 0; r < nCities; r++)
     201                        for (int c = 0; c < nCities; c++)
     202                                if (r != c)
     203                                        table[r][c] = rand(randMin, randMax);
     204        }
     205        emit dataChanged(index(0,0), index(nCities - 1, nCities - 1));
    200206}
    201207
     
    315321                        if (!ok || tmp < 0)
    316322                                return false;
    317                         else
     323                        else {
    318324                                table[index.row()][index.column()] = tmp;
     325                                if (settings->value("Task/SymmetricMode", DEF_SYMMETRIC_MODE).toBool())
     326                                        table[index.column()][index.row()] = tmp;
     327                        }
    319328                }
    320329                emit dataChanged(index,index);
Note: See TracChangeset for help on using the changeset viewer.