Add options for hiding placeholders and seperators in tag tabs
This commit is contained in:
@@ -53,6 +53,28 @@ public interface BankTagsConfig extends Config
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "removeSeparators",
|
||||
name = "Remove tab separators in Tag Tabs",
|
||||
description = "Removes tab separators and corrects item layouts in Tag Tabs to mimic a regular tab",
|
||||
position = 3
|
||||
)
|
||||
default boolean removeSeparators()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "hidePlaceholders",
|
||||
name = "Hide placeholders",
|
||||
description = "Hide placeholders in tag tabs or tag search.",
|
||||
position = 4
|
||||
)
|
||||
default boolean hidePlaceholders()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "position",
|
||||
name = "",
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
* Copyright (c) 2018, Adam <Adam@sigterm.info>
|
||||
* Copyright (c) 2018, Ron Young <https://github.com/raiyni>
|
||||
* Copyright (c) 2018, Tomas Slusny <slusnucky@gmail.com>
|
||||
* Copyright (c) 2018, Lucas <https://github.com/Lucwousin>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -130,6 +131,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
|
||||
private SpriteManager spriteManager;
|
||||
|
||||
private boolean shiftPressed = false;
|
||||
private int nextRowIndex = 0;
|
||||
|
||||
@Provides
|
||||
BankTagsConfig getConfig(ConfigManager configManager)
|
||||
@@ -157,6 +159,13 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
|
||||
shiftPressed = false;
|
||||
}
|
||||
|
||||
private boolean isSearching()
|
||||
{
|
||||
return client.getVar(VarClientInt.INPUT_TYPE) == InputType.SEARCH.getType()
|
||||
|| (client.getVar(VarClientInt.INPUT_TYPE) <= 0
|
||||
&& client.getVar(VarClientStr.INPUT_TEXT) != null && client.getVar(VarClientStr.INPUT_TEXT).length() > 0);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onScriptCallbackEvent(ScriptCallbackEvent event)
|
||||
{
|
||||
@@ -195,8 +204,19 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
|
||||
|
||||
if (tagManager.findTag(itemId, search))
|
||||
{
|
||||
// return true
|
||||
intStack[intStackSize - 2] = 1;
|
||||
if (!config.hidePlaceholders())
|
||||
{
|
||||
// return true
|
||||
intStack[intStackSize - 2] = 1;
|
||||
}
|
||||
|
||||
// not a placeholder
|
||||
else if (itemManager.getItemComposition(itemId).getPlaceholderTemplateId() == -1)
|
||||
{
|
||||
// return true
|
||||
intStack[intStackSize - 2] = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
else if (!tagSearch)
|
||||
{
|
||||
@@ -207,6 +227,61 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
|
||||
intStack[intStackSize - 1] = tabInterface.isActive() ? 1 : 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!config.removeSeparators() || !isSearching() || !tabInterface.isActive())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
switch (eventName)
|
||||
{
|
||||
case "lineSpace":
|
||||
// prevent Y value being incremented to account for line separators
|
||||
intStack[intStackSize - 1] = 0;
|
||||
break;
|
||||
case "tabTextSpace":
|
||||
// prevent Y value being incremented to account for "Tab x" text
|
||||
intStack[intStackSize - 1] = 0;
|
||||
break;
|
||||
case "hideLine":
|
||||
// hide the widget for the line separator
|
||||
intStack[intStackSize - 1] = 1;
|
||||
break;
|
||||
case "hideTabText":
|
||||
// hide the widget for the "Tab x" text
|
||||
intStack[intStackSize - 1] = 1;
|
||||
break;
|
||||
case "rowIndex":
|
||||
// remember the next index in the row so we can start the next tab's items there
|
||||
nextRowIndex = intStack[intStackSize - 1];
|
||||
break;
|
||||
case "rowIndexInit":
|
||||
// set the index to our remembered value instead of 0
|
||||
intStack[intStackSize - 1] = nextRowIndex;
|
||||
break;
|
||||
case "bankLayoutInit":
|
||||
// reset the row index if the bank is rebuilt
|
||||
nextRowIndex = 0;
|
||||
break;
|
||||
case "newBankRow":
|
||||
// if we haven't filled a row when the current tab is finished building,
|
||||
// adjust the y offset to continue the next tab on the same row
|
||||
if (nextRowIndex != 0)
|
||||
{
|
||||
intStack[intStackSize - 2] = intStack[intStackSize - 2] - 32;
|
||||
}
|
||||
// if we have filled the row, adjust the y offset to maintain appropriate row spacing
|
||||
else
|
||||
{
|
||||
intStack[intStackSize - 2] = intStack[intStackSize - 2] + 4;
|
||||
}
|
||||
break;
|
||||
case "addLastRow":
|
||||
// after all tabs are finished building, add an extra row of space
|
||||
// this ensures the scrollbar is set to the correct height
|
||||
intStack[intStackSize - 1] = intStack[intStackSize - 1] + 32;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
|
||||
@@ -642,6 +642,15 @@ public class TabInterface
|
||||
Widget draggedOn = client.getDraggedOnWidget();
|
||||
Widget draggedWidget = client.getDraggedWidget();
|
||||
|
||||
// round-about way to prevent drag reordering when in a tag tab, now that it looks like a normal tab
|
||||
// returning early from drag release and nulling out the drag release listener have no effect,
|
||||
// probably a better way to do this though
|
||||
if (draggedWidget.getId() == WidgetInfo.BANK_ITEM_CONTAINER.getId() && isActive()
|
||||
&& config.removeSeparators())
|
||||
{
|
||||
client.setDraggedOnWidget(null);
|
||||
}
|
||||
|
||||
if (!isDragging || draggedOn == null)
|
||||
{
|
||||
return;
|
||||
|
||||
1
runelite-client/src/main/scripts/BankBuildTab.hash
Normal file
1
runelite-client/src/main/scripts/BankBuildTab.hash
Normal file
@@ -0,0 +1 @@
|
||||
57892EA7C7677AF80D1DA094F34C8A8738F2F4E5DDA2E861680F7D598664B216
|
||||
238
runelite-client/src/main/scripts/BankBuildTab.rs2asm
Normal file
238
runelite-client/src/main/scripts/BankBuildTab.rs2asm
Normal file
@@ -0,0 +1,238 @@
|
||||
.id 509
|
||||
.int_stack_count 12
|
||||
.string_stack_count 0
|
||||
.int_var_count 18
|
||||
.string_var_count 0
|
||||
iconst 0
|
||||
istore 12
|
||||
iload 11
|
||||
iconst 0
|
||||
if_icmpeq LABEL6
|
||||
jump LABEL19
|
||||
LABEL6:
|
||||
iload 2
|
||||
iconst 0
|
||||
if_icmpgt LABEL10
|
||||
jump LABEL19
|
||||
LABEL10:
|
||||
invoke 514
|
||||
iconst 1
|
||||
if_icmpeq LABEL14
|
||||
jump LABEL19
|
||||
LABEL14:
|
||||
iload 8
|
||||
iconst 15
|
||||
sconst "tabTextSpace" ;
|
||||
runelite_callback ;
|
||||
add
|
||||
istore 12
|
||||
jump LABEL21
|
||||
LABEL19:
|
||||
iload 8
|
||||
istore 12
|
||||
LABEL21:
|
||||
iconst -1
|
||||
istore 13
|
||||
iconst 0
|
||||
istore 14
|
||||
iconst 0
|
||||
istore 15
|
||||
iconst 0
|
||||
sconst "rowIndexInit" ;
|
||||
runelite_callback ;
|
||||
istore 16
|
||||
iconst 0
|
||||
istore 17
|
||||
LABEL31:
|
||||
iload 0
|
||||
iload 1
|
||||
if_icmplt LABEL35
|
||||
jump LABEL107
|
||||
LABEL35:
|
||||
iload 3
|
||||
iload 0
|
||||
cc_find
|
||||
iconst 1
|
||||
if_icmpeq LABEL41
|
||||
jump LABEL102
|
||||
LABEL41:
|
||||
iconst 95
|
||||
iload 0
|
||||
inv_getobj
|
||||
istore 13
|
||||
iload 13
|
||||
invoke 279
|
||||
iconst 1
|
||||
if_icmpeq LABEL50
|
||||
jump LABEL102
|
||||
LABEL50:
|
||||
iconst 0
|
||||
cc_sethide
|
||||
iload 13
|
||||
iconst 95
|
||||
iload 0
|
||||
inv_getnum
|
||||
iload 3
|
||||
iload 4
|
||||
iload 5
|
||||
iload 6
|
||||
iload 7
|
||||
invoke 278
|
||||
iload 15
|
||||
iconst 1
|
||||
add
|
||||
istore 15
|
||||
iload 12
|
||||
iload 17
|
||||
iconst 36
|
||||
multiply
|
||||
add
|
||||
istore 14
|
||||
iconst 51
|
||||
iload 16
|
||||
iconst 36
|
||||
iload 9
|
||||
add
|
||||
multiply
|
||||
add
|
||||
iload 14
|
||||
iconst 0
|
||||
iconst 0
|
||||
cc_setposition
|
||||
iload 14
|
||||
iconst 32
|
||||
add
|
||||
istore 14
|
||||
iload 16
|
||||
iload 10
|
||||
if_icmplt LABEL91
|
||||
jump LABEL96
|
||||
LABEL91:
|
||||
iload 16
|
||||
iconst 1
|
||||
add
|
||||
sconst "rowIndex" ;
|
||||
runelite_callback ;
|
||||
istore 16
|
||||
jump LABEL102
|
||||
LABEL96:
|
||||
iconst 0
|
||||
iload 17
|
||||
iconst 1
|
||||
add
|
||||
istore 17
|
||||
sconst "rowIndex" ;
|
||||
runelite_callback ;
|
||||
istore 16
|
||||
LABEL102:
|
||||
iload 0
|
||||
iconst 1
|
||||
add
|
||||
istore 0
|
||||
jump LABEL31
|
||||
LABEL107:
|
||||
iload 14
|
||||
iconst 0
|
||||
if_icmple LABEL111
|
||||
jump LABEL114
|
||||
LABEL111:
|
||||
iload 8
|
||||
iload 15
|
||||
return
|
||||
LABEL114:
|
||||
iload 11
|
||||
iconst 0
|
||||
if_icmpeq LABEL118
|
||||
jump LABEL189
|
||||
LABEL118:
|
||||
iload 16
|
||||
iconst 0
|
||||
if_icmpgt LABEL122
|
||||
jump LABEL166
|
||||
LABEL122:
|
||||
iload 3
|
||||
iconst 816
|
||||
iconst 9
|
||||
iconst 2
|
||||
multiply
|
||||
add
|
||||
iload 2
|
||||
add
|
||||
cc_find
|
||||
iconst 1
|
||||
if_icmpeq LABEL134
|
||||
jump LABEL166
|
||||
LABEL134:
|
||||
iconst 0
|
||||
sconst "hideTabText" ;
|
||||
runelite_callback ;
|
||||
cc_sethide
|
||||
iconst 51
|
||||
iload 16
|
||||
iconst 36
|
||||
iload 9
|
||||
add
|
||||
multiply
|
||||
add
|
||||
iload 14
|
||||
iconst 32
|
||||
sub
|
||||
iconst 0
|
||||
iconst 0
|
||||
cc_setposition
|
||||
iconst 8
|
||||
iload 16
|
||||
sub
|
||||
istore 16
|
||||
iload 16
|
||||
iconst 36
|
||||
multiply
|
||||
iload 16
|
||||
iconst 1
|
||||
sub
|
||||
iload 9
|
||||
multiply
|
||||
add
|
||||
iconst 32
|
||||
iconst 0
|
||||
iconst 0
|
||||
cc_setsize
|
||||
LABEL166:
|
||||
iload 12
|
||||
iload 8
|
||||
if_icmpgt LABEL170
|
||||
jump LABEL189
|
||||
LABEL170:
|
||||
iload 3
|
||||
iconst 816
|
||||
iconst 9
|
||||
add
|
||||
iload 2
|
||||
add
|
||||
iconst 1
|
||||
sub
|
||||
cc_find
|
||||
iconst 1
|
||||
if_icmpeq LABEL182
|
||||
jump LABEL189
|
||||
LABEL182:
|
||||
iconst 51
|
||||
iload 8
|
||||
iconst 0
|
||||
iconst 0
|
||||
cc_setposition
|
||||
iconst 0
|
||||
sconst "hideTabText" ;
|
||||
runelite_callback ;
|
||||
cc_sethide
|
||||
LABEL189:
|
||||
iload 14
|
||||
iload 2 ;
|
||||
sconst "newBankRow" ;
|
||||
runelite_callback ;
|
||||
pop_int ;
|
||||
iload 15
|
||||
return
|
||||
iconst 0
|
||||
iconst 0
|
||||
return
|
||||
@@ -0,0 +1 @@
|
||||
F7482938547BB43B14BCE44F35FC7555EBA9EF3A9D2E4AAEA916DF2855387F07
|
||||
@@ -0,0 +1,36 @@
|
||||
.id 510
|
||||
.int_stack_count 3
|
||||
.string_stack_count 0
|
||||
.int_var_count 3
|
||||
.string_var_count 0
|
||||
iload 1
|
||||
iconst 816
|
||||
iload 0
|
||||
add
|
||||
iconst 1
|
||||
sub
|
||||
cc_find
|
||||
iconst 1
|
||||
if_icmpeq LABEL10
|
||||
jump LABEL19
|
||||
LABEL10:
|
||||
iconst 51
|
||||
iload 2
|
||||
iconst 5
|
||||
add
|
||||
iconst 0
|
||||
iconst 0
|
||||
cc_setposition
|
||||
iconst 0
|
||||
sconst "hideLine" ;
|
||||
runelite_callback ;
|
||||
cc_sethide
|
||||
LABEL19:
|
||||
iload 2
|
||||
iconst 12
|
||||
sconst "lineSpace" ;
|
||||
runelite_callback ;
|
||||
add
|
||||
return
|
||||
iconst 0
|
||||
return
|
||||
@@ -3,6 +3,8 @@
|
||||
.string_stack_count 0
|
||||
.int_var_count 36
|
||||
.string_var_count 1
|
||||
sconst "bankLayoutInit" ;
|
||||
runelite_callback ;
|
||||
get_varbit 5102
|
||||
iconst 1
|
||||
if_icmpeq LABEL4
|
||||
@@ -824,6 +826,8 @@ LABEL732:
|
||||
iload 11
|
||||
iload 12
|
||||
iload 28
|
||||
sconst "addLastRow" ;
|
||||
runelite_callback ;
|
||||
iload 29
|
||||
iload 13
|
||||
iload 14
|
||||
|
||||
Reference in New Issue
Block a user