ODIN
odindialog_kspace.h
1 /***************************************************************************
2  odindialog_kspace.h - description
3  -------------------
4  begin : Mon Oct 10 21:30:11 CEST 2005
5  copyright : (C) 2000-2021 by Thies H. Jochimsen
6  email : thies@jochimsen.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef ODINDIALOG_KSPACE_H
19 #define ODINDIALOG_KSPACE_H
20 
21 #include <qobject.h>
22 
23 #include <odinqt/odinqt.h>
24 
25 #include "odindialog_progress.h" // for OdinCancel
26 
27 
28 #define KSPACE_POINT_SIZE 3
29 #define KSPACE_INPLANE_SIZE 512
30 #define KSPACE_THROUGHPLANE_SIZE 128
31 #define KSPACE_BORDER_SIZE 50
32 
33 
34 class KspaceDialog : public QObject, public GuiDialog {
35  Q_OBJECT
36 
37  public:
38  KspaceDialog(QWidget *parent, float kmax, unsigned int nadc);
39  ~KspaceDialog();
40 
41  void draw_point(float kx, float ky, float kz);
42 
43  protected:
44  void repaint(); // overloaded from GuiDialog
45  void close() {canceled=true;} // overloaded from GuiDialog
46 
47  private slots:
48  void cancel();
49 
50  private:
51 
52  int kpos2index(float kpos) const;
53 
54  void progress();
55 
56  GuiGridLayout* grid;
57  GuiButton* pb_cancel;
58  QLabel* kspace_label;
59  QPixmap* kspace_pixmap_buff;
60  GuiProgressBar* progbar;
61 
62  GuiPainter* painter;
63 
64  float k0;
65  int progcount;
66  bool canceled;
67 };
68 
69 
70 
71 #endif