source: src/UIElements/Qt4/Query/QtQueryList.cpp@ a2aa2f

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since a2aa2f was 7b8a8e, checked in by Michael Ankele <ankele@…>, 13 years ago

QtQueryList added (only used in StringsQtQuery yet)

  • Property mode set to 100644
File size: 2.0 KB
Line 
1/*
2 * Project: MoleCuilder
3 * Description: creates and alters molecular systems
4 * Copyright (C) 2010-2012 University of Bonn. All rights reserved.
5 * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
6 */
7
8/*
9 * QtQueryList.cpp
10 *
11 * Created on: Jul 24, 2012
12 * Author: ankele
13 */
14
15
16
17// include config.h
18#ifdef HAVE_CONFIG_H
19#include <config.h>
20#endif
21
22#include <Qt/qboxlayout.h>
23#include <Qt/qpushbutton.h>
24#include <Qt/qlistwidget.h>
25
26#include "CodePatterns/MemDebug.hpp"
27
28#include "UIElements/Qt4/Query/QtQueryList.hpp"
29
30
31QtQueryListUntyped::QtQueryListUntyped(QBoxLayout *parent, Dialog *_dialog) :
32 dialog(_dialog)
33{
34 thisVLayout = new QVBoxLayout();
35 thisHLayout = new QHBoxLayout();
36 buttonBox = new QVBoxLayout();
37 inputList = new QListWidget();
38 inputList->setSelectionMode(QAbstractItemView::ExtendedSelection);
39 addButton = new QPushButton("Add");
40 addButton->setEnabled(false);
41 removeButton = new QPushButton("Remove");
42 removeButton->setEnabled(false);
43
44 buttonBox->addWidget(addButton);
45 buttonBox->addWidget(removeButton);
46 thisHLayout->addWidget(inputList);
47 thisHLayout->addLayout(buttonBox);
48 thisVLayout->addLayout(thisHLayout);
49 parent->addLayout(thisVLayout);
50}
51
52
53
54void QtQueryListUntyped::onUpdate() {
55 dialog->update();
56}
57
58
59void QtQueryListUntyped::elementSelected()
60{
61 removeButton->setEnabled(!inputList->selectedItems().empty());
62}
63
64void QtQueryListUntyped::addElementToListWidget(const std::string &str)
65{
66 inputList->addItem(QString(str.c_str()));
67}
68
69
70std::vector<int> QtQueryListUntyped::getSelectedRows()
71{
72 std::vector<int> rows;
73 QList<QListWidgetItem*> items = inputList->selectedItems();
74 for (QList<QListWidgetItem*>::iterator iter = items.begin(); !items.empty(); iter = items.begin()){
75 rows.push_back(inputList->row(*iter));
76 items.erase(iter);
77 }
78 return rows;
79}
80
81void QtQueryListUntyped::removeSelectedRows(const std::vector<int> &rows)
82{
83 for (int i = rows.size() - 1; i >= 0; i --)
84 inputList->takeItem(rows[i]);
85}
Note: See TracBrowser for help on using the repository browser.