/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_SELECTION_SELECTIONCOLLECTION_H
#define GMX_SELECTION_SELECTIONCOLLECTION_H
+#include <cstdio>
+
#include <string>
#include <vector>
-#include "../legacyheaders/typedefs.h"
-
-#include "../onlinehelp/helptopicinterface.h"
-#include "../utility/common.h"
-#include "selection.h" // For gmx::SelectionList
+#include "gromacs/legacyheaders/types/oenv.h"
+#include "gromacs/selection/selection.h" // For gmx::SelectionList
+#include "gromacs/utility/common.h"
struct gmx_ana_indexgrps_t;
+struct t_pbc;
+struct t_topology;
+struct t_trxframe;
namespace gmx
{
class SelectionCollection
{
public:
- /*! \brief
- * Creates a help tree for selections.
- *
- * \throws std::bad_alloc if out of memory.
- * \returns Root topic of the created selection tree.
- */
- static HelpTopicPointer createDefaultHelpTopic();
-
/*! \brief
* Creates an empty selection collection.
*
* (if -1, parse as many as provided by the user).
* \param[in] bInteractive Whether the parser should behave
* interactively.
+ * \param[in] context Context to print for interactive input.
* \returns Vector of parsed selections.
* \throws std::bad_alloc if out of memory.
* \throws InvalidInputError if there is a parsing error
* the selection collection.
* Some information about the selections only becomes available once
* compile() has been called; see \ref Selection.
+ *
+ * The string provided to \p context should be such that it can replace
+ * the three dots in "Specify selections ...:". It can be empty.
*/
- SelectionList parseFromStdin(int count, bool bInteractive);
+ SelectionList parseFromStdin(int count, bool bInteractive,
+ const std::string &context);
/*! \brief
* Parses selection(s) from a file.
*