Addon Information
Download Latest Version.
To add favorites please register for a free account. If you already have one you need to login. How do I install this? (FAQ)
Author:
Version:
1.3
Date:
07-18-2009 09:54 PM
Size:
31.91 Kb
Downloads:
40,076
Favorites:
314
MD5:
Pictures
Click to enlarge
cargBags_Aurora
Click to enlarge
cargBags_Nivaya
Click to enlarge
cargBags_Pernobilis
cargBags   Popular! (More than 5000 hits)
cargBags is a lightweight and modular bag framework. It is designed that you can completely focus on how your items are displayed and sorted rather than caring about getting item info, updating your bags or handle interaction with items. You can define how many virtual bags you'd like to have and what items should go into it.

The core addon only moves and sorts information between the handler and the layout - it's up to your layout how to present the items to the user!

So, to see something going on, you need a layout! See below or on the "Optional Files"-tab for additonal resources.


Filtering
cargBags can react on special rules or filters to check if an item goes into that bag, but it's completely optional. So there's the possibility to make a complete all-in-one bag or separate small bags which hide gray items or show only keys, for example.

Modular
There's the possibility to add/modify parts of cargBags on all sides. You could write a custom layout - or just a small different money display which other layouts can easily spawn in their code. Or just hook into the backend, the item data, and manipulate it, e.g. writing a handler which displays the contents of some sort of database rather than your inventory.

Lightweight
cargBags tries to be efficient in both terms of CPU- and memory usage and there are thoughts on optimization before almost every update.

But aren't item filters in conflict with the term 'lightweight'?
Well, it depends on which features you'd like to have, but the default configuration is about only 50-60 kb including the layout. The CPU-usage is of course a bit higher because of the item filters, but it tries to only do the work which is needed to be done.
Item buttons which are not used will be recycled for later use, so there are no extra frames generated which are not needed.


Default features
  • item filters
  • modular: custom layouts, plugins or handlers
  • lightweight: strip out features you don't need
  • comes with money display, space indicator and bag button bar


Additional resources and help
Planned features for 2.0
  • stack compression
  • include GetInventoryItemCount()
  • guild bank support
  • additional default plugins (e.g. search)

cargBags is licensed under the GPL 3.

And of course, please drop a comment for bugs. For feature requests, help or discussion which do not relate to the core, please use the mentioned thread above!
  Change Log - cargBags
Changes to the core prior to version 1.0 are located in the changelog.txt.
In most cases the version tagging follows the scheme rewrite.feature.bugfix.

cargBags (core)
1.3
* licensed as GPL 3
* fixed background texture of empty bag buttons
* hovering over a bag button can now fade different bag objects
* fixed tooltip-parsing not working correctly
* and now the usual developer-stuff:

- BagBar new property: BagBar.BackgroundTexture - texture path if no icon was found
- new function: object:Fire(callback, ...) - fires a callback with the defined arguments
- new function cargBags.C2I(id) - translates a ContainerID into an InventoryID
- new function cargBags.I2C(id) - translates an InventoryID into a ContainerID
- function changed: cargBags.ParseBags(bagString or bagID or table) - now returns a table every time
- new property: cargBags.BagStrings[] - holds tables of the bagID's for the different bagStrings
- :PreCheckFilters() now also fires on :GetItemInfo()

1.2
* first tooltip-scanning code, if you have wishes for more parsed infos than bindOn,
* please let me know =)

- updated for 3.2
- fixed item.id not working properly
- new item data: item.bindOn - returns "equip", "pickup", "account", "quest", "use" or nil
- 3.2 only: new item data: item.stats - returns a table of all stats of the item (see GetItemStats() for info)
- 3.2 only: new item data: item.sellValue - returns the sellValue in copper of an item
- new plugin: DataBroker - displays a databroker-object, the addon cargoShip is needed for that

1.1 r431
* completely rewritten item-data fetching (should go faster now)
* handlers before version 1.1 are not compatible

- new item data: item.id - returns the item id extracted from the link
- new item data: item.bagType - returns the type of the item's bag
- you can now add your own data to the item-table by adding a function in cargBags.ItemKeys["keyName"]
- new function: object:GetItemInfo(bagID, slotID) - returns the item table for the specified slot
- debug-mode included, see top of core.lua for details

1.0.8 r426
- new property: object.PositionEveryTime - set to true to call UpdateButtonPositions every update
- new pipe function: handler.GetContainerItemLink(bagID, slotID)
- new pipe function: handler.GetContainerItemInfo(bagID, slotID)

1.0.7 r424
- fixed keyring not initializing
- rewritten iterator-function, you can now supplement a table-sort-function in cargBags:IterateBags()
- object's buttons are now available as table-keys in object.Buttons
- fixed a typo when using the bagstring "backpack+bags"
- plugins can now be spawned outside of objects by using cargBags.SpawnPlugin(...)

1.0.6 r413
- fixed the button.bagID-errors

1.0.5 r410
- fixed problem with hidden bags
- fixed plugins not updating on login
- lots of comments in the files added
- fixed bagType not being stored in cargBags.Bags[bagID]

1.0.4 r402
- pass arguments to Update-callbacks
- timed events to reduce updating
- new callback function: cargBags:PreCheckFilters(item, updateType)

1.0.3 r398
- silent mode for setting active handler and style (set #arg2 to 'true'), returns true on success
- update bags only after init
- new callback function: object:PreUpdateBags() - fired before an object is updated
- new callback function: object:PostUpdateBags() - fired after an object is updated

1.0.2 r387
- space indicator can now fetch information of defined bags (like BagBar)
- new function cargBags:ParseBags(bags) - returns id's of bag-strings like "bags" or "bank"
- some changes on showing/hiding buttons (hopefully fixes the appearing of unused buttons)
- style-arguments changed: style(settings, self, name, ...)

1.0.1 r383
* updated .toc for patch 3.1
* removed property: cargBags.FreezeButtons - don't think it's really needed
* fixed cooldowns not updating on item move
* new callback function: object:PostCreateBag(bag, bagID) - fired after a bag was created in the object

1.0
* COMPLETE REWRITE
* your old layout won't work with this new version without major changes!
* be aware that most previous callback functions for the layout are removed / modified due to the changes
- cargBags now supports filters for item-based placing!
- unused buttons are now recycled to save memory and cpu time
- item quality glow removed, it is now handled by the layout
- additional elements are now spawned with the new plugin system
- see object:RegisterPlugin(name, func)
- and object:SpawnPlugin(name, ...)
- new callback function: object: object:UpdateButton(button, item)
- new callback function: object: object:UpdateButtonLock(button, item)
- new callback function: object: object:UpdateButtonCooldown(button, item)
  Optional Files - cargBags
File Name
Version
Size
Author
Date
Type
r16.1
12kB
08-25-2009 01:58 AM
Addon
1.1
6kB
07-19-2009 11:43 AM
Addon
1.3
4kB
07-18-2009 09:54 PM
Addon
r29
13kB
06-25-2009 05:59 PM
Addon
2.0
7kB
06-01-2009 07:12 AM
Addon
  Archived Versions - cargBags
File Name
Version
Size
Author
Date
1.2
16kB
Cargor
07-02-2009 11:31 AM
1.1
14kB
Cargor
06-25-2009 01:27 PM
1.0.8
14kB
Cargor
06-01-2009 07:28 AM
1.0.7
14kB
Cargor
06-01-2009 07:06 AM
  Comments - cargBags
Post A Reply Comment Options
Old 03-16-2009, 03:54 PM  
jadakren
A Warpwood Thunder Caller
 
jadakren's Avatar
Interface Author - Click to view interfaces

Forum posts: 99
File comments: 112
Uploads: 2
I imagine if one were to detect that the player were not at a bank and the bank key was pressed to show the banks bags...it would be possible to iterate through a table of bank bag slots and populate the bank frame with a view of the bank?

ie :
Code:
cargBags.bankCache = {}
function cargBags:IterateAndStore(guid)
 local bankCache = self.bankCache[guid]
 for bagNumber=(NUM_BAG_SLOTS+1),(NUM_BAG_SLOTS+NUM_BANKBAGSLOTS) do
   for bagSlot=1,getBagSize(bagNumber) do 
     item = GetContainerItemLink(bagNumber, bagSlot)
     bankCache[bagNumber][bagSlot] = { 
      itemID = item.itemID,
      count = item.itemStackCount,
     }
  end
 end
end
Code:
function cargBags:openBankBags(guid)
 if(self:PlayerIsAtRealBank())then
   --this is where we force an update of our tasty bank cache for remote viewing.
   self:IterateAndStore(UnitGUID("player"))
 end
 self:ViewBankBags()
end
Code is pure theory at the moment and I'm just talking about remotely viewing the current toons bank items only at this moment nothing else.

links :
http://wowprogramming.com/docs/api/GetContainerItemLink
http://wowprogramming.com/docs/api/BankButtonIDToInvSlotID

Last edited by jadakren : 03-16-2009 at 04:55 PM.
jadakren is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-16-2009, 11:37 AM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 127
File comments: 242
Uploads: 17
Yep, I noticed it shortly after the update, too. The fix is on my SVN, but I want to change some other things before pushing it to WoWI - I'll release it today.

EDIT: The new version should fix both of your issues.
__________________
« Homepage | Git »

My blog is finally getting english!

Last edited by Cargor : 03-16-2009 at 12:12 PM.
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-15-2009, 07:09 PM  
Caellian
A Chromatic Dragonspawn
 
Caellian's Avatar
Interface Author - Click to view interfaces

Forum posts: 163
File comments: 663
Uploads: 4
There might be a bug with the new release, if i open my fourth bag (quiver) then close it, the window isn't resizing, if i click on bag then, i have a hole in the window of the size of the quiver.

Oh and something is weird with the keybinding, i used to press I to open all bags and I again to close them, now i have to press escape to close.
__________________


Quote:
if (sizeof(workload) > sizeof(brain_capacity)) { die('System Overload'); }

Last edited by Caellian : 03-15-2009 at 07:11 PM.
Caellian is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-15-2009, 01:36 PM  
Zergreth
A Deviate Faerie Dragon
 
Zergreth's Avatar
Interface Author - Click to view interfaces

Forum posts: 12
File comments: 71
Uploads: 12
Quote:
Originally posted by Cargor
So, update is pending. Seems like I couldn't resist coding after reading your feature request
You'll find the button positioning function on top of the layout, named UpdateButtonPositions(self).

The new version also removes self.Container - the item buttons are now directly based in the main frame, so there's a lot to update in SetPoint's in custom layouts.

--
Just noticed that my development version was already flagged as "1.0" - just looked inside and it seems like I was working on custom item filters like item-quality, -type, etc. So, the next version will likely be 1.0 instead of 0.5.
Mhh, awesome I'm quite happy you are not abandoning this <3
Zergreth is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-15-2009, 01:15 PM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 127
File comments: 242
Uploads: 17
So, update is pending. Seems like I couldn't resist coding after reading your feature request
You'll find the button positioning function on top of the layout, named UpdateButtonPositions(self).

The new version also removes self.Container - the item buttons are now directly based in the main frame, so there's a lot to update in SetPoint's in custom layouts.

--
Just noticed that my development version was already flagged as "1.0" - just looked inside and it seems like I was working on custom item filters like item-quality, -type, etc. So, the next version will likely be 1.0 instead of 0.5.
__________________
« Homepage | Git »

My blog is finally getting english!
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-15-2009, 09:21 AM  
Zergreth
A Deviate Faerie Dragon
 
Zergreth's Avatar
Interface Author - Click to view interfaces

Forum posts: 12
File comments: 71
Uploads: 12
Quote:
Originally posted by Cargor
Well, I quitted WoW like 3 months ago, so I'm not very active in developing cargBags. But, well, since my WoW is running fine under my new linux environment, I'll maybe start over again with interface development - but I can't promise :P

Okay, concerning the automated button positioning: I'll provide a function to overwrite it in the next update.
The pre-alpha development version 0.5 (do we ever reach 1.0? ) will separate core/layout further - position and size are completely handled by the layout, as well as maybe setting the texture.
Ah, well, I didn't know that. Well, let's just hope you pick up development on this again sooner or later
Zergreth is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-15-2009, 09:05 AM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 127
File comments: 242
Uploads: 17
Well, I quitted WoW like 3 months ago, so I'm not very active in developing cargBags. But, well, since my WoW is running fine under my new linux environment, I'll maybe start over again with interface development - but I can't promise :P

Okay, concerning the automated button positioning: I'll provide a function to overwrite it in the next update.
The pre-alpha development version 0.5 (do we ever reach 1.0? ) will separate core/layout further - position and size are completely handled by the layout, as well as maybe setting the texture.
__________________
« Homepage | Git »

My blog is finally getting english!
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 03-15-2009, 05:03 AM  
Zergreth
A Deviate Faerie Dragon
 
Zergreth's Avatar
Interface Author - Click to view interfaces

Forum posts: 12
File comments: 71
Uploads: 12
I really love cargBags so far, but I would really like to be able to have more control over the layout, since I'm trying to do one myself, but with this version of cargBags, I can't. The automated button positioning is in my way D;


Anyway, nice job so far. I hope v1.0 is ready soon(ish)

Weiter so!
Zergreth is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-08-2009, 06:32 AM  
Gupux
A Kobold Labourer

Forum posts: 1
File comments: 16
Uploads: 0
Hey, I'm a total newb when it comes to lua and I'd like to just use this addon/layout for my regular bags and leave the bank to it's original state. How can I accomplish such thing? I tried looking at the code but couldn't figure it out :P

Thanks for the great addon.
Gupux is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 01-17-2009, 02:23 PM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 127
File comments: 242
Uploads: 17
Sorry for the late response - I was on holiday.

I can't really test it, because I don't have a widescreen and am currently not active in WoW, but you can try and redefine the width of the frame to make it appear correct.
Someone else reported a similiar problem before - I'll just copy my answer below:
------

But the positioning system works like this: You define the width of the the bag object in your layout and cargBags tries to fill up the available space with buttons. If a button doesn't fit in the current row, it is placed in a new row.
It seems like your bag is 1-2 units smaller than the last button of each row, so that it starts a new one.
Try to adjust the width by adding the orange code to the lines 96, 99 and 101 of your cargBags_Pernobilis\layout.lua:
Code:
container:SetWidth((self.SlotWidth+self.SlotSpacing)*8+1)
You can increase the numbers to make the bags wider - just experimentate a bit
__________________
« Homepage | Git »

My blog is finally getting english!
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 01-13-2009, 07:35 AM  
Guardix
A Defias Bandit

Forum posts: 2
File comments: 36
Uploads: 0
The widescreen resolutions 1024x640, 1176x664 and 1280x800 make the bank frame fail, this picture should tell it all: http://img371.imageshack.us/img371/4...gsfailsag8.jpg

Last edited by Guardix : 01-13-2009 at 07:38 AM.
Guardix is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 12-08-2008, 10:11 AM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 127
File comments: 242
Uploads: 17
Okay, you're right - I'll revert it in the next update. Thanks for the bug report!
__________________
« Homepage | Git »

My blog is finally getting english!
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 12-08-2008, 03:05 AM  
Caellian
A Chromatic Dragonspawn
 
Caellian's Avatar
Interface Author - Click to view interfaces

Forum posts: 163
File comments: 663
Uploads: 4
I seem to have some kind of bug these days, i've updated to the latest version, with an unaltered version of your layout, when i hit the key to open all bags it works but then i must use escape to close instead of that same key again.

reverting to 0.4.1 fixes it or:

At the end of the layout:

replacing
Code:
OpenAllBags = OpenCargBags
With
Code:
OpenAllBags = ToggleCargBags
__________________


Quote:
if (sizeof(workload) > sizeof(brain_capacity)) { die('System Overload'); }

Last edited by Caellian : 12-08-2008 at 03:12 AM.
Caellian is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 12-05-2008, 10:01 AM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 127
File comments: 242
Uploads: 17
As it reads in the addon's description, you can move it by dragging on the background / outer borders of the frame while holding the Alt-key.
__________________
« Homepage | Git »

My blog is finally getting english!
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 12-04-2008, 06:10 PM  
Sneakattackk3
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
I love how the bags are but the only problem I am having is that i cant move my Bag Bar its over top of my Hotbars. I am trying to grab a item but i cant because its stuck under the hotbar. Am i doing something wrong or is there a option to move it please i need some help i cant get to the items for my quests. Thanks Hope to here from someone soon!

Last edited by Sneakattackk3 : 12-04-2008 at 06:11 PM.
Sneakattackk3 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.




The Network:
EQInterface | EQ2Interface | LoTROInterface | MMOInterface | War.MMOUI | WoWInterface | VGInterface | Allakhazam | Thottbot | Wowhead | Zam


©2009 MMOUI / ZAM Network
vBulletin - Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.