26 #include <tjutils/tjarray.h>
27 #include <odinpara/jdxbase.h>
31 #define _MAX_SLIDER_STEPS_ 100
32 #define _MAX_LABEL_LENGTH_ 15
33 #define _FLOAT_DIGITS_ 3
35 #define _INFOBOX_LINEWIDTH_ 50
37 #define _MAX_SUBWIDGETS_FOR_ALIGNCENT_ 5
55 class JDXwidgetDialog;
56 class JcampDxBlockWidget;
83 JDXwidget(
JcampDxClass& ldr,
unsigned int columns=1, QWidget *parent=0,
bool doneButton=
false,
const char* omittext=
"",
bool storeLoadButtons=
false);
88 void write_pixmap(
const char* fname,
const char* format,
bool dump_all=
false)
const;
89 void write_legend(
const char* fname,
const char* format)
const;
90 void write_map_legend(
const char* fname,
const char* format)
const;
105 void clicked(
int x,
int y,
int z);
106 void newProfile(
const float *data,
int npts,
bool horizontal,
int position);
107 void newMask(
const float* data,
int slice);
111 void updateSubWidget();
112 void deleteSubDialogs();
115 void newfloatval(
float);
116 void newenumval(
int);
117 void newboolval(
bool);
118 void newfloatArr1(
const float*,
int,
float,
float);
120 void newfloatArr2(
const float*,
float,
float);
121 void newfloatArrMap(
const float*,
float,
float,
float);
122 void newcomplexArr(
const float*,
const float*,
int,
float,
float);
123 void newfuncval(
int);
124 void newstringval(
const char*);
125 void newfilenameval(
const char*);
126 void newformulaval(
const char*);
127 void newtripleval(
float,
float,
float);
144 void emitValueChanged();
146 void emitClicked(
int x,
int y,
int z) {emit clicked(x,y,z);}
147 void emitNewProfile(
const float *data,
int npts,
bool horizontal,
int position) {emit newProfile(data, npts, horizontal, position);}
148 void emitNewMask(
const float *data,
int slice) {emit newMask(data,slice);}
150 void changeJDXint(
int );
151 void changeJDXfloat(
float );
152 void changeJDXenum(
int );
153 void changeJDXbool (
bool );
154 void changeJDXaction();
155 void changeJDXfunction(
int );
156 void changeJDXstring(
const char*);
157 void changeJDXfileName(
const char*);
158 void browseJDXfileName();
159 void changeJDXformula(
const char*);
160 void changeJDXtriple(
float,
float,
float);
161 void infoJDXformula();
162 void editJDXfunction();
163 void infoJDXfunction();
166 STD_string get_label()
const;
167 unsigned int get_rows()
const {
return rows;}
168 unsigned int get_cols()
const {
return cols;}
173 void set_widget(QWidget *widget, GuiGridLayout::Alignment alignment = GuiGridLayout::Default,
bool override_enabled=
false);
175 unsigned int get_sizedfarray_size_and_factor(
unsigned int& nx,
unsigned int& ny,
unsigned int& nz)
const;
177 void create_or_update_floatArrwidget(
const farray& arr,
bool initial);
183 QWidget* widget_cache;
185 JcampDxBlockWidget* blockwidget;
193 QLabel* floatArrempty;
214 STD_string ldrlabel_uncut;
217 STD_list<JDXwidgetDialog*> subdialogs;
219 unsigned int rows,cols;