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 
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);
109  void buildInformationTemplates_();
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
BALL::VIEW::PubChemDialog::information_templates_
boost::unordered_map< String, QString > information_templates_
Definition: pubchemDialog.h:119
BALL::VIEW::PubChemDialog::smiles_parser_
SmilesParser smiles_parser_
Definition: pubchemDialog.h:94
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
BALL::VIEW::PubChemDialog
Definition: pubchemDialog.h:41
BALL::VIEW::PubChemDialog::ui_
Ui::PubChemDialogData * ui_
Definition: pubchemDialog.h:92
BALL::VIEW::PubChemDialog::ParsedResult_::description
QString description
Definition: pubchemDialog.h:99
QWidget
BALL::VIEW::PubChemDialog::network_manager_
QNetworkAccessManager * network_manager_
Definition: pubchemDialog.h:122
BALL::HashMap< int, QTreeWidgetItem * >
QDialog
BALL_EMBEDDABLE
#define BALL_EMBEDDABLE(TYPE, BASE)
Definition: embeddable.h:31
BALL::VIEW::PubChemDialog::original_systems_
std::map< QTreeWidgetItem *, System * > original_systems_
Definition: pubchemDialog.h:113
BALL
Definition: constants.h:12
BALL::VIEW::PubChemDialog::descriptions_
std::map< QTreeWidgetItem *, ParsedResult_ > descriptions_
Definition: pubchemDialog.h:114
BALL::String
Definition: string.h:56
BALL::VIEW::PubChemDialog::ParsedResult_::smiles
String smiles
Definition: pubchemDialog.h:100
modularWidget.h
BALL::VIEW::MainControl
Definition: mainControl.h:114
BALL::VIEW::PubChemDialog::action2_
QAction * action2_
Definition: pubchemDialog.h:116
Ui
Definition: pluginDialog.h:18
BALL::VIEW::PubChemDialog::ParsedResult_::name
QString name
Definition: pubchemDialog.h:98
global.h
BALL::VIEW::ModularWidget
Definition: modularWidget.h:60
BALL::VIEW::PubChemDialog::sd_systems_
std::map< QTreeWidgetItem *, System * > sd_systems_
Definition: pubchemDialog.h:112
BALL::VIEW::PubChemDialog::ParsedResult_
Definition: pubchemDialog.h:96
BALL::VIEW::PubChemDialog::InfoDisplayStyle
InfoDisplayStyle
Definition: pubchemDialog.h:103
BALL::SmilesParser
Definition: smilesParser.h:36
QTreeWidgetItem
QPushButton
smilesParser.h
BALL::VIEW::PubChemDialog::add_button_
QPushButton * add_button_
Definition: pubchemDialog.h:121
BALL::VIEW::PubChemDialog::esummary_request_ids_
HashMap< int, QTreeWidgetItem * > esummary_request_ids_
Definition: pubchemDialog.h:118