// setup gui elements and signal/slot connections void QmitkGibbsTrackingView::CreateQtPartControl( QWidget *parent ) { // build up qt view, unless already done if ( !m_Controls ) { // create GUI widgets from the Qt Designer's .ui file m_Controls = new Ui::QmitkGibbsTrackingViewControls; m_Controls->setupUi( parent ); AdvancedSettings(); connect( m_TrackingTimer, SIGNAL(timeout()), this, SLOT(TimerUpdate()) ); connect( m_Controls->m_TrackingStop, SIGNAL(clicked()), this, SLOT(StopGibbsTracking()) ); connect( m_Controls->m_TrackingStart, SIGNAL(clicked()), this, SLOT(StartGibbsTracking()) ); connect( m_Controls->m_AdvancedSettingsCheckbox, SIGNAL(clicked()), this, SLOT(AdvancedSettings()) ); connect( m_Controls->m_SaveTrackingParameters, SIGNAL(clicked()), this, SLOT(SaveTrackingParameters()) ); connect( m_Controls->m_LoadTrackingParameters, SIGNAL(clicked()), this, SLOT(LoadTrackingParameters()) ); connect( m_Controls->m_IterationsSlider, SIGNAL(valueChanged(int)), this, SLOT(SetIterations(int)) ); connect( m_Controls->m_ParticleWidthSlider, SIGNAL(valueChanged(int)), this, SLOT(SetParticleWidth(int)) ); connect( m_Controls->m_ParticleLengthSlider, SIGNAL(valueChanged(int)), this, SLOT(SetParticleLength(int)) ); connect( m_Controls->m_InExBalanceSlider, SIGNAL(valueChanged(int)), this, SLOT(SetInExBalance(int)) ); connect( m_Controls->m_FiberLengthSlider, SIGNAL(valueChanged(int)), this, SLOT(SetFiberLength(int)) ); connect( m_Controls->m_ParticleWeightSlider, SIGNAL(valueChanged(int)), this, SLOT(SetParticleWeight(int)) ); connect( m_Controls->m_StartTempSlider, SIGNAL(valueChanged(int)), this, SLOT(SetStartTemp(int)) ); connect( m_Controls->m_EndTempSlider, SIGNAL(valueChanged(int)), this, SLOT(SetEndTemp(int)) ); connect( m_Controls->m_CurvatureThresholdSlider, SIGNAL(valueChanged(int)), this, SLOT(SetCurvatureThreshold(int)) ); connect( m_Controls->m_RandomSeedSlider, SIGNAL(valueChanged(int)), this, SLOT(SetRandomSeed(int)) ); connect( m_Controls->m_OutputFileButton, SIGNAL(clicked()), this, SLOT(SetOutputFile()) ); }
void ConfigParser::ProcessConfiguration(HANDLE hmod) { #if defined(ENABLE_DEBUG_CONFIG_OPTIONS) bool hasOutput = false; char16 modulename[_MAX_PATH]; GetModuleFileName((HMODULE)hmod, modulename, _MAX_PATH); // Win32 specific console creation code // xplat-todo: Consider having this mechanism available on other // platforms // Not a pressing need since ChakraCore runs only in consoles by // default so we don't need to allocate a second console for this #if CONFIG_CONSOLE_AVAILABLE if (Js::Configuration::Global.flags.Console) { int fd; FILE *fp; // fail usually means there is an existing console. We don't really care. AllocConsole(); fd = _open_osfhandle((intptr_t)GetStdHandle(STD_OUTPUT_HANDLE), O_TEXT); fp = _wfdopen(fd, _u("w")); if (fp != nullptr) { *stdout = *fp; setvbuf(stdout, nullptr, _IONBF, 0); fd = _open_osfhandle((intptr_t)GetStdHandle(STD_ERROR_HANDLE), O_TEXT); fp = _wfdopen(fd, _u("w")); if (fp != nullptr) { *stderr = *fp; setvbuf(stderr, nullptr, _IONBF, 0); char16 buffer[_MAX_PATH + 70]; if (ConfigParserAPI::FillConsoleTitle(buffer, _MAX_PATH + 20, modulename)) { SetConsoleTitle(buffer); } hasOutput = true; } } } #endif if (Js::Configuration::Global.flags.IsEnabled(Js::OutputFileFlag) && Js::Configuration::Global.flags.OutputFile != nullptr) { SetOutputFile(Js::Configuration::Global.flags.OutputFile, Js::Configuration::Global.flags.OutputFileOpenMode); hasOutput = true; } if (Js::Configuration::Global.flags.DebugWindow) { Output::UseDebuggerWindow(); hasOutput = true; } #ifdef ENABLE_TRACE if (CONFIG_FLAG(InMemoryTrace)) { Output::SetInMemoryLogger( Js::MemoryLogger::Create(::GetOutputAllocator1(), CONFIG_FLAG(InMemoryTraceBufferSize) * 3)); // With stack each trace is 3 entries (header, msg, stack). hasOutput = true; } #ifdef STACK_BACK_TRACE if (CONFIG_FLAG(TraceWithStack)) { Output::SetStackTraceHelper(Js::StackTraceHelper::Create(::GetOutputAllocator2())); } #endif // STACK_BACK_TRACE #endif // ENABLE_TRACE if (hasOutput) { ConfigParserAPI::DisplayInitialOutput(modulename); Output::Print(_u("\n")); Js::Configuration::Global.flags.VerboseDump(); Output::Flush(); } if (Js::Configuration::Global.flags.ForceSerialized) { // Can't generate or execute byte code under forced serialize Js::Configuration::Global.flags.GenerateByteCodeBufferReturnsCantGenerate = true; Js::Configuration::Global.flags.ExecuteByteCodeBufferReturnsInvalidByteCode = true; } ForcedMemoryConstraint::Apply(); #endif #ifdef MEMSPECT_TRACKING bool all = false; if (Js::Configuration::Global.flags.Memspect.IsEnabled(Js::AllPhase)) { all = true; } if (all || Js::Configuration::Global.flags.Memspect.IsEnabled(Js::RecyclerPhase)) { RecyclerMemoryTracking::Activate(); } if (all || Js::Configuration::Global.flags.Memspect.IsEnabled(Js::PageAllocatorPhase)) { PageTracking::Activate(); } if (all || Js::Configuration::Global.flags.Memspect.IsEnabled(Js::ArenaPhase)) { ArenaMemoryTracking::Activate(); } #endif }