diff --git a/Plugins/org.mitk.gui.qt.cli/src/internal/ctkCmdLineModuleMenuFactoryQtGui.cpp b/Plugins/org.mitk.gui.qt.cli/src/internal/ctkCmdLineModuleMenuFactoryQtGui.cpp new file mode 100644 index 0000000000..4bcd25ff7f --- /dev/null +++ b/Plugins/org.mitk.gui.qt.cli/src/internal/ctkCmdLineModuleMenuFactoryQtGui.cpp @@ -0,0 +1,50 @@ +/*============================================================================= + + Library: CTK + + Copyright (c) University College London + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +=============================================================================*/ + +#include "ctkCmdLineModuleMenuFactoryQtGui.h" +#include "ctkCmdLineModuleDescription.h" +#include +#include + +//----------------------------------------------------------------------------- +ctkCmdLineModuleMenuFactoryQtGui::ctkCmdLineModuleMenuFactoryQtGui() +{ + +} + + +//----------------------------------------------------------------------------- +ctkCmdLineModuleMenuFactoryQtGui::~ctkCmdLineModuleMenuFactoryQtGui() +{ + +} + +//----------------------------------------------------------------------------- +QMenu* ctkCmdLineModuleMenuFactoryQtGui::create(const QList& references) +{ + QMenu *menu = new QMenu(); + ctkCmdLineModuleReference ref; + + foreach (ref, references) + { + menu->addAction(ref.description().title()); + } + return menu; +} diff --git a/Plugins/org.mitk.gui.qt.cli/src/internal/ctkCmdLineModuleMenuFactoryQtGui.h b/Plugins/org.mitk.gui.qt.cli/src/internal/ctkCmdLineModuleMenuFactoryQtGui.h new file mode 100644 index 0000000000..31c851966f --- /dev/null +++ b/Plugins/org.mitk.gui.qt.cli/src/internal/ctkCmdLineModuleMenuFactoryQtGui.h @@ -0,0 +1,49 @@ +/*============================================================================= + + Library: CTK + + Copyright (c) University College London + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +=============================================================================*/ + +#ifndef CTKCMDLINEMODULEMENUFACTORYQTGUI_H +#define CTKCMDLINEMODULEMENUFACTORYQTGUI_H + +#include +#include +#include "ctkCmdLineModuleReference.h" + +/** + * \class ctkCmdLineModuleMenuFactoryQtGui + * \brief Takes a QHash of filename and ctkCmdLineModuleReference and produces a QMenu. + * \author m.clarkson@ucl.ac.uk + * \ingroup org_mitk_gui_qt_cli_internal + */ +class ctkCmdLineModuleMenuFactoryQtGui +{ +public: + + ctkCmdLineModuleMenuFactoryQtGui(); + virtual ~ctkCmdLineModuleMenuFactoryQtGui(); + + /** + * \brief Constructs a menu, for all the items in the QHash. + * \param list List of references, from which to build a menu. + * \return QMenu* a menu. + */ + QMenu* create(const QList& list); +}; + +#endif // CTKCMDLINEMODULEMENUFACTORYQTGUI_H