void ScrollableSelectorWidget::MouseWheel(int delta) {
	if (delta < 0) {
		ScrollLineDown();
	} else {
		ScrollLineUp();
	}
}
Esempio n. 2
0
LRESULT CHexView::OnKeyDown (UINT uMsg, WPARAM wParam, 
	LPARAM lParam, BOOL &bHandled)
{

	//
	// If up key
	//

	if (wParam == VK_UP)
	{
		ScrollLineUp ();
	}
	else if (wParam == VK_DOWN)
	{
		ScrollLineDown ();
	}
	else if (wParam == VK_LEFT)
	{
		ScrollLineLeft ();
	}
	else if (wParam == VK_RIGHT)
	{
		ScrollLineRight ();
	}
	else if (wParam == VK_PRIOR)
	{
		ScrollPageUp ();
	}
	else if (wParam == VK_NEXT)
	{
		ScrollPageDown ();
	}
	else if (wParam == VK_HOME)
	{
		ScrollTop ();
	}
	else if (wParam == VK_END)
	{
		ScrollBottom ();
	}
	bHandled = FALSE;
	return 0;
}
void ScrollableSelectorWidget::AcceptMessage(const Message& message) {
	if (message.is("ScrollUp")) {
		ScrollLineUp();
	} else if (message.is("ScrollDown")) {
		ScrollLineDown();
	} else if (message.is("UpdateButtons")) {
		UpdateScrollButtons();
	} else if (message.is("Add")) {
		_itemsList.push_back(message.getData());
		UpdateScrollButtons();
	} else if (message.is("Set")) {
		Assert(false);
        /*if (!activeTextListItemController)
		{
			activeTextListItemController = new ActiveSelectorItemController;
			Core::controllerKernel.addController(activeTextListItemController);
		}*/
		SetActive(message.getData());
		UpdateScrollButtons();
	} else if (message.is("Clear")) {
		_itemsList.clear();
		_startString = 0;
		_choosedString = 0;
	} else if (message.is("DeleteFromIndex")) {
		ItemsList::iterator i = _itemsList.begin();
		std::advance(i, message.getIntegerParam());
		ItemsList::iterator set = _itemsList.erase(i);
		if (set!=_itemsList.end())
		{
			SetActive(*set);
		}
		if (set==_itemsList.end() && !_itemsList.empty())
		{
			SetActive(_itemsList.back());
		}
	} else if (message.is("Delete")) {
		ItemsList::iterator i = std::find(_itemsList.begin(), _itemsList.end(), message.getData());
		if (i!=_itemsList.end())
		{
			ItemsList::iterator set = _itemsList.erase(i);
			if (set!=_itemsList.end())
			{
				SetActive(*set);
			}
			if (set==_itemsList.end() && !_itemsList.empty())
			{
				SetActive(_itemsList.back());
			}

		}
		UpdateScrollButtons();
	} /*else if (message.is("KeyPress")) {
		int key = utils::lexical_cast <int> (message.getData());
		if (key == -VK_UP) {
			ScrollLineUp();
		} else if (key == -VK_DOWN) {
			ScrollLineDown();
		} else if (key == -VK_PRIOR) {
			ScrollPageUp();
		} else if (key == -VK_NEXT) {
			ScrollPageDown();
		}
	}*/
}
void ScrollableSelectorWidget::ScrollPageDown() {
	for (int i = 0; i < _numStrings - 1; ++i) {
		ScrollLineDown();
	}
}