GnomeWorks TradeSkill Frame

This project is abandoned.

Whether this project is out of date or its author marked it as abandoned, this project is no longer maintained.

If you wish to take this project over, please report it and state your intentions.

GnomeWorks (r27)

GnomeWorks TradeSkill Frame -

a complete replacement for the blizzard trade skill frame.

early alpha just to test some things out.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Torhal Torhal Jun 01, 2010 at 10:11 UTC - 0 likes

    Those errors are due to lilsparky coding against the current release version of ARL, in which I had made the recipe_list and other internals publically-accessible while waiting for the private AddOn tables to hit the live servers - they are now private to the AddOn (as Ackis had intended). Unfortunately, Ackis wasn't aware of what I was doing and ripped all of the public-facing API out of the code (which was really only a wrapper that fully exposed the "hidden" data anyway) and no replacement has been written as of yet.

  • Avatar of lilsparky lilsparky Jun 01, 2010 at 10:11 UTC - 0 likes

    poop. i guess i should have made sure i got the absolute latest arl before bothering with this stuff... seems they've decided to stuff their data into a private table which makes accessing it kind of hard without modifying the actual arl code...

    not sure i understand the rationale for that exactly... sigh...

  • Avatar of Highend Highend Jun 01, 2010 at 09:32 UTC - 0 likes

    arl v1.1.0-beta2-16-gd87857b + r22:

    1x GnomeWorks-r22\plugins\arl.lua:399: attempt to index field 'recipe_list' (a nil value)
    GnomeWorks-r22\Details.lua:554: in function `ShowDetails'
    GnomeWorks-r22\MainWindow.lua:847: in function `?'
    CallbackHandler-1.0-5:146: in function <...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146>
    <string>:"safecall Dispatcher[1]":4: in function <[string "safecall Dispatcher[1]"]:4>
    <in C code>: ?
    <string>:"safecall Dispatcher[1]":13: in function `?'
    CallbackHandler-1.0-5:91: in function `SendMessage'
    GnomeWorks-r22\SkillList.lua:720: in function `ScanTrade'
    GnomeWorks-r22\MainWindow.lua:859: in function <GnomeWorks\MainWindow.lua:857>
    (tail call): ?:
    <in C code>: ?
    <string>:"safecall Dispatcher[2]":9: in function <[string "safecall Dispatcher[2]"]:5>
    (tail call): ?:
    AceTimer-3.0-5:164: in function <...ns\Alt-Tab_Toggle\Libs\AceTimer-3.0\AceTimer-3.0.lua:138>
    1x AckisRecipeList-Devel\ARL.lua:1098: attempt to index field '?' (a nil value)
    AckisRecipeList-Devel\Database\Jewelcrafting.lua:56: in function <...ce\AddOns\AckisRecipeList\Database\Jewelcrafting.lua:47>
    (tail call): ?:
    GnomeWorks-r22\plugins\arl.lua:390: in function `func'
    GnomeWorks-r22\ScrollFrame.lua:356: in function `UpdateData'
    GnomeWorks-r22\ScrollFrame.lua:378: in function `RefreshRows'
    GnomeWorks-r22\ScrollFrame.lua:791: in function `Refresh'
    GnomeWorks-r22\MainWindow.lua:886: in function `ShowSkillList'
    GnomeWorks-r22\MainWindow.lua:910: in function <GnomeWorks\MainWindow.lua:909>
    (tail call): ?:
    <in C code>: ?
    <string>:"safecall Dispatcher[2]":9: in function <[string "safecall Dispatcher[2]"]:5>
    (tail call): ?:
    AceTimer-3.0-5:164: in function <...ns\Alt-Tab_Toggle\Libs\AceTimer-3.0\AceTimer-3.0.lua:138>
    49x GnomeWorks-r22\plugins\arl.lua:393: attempt to index field 'recipe_list' (a nil value)
    GnomeWorks-r22\ScrollFrame.lua:367: in function <GnomeWorks\ScrollFrame.lua:346>
    GnomeWorks-r22\ScrollFrame.lua:362: in function `UpdateData'
    GnomeWorks-r22\ScrollFrame.lua:378: in function `RefreshRows'
    GnomeWorks-r22\ScrollFrame.lua:791: in function `Refresh'
    GnomeWorks-r22\plugins\lsw.lua:375: in function `RefreshWindow'
    LilSparkysWorkshop-r96\lilsparkysworkshop.lua:1226: in function `triggerFunction'
    LilSparkysWorkshop-r96\lilsparkysworkshop.lua:2182: in function <...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:2174>
    scrollFrame = ScrollFrame2 {
     OnLeave = <function> @ GnomeWorks\ScrollFrame.lua:399:
     FilterData = <function> @ GnomeWorks\ScrollFrame.lua:301:
     DrawColumns = <function> @ GnomeWorks\ScrollFrame.lua:794:
     columnHighlight = <unnamed> {}
     numRows = 22
     numData = 0
     RegisterRowUpdate = <function> @ GnomeWorks\ScrollFrame.lua:440:
     dataMap = <table> {}
     RefreshRows = <function> @ GnomeWorks\ScrollFrame.lua:376:
     OnClick = <function> @ GnomeWorks\ScrollFrame.lua:411:
     offset = 0
     headerWidth = 611.7990478842
     scrollChild = <unnamed> {}
     scrollDownButton = ScrollFrame2ScrollBarScrollDownButton {}
     columnFrames = <table> {}
     rowFrame = <table> {}
     DrawRow = <function> @ GnomeWorks\ScrollFrame.lua:163:
     scrollUpButton = ScrollFrame2ScrollBarScrollUpButton {}
     rowUpdateRegistry = <table> {}
     IsEntryFiltered = <function> @ GnomeWorks\MainWindow.lua:775:
     data = <table> {}
     InitColumns = <function> @ GnomeWorks\ScrollFrame.lua:665:
     columnHeaders = <table> {}
     DrawRowHighlight = <function> @ GnomeWorks\ScrollFrame.lua:735:
     selectedIndex = 2
     UpdateData = <function> @ GnomeWorks\ScrollFrame.lua:346:
     InitRow = <function> @ GnomeWorks\ScrollFrame.lua:125:
     rowHeight = 15
     Refresh = <function> @ GnomeWorks\ScrollFrame.lua:757:
     AddColumn = <function> @ GnomeWorks\ScrollFrame.lua:635:
     HighlightColumn = <function> @ GnomeWorks\ScrollFrame.lua:620:
     0 = <userdata>
     OnEnter = <function> @ GnomeWorks\ScrollFrame.lua:387:
     columnWidth = <table> {}
     SortData = <function> @ GnomeWorks\ScrollFrame.lua:239:
     scrollBar = ScrollFrame2ScrollBar {}
     SetHandlerScripts = <function> @ GnomeWorks\ScrollFrame.lua:427:
     scrollOffset = 0
     Draw = <function> @ GnomeWorks\ScrollFrame.lua:184:
    data = <table> {
     parent = <table> {}
     index = 1
     key = "Detiria:25229:Blizzard"
     autoGroup = true
     locked = false
     name = "Consumable"
     expanded = true
     entries = <table> {}
    depth = 1
    firstCall = nil
    (for index) = 1
    (for limit) = 7
    (for step) = 1
    i = 1
    entry = <table> {
     craftBag = 1
     index = 2
     cost = 134390
     parent = <table> {}
     recipeID = 62242
     value = 0
     fate = "v"
     name = "Icy Prism"
     itemColor = <table> {}
     craftBank = 1
     depth = 1
     craftAlt = 1
     craftVendor = 1
    (for generator) = <function> defined =[C]:-1
    (for state) = <table> {
     1 = <table> {}
     2 = <table> {}
     3 = <table> {}
    (for control) = 3
    name = 3
    reg = <table> {
     func = <function> @ GnomeWorks\plugins\arl.lua:388:
     plugin = <table> {}
    UpdateData = <function> @ GnomeWorks\ScrollFrame.lua:346:
  • Avatar of lilsparky lilsparky Jun 01, 2010 at 09:16 UTC - 0 likes

    yeah, i think a "craft" button makes sense. i really need to sit down and sort out the controls a bit more for the queue stuff. right now i've got the very minimum in there just so it actually functions and people can pound on it a bit more.

    i just uploaded a new version that fixes a few minor issues that have been reported and also fleshes out the arl integration a bit more. my goal is to make plugins capable of a lot of things.

    the lsw integration, for example, adds columns to the frames as well as sorting and filtering mechanisms.

    the arl plugin adds some direct functions (basically that just call arl code) as well as filtering on the recipe column (right now it's only recipe source but that could change). it also adds recipe source information into the detail frame (which now scrolls with the mouse wheel).

  • Avatar of Highend Highend Jun 01, 2010 at 08:00 UTC - 0 likes

    One thing that isn't possible atm: Crafting a single item with just one click (like in Skillet).

    Maybe we can add an additional button to the mainframe ("Craft"), that adds only one item from the current selection to the queue and begins to craft it without an additional click in the queue frame? Very helpfull for daily transmutes *g*

    Regards, Highend

  • Avatar of WMerkens WMerkens Jun 01, 2010 at 05:43 UTC - 0 likes

    You can be like ATSW and have both, a "queue all" and queue amount, where you specify amount to queue.

  • Avatar of lilsparky lilsparky May 31, 2010 at 23:00 UTC - 0 likes

    good point about not always wanting "all" to be queued. a number field it will be.

    i'll see how tradecooldowns operates and do what i can...

  • Avatar of Highend Highend May 31, 2010 at 20:39 UTC - 0 likes

    I think a queue all with some logic behind it is a good thing but beeing able to just insert the number I want to craft is something I wouldn't like to miss :)

    Just imagine I have 20 epic gems (e.g. blue color) in my bags and want to craft 10 of them. Clicking queue all would place 20 of them in the queue and I have to click ten times on the number to bring it back to ten. At least that's how I understand the logic.

    Lilsparky, do you know Broker_TradeCooldowns? It shows the different cooldowns on e.g. the transmutes of my alchemists and with Skillet I do a transmute, close Skillet and have to reopen it again before Broker_TradeCooldowns get's aware of the new cooldown.

    Do you think you could add a mechanism to GW that allows Broker_TradeCooldowns to "see" the new cooldown without this procedure? Maybe a cooldown update when a queue is cleared or just empty after a transmute?

    Regards, Highend

  • Avatar of lilsparky lilsparky May 31, 2010 at 19:22 UTC - 0 likes

    the controls are still very early in development (that's why they're just simple little buttons at the moment).

    i can certainly add the fixed number to queue, but i'm hoping the queue all will function in such a way as to make it unnecessary. the way the queue all should work is to queue up all the items you can make based on the least smallest number craftable. once you queue up those items, the smallest number will then be the next biggest number (since the queue will reserve the reagents available). so clicking it again will queue up to the next amount.

    for example, you have an item that has the following craftable counts:

    5/7/7/13 .. 5 from your bags, 7 if you include vendor items, 7 if you also include bank items (ie, no change from vendor), 13 if you include items on alts.

    click once and it queues up 5 items, the count will then be 0/2/2/8.

    click again and it will queue up another 2, the count will the be 0/0/0/6

    click again and it will queue up 6 more.

    more clicks will queue up one at a time.

    at least, that's the theory. there's a bug right now that makes this not work right.

    Last edited May 31, 2010 by lilsparky
  • Avatar of Niselma30 Niselma30 May 31, 2010 at 19:11 UTC - 0 likes

    I hope you plan on making a button like Skillet where I can input the numbers of items I want to craft. Unless I'm missing something about the mod. Seems like I have to keep clicking the Queue all button to add the amount of items I need to craft. But I know you're still working on this mod. :) And I really like it. I would appreciate the option to tell the mod how many items I need to craft without having to keep pressing the Queue all button just like in Skillet. Keep up the great job! <3


Date created
Apr 15, 2010
Last update
Nov 03, 2014
Development stage
  • enUS
GNU General Public License version 3 (GPLv3)
Reverse relationships
Recent files
  • A: r233 for 5.4.8 Nov 03, 2014
  • A: r232 for 5.4.0 Oct 01, 2013
  • A: r231 for 5.4.0 Sep 30, 2013
  • A: r229 for 5.3.0 Jun 01, 2013
  • A: r228 for 5.3.0 May 30, 2013



Embedded library