Download
(183Kb)
Download
Updated: 12-20-20 05:30 PM
Pictures
File Info
Compatibility:
Shadowlands patch (9.0.2)
Shadowlands pre-patch (9.0.1)
Updated:12-20-20 05:30 PM
Created:12-03-08 07:08 PM
Downloads:91,957
Favorites:754
MD5:

DockingStation (Display)  Popular! (More than 5000 hits)

Version: 0.5.26 (Beta)
by: Vrul [More]

A display platform for LibDataBroker (LDB) based plug-ins. The display is provided through panels, each having sections (Left, Center, Right) corresponding with how a plugin is justified within it.

All plugins are disabled by default and you must turn on the ones you want to use. This is to avoid the complete mess that results from all plugins being on with the first use. The only plugin on at the start is the one provided by this addon to access its options easily. Just click it to start changing settings.

With plugins unlocked you can drag and drop them to other panels/sections and have them automatically adjust to their new location. There are no limitations on the drag and drop capabilities other than the new location for a plugin must be within a panel. You may also change the location of a plugin through the plugin options menu.

Almost all sub-sections of settings have a default option. The defaults follow a set pattern. First plugins check their settings, if default, they next go to their panel's settings. If the panel is also set to default then it defers to the addon's global settings. Finally, if the global settings are still set to default, then the hard coded defaults are used.

Note: It is recommended that you delete the folder(s) for an existing addon when updating to a different version. This is to keep files that are no longer used from taking up space.

Translators: To submit a translation please just edit existing files (example: DockingStation\Locales\deDE.lua and DockingStation_Config\Locales\deDE.lua) and send them to me.

Version 0.5.26 (12/20/2020)
- Changed way position is calculated

Version 0.5.25 (10/16/2020)
- Bug fix for SetBackdrop error with recycled panels

Version 0.5.24 (10/16/2020)
- Fix for not being able to see background option changes

Version 0.5.23 (10/16/2020)
- Retail fix for previous class update (actually tested changes on retail and classic this time)

Version 0.5.22 (10/15/2020)
- Minor tweak to remove an error with WoW Classic

Version 0.5.21 (10/14/2020)
- Updated for 9.0

Version 0.5.20 (01/14/2020)
- Changed reference of InterfaceOptionsFrameHeaderText to InterfaceOptionsFrame.Header.Text

Version 0.5.19 (10/25/2019)
- Fix for NamePlateTooltip error

Version 0.5.18 (09/01/2019)
- Minor edit to Jostle.lua to not generate an error on WoW Classic

Version 0.5.17 (08/12/2019)
- Removed a minor tweak to WorldMapFrame.BlackoutFrame that was causing an error with the new anchoring rules

Version 0.5.16 (09/15/2018)
- Corrected panels being on top of the world map when its maximized

Version 0.5.15 (07/21/2018)
- Removed backwards compatibility code
- Library update

Version 0.5.14 (06/11/2018)
- Added the option to rotate a plugin's icon
- Plugin icons now rotate based on the LDB field "iconRotation" (in radians)

Version 0.5.13 (06/09/2018)
- Updated for 8.0
- No longer using LibJostle, now using a more simple solution
- Combined the panel option categories "Position" and "Size" into "Layout"
- Renamed the panel option "Move Blizzard Frames" to "Shift UI"

Version 0.5.12 (08/30/2017)
- Fix for PlaySound change in 7.3

Version 0.5.11 (05/05/2017)
- Added panel options "Alpha, Fade In" and "Alpha, Fade Out"

Version 0.5.10 (04/27/2017)
- Fix for texture paths that are numbers and not strings

Version 0.5.9 (01/07/2017)
- Corrected a potential issue when updating panel/plugin widths

Version 0.5.8 (08/07/2016)
- Fix for an error when hiding UIParent with a plugin tooltip showing
- Corrected a scaling issue with LibQTip tooltip borders

Version 0.5.7 (07/23/2016)
- Library update

Version 0.5.6 (05/14/2016)
- Resolved a Legion compatibility issue

Version 0.5.5 (10/14/2014)
- Updated for 6.0
- Took another stab at eliminating the reported panel moving issue

Version 0.5.4 (08/22/2014)
- Stop causing a tooltip flashing issue for other addons

Version 0.5.3 (08/14/2014)
- Taking another shot at correcting the issue with panels not staying put

Version 0.5.2 (07/17/2014)
- Correct an issue with panels not staying where they should

Version 0.5.1 (06/07/2014)
- Fix for an error that was occurring when upgrading a version older than 0.4 and with new installations

Version 0.5 (05/24/2014)
- Library update

Version 0.4.15 Beta (09/27/2012)
- Library update to fix a potential error

Version 0.4.14 Beta (09/11/2012)
- Fix for some undesired interactive tooltip behavior

Version 0.4.13 Beta (09/02/2012)
- Updated for MoP

Version 0.4.12 Beta (07/06/2012)
- Updated for MoP Beta

Version 0.4.11 Beta (01/31/2012)
- Traditional Chinese localization 繁體中文化 by andy52005

Version 0.4.10 Beta (12/22/2011)
- Make sure all tooltips are clamped to screen

Version 0.4.9 Beta (12/21/2011)
- Fix for GameTooltip type tooltips

Version 0.4.8 Beta (12/19/2011)
- Attempt at allowing plugins that create tooltips via OnEnter/OnLeave to be scaled and reanchored

Version 0.4.7 Beta (11/27/2010)
- Fix for error when enabling/disabling an unloaded plugin

Version 0.4.6 Beta (10/13/2010)
- Libraries updated

Version 0.4.5 Beta (09/11/2010)
- Added the option to override a plugin provided label with it's name

Version 0.4.4 Beta (07/19/2010)
- Corrected a potential issue with generating panel keys
- Updated to use the new AceGUI-3.0-SharedMediaWidgets
- Minor code tweaks

Version 0.4.3 Beta (06/10/2010)
- Fix for panel positioning bug

Version 0.4.2 Beta (06/10/2010)
- Added localization support
- Corrected an issue with ConfigMode support
- Modified the behavior of the icon zoom option
- Convert.lua may now be deleted (only needs to run once each update)

Version 0.4.1 Beta (06/02/2010)
- Fixed issue with icon updates (iconCoords, iconR, iconG, iconB)

Version 0.4 Beta (05/31/2010)
- Major overhaul

Version 0.3.3 Beta (12/11/2009)
- Added MMOUI Minion support to TOC file (X-WoWI-ID)
- Library update (fixes buff frame not moving with other Blizzard frames)

Version 0.3.2 Beta (05/24/2009)
- Corrected an issue with plugins that define their type after their data object is first created
- Fixed a bug with the report option not properly hiding errors/warnings when disabled

Version 0.3.1 Beta (05/23/2009)
- The configuration window now remains centered when the panel/plugin lists are added on the side, this can be disabled with the option DockingStation-General-Center Configuration

Version 0.3 Beta (05/23/2009)
- LDB type is no longer defaulted to 'data source' if none given
- Most duplicate errors/warnings are now ignored
- Changed the way panel labels are templated
- Reworked how panels and plugins are selected in the options panel

Version 0.2.26 Beta (05/08/2009)
- Fixed a bug with panel visibility
- Updated libraries

Version 0.2.25 Beta (05/08/2009)
- Fixed a bug with panel visibility
- Changed the minimum values for panel height and width (from fixed to 1/64 of screen height and width)
- Changed the maximum value for panel height (from fixed to 1/16 of screen height)
- The options for panel height and width (Appearance) now update all min/max values instead of just max panel width on a resolution change

Version 0.2.24 Beta (04/28/2009)
- Corrected some issues with changing profiles
- Fixed an error with opening the configuration panel
- Changed the OnClick handler to better deal with other LDB displays
- Added an option to allow right clicking on a panel to open it's configuration
- Warnings are no longer generated for unsupported LDB types
- Warnings are now generated for any 'launcher' using 'data source' specific fields: text, value, suffix
- Panel tooltips are now only shown while one of DockingStation's configuration panels is open

Version 0.2.23 Beta (04/24/2009)
- More tooltip corrections

Version 0.2.22 Beta (04/23/2009)
- Taking a shot at the vanishing tooltip issue

Version 0.2.21 Beta (04/23/2009)
- Added more options for panel backgrounds

Version 0.2.20 Beta (04/21/2009)
- Fixed an issue with some string settings

Version 0.2.19 Beta (04/20/2009)
- Better support for shared media
- Trying out a new library for easier LoD options

Version 0.2.18 Beta (04/18/2009)
- Corrected an issue with panels anchored outside the screen's bounds

Version 0.2.17 Beta (04/16/2009)
- Fix for panels moving from their positions on a reload

Version 0.2.16 Beta (04/16/2009)
- Changed tooltip hiding options slightly
- Tooltip scaling is now off by default
- Enabling the report option now also provides error information for previously hidden execution problems

Version 0.2.15 Beta (04/13/2009)
- Added an option for disabling tooltip scaling
- OnMouseWheel support enabled

Version 0.2.14 Beta (04/12/2009)
- More tooltip fixes

Version 0.2.13 Beta (04/09/2009)
- Fix for plugins that call their own OnEnter function internally

Version 0.2.12 Beta (04/09/2009)
- Added panel fading
- More tooltip fixes

Version 0.2.11 Beta (03/26/2009)
- Corrected a bug with tooltip settings that are set to default
- Fixed some issues with tooltip scaling

Version 0.2.10 Beta (03/19/2009)
- Corrected a display issue with panel labels
- Fixed a bug with plugins appearing behind their panel
- Deleting a panel that contains plugins should no longer generate errors
- Fixed an issue with tooltip behavior (still not completely fixed though)

Version 0.2.9 Beta (03/18/2009)
- Changed panel labels to only show up if the Panels or Plugins configuration screen is open
- Configuration options are now visible in the Blizzard options panel for addons before being loaded
- Corrected some tooltip behavior (still not completely fixed yet)

Version 0.2.8 Beta (03/15/2009)
- Fixed a tooltip bug

Version 0.2.7 Beta (03/14/2009)
- Changed how and when setting inheritance takes place
- Added and changed tooltip options
- Revamped the way panels and plugins are locked

Version 0.2.6 Beta (03/13/2009)
- Fixed another bug with converting old settings to the new launcher name
- Changed the way panel labels are handled (old settings are no good)
- Corrected an issue when enabling plugins or changing their location via the configuration settings

Version 0.2.5 Beta (03/11/2009)
- Fixed a bug with converting old settings to the new launcher name
- Added the ability to change panel labels for easier identification
- Changed creating a panel to automatically select the settings for the new panel

Version 0.2.4 Beta (03/10/2009)
- Renamed the launcher to DockingStation_Config to avoid issues with LoD and other LDB displays that add plugin options directly to Blizzard's option panel
- Moved AceDBOptions-3.0.lua to DockingStation_Config to make it LoD
- Added the ability to edit/remove settings of plugins that are not loaded

Version 0.2.3 Beta (01/28/2009)
- Corrected an issue with plugins not inheriting their panel's settings properly upon creation

Version 0.2.2 Beta (01/22/2009)
- Fixed a bug with settings when creating a new panel

Version 0.2.1 Beta (01/21/2009)
- Changed the way plugins are updated in a panel
- Fixed a bug with the center section of panels not always staying centered
- Reverted some changes dealing with plugin strings while tracking down a bug

Version 0.2 Beta (01/20/2009)
- Reworked some high CPU usage code to require much less processing
- Added options to disable showing tooltips in combat and to allow for a small portion of panels to be moved off-screen

Version 0.1.2 Beta (01/19/2009)
- Changed the minimum value allowed for Panel Background Inset from 0 to -1 to help with the "gap" problem

Version 0.1.1 Beta (01/14/2009)
- Added a slash command (/dockingstation) that opens the configuration panel
- Corrected bugs with panel anchoring and ordering
- Load on demand for configuration is now functioning properly

Version 0.1 Beta (01/12/2009)
- Configuration is now load on demand and some options were added/changed
- DockingStation's launcher is now a true LDB plugin instead of only being available to itself
- Panels are now at different levels based on the most recently moved (persistant)

Version 0.0.25 Beta (12/23/2008)
- Fixed some bugs with options and their defaults

Version 0.0.24 Beta (12/19/2008)
- Added options for placing borders on panels
- Added support to get panel frame references
- Updated to the lastest plugin spec: iconCoords (4 or 8), iconB, iconG, iconR

Version 0.0.23 Beta (12/18/2008)
- Added an option to apply an outline or shadow to the various text elements

Version 0.0.22 Beta (12/17/2008)
- Added code to correct a LibDataBroker bug
- Fix for an issue with OnClick handlers

Version 0.0.21 Beta (12/12/2008)
- Fixed an issue with dragging and dropping plugins into the "Right" section of a panel
- Fixed an error with tooltips for some plugins
- Removed most restrictions placed on plugins

Version 0.0.20 Beta (12/11/2008)
- Fixed a bug with zeroes being removed from either ends of strings
- Fixed an error where a plugin in the process of being moved would jump back into place if it or another addon in the same panel/section was updated
- Added a new option to show warnings/errors generated during the creation of new plugins

Version 0.0.19 Beta (12/10/2008)
- Uncommented the code that broke the UI scale fix from 0.0.17 (Oops)

Version 0.0.18 Beta (12/10/2008)
- Fixed a bug with panels not always deleting properly
- The plugin type 'data source' now accepts either the field text or value, instead of just text, for initial type verification

Version 0.0.17 Beta (12/09/2008)
- Fixed a bug when utilizing the UI scale video setting
- Ability to set default settings for panel plugins and panels and plugins in general
- Can now turn off the icon for 'launchers' if the label is still showing

Version 0.0.16 Beta (12/08/2008)
- Fixed a bug with plugin label/suffix using the option "Same as Text"
- Changed the disply of panel options
- Added the option to change the panel background texture
- Plugins now listed by label (name also shown once selected if different from label)

Version 0.0.15 Beta (12/07/2008)
- Changed the way plugin options are displayed

Version 0.0.14 Beta (12/05/2008)
- More options for plugins added

Version 0.0.13 Beta (12/03/2008)
- Initial public beta release
Optional Files (0)


Post A Reply Comment Options
Unread 12-23-08, 11:08 AM  
Privelgus
A Kobold Labourer

Forum posts: 0
File comments: 61
Uploads: 0
Error on startup

Hi there,

got a strange error on startup of WoW. All addons I loaded to be shown in DockingStation get a different text sizes, even if I set them to don't even show any text. I know how to turn it of, so my settings will be used, but it's anoying to have to set it back on every singe start.

I add a short video to show the error:
PS: Using german client

http://de.xfire.com/video/56d00/
Report comment to moderator  
Reply With Quote
Unread 12-20-08, 12:29 PM  
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 10860
File comments: 687
Uploads: 33
Oops - sorry. Hadn't looked there.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

[SIGPIC][/SIGPIC]
Report comment to moderator  
Reply With Quote
Unread 12-20-08, 12:09 AM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Sorry, I responded to your request on the Ace forums with what I added.

I just added two functions:
numPanels = DockingStation:GetNumPanels()
frame = DockingStation:GetPanel(id)

You can use those to get the actual frame.
Report comment to moderator  
Reply With Quote
Unread 12-19-08, 11:44 PM  
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 10860
File comments: 687
Uploads: 33
Thanks for the latest updates. Going to test out putting it on Dash and trying the TomTom plugin now.


edit: Okay... I read this in the changelog
- Added support to get panel frame references
and assumed there would be frame names now, but I guess that was the cold interfering... How exactly can I get a frame name to put it on my dash? Before Violation had a frame name, we could use something like Violation.frames[1] or something - a table reference. But Dash needs some sort of a global name, as would something like kgPanels.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

[SIGPIC][/SIGPIC]
Last edited by Seerah : 12-20-08 at 12:02 AM.
Report comment to moderator  
Reply With Quote
Unread 12-19-08, 05:04 AM  
Lichbane
A Deviate Faerie Dragon
 
Lichbane's Avatar

Forum posts: 16
File comments: 83
Uploads: 0
Nice work. Finally a good fubar/titan bar replacement.
Report comment to moderator  
Reply With Quote
Unread 12-18-08, 10:11 PM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally posted by Phanx
yet here are just the first few of many examples I could give you of launchers using the text field
This is sad indeed. It shouldn't need saying but I'll refine my original opinion to: One type could cover the current 2 types ('data source' and 'launcher') if the spec for that one type were actually followed.
Report comment to moderator  
Reply With Quote
Unread 12-18-08, 09:40 PM  
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5617
File comments: 2321
Uploads: 54
Originally posted by Vrul
I think you are confusing the text field with the label field.
Would that it were so... yet here are just the first few of many examples I could give you of launchers using the text field in exactly the manner I described:

Code:
local AloftDataObject = libDataBroker:NewDataObject(L["Aloft"], {
	type = "launcher",
	icon = "Interface\\Icons\\Spell_Frost_Wisp",
	text = L["Aloft"],
Code:
LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject("Atlas", {
	type = "launcher",
	text = "Atlas",
Code:
local ldb = LibStub("LibDataBroker-1.1"):NewDataObject("BigWigs", {
	type = "launcher",
	text = "Big Wigs",
Report comment to moderator  
Reply With Quote
Unread 12-18-08, 09:02 AM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally posted by Phanx
While my standalone version was up to date, I did discover that I'd missed removing an older, embedded LDB in another addon. After removing it, all appears to be in order.
Well, either you need to submit a bug on LibStub or I need to thank you for insulting my intelligence.

Originally posted by Phanx
Anyway, now that that's cleared up, the only problem I'm having is that it's difficult to rearrange left-aligned plugins if they extend past the center of the bar, because dragging them anywhere near the center of the bar switches them to center alignment.
Yeah, I may just have to add an option to disable the center section for panels that don't need it since there is no sure way to detect where a plugin is intended to go once there is overlap in sections.

Originally posted by Phanx
Almost every addon I have that provides an LDB launcher sets the text field to the addon's name, so the above logic would mistakenly classify all of them as data sources, although they are clearly launchers as their only function is to open a configuration window when clicked on. Also, in previous comments you mentioned that some people might want to show launchers text but not their icons... how would that work if your display expects launchers to not have text?
I think you are confusing the text field with the label field.
Report comment to moderator  
Reply With Quote
Unread 12-17-08, 11:59 PM  
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5617
File comments: 2321
Uploads: 54
Originally posted by Vrul
You may want to check the spec again.
Apparently posting from memory while at work = bad. My mistake.

And I'm 100% sure you are using the wrong one. The revision that added the iterators that are missing from your version were added 31 July 2008 on Tekkub's github.
While my standalone version was up to date, I did discover that I'd missed removing an older, embedded LDB in another addon. After removing it, all appears to be in order.

Anyway, now that that's cleared up, the only problem I'm having is that it's difficult to rearrange left-aligned plugins if they extend past the center of the bar, because dragging them anywhere near the center of the bar switches them to center alignment.

That is how a display could tell the difference if it wanted since a "launcher" that provides a text field is really a "data source" and a "data source" that doesn't provide a text field is really just a "launcher."
Almost every addon I have that provides an LDB launcher sets the text field to the addon's name, so the above logic would mistakenly classify all of them as data sources, although they are clearly launchers as their only function is to open a configuration window when clicked on. Also, in previous comments you mentioned that some people might want to show launchers text but not their icons... how would that work if your display expects launchers to not have text?
Last edited by Phanx : 12-18-08 at 12:04 AM.
Report comment to moderator  
Reply With Quote
Unread 12-17-08, 09:51 PM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally posted by Phanx
Well, personally I think the "launcher" type should require "icon" and "label", and the "data source" type should require "icon" and "text", but that's not how it's implemented; both require only "text". How would you propose a display addon should determine whether something is a launcher or not simply by the starting value of its "text" field? There is simply no way to make that call programmatically, given that it's entirely possible that a "data source" might give its "text" a starting value that looks a lot like a launcher label simply because at the time of creation, the actual data it wants to display is not available.
You may want to check the spec again. The text field is only required (or even listed for) the "data source" spec so it would only be set if it wasn't a "launcher." That is how a display could tell the difference if it wanted since a "launcher" that provides a text field is really a "data source" and a "data source" that doesn't provide a text field is really just a "launcher." Also, its not hard to first populate the text field with a dummy value (say the plugin's name) if the information isn't available upon creation.

Originally posted by Phanx Yes, unless there is a more recent version that what's on Tekkub's github. I'm not at home at the moment, so I can't check the exact version, but I'm 99.99% sure I have "the latest".
And I'm 100% sure you are using the wrong one. The revision that added the iterators that are missing from your version were added 31 July 2008 on Tekkub's github.
Report comment to moderator  
Reply With Quote
Unread 12-17-08, 08:37 PM  
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5617
File comments: 2321
Uploads: 54
Originally posted by Vrul
Since you are using standalone libraries are you using the most recent version of LDB?
Yes, unless there is a more recent version that what's on Tekkub's github. I'm not at home at the moment, so I can't check the exact version, but I'm 99.99% sure I have "the latest".

I understand that. What I'm saying is that it could easily be done with just the one type. A display can see that a DO is just a 'launcher' by looking at the text/value fields.
Well, personally I think the "launcher" type should require "icon" and "label", and the "data source" type should require "icon" and "text", but that's not how it's implemented; both require only "text". How would you propose a display addon should determine whether something is a launcher or not simply by the starting value of its "text" field? There is simply no way to make that call programmatically, given that it's entirely possible that a "data source" might give its "text" a starting value that looks a lot like a launcher label simply because at the time of creation, the actual data it wants to display is not available.

For example, any plugin that wants to display information requiring guild roster data cannot provide a real "text" value upon loading (unless it also delays creating its data object), since guild roster information isn't available until some time afterall standard loading events; it might simply provide "GuildList" as its starting "text" value, but to any logic trying to separate launchers from data objects by looking at the value of "text" would probably see "GuildList" and conclude that this is a launcher, when it is not.
Report comment to moderator  
Reply With Quote
Unread 12-16-08, 11:11 AM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally posted by Seiyu
Broker_professions (profession launchers) doesn't seem to work properly. Gives an "Interface action failed because of an AddOn Error" doesn't happen with any other LDB displays I've used in the past.
I know what the problem with this is. The author is using CastSpellByName which only works if used within an OnClick handler (not sure if that's a bug or not). I'm only using generic frames at the moment which don't have OnClick handlers so I'm trying to find a work around that doesn't involve using Buttons over Frames. Switching to a Button type does fix the problem (I did make a temp change to verify) but I'm not happy with that solution and I'm testing a couple other things before going that route.
Report comment to moderator  
Reply With Quote
Unread 12-16-08, 11:05 AM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally posted by Phanx
Also, you should add the embedded libraries to the OptionalDeps field in the TOC, so I (and anyone else using standalone libraries) don't have to keep typing them in there by hand every time I download a new version.
This will be in the next version.

Originally posted by Phanx
Loading 0.0.21 (Beta) still doesn't give me any plugins, but it does give me this error: DockingStation-0.0.21 (Beta)\Plugins.lua:143: attempt to call method 'pairs' (a nil value)
Since you are using standalone libraries are you using the most recent version of LDB? Revision 4 added the method that is returning nil for you. I'm still not sure how it would work even changing the line to pairs though, as LDB nils out the fields in the original table (now just a proxy) and keeps it all internally so that it can use __newindex to detect changes and fire callbacks. I've only used revision 4 so I don't know if NewDataObject was coded different in earlier versions to where it didn't nil out the data.

Originally posted by Phanx
Well, I see the "type" field as primarily being useful for specialized display addons that only want to show one or the other.
I understand that. What I'm saying is that it could easily be done with just the one type. A display can see that a DO is just a 'launcher' by looking at the text/value fields. But seeing how that could lead to a bit of overhead on the display's part, a simple field 'launcher' set to any value but nil or false would suffice. That was how it was being handled, if only briefly and by only a few, but it worked. Just because the first person to set it down in writing choose to make two seperate types doesn't mean that was the only way it could be done, or even the best way to do it. And no, I'm not suggesting that it be changed now.
Report comment to moderator  
Reply With Quote
Unread 12-15-08, 11:43 PM  
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5617
File comments: 2321
Uploads: 54
Well, I see the "type" field as primarily being useful for specialized display addons that only want to show one or the other. For instance, a "minimap button bag" kind of display might want to only show launchers, without the user having to go through and turn off everything that isn't a launcher. Or a "info ticker" kind of display might want to only show data sources. For an all-in-one, general purpose display like DockingStation, the difference is immaterial, really. While I think LDB should enforce certain rules (i.e. plugins must specify a type, and must provide certain fields depending on their type), it doesn't, and because it doesn't, trying to enforce such rules in a display addon is more hassle than it's worth.

Originally posted by Vrul
As to "tastes," there was mention by someone wanting their 'launchers' to not show an icon but use the label instead. This could be considered a display issue vice plugin issue until you consider the author of a plugin that wants it that way too. The icon field is flagged as required so they must provide one to comply with the spec and thus lose their ability to only use text as they wanted. The other option would be to call it a 'data source' but really be a 'launcher' which defeats the purpose to begin with. This just feeds back into what I said above, and as stated, its just a matter of opinion so I'm not going to force mine on someone by limiting their options.
If a plugin author is intentionally misusing or omitting fields in an attempt to force his or her personal preference on users, the author is wrong, and you shouldn't waste your time and effort going out of your way to coddle and cater for authors who do this.

Specifying an icon in no way prevents a display addon from not showing the icon, but not specifying an icon is an extreme annoyance for users who want to only see an icon. By contrast, it doesn't matter if a plugin fails to specify a label and/or text, because LDB will fall back on the data object's internal title in such cases. If an icon isn't specified, there is nothing to fall back on that isn't totally arbitrary and totally useless for users.

Originally posted by Vrul
As for plugins not showing up I think by now you figured out why. Until the last version I was strictly enforcing fields flagged as required by the specs. So many plugins don't bother to actually assign data to themselves until after creation that I had to reverse that decision. Either way, there is an option to show why a potential plugin isn't created. This does require a reload to see the errors.
Possible, but with 25-30 data objects, it's unlikely that none of them follow the spec. In fact, I know at least three of them follow the spec exactly, as I wrote them myself. I'll give the new version a try and look for the errors.

Edit: Also, you should add the embedded libraries to the OptionalDeps field in the TOC, so I (and anyone else using standalone libraries) don't have to keep typing them in there by hand every time I download a new version.

Edit #2: Loading 0.0.21 (Beta) still doesn't give me any plugins, but it does give me this error: DockingStation-0.0.21 (Beta)\Plugins.lua:143: attempt to call method 'pairs' (a nil value) The line in question reads LDB: pairs (without the space) where it should read just pairs. Fixing this results in most of my plugins being recognized, although only 3 or 4 have their icons recognized; the rest simply will not display an icon through any combination of settings. The plugins in question do specify an icon at the time of their creation, so that shouldn't be an issue.
Last edited by Phanx : 12-16-08 at 05:19 AM.
Report comment to moderator  
Reply With Quote
Unread 12-15-08, 02:00 AM  
Seiyu
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 32
Uploads: 2
Overall really happy with the layout options and such, only one caveat. Broker_professions (profession launchers) doesn't seem to work properly. Gives an "Interface action failed because of an AddOn Error" doesn't happen with any other LDB displays I've used in the past.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: