Beispiel #1
0
// -------------------------------------------------------------------------------- //
void guAlListBox::OnSearchLinkClicked( wxCommandEvent &event )
{
    unsigned long cookie;
    int Item = GetFirstSelected( cookie );
    if( Item != wxNOT_FOUND )
    {
        ExecuteOnlineLink( event.GetId(), GetSearchText( Item ) );
    }
}
void ConnectionPanel::OnEnterKey(wxKeyEvent& evt)
{
    if (evt.GetEventObject() == FindWindow(ID_TEXT_KEY))
    {
        FindKeys(GetSearchText());
    }
    else if (evt.GetEventObject() == FindWindow(ID_TEXT_COMMAND))
    {
        ExecuteCommand(GetCommandText());
    }
}
void ConnectionPanel::SelectDb()
{
    SelectDbdialog dlg(this, wxT("Select Database"), m_currentDb);
    if (dlg.ShowModal() == wxID_OK && m_connection != NULL && m_connection->IsConnected())
    {
        uint selectedDb = dlg.GetDb();
        if (m_connection->SelectDb(selectedDb))
        {
            m_currentDb = selectedDb;
            FindKeys(GetSearchText());
        }
    }
}
bool CSearchManagerWorker::CheckItemForSearch(HTREEITEM hItem, bool bShouldIgnoreDLLsAndSuites)
{
	CString sText = GetTreeCtrl()->GetItemText(hItem);

	sText.MakeLower();

	if(bShouldIgnoreDLLsAndSuites && (sText.Left(4).CompareNoCase(_T("DLL ")) == 0 || sText.Left(6).CompareNoCase(_T("suite ")) == 0))
		return false;

	if(sText.Find(GetSearchText()) != -1)
	{
		GetTreeCtrl()->CheckItem(hItem, true);
		GetTreeCtrl()->CheckAllSubItems(hItem,true);
		GetTreeCtrl()->SelectItem(hItem);
		return true;
	}
	else
		return false;
}
void ConnectionPanel::OnFind(wxCommandEvent& evt)
{
    FindKeys(GetSearchText());
}
bool CSearchManagerWorker::SearchForTestDLL(CTestTree* pTree, 
											CString& sSearchText,
											bool bSearchFromCurrentPosition, 
											bool bSelectOnlyFirstResult, 
											bool bUncheckCurrentSelection)
{
	SetTreeCtrl(pTree);
	SetSearchText(sSearchText);
	SetSearchFromCurrentPosition(bSearchFromCurrentPosition);
	SetSelectOnlyFirstResult(bSelectOnlyFirstResult);
	SetUncheckCurrentSelection(bUncheckCurrentSelection);

	bool bFound = false;
	HTREEITEM hRoot = GetTreeCtrl()->GetRootItem();
	HTREEITEM hCurrentDLLItem = NULL;

	if(IsUncheckingCurrentSelection())
		GetTreeCtrl()->SelectAll(false);

	if(IsSearchingFromCurrentPosition())
	{
		hCurrentDLLItem = GetTreeCtrl()->GetSelectedItem();

		if(hCurrentDLLItem == NULL)
		{
			if(m_bMessageBox)
				MessageBox(GetTreeCtrl()->GetParent()->m_hWnd, _T("No item selected!"), _T("Error Finding Item"), MB_OK);

			return false;
		}

		if(GetTreeCtrl()->GetParentItem(hCurrentDLLItem) != hRoot)
		{
			while(GetTreeCtrl()->GetParentItem(hCurrentDLLItem) != hRoot)
			{
				hCurrentDLLItem = GetTreeCtrl()->GetParentItem(hCurrentDLLItem);
			}
		}
		
        hCurrentDLLItem = GetTreeCtrl()->GetNextSiblingItem(hCurrentDLLItem);
	}
	else
	{
		hCurrentDLLItem = GetTreeCtrl()->GetChildItem(hRoot);
	}

	GetSearchText().MakeLower();
	bool bFoundInternal=false;
	
	while(hCurrentDLLItem)
	{
		bFoundInternal = CheckItemForSearch(hCurrentDLLItem, false);
	
		if(bFoundInternal)
		{
			bFound = true;

			if(IsSelectingOnlyFirstResult())
				break;
		}

		hCurrentDLLItem = GetTreeCtrl()->GetNextSiblingItem(hCurrentDLLItem);
	}

	if(bFound)
	{
		GetTreeCtrl()->SelectItem(hCurrentDLLItem);
		GetTreeCtrl()->UpdateWindow();
		GetTreeCtrl()->SetFocus();
	}

	return bFound;
}