BALL  1.5.0
pubchemDialog.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_VIEW_DIALOGSPUBCHEMDIALOG_H
6 #define BALL_VIEW_DIALOGSPUBCHEMDIALOG_H
7 
8 #ifndef BALL_COMMON_GLOBAL_H
9 # include <BALL/COMMON/global.h>
10 #endif
11 
12 #ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H
14 #endif
15 
16 #ifndef BALL_STRUCTURE_SMILESPARSER_H
18 #endif
19 
20 #include <QtWidgets/QDialog>
21 
22 #include <map>
23 #include <boost/unordered_map.hpp>
24 
25 class QNetworkAccessManager;
26 class QNetworkReply;
27 
28 class QTreeWidgetItem;
29 
30 namespace Ui
31 {
32  class PubChemDialogData;
33 }
34 
35 namespace BALL
36 {
37  namespace VIEW
38  {
42  : public QDialog,
43  public ModularWidget
44  {
45  Q_OBJECT
46 
47  public:
48 
50 
51 
52  PubChemDialog ( QWidget* parent = NULL, const char* name = "PubChemDialog" );
53 
55  virtual ~PubChemDialog();
56 
58  virtual void initializeWidget ( MainControl& main_control );
59 
61  virtual void checkMenu ( MainControl& main_control );
62 
64  void generateFromSMILES ( const String& SMILES );
65  public Q_SLOTS:
66 
68  void show();
69 
71  void generateButtonClicked();
72 
74  void queryPubChem();
75 
77  void switchView ( QTreeWidgetItem* item, int column );
78 
80  void clearEntries();
81 
83  void finished();
84 
86  void updateDownloadProgress ( qint64 done, qint64 total );
87 
89  void downloadFinished ( QNetworkReply* reply );
90 
91  protected:
92  Ui::PubChemDialogData* ui_;
93 
94  SmilesParser smiles_parser_;
95 
97  {
98  QString name;
99  QString description;
101  };
102 
104  LONG, SHORT
105  };
106 
107  void insert_ ( ParsedResult_ d, QTreeWidgetItem* parent, bool plot );
108  bool handleDownloadError_ ( QNetworkReply* reply);
110  QString buildHeaderTemplate_(InfoDisplayStyle style, const char* str) const;
111 
112  std::map<QTreeWidgetItem*, System*> sd_systems_;
113  std::map<QTreeWidgetItem*, System*> original_systems_;
114  std::map<QTreeWidgetItem*, ParsedResult_> descriptions_;
115 
116  QAction* action1_, *action2_;
117 
119  boost::unordered_map<String, QString> information_templates_;
120 
122  QNetworkAccessManager* network_manager_;
123  };
124 
125  }
126 }
127 #endif
QPushButton
BALL::VIEW::PubChemDialog
Definition: pubchemDialog.h:44
global.h
BALL::VIEW::PubChemDialog::descriptions_
std::map< QTreeWidgetItem *, ParsedResult_ > descriptions_
Definition: pubchemDialog.h:114
BALL::VIEW::PubChemDialog::sd_systems_
std::map< QTreeWidgetItem *, System * > sd_systems_
Definition: pubchemDialog.h:112
BALL::HashMap< int, QTreeWidgetItem * >
BALL::VIEW::PubChemDialog::ParsedResult_::smiles
String smiles
Definition: pubchemDialog.h:100
QDialog
BALL::VIEW::PubChemDialog::ParsedResult_::description
QString description
Definition: pubchemDialog.h:99
BALL::VIEW::PubChemDialog::InfoDisplayStyle
InfoDisplayStyle
Definition: pubchemDialog.h:103
BALL::VIEW::PubChemDialog::ParsedResult_::name
QString name
Definition: pubchemDialog.h:98
BALL::VIEW::PubChemDialog::information_templates_
boost::unordered_map< String, QString > information_templates_
Definition: pubchemDialog.h:119
BALL::VIEW::PubChemDialog::action2_
QAction * action2_
Definition: pubchemDialog.h:116
BALL::VIEW::PubChemDialog::original_systems_
std::map< QTreeWidgetItem *, System * > original_systems_
Definition: pubchemDialog.h:113
BALL::String
Definition: string.h:57
BALL::VIEW::PubChemDialog::buildInformationTemplates_
void buildInformationTemplates_()
BALL_EMBEDDABLE
#define BALL_EMBEDDABLE(TYPE, BASE)
Definition: embeddable.h:31
BALL::VIEW::MainControl
Definition: mainControl.h:118
BALL
Definition: constants.h:13
QWidget
BALL::VIEW::PubChemDialog::esummary_request_ids_
HashMap< int, QTreeWidgetItem * > esummary_request_ids_
Definition: pubchemDialog.h:118
BALL::VIEW::PubChemDialog::ParsedResult_
Definition: pubchemDialog.h:97
BALL::SmilesParser
Definition: smilesParser.h:37
modularWidget.h
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
Ui
Definition: pluginDialog.h:19
QTreeWidgetItem
BALL::VIEW::PubChemDialog::add_button_
QPushButton * add_button_
Definition: pubchemDialog.h:121
BALL::VIEW::PubChemDialog::LONG
@ LONG
Definition: pubchemDialog.h:104
BALL::VIEW::PubChemDialog::handleDownloadError_
bool handleDownloadError_(QNetworkReply *reply)
BALL::VIEW::PubChemDialog::buildHeaderTemplate_
QString buildHeaderTemplate_(InfoDisplayStyle style, const char *str) const
smilesParser.h
BALL::VIEW::PubChemDialog::network_manager_
QNetworkAccessManager * network_manager_
Definition: pubchemDialog.h:122
BALL::VIEW::ModularWidget
Definition: modularWidget.h:63
BALL::VIEW::PubChemDialog::insert_
void insert_(ParsedResult_ d, QTreeWidgetItem *parent, bool plot)