4 #include "KVNameValueListGUI.h"
21 text->Resize(
text->GetDefaultWidth(),
text->GetDefaultHeight());
79 for (
int i = 0; i < theList->
GetNpar(); ++i) {
84 else if (par->
IsInt()) {
104 fOriginal.
Copy(*theList);
112 void KVNameValueListGUI::DisplayDialog()
117 fMain->
Resize(fWidth, fHeight);
120 fMain->
SetMWMHints(kMWMDecorAll | kMWMDecorResizeH | kMWMDecorMaximize |
121 kMWMDecorMinimize | kMWMDecorMenu,
122 kMWMFuncAll | kMWMFuncResize | kMWMFuncMaximize |
123 kMWMFuncMinimize, kMWMInputModeless);
130 if (fWaitForMain)
gClient->WaitFor(fMain);
139 : fData(params->GetNpar()), fWaitForMain(wait_for_main)
144 fMain->
Connect(
"CloseWindow()",
"KVNameValueListGUI",
this,
"DoClose()");
149 fCancel = cancel_pressed;
154 theList->
Copy(fOriginal);
167 fData[i] = AddAInt(i, hf);
170 fData[i] = AddADouble(i, hf);
173 fData[i] = AddABool(i, hf);
176 fData[i] = AddAString(i, hf);
184 fWidth = max_width * 2;
193 fOKBut->
Resize(max_width, fHeight);
194 fOKBut->
Connect(
"Clicked()",
"KVNameValueListGUI",
this,
"ReadData()");
195 fOKBut->
Connect(
"Clicked()",
"KVNameValueListGUI",
this,
"DoClose()");
199 fCancelBut->
Resize(max_width, fHeight);
201 fCancelBut->
Connect(
"Clicked()",
"KVNameValueListGUI",
this,
"RestoreData()");
202 fCancelBut->
Connect(
"Clicked()",
"KVNameValueListGUI",
this,
"DoClose()");
262 Warning(
"EnableDependingOnBool",
"No boolean parameter with name \"%s\" in list", bool_parameter.
Data());
266 auto bool_widget =
dynamic_cast<TGCheckButton*
>(GetDataWidget(bool_parameter));
269 Warning(
"EnableDependingOnBool",
"No parameter with name \"%s\" in list", value_to_enable.
Data());
273 auto value_widget = GetDataWidget(value_to_enable);
275 bool_widget->Connect(
"Toggled(Bool_t)", value_widget->IsA()->GetName(), value_widget,
"SetState(Bool_t)");
277 bool_widget->Connect(
"Toggled(Bool_t)", value_widget->IsA()->GetName(), value_widget,
"SetEnabled(Bool_t)");
303 for (
auto&
p : bool_params) {
305 Warning(
"EnableDependingOnBool",
"No boolean parameter with name \"%s\" in list",
p.Data());
309 for (
auto& p1 : bool_params) {
310 for (
auto& p2 : bool_params) {
311 if (p1 == p2)
continue;
312 auto p1_widget = GetDataWidget(p1);
313 auto p2_widget = GetDataWidget(p2);
314 dynamic_cast<TGCheckButton*
>(p1_widget)->Connect(
"Pressed()",
"TGCheckButton", p2_widget,
"SetDown(=0)");
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char text
GUI for setting KVNameValueList parameters.
bool MutuallyExclusive(const std::vector< TString > &bool_params)
KVNameValueListGUI(const TGWindow *main, KVNameValueList *params, Bool_t *cancel_pressed, Bool_t wait_for_main=kTRUE)
Constructor.
bool EnableDependingOnBool(const TString &value_to_enable, const TString &bool_parameter)
virtual ~KVNameValueListGUI()
Destructor.
void RestoreData()
return all values to original state
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
KVNamedParameter * GetParameter(Int_t idx) const
return the parameter object with index idx
void Copy(TObject &nvl) const override
Double_t GetDoubleValue(const Char_t *name) const
const Char_t * GetNameAt(Int_t idx) const
Int_t GetNpar() const
return the number of stored parameters
Bool_t HasBoolParameter(const Char_t *name) const
Bool_t GetBoolValue(const Char_t *name) const
const Char_t * GetStringValue(const Char_t *name) const
Bool_t HasParameter(const Char_t *name) const
A generic named parameter storing values of different types.
void Set(const char *, const char *)
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
UInt_t GetDefaultWidth() const override
void MapSubwindows() override
UInt_t GetDefaultHeight() const override
void SetCleanup(Int_t mode=kLocalCleanup) override
virtual UInt_t GetDefaultWidth() const
virtual UInt_t GetDefaultHeight() const
virtual void Resize(TGDimension size)
void MapWindow() override
void SetWMSize(UInt_t w, UInt_t h)
void SetWindowName(const char *name=nullptr) override
void SetMWMHints(UInt_t value, UInt_t funcs, UInt_t input)
void SetWMSizeHints(UInt_t wmin, UInt_t hmin, UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc)
virtual void SetState(Bool_t enable=kTRUE)
UInt_t GetDefaultHeight() const override
virtual void CenterOnParent(Bool_t croot=kTRUE, EPlacement pos=kCenter)
const char * GetTitle() const override
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
const char * Data() const
static void SingleShot(Int_t milliSec, const char *receiver_class, void *receiver, const char *method)
int main(int argc, char **argv)
Double_t Max(Double_t a, Double_t b)