Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

EventDisplay/GfxCfg.cxx

Go to the documentation of this file.
00001 #include "GfxCfg.h"
00002 
00003 #include <Midad/Gui/GuiMainWindow.h>
00004 #include <Midad/Gui/GuiButton.h>
00005 #include <Midad/Gui/GuiBox.h>
00006 
00007 #include <Midad/Base/RegistryGui.h>
00008 
00009 GfxCfg::GfxCfg() 
00010 {
00011 }
00012 
00013 GfxCfg::~GfxCfg()
00014 {
00015 }
00016 
00017 void GfxCfg::Config(void) 
00018 {
00019 //    cerr << "GfxCfg::Config()\n";
00020     this->modified_signal.emit();
00021 }
00022 
00023 
00024 const Registry& GfxCfg::GetPossibles()
00025 {
00026     return fPossibles;
00027 }
00028     
00029 void GfxCfg::SetPossibles(const Registry& reg)
00030 {
00031     fPossibles = reg;
00032 }
00033 
00034 static void apply_reg_gui(GfxCfg* cfg, RegistryGui* rg)
00035 {
00036 //    cerr << "apply_reg_gui\n";
00037     cfg->GetConfig() = rg->GetRegistry();
00038     cfg->Update();
00039 }
00040 
00041 void GfxCfg::GuiConfig()
00042 {
00043     GuiMainWindow* mw = new GuiMainWindow(100,300);
00044 
00045     RegistryGui* rg = manage(new RegistryGui(*mw));
00046     mw->Add(*rg);
00047 
00048     GuiBox* box = manage(new GuiBox(*mw,kHorizontalFrame));
00049     box->SetLayoutHints(kLHintsExpandX);
00050     mw->Add(*box);
00051 
00052     GuiTextButton* apply = manage(new GuiTextButton(*box,"Apply"));
00053     box->Add(*apply);
00054     apply->clicked.connect(bind(slot(apply_reg_gui),this,rg));
00055 
00056     GuiTextButton* okay = manage(new GuiTextButton(*box,"Okay"));
00057     box->Add(*okay);
00058     okay->clicked.connect(bind(slot(apply_reg_gui),this,rg));
00059     okay->clicked.connect(slot(*mw,&GuiMainWindow::SendCloseMessage));
00060 
00061     GuiTextButton* cancel = manage(new GuiTextButton(*box,"Cancel"));
00062     box->Add(*cancel);
00063     cancel->clicked.connect(slot(*mw,&GuiMainWindow::SendCloseMessage));
00064 
00065     rg->SetRegistry(this->GetConfig());
00066     rg->SetPossibles(this->GetPossibles());
00067 
00068     mw->ShowAll();
00069     mw->ConnectClose(true);
00070     mw->Resize(mw->GetDefaultWidth(),mw->GetDefaultHeight());
00071     
00072 }
00073 

Generated on Mon Feb 15 11:06:46 2010 for loon by  doxygen 1.3.9.1