OpenStructure
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
stage
include
ost
gui
data_viewer
data_viewer.hh
Go to the documentation of this file.
1
//------------------------------------------------------------------------------
2
// This file is part of the OpenStructure project <www.openstructure.org>
3
//
4
// Copyright (C) 2008-2011 by the OpenStructure authors
5
// Copyright (C) 2003-2010 by the IPLT authors
6
//
7
// This library is free software; you can redistribute it and/or modify it under
8
// the terms of the GNU Lesser General Public License as published by the Free
9
// Software Foundation; either version 3.0 of the License, or (at your option)
10
// any later version.
11
// This library is distributed in the hope that it will be useful, but WITHOUT
12
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
14
// details.
15
//
16
// You should have received a copy of the GNU Lesser General Public License
17
// along with this library; if not, write to the Free Software Foundation, Inc.,
18
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
//------------------------------------------------------------------------------
20
21
/*
22
Authors: Ansgar Philippsen, Andreas Schenk
23
*/
24
25
#ifndef IMG_GUI_DATA_VIEWER_H
26
#define IMG_GUI_DATA_VIEWER_H
27
28
#include <map>
29
30
#include <
ost/base.hh
>
31
#include <
ost/img/data.hh
>
32
#include <
ost/img/data_observer.hh
>
33
#include <
ost/img/alg/norm.hh
>
34
35
#include <
ost/gui/main_window.hh
>
36
37
#include "
overlay_base_fw.hh
"
38
#include "
overlay_manager_fw.hh
"
39
#include "
overlay_manager_gui.hh
"
40
#include "
argand.hh
"
41
#include "
info_panel.hh
"
42
#include "
fft_panel.hh
"
43
#include <
ost/gui/module_config.hh
>
44
45
//fw decl
46
class
QLabel;
47
48
namespace
ost {
49
50
namespace
gui {
51
class
GostyApp;
52
}
//ns
53
54
namespace
img {
namespace
gui {
55
56
//fw decl
57
class
DataViewerPanel;
58
60
class
DLLEXPORT_OST_GUI
DataViewer
:
public
ost::gui::MainWindow
61
{
62
Q_OBJECT;
63
64
friend
class
ost::gui::GostyApp
;
// for creation
65
66
public
:
67
virtual
~
DataViewer
();
68
70
void
SetData(
const
Data
& data);
71
73
NormalizerPtr
GetNormalizer()
const
;
74
76
void
Renormalize();
77
78
void
Recenter();
79
81
Extent
GetSelection()
const
;
82
84
void
SetSelection(
const
Extent
& selection);
85
87
void
SetName(
const
String
& name);
88
90
int
AddOverlay(
const
OverlayPtr
& ov,
bool
make_active=
true
);
91
93
void
ClearOverlays();
94
96
OverlayManagerPtr
GetOverlayManager()
const
;
97
99
virtual
void
OnPanelMouseEvent(QMouseEvent* e);
100
102
void
SetAntialiasing(
bool
f);
103
105
virtual
bool
eventFilter(QObject *
object
, QEvent *event);
106
108
void
SetSlab(
int
slab);
110
int
GetSlab()
const
;
111
113
void
SetZoomScale(
Real
zoomscale);
115
Real
GetZoomScale()
const
;
116
118
void
SetViewerMin(
Real
min);
120
Real
GetViewerMin()
const
;
121
123
void
SetViewerMax(
Real
max);
125
Real
GetViewerMax()
const
;
126
128
void
SetGamma(
Real
gamma);
130
Real
GetGamma()
const
;
131
133
void
SetInvert(
bool
invert);
135
bool
GetInvert()
const
;
136
138
void
SetOffset(
const
geom::Vec2
& offset);
140
geom::Vec2
GetOffset()
const
;
141
142
signals:
143
void
released();
144
145
public
slots:
147
void
UpdateView();
148
149
void
OnSlabChange(
int
slab);
150
void
OnZoomChange(
int
zoomlevel);
151
152
protected
:
154
DataViewer
(QWidget* p,
const
Data
& data,
const
QString& name=
""
);
155
156
private
:
157
// inhibit coping and assignement
158
DataViewer
(
const
DataViewer
& v);
159
160
DataViewer
& operator=(
const
DataViewer
& v) {
return
*
this
;}
161
162
QString name_;
163
DataViewerPanel
* panel_;
164
165
OverlayManagerPtr
ov_manager_;
166
OverlayManagerGUI
* ov_manager_gui_;
167
168
InfoPanel
* info_;
169
Argand
* argand_;
170
FFTPanel
* fft_;
171
172
QLabel* zoomlabel_;
173
QLabel* slablabel_;
174
QPoint lastmouse_;
175
176
void
build(
const
Data
& data);
177
178
void
build_menu();
179
};
180
181
}}}
//ns
182
183
#endif
Generated on Mon Nov 5 2012 13:30:58 for OpenStructure by
1.8.1.1