コード例 #1
0
bool DropDownList::showSubMenu() {
    if (selected_item == NO_SELECTION) {
        hideSubMenu();
        return false;
    } else {
        // find position to show item at
        return showSubMenu(selected_item, itemPosition(selected_item));
    }
}
コード例 #2
0
void DropDownList::ensureSelectedItemVisible() {
    if (selected_item == NO_SELECTION) return;
    // ensure that this item is visible
    int item_top = itemPosition(selected_item);
    wxSize cs = GetClientSize();
    if (item_top < marginH) {
        scrollTo(item_top + visible_start);
    } else if (item_top + item_size.height - 1 > cs.y - marginH) {
        scrollTo(item_top + visible_start + item_size.height - 1 - (cs.y - marginH));
    }
}
コード例 #3
0
	Actionbar::Actionbar(int slotsCount, int x, int y, int width, int margin)
		: slotCount_(slotsCount),
		position_(b2Vec2(x, y))
	{
		int slotDim = width / slotsCount,
			padding = std::ceil((1.0 / 8.0) * slotDim),
			totalSpace = slotsCount * slotDim + (slotsCount - 1) * margin,
			singleHolderSpace = slotDim + margin;

		size_ = b2Vec2(slotDim, slotDim);

		for (size_t i = 0; i < slotsCount; i++)
		{
			b2Vec2 slotPosition(x + i * singleHolderSpace, y);
			b2Vec2 itemPosition(slotPosition.x + padding + 1, slotPosition.y + padding - 1);

			auto slot = new Entities::Entity();
			slot->setPosition(slotPosition);

			auto renderComp = new GameEngine::RenderComponent(
				Globals::MODELS_LOCATION + "Common/ItemHolder__001.png",
				b2Vec2(slotDim, slotDim),
				slot,
				true);

			auto slotPair = new std::pair<
				Entities::Entity*,
				GameEngine::RenderComponent*>(
				slot,
				renderComp);

			auto itemSlot = new Utils::ItemSlot(b2Vec2(slotDim - 2 * padding, slotDim - 2 * padding), itemPosition);

			items_.push_back(itemSlot);
			slots_.push_back(slotPair);
		}
	}