Пример #1
0
void RefactoringStorage::OnThreadStatus(wxCommandEvent& e)
{
    e.Skip();
    if ( e.GetInt() == 100 ) {
        
        // Release the worker thread
        JoinWorkerThread();
        
        // completed
        if ( e.GetString() == m_workspaceFile && m_cacheStatus == CACHE_IN_PROGRESS ) {
            // same file
            m_cacheStatus = CACHE_READY;
        }
    }
}
void
scanning_for_playlists_dlg::on_progress_changed(wxCommandEvent &evt) {
  update_gauge(evt.GetInt());

  uint64_t now = get_current_time_millis();

  if ((0 == m_progress) || (now < m_next_remaining_time_update))
    return;

  int64_t total_time     = (now - m_start_time) * m_max_progress / m_progress;
  int64_t remaining_time = total_time - now + m_start_time;
  m_st_remaining_time->SetLabel(wxU(create_minutes_seconds_time_string(static_cast<unsigned int>(remaining_time / 1000))));

  m_next_remaining_time_update = now + 500;
}
void lms7002_pnlCalibrations_view::ParameterChangeHandler(wxCommandEvent& event)
{
    assert(lmsControl != nullptr);
    LMS7Parameter parameter;
    try
    {
        parameter = wndId2Enum.at(reinterpret_cast<wxWindow*>(event.GetEventObject()));
    }
    catch (std::exception & e)
    {
        std::cout << "Control element(ID = " << event.GetId() << ") don't have assigned LMS parameter." << std::endl;
        return;
    }
    lmsControl->Modify_SPI_Reg_bits(parameter, event.GetInt());
}
void SpectralSelectionBar::OnUpdate(wxCommandEvent &evt)
{
   int index = evt.GetInt();
   wxWindow *w = FindFocus();
   bool centerFocus = (w && w == mCenterCtrl);
   bool widthFocus = (w && w == mWidthCtrl);
   bool lowFocus = (w && w == mLowCtrl);
   bool highFocus = (w && w == mHighCtrl);

   evt.Skip(false);

   // Save formats before recreating the controls so they resize properly
   wxEventType type = evt.GetEventType();
   if (type == EVT_FREQUENCYTEXTCTRL_UPDATED) {
      NumericTextCtrl *frequencyCtrl = (mbCenterAndWidth ? mCenterCtrl : mLowCtrl);
      wxString frequencyFormatName = frequencyCtrl->GetBuiltinName(index);
      mListener->SSBL_SetFrequencySelectionFormatName(frequencyFormatName);
   }
   else if (mbCenterAndWidth &&
            type == EVT_BANDWIDTHTEXTCTRL_UPDATED) {
      wxString bandwidthFormatName = mWidthCtrl->GetBuiltinName(index);
      mListener->SSBL_SetBandwidthSelectionFormatName(bandwidthFormatName);
   }

   // ToolBar::ReCreateButtons() will get rid of our sizers and controls
   // so reset pointers first.
   mCenterCtrl = mWidthCtrl = NULL;
   mLowCtrl = mHighCtrl = NULL;

   ToolBar::ReCreateButtons();
   ValuesToControls();


   if (centerFocus) {
      mCenterCtrl->SetFocus();
   }
   else if (widthFocus) {
      mWidthCtrl->SetFocus();
   }
   else if (lowFocus) {
      mLowCtrl->SetFocus();
   }
   else if (highFocus) {
      mHighCtrl->SetFocus();
   }

   Updated();
}
void t4p::VersionUpdateDialogClass::OnUpdateCheckComplete(wxCommandEvent& event) {
    Gauge->Show(false);
    wxString newVersion = event.GetString();
    int statusCode = event.GetInt();

    bool foundNew = 200 == statusCode && !newVersion.empty();
    if (foundNew) {
        Result->SetLabel(wxT("New version available: ") + newVersion);
    } else if (statusCode == 200) {
        Result->SetLabel(wxT("Your version is up-to-date"));
        NewVersion->SetLabel(CurrentVersion->GetLabel());
    } else {
        Result->SetLabel(wxString::Format(wxT("Connection error: (%d) %s"), statusCode, newVersion));
    }
    Timer.Stop();
}
// -------------------------------------------------------------------------------- //
void guTreeViewFilterEditor::OnFilterListBoxSelected( wxCommandEvent& event )
{
    m_CurrentItem = event.GetInt();
    if( m_CurrentItem != wxNOT_FOUND )
    {
        m_UpFilterButton->Enable( m_CurrentItem > 0 );
        m_DownFilterButton->Enable( m_CurrentItem < ( int ) ( m_FiltersListBox->GetCount() - 1 ) );
        m_DelFilterButton->Enable( true );
    }
    else
    {
        m_UpFilterButton->Enable( false );
        m_DownFilterButton->Enable( false );
        m_DelFilterButton->Enable( false );
    }
}
Пример #7
0
void CMakeHelpTab::OnSelect(wxCommandEvent& event)
{
    wxASSERT(!GetThread() || !GetThread()->IsRunning());
    wxASSERT(m_data);

    // Get selected name
    const wxString name = m_listBoxList->GetString(event.GetInt());

    // Find name in the data
    std::map<wxString, wxString>::const_iterator it = m_data->find(name);

    // Data found
    if(it != m_data->end()) {
        CreateHelpPage(it->second, name);
    }
}
Пример #8
0
void CDlgAddUser::OnChooseFromListboxDClick(wxCommandEvent& event)
{
    int sel = event.GetInt();

	CListItemClientData * pClientData = (CListItemClientData*)m_listboxChooseFrom->GetClientObject(sel);
	assert (pClientData != NULL);

	CUserInfoPointer userInfo = pClientData->userInfo();
	wxString sString = wxString::Format("%s(%s)", userInfo->getUserName().c_str(), userInfo->getAccount().c_str());

	m_listboxChooseTo->Insert(sString, m_listboxChooseTo->GetCount(), new CListItemClientData(userInfo));
	m_listboxChooseFrom->Delete(sel);

	m_addusers.insert(userInfo->getAccount(), userInfo);
	this->GetWindowChild(wxID_OK)->Enable();
}
Пример #9
0
void xLightsFrame::OnCheckListBoxTestChannelsToggled(wxCommandEvent& event)
{
    int ChCount = CheckListBoxTestChannels->GetCount();
    int row=event.GetInt();
    bool newval=CheckListBoxTestChannels->IsChecked(row);

    if (CheckListBoxTestChannels->IsSelected(row))
    {
        for (int i=0; i < ChCount; i++)
        {
            if (CheckListBoxTestChannels->IsSelected(i)) CheckListBoxTestChannels->Check(i,newval);
        }
    }

    CheckChannelList = true;
}
Пример #10
0
void tui::LayoutCanvas::OnZoom(wxCommandEvent& evt) {
   DBbox* box = NULL;
   switch (evt.GetInt()) {
   case ZOOM_WINDOW : box = static_cast<DBbox*>(evt.GetClientData());break;
   case ZOOM_WINDOWM: box = new DBbox(presspoint.x(),presspoint.y(),
                                            ScrMARK.x(),ScrMARK.y());break;
   case ZOOM_IN     : box = new DBbox((3*lp_BL.x() + lp_TR.x())/4, //in
                            (3*lp_BL.y() + lp_TR.y())/4,
                            (3*lp_TR.x() + lp_BL.x())/4, 
                            (3*lp_TR.y() + lp_BL.y())/4); break;
   case ZOOM_OUT    : box = new DBbox((5*lp_BL.x() - lp_TR.x())/4, //out
                            (5*lp_BL.y() - lp_TR.y())/4,
                            (5*lp_TR.x() - lp_BL.x())/4, 
                            (5*lp_TR.y() - lp_BL.y())/4); break;
   case ZOOM_LEFT   : box = new DBbox((  lp_TR.x() + lp_BL.x())/2, //left
                               lp_BL.y()               ,
                            (3*lp_BL.x() - lp_TR.x())/2, 
                               lp_TR.y()               ); break;
   case ZOOM_RIGHT  : box = new DBbox((3*lp_TR.x() - lp_BL.x())/2, // right
                               lp_BL.y()               ,
                            (  lp_TR.x() + lp_BL.x())/2, 
                               lp_TR.y()               ); break;
   case ZOOM_UP     : box = new DBbox(   lp_BL.x()               , // up
                            (3*lp_BL.y() - lp_TR.y())/2,
                               lp_TR.x()               ,
                            (  lp_TR.y() + lp_BL.y())/2); break;
   case ZOOM_DOWN   : box = new DBbox(   lp_BL.x()               , // down
                            (  lp_TR.y() + lp_BL.y())/2,
                               lp_TR.x()               ,
                            (3*lp_TR.y() - lp_BL.y())/2); break;
   case ZOOM_EMPTY  : box = new DBbox(-10,-10,90,90); break;
   default: assert(false);
   }
   int W, H;
   GetClientSize(&W,&H);
   double w = abs(box->p1().x() - box->p2().x());
   double h = abs(box->p1().y() - box->p2().y());
   double sc = (W/H < w/h) ? w/W : h/H;
   double tx = ((box->p1().x() + box->p2().x()) - W*sc) / 2;
   double ty = ((box->p1().y() + box->p2().y()) - H*sc) / 2;
   _LayCTM.setCTM( sc, 0.0, 0.0, sc, tx, ty);
   _LayCTM.FlipX((box->p1().y() + box->p2().y())/2);  // flip Y coord towards the center
   Properties->setScrCTM(_LayCTM.Reversed());
   invalid_window = true;
   delete box;
   Refresh();
}
Пример #11
0
// worker threads post to this callback
void dlgMain::OnWorkerSignal(wxCommandEvent& event)
{
    wxInt32 i;
    switch (event.GetId())
    {
        case 0: // server query timed out
        {
            i = FindServerInList(QServer[event.GetInt()].GetAddress());

            m_LstCtrlPlayers->DeleteAllItems();
            
            QServer[event.GetInt()].ResetData();
            
            if (launchercfg_s.show_blocked_servers == false)
                break;

            if (i == -1)
                m_LstCtrlServers->AddServerToList(QServer[event.GetInt()], event.GetInt());
            else
                m_LstCtrlServers->AddServerToList(QServer[event.GetInt()], i, false);
            
            break;                 
        }
        case 1: // server queried successfully
        {
            m_LstCtrlServers->AddServerToList(QServer[event.GetInt()], event.GetInt());
            
            TotalPlayers += QServer[event.GetInt()].Info.Players.size();
            
            break;      
        }
    }

    ++QueriedServers;
    
    GetStatusBar()->SetStatusText(wxString::Format(_T("Queried Server %d of %d"), 
                                                   QueriedServers, 
                                                   MServer.GetServerCount()), 
                                                   2);
                                                   
    GetStatusBar()->SetStatusText(wxString::Format(_T("Total Players: %d"), 
                                                   TotalPlayers), 
                                                   3);   
}
Пример #12
0
/**************************************************************
***
**   AspectColorPanel   ---   OnSelectedAspectChanged
***
***************************************************************/
void AspectColorPanel::OnSelectedAspectChanged( wxCommandEvent &event )
{
	ASSERT_VALID_ASPECT( selconfig );
	configs[selconfig].color = button_color->GetColour();
	configs[selconfig].width = spin_width->GetValue();
	configs[selconfig].style = choice_linestyle->GetSelection();

	selconfig = event.GetInt();
	assert( selconfig >= 0 && selconfig < MAX_ASPECT_TYPES );

	button_color->SetColour( configs[selconfig].color );
	spin_width->SetValue( configs[selconfig].width );
	choice_linestyle->SetSelection( configs[selconfig].style );
	preview_panel->Refresh();

	choice_aspect_type->SetSelection( selconfig );
}
Пример #13
0
void MapDialog::OnListBox(wxCommandEvent& evt)
{
	if (evt.GetInt() < 0)
		m_Filename = wxEmptyString;
	else
		m_Filename = evt.GetString();

	wxDynamicCast(FindWindow(ID_MapDialogFilename), wxTextCtrl)->ChangeValue(m_Filename);

	if (evt.GetEventType() == wxEVT_COMMAND_LISTBOX_DOUBLECLICKED)
	{
		if (m_Type == MAPDIALOG_OPEN)
			OpenFile();
		else
			SaveFile();
	}
}
Пример #14
0
void
PreferencesDialog::OnAfterLetter(wxCommandEvent & evt)
{
    const int selection = evt.GetInt();
    int style = m_frame->m_gridCtrl->GetGridStyle();
    if (selection == 0)
        style = RemoveFlag(style, MOVE_AFTER_LETTER | MOVE_TO_NEXT_BLANK);
    else if (selection == 1)
        style = AddFlag( RemoveFlag(style, MOVE_TO_NEXT_BLANK), MOVE_AFTER_LETTER);
    else
    {
        wxASSERT(selection == 2);
        style = AddFlag( RemoveFlag(style, MOVE_AFTER_LETTER), MOVE_TO_NEXT_BLANK);
    }
    m_frame->m_gridCtrl->SetGridStyle(style);
    evt.Skip();
}
Пример #15
0
/** Collapse / Expand event handler
  */
void wxFoldPanelEx::OnCaptionBarClicked(wxCommandEvent &event)
{
    wxFoldItemEx *f = NULL;
    wxWindowID id;

    id = event.GetId();
    f = (wxFoldItemEx *) FindWindow(id);

    if (event.GetInt() == 0)
    {
        Collapse(f, false);
    }
    else
    {
        Expand(f, false);
    }
}
Пример #16
0
void SettingWindow::OnOutputChanClick(wxCommandEvent &event)
{
  int i, j;

  AudioLoaded = true;
  j = 0;
  for (i = 0; i < OutputChannelList->GetCount() - 1; i++)
    if (OutputChannelList->IsChecked(i))
      j++;
  // pas plus de 2 channel de sortie
  if (j > 2)
    {
      OutputChannelList->Check(event.GetInt(), false);
      wxMessageDialog msg(this, _("No more than 2 output channels can be selected"), wxT("Wired"),
			  wxOK | wxICON_EXCLAMATION);
      msg.ShowModal();
    }
}
Пример #17
0
void ImportTilesDlg::OnCheckAppend(wxCommandEvent& event)
{
    wxTextCtrl* editWidth = XRCCTRL(*this, "edit_framewidth", wxTextCtrl);
    wxTextCtrl* editHeight = XRCCTRL(*this, "edit_frameheight", wxTextCtrl);

    if (event.GetInt())
    {
        editWidth->Disable();
        editWidth->SetValue(toString(_defaultWidth).c_str());
        editHeight->Disable();
        editHeight->SetValue(toString(_defaultHeight).c_str());
    }
    else
    {
        editWidth->Enable();
        editHeight->Enable();
    }
}
Пример #18
0
Void CEditorPropertySheet::OnCheckBoxLock(wxCommandEvent& event)
{
    switch (event.GetId())
    {
        case ID_CHECKBOX_ISLOCKED:
            {
               wxCheckBox *cb = (wxCheckBox*)event.GetEventObject();
                if (event.GetInt())
                    *_LockOnStart = TRUE;
                else
                    *_LockOnStart = FALSE;


                break;
            }
    }
    return;
}
Пример #19
0
void svSymbolTree::OnIncludeStatements(wxCommandEvent& e)
{
    fcFileOpener::List_t* includes = (fcFileOpener::List_t*)e.GetClientData();
    if ( includes ) {
        if( m_uid == e.GetInt() ) {
            wxWindowUpdateLocker locker(this);
            wxTreeItemId item = DoAddIncludeFiles(m_fileName, *includes);
            if( item.IsOk() ) {
//                if(ItemHasChildren(item)) {
//                    Expand(item);
//                }
                ScrollTo(item);
            }
        }
        includes->clear();
        delete includes;
    }
}
Пример #20
0
void
MainFrame::OnAnoubisOptionShow(wxCommandEvent& event)
{
	this->Show(event.GetInt());
	Module *module = MainUtils::instance()->getModule(ANOUBIS);
	int id = module->getToolbarId();

	/*
	 * Select the corresponding Modul Tab in the Toolbar
	 */
	tb_LeftToolbarModule->ToggleTool(MODANOUBIS_ID_TOOLBAR, true);

	wxCommandEvent selectEvent(wxEVT_COMMAND_MENU_SELECTED, id);
	selectEvent.SetInt(id);
	this->AddPendingEvent(selectEvent);

	event.Skip();
}
Пример #21
0
void ModelControl::OnCombo(wxCommandEvent &event)
{
	if (!init)
		return;

	int id = event.GetId();

	if (id == ID_MODEL_LOD) {
		int value = event.GetInt();

		MPQFile f(model->name);
		if (f.isEof() || (f.getSize() < sizeof(ModelHeader))) {
			wxLogMessage(wxT("ERROR - unable to open MPQFile: [%s]"), model->name.c_str());
			f.close();
			return;
		}

		model->showModel = false;
		model->setLOD(f, value);
		model->showModel = true;

		/*
		for (size_t i=0; i<model->geosets.size(); i++) {
			int id = model->geosets[i].id;
			model->showGeosets[i] = (id==0);
		}

		cc->RefreshModel();
		*/

		f.close();
	} else if (id == ID_MODEL_NAME) {
		/* Alfred 2009/07/16 fix crash, remember CurrentSelection before UpdateModel() */
		int CurrentSelection = modelname->GetCurrentSelection();
		if (CurrentSelection < (int)attachments.size()) {
			UpdateModel(attachments[CurrentSelection]);
			att = attachments[CurrentSelection];
			model = static_cast<Model*>(attachments[CurrentSelection]->model);
			
			animControl->UpdateModel(model);
			modelname->SetSelection(CurrentSelection);
		}
	}
}
void EasySplitMainFrame::OnLog(wxCommandEvent& event)
{
    if (event.GetInt())
    {
        // means: done
        if (m_pWorkerThread)
        {
            m_pWorkerThread->Wait();
            delete m_pWorkerThread;
            m_pWorkerThread = NULL;
        }

        EnableMyControls(true);
    }
    else
    {
        m_pTextCtrlLog->AppendText(event.GetString());
    }
}
Пример #23
0
void CMusikPlayer::OnFadeCompleteEvt( wxCommandEvent& event )
{
	long FadeType = event.GetExtraLong();
	bool bAbort = event.GetInt()!=0;
	//-------------------------------------------------//
	//--- finalize whatever type of fade was going	---//
	//--- on.										---//
	//-------------------------------------------------//
	if ( FadeType == CROSSFADE_STOP || FadeType == CROSSFADE_EXIT )
		FinalizeStop();
	else if ( FadeType == CROSSFADE_PAUSE )
		FinalizePause();
	else if ( FadeType == CROSSFADE_RESUME )
		FinalizeResume();

	m_Fading = false; 
	if(!bAbort)
		ClearOldStreams();
}
Пример #24
0
void
JobCtrl::onConnectionStateChange(wxCommandEvent &event)
{
	JobCtrl::ConnectionState state =
	    (JobCtrl::ConnectionState)event.GetInt();

	if (state == JobCtrl::ERR_RW || state == JobCtrl::ERR_VERSION_PROT ||
	    state == JobCtrl::ERR_NO_KEY || state == JobCtrl::ERR_KEYID) {
		/* Cleanup */
		ComThread *t;
		while ((t = findComThread()) != 0) {
			threadList_.DeleteObject(t);
			t->stop();
			delete t;
		}
	}

	event.Skip();
}
Пример #25
0
void CheckListComboPopup::OnListBox(wxCommandEvent& event)
{
    int item_id = event.GetInt();
    if (item_id == 0)
    {
        if (IsChecked(item_id))
        {
            CheckAll();
        }
        else
        {
            CheckAll(false);
        }
    }
    else
    {
        Check(0, false);
    }
}
Пример #26
0
void CMemoryWindow::OnDataTypeChanged(wxCommandEvent& ev)
{
	static constexpr std::array<MemoryDataType, 5> map{ {MemoryDataType::U8, MemoryDataType::U16,
																											MemoryDataType::U32, MemoryDataType::ASCII,
																											MemoryDataType::FloatingPoint} };
	if (ev.GetId() == IDM_DATA_TYPE_RBOX)
	{
		memview->SetDataType(map.at(ev.GetSelection()));
	}
	else
	{
		// Event from the CMemoryView indicating type was changed.
		auto itr = std::find(map.begin(), map.end(), static_cast<MemoryDataType>(ev.GetInt()));
		int idx = -1;
		if (itr != map.end())
			idx = static_cast<int>(itr - map.begin());
		m_rbox_data_type->SetSelection(idx);
	}
}
Пример #27
0
void
mux_dialog::on_process_terminated(wxCommandEvent &evt) {
  m_read_input_timer.Stop();

  m_exit_code = evt.GetInt();

  wxString format;
  if ((0 != m_exit_code) && (1 != m_exit_code))
    format = Z("mkvmerge FAILED with a return code of %d. %s");
  else
    format = Z("mkvmerge finished with a return code of %d. %s");

#if defined(SYS_WINDOWS)
  wxString status_1 = Z("There were warnings, or the process was terminated.");
#else
  wxString status_1 = Z("There were warnings");
#endif

  auto status_str = 0 == m_exit_code ? wxString(Z("Everything went fine."))
                  : 1 == m_exit_code ? status_1
                  : 2 == m_exit_code ? wxString(Z("There were ERRORs."))
                  :                    wxString(wxT(""));

  update_label(wxString::Format(format, m_exit_code, status_str.c_str()));

  SetTitle(Z("mkvmerge has finished"));
  st_remaining_time_label->SetLabel(wxEmptyString);
  st_remaining_time->SetLabel(wxEmptyString);

  b_ok->Enable(true);
  b_ok->SetFocus();

#if defined(SYS_WINDOWS)
  change_abort_button();
  if (m_taskbar_progress)
    m_taskbar_progress->set_state(0 != m_exit_code ? TBPF_ERROR : TBPF_NOPROGRESS);
#else  // SYS_WINDOWS
  b_abort->Enable(false);
#endif  // SYS_WINDOWS

  delete m_process;
  m_process = nullptr;
}
Пример #28
0
void DialogsProvider::OnOpenFileSimple( wxCommandEvent& event )
{
    playlist_t *p_playlist =
        (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
                                       FIND_ANYWHERE );
    if( p_playlist == NULL )
    {
        return;
    }

    if( p_file_dialog == NULL )
        p_file_dialog = new wxFileDialog( NULL, wxU(_("Open File")),
            wxT(""), wxT(""), wxT("*"), wxOPEN | wxMULTIPLE );

	p_file_dialog->SetWildcard(wxU(_("All Files (*.*)|*"
        "|Sound Files (*.mp3, *.ogg, etc.)|" EXTENSIONS_AUDIO 
        "|Video Files (*.avi, *.mpg, etc.)|" EXTENSIONS_VIDEO 
        "|Playlist Files (*.m3u, *.pls, etc.)|" EXTENSIONS_PLAYLIST 
        "|Subtitle Files (*.srt, *.sub, etc.)|" EXTENSIONS_SUBTITLE)));

    if( p_file_dialog && p_file_dialog->ShowModal() == wxID_OK )
    {
        wxArrayString paths;

        p_file_dialog->GetPaths( paths );

        for( size_t i = 0; i < paths.GetCount(); i++ )
        {
            char *psz_utf8 = wxFromLocale( paths[i] );
            if( event.GetInt() )
                playlist_Add( p_playlist, psz_utf8, psz_utf8,
                              PLAYLIST_APPEND | (i ? 0 : PLAYLIST_GO) |
                              (i ? PLAYLIST_PREPARSE : 0 ),
                              PLAYLIST_END );
            else
                playlist_Add( p_playlist, psz_utf8, psz_utf8,
                              PLAYLIST_APPEND | PLAYLIST_PREPARSE , PLAYLIST_END );
            wxLocaleFree( psz_utf8 );
        }
    }

    vlc_object_release( p_playlist );
}
Пример #29
0
// 点选择listbox响应的事件函数
void CRegionEditDlgSector::OnPointListBox(wxCommandEvent &event)
{
	if (event.GetInt() == -1)
    {
       // "ListBox has no selections anymore
        return;
    }

	if(m_bIsEditingRegion)
	{
		return;
	}

    if(event.GetId() == ID_LISTBOX_POINT)
	{
		DoSelPoint();
	}

}
Пример #30
0
void lms7002_pnlSX_view::ParameterChangeHandler(wxCommandEvent& event)
{
    assert(lmsControl != nullptr);
    LMS7Parameter parameter;
    try
    {
        parameter = wndId2Enum.at(reinterpret_cast<wxWindow*>(event.GetEventObject()));
    }
    catch (std::exception & e)
    {
        std::cout << "Control element(ID = " << event.GetId() << ") don't have assigned LMS parameter." << std::endl;
        return;
    }
    lmsControl->Modify_SPI_Reg_bits(parameter, event.GetInt());

    if (parameter == CSW_VCO) //for convenience refresh comparator values
    {
        wxCommandEvent evt;
        OnbtnReadComparators(evt);
    }
}