From 7a78f23b4a03d36dc6db56a7e269f5c181c2a6fb Mon Sep 17 00:00:00 2001 From: Howaner Date: Sat, 5 Jul 2014 14:00:04 +0200 Subject: Add middle click. --- src/UI/SlotArea.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/UI/SlotArea.h') diff --git a/src/UI/SlotArea.h b/src/UI/SlotArea.h index b4b693cf6..b72450a58 100644 --- a/src/UI/SlotArea.h +++ b/src/UI/SlotArea.h @@ -46,10 +46,13 @@ public: /// Called from Clicked when the action is a shiftclick (left or right) virtual void ShiftClicked(cPlayer & a_Player, int a_SlotNum, const cItem & a_ClickedItem); - + /// Called from Clicked when the action is a caDblClick virtual void DblClicked(cPlayer & a_Player, int a_SlotNum); - + + /** Called from Clicked when the action is a middleclick */ + virtual void MiddleClicked(cPlayer & a_Player, int a_SlotNum); + /// Called when a new player opens the same parent window. The window already tracks the player. CS-locked. virtual void OnPlayerAdded(cPlayer & a_Player); -- cgit v1.2.3 From 9d7a59012c428e0207583f35c79938bcdab625b5 Mon Sep 17 00:00:00 2001 From: Howaner Date: Sun, 6 Jul 2014 00:40:59 +0200 Subject: Added drop window action. --- src/UI/SlotArea.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/UI/SlotArea.h') diff --git a/src/UI/SlotArea.h b/src/UI/SlotArea.h index b72450a58..03f538956 100644 --- a/src/UI/SlotArea.h +++ b/src/UI/SlotArea.h @@ -53,6 +53,9 @@ public: /** Called from Clicked when the action is a middleclick */ virtual void MiddleClicked(cPlayer & a_Player, int a_SlotNum); + /** Called from Clicked when the action is a drop click. */ + virtual void DropClicked(cPlayer & a_Player, int a_SlotNum, bool a_DropStack); + /// Called when a new player opens the same parent window. The window already tracks the player. CS-locked. virtual void OnPlayerAdded(cPlayer & a_Player); @@ -251,6 +254,9 @@ protected: /// Handles a shift-click in the result slot. Crafts using the current recipe until it changes or no more space for result. void ShiftClickedResult(cPlayer & a_Player); + + /** Handles a drop-click in the result slot. */ + void DropClickedResult(cPlayer & a_Player); /// Updates the current recipe and result slot based on the ingredients currently in the crafting grid of the specified player void UpdateRecipe(cPlayer & a_Player); -- cgit v1.2.3 From 562d14e8ecd058b029a248ab42ff60e36f7e2e62 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 6 Jul 2014 14:42:28 +0200 Subject: Fixed crafting grid updating. Fixes #1152. --- src/UI/SlotArea.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/UI/SlotArea.h') diff --git a/src/UI/SlotArea.h b/src/UI/SlotArea.h index b4b693cf6..e271ea454 100644 --- a/src/UI/SlotArea.h +++ b/src/UI/SlotArea.h @@ -232,6 +232,7 @@ public: virtual void Clicked (cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; virtual void DblClicked (cPlayer & a_Player, int a_SlotNum); virtual void OnPlayerRemoved(cPlayer & a_Player) override; + virtual void SetSlot (int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; // Distributing items into this area is completely disabled virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots) override; -- cgit v1.2.3 From 3615bf825b53d3e192ad7fe6d047bd713bc00394 Mon Sep 17 00:00:00 2001 From: Howaner Date: Wed, 9 Jul 2014 14:30:06 +0200 Subject: Added inventory number click. --- src/UI/SlotArea.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/UI/SlotArea.h') diff --git a/src/UI/SlotArea.h b/src/UI/SlotArea.h index 03f538956..c40d65e0e 100644 --- a/src/UI/SlotArea.h +++ b/src/UI/SlotArea.h @@ -56,6 +56,9 @@ public: /** Called from Clicked when the action is a drop click. */ virtual void DropClicked(cPlayer & a_Player, int a_SlotNum, bool a_DropStack); + /** Called from Clicked when the action is a number click. */ + virtual void NumberClicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction); + /// Called when a new player opens the same parent window. The window already tracks the player. CS-locked. virtual void OnPlayerAdded(cPlayer & a_Player); @@ -242,6 +245,7 @@ public: // Distributing items into this area is completely disabled virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots) override; + protected: /// Maps player's EntityID -> current recipe; not a std::map because cCraftingGrid needs proper constructor params typedef std::list > cRecipeMap; @@ -257,7 +261,7 @@ protected: /** Handles a drop-click in the result slot. */ void DropClickedResult(cPlayer & a_Player); - + /// Updates the current recipe and result slot based on the ingredients currently in the crafting grid of the specified player void UpdateRecipe(cPlayer & a_Player); -- cgit v1.2.3