Changeset 110 in tspsg-svn for trunk/src


Ignore:
Timestamp:
Apr 28, 2010, 1:38:10 AM (15 years ago)
Author:
laleppa
Message:

+ Added ChangeLog?, Installation Guide and License pages to doxygen generated documentation.

  • Added city and separator parameters to CTSPSolver::getSortedPath() method to make path generation more flexible.
  • Fixed a bug when the solution graph wasn't drwan correctly in some situations.
Location:
trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/mainwindow.cpp

    r109 r110  
    666666
    667667        cur.insertBlock(fmt_paragraph);
    668         cur.insertText("  " + solver.getSortedPath());
     668        cur.insertText("  " + solver.getSortedPath(tr("City %1")));
    669669
    670670        cur.insertBlock(fmt_paragraph);
     
    861861                pic.drawLine(QPointF(x, y - r), QPointF(r * 2.25, y - 2 * r));
    862862        } else if (nstep > 1) {
    863                 pic.drawLine(QPointF(x, y - r), QPointF((step->pNode->next == SStep::RightBranch) ? r * 3.5 : r, y - 2 * r));
     863                pic.drawLine(QPointF(x, y - r), QPointF((step->pNode->pNode->next == SStep::RightBranch) ? r * 3.5 : r, y - 2 * r));
    864864        }
    865865
  • trunk/src/tspsolver.cpp

    r107 r110  
    7171/*!
    7272 * \brief Returns the sorted optimal path, starting from City 1.
     73 * \param city A string that represents city elements in the path.
     74 * \param separator A string that represents separators between cities in the path.
    7375 * \return A string, containing sorted optimal path.
    74  */
    75 QString CTSPSolver::getSortedPath() const
     76 *
     77 *  The resulting path will be in the form \a city+\a separator+\a city+...+\a separator+\a city.
     78 *  \c \%1 in \a city will be replaced by the city number.
     79 */
     80QString CTSPSolver::getSortedPath(const QString &city, const QString &separator) const
    7681{
    7782        if (!root || route.isEmpty() || (route.size() != nCities))
     
    7984
    8085int i = 0; // We start from City 1
    81 QString path = tr("City %1").arg(1) + " -> ";
     86QStringList path;
     87        path << city.arg(1);
    8288        while ((i = route[i]) != 0) {
    83                 path += tr("City %1").arg(i + 1) + " -> ";
     89                path << city.arg(i + 1);
    8490        }
    8591        // And finish in City 1, too
    86         path += tr("City %1").arg(1);
    87 
    88         return path;
     92        path << city.arg(1);
     93
     94        return path.join(separator);
    8995}
    9096
  • trunk/src/tspsolver.h

    r107 r110  
    113113        CTSPSolver(QObject *parent = NULL);
    114114        void cleanup(bool processEvents = false);
    115         QString getSortedPath() const;
     115        QString getSortedPath(const QString &city, const QString &separator = " -> ") const;
    116116        int getTotalSteps() const;
    117117        bool isOptimal() const;
  • trunk/src/version.h

    r100 r110  
    1111 *
    1212 *  This file is part of TSPSG.
    13  *
    14  *  TSPSG is free software: you can redistribute it and/or modify
    15  *  it under the terms of the GNU General Public License as published by
    16  *  the Free Software Foundation, either version 3 of the License, or
    17  *  (at your option) any later version.
    18  *
    19  *  TSPSG is distributed in the hope that it will be useful,
    20  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    21  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    22  *  GNU General Public License for more details.
    23  *
    24  *  You should have received a copy of the GNU General Public License
    25  *  along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
    26  */
    27 /*!
    28  * \mainpage
    29  * \image html tspsg.png
    30  *  <b>TSPSG: TSP Solver and Generator</b>
    31  * \author Copyright &copy; 2007-2010 Lёppa <contacts[at]oleksii[dot]name>
    32  *
    33  *  \b Homepage: <a href="http://tspsg.sourceforge.net/">tspsg.sourceforge.net</a>
    3413 *
    3514 *  TSPSG is free software: you can redistribute it and/or modify
Note: See TracChangeset for help on using the changeset viewer.