well, i am messing with the usage of create(window) instead of create(frame) to use its setting to disable resizing, but this results in the no-show of the very frame that was floating away on the usage of create(frame), so i reckon that i indeed should dive deeper into the resize chain and see where exactly things go wrong...
not giving up on the framework just yet ^^
Cheers,
prop
edit: using fixxed widths for the frames in the [BOTTOM] frame, and the issue is solved, using Relative width just doesnt seem to result in correct dimensions?
I can indeed hope that this patch will be approved (or a solution is found for the preventing of floating sub-frames upon resizing) soon(tm).
For now, i have poored myself a big mug of coffee, and gonna take a look in the resize calls to make sure sub-frames are resized/repositioned correct. If all else fails, i will make a mainframe container using Blizzard's frame, and try to fill that with the ace3 framework - either way enough to do for me
so, for another addon of mine, i decided to use the ace3GUI framework.
i am able to create a main frame (unable to acces the option to disable resize?), adding tabs and a treeview, all goes well...
then, i want to create more frames (using inlinegroup & simplegroup) which measurements are variable.. using this layout:
[ TOP ]
[ BOTTOM]
where the bottomframe contains:
[LEFT][RIGHT]
when i resize the main frame, the [RIGHT] frame occasionally floats away, and will be snapped into place after i resize the mainframe for a second time. (not when i move it)
the main issue i now have is when i add a scrollframe to the [LEFT] frame: the [RIGHT] frame's measurements are just fckd up with that
when i add the following frame into the [LEFT] container, the right container's measurements are just...
-- Scroll container
LMMainFrame_Loot_List = Ace3GUI:Create("ScrollFrame");
LMMainFrame_Loot_List:SetLayout("Flow");
LMMainFrame_Loot_List:SetFullHeight(true);
LMMainFrame_Loot_List:SetWidth(80);
LMMainFrame_Loot_BottomLeftCntr:AddChild(LMMainFrame_Loot_List);
local _, _, _, _, _, _, _, _, _, itemTexture = GetItemInfo(71354);
for i = 1, 5 do
myILabel = Ace3GUI:Create("InteractiveLabel");
--myILabel:SetText("20");
myILabel:SetWidth(48);
myILabel:SetHeight(48);
myILabel:SetImage(itemTexture);
myILabel:SetImageSize(48,48);
LMMainFrame_Loot_List:AddChild(myILabel);
end
The above code is called upon (and the var container is parsed, ofc) when i selected the correct tab to show these frames
does anyone see what i do wrong? or is the ace3gui just messing things up? if so, i think i'll go back to create my own frames
i hope i provided enough information, if not, let me know :)
thanks in advance,
Prop
Edit:
After a reloadui, the initial view of the rightframe is correct, tho after a resize, it is completely distort again, floats outside of the mainframe on occasion also
yah, ive been thinking about the global settings of ButtonFacade, and what you said before about not messing with your tables, sorry for that.
the problem now, is that when the user clicks a subtree (ie: Addons) of ButtonFacade, the function for hiding will be called, so i tried .Addons, and it works (need to make sure it shown on ButtonFacade itself also ofcourse)
ok what i saw, was that i placed it indeed on the wrong place.
i have now copied the example you gave me (for now) and placed it áfter registering my addon with ButtonFacade and áfter the callback function, but it stil doesnt work correctly.
using the code
--high above in the core.lua:
local LBF = LibStub("LibButtonFacade", true);
-- bottom of core.lua:
function SerpentStinger:ButtonFacadeInit()
if not self.db.char.disableBF then
if not self.db.char.buttonFacade then
self.db.char.buttonFacade = { skin = "Blizzard",gloss = 0, backdrop = false, colours = {},}
end
LBF:RegisterSkinCallback("SerpentStinger", self.SBFCallback, self);
local SSBF = LBF:Group("SerpentStinger");
if (btWarning) then
SSBF:AddButton(btWarning);
SSBF:Skin(self.db.char.buttonFacade.skin,self.db.char.buttonFacade.gloss,self.db.char.buttonFacade.backdrop,self.db.char.buttonFacade.colours);
end
self:HookUpButtonFacadeOptions();
end
end
function SerpentStinger:HookUpButtonFacadeOptions()
--[[
with thanks to StormFX (author of ButtonFacade)
for helping me on this matter
--]]
local BF = LibStub("AceAddon-3.0"):GetAddon("ButtonFacade")
local f = BF.OptionsPanel.Addons.SerpentStinger
if not f then
self:PrintIt("cant find it");
else
f:HookScript("OnShow",BFShowing())
f:HookScript("OnHide",BFShowing())
end
end
-- test function:
function SerpentStinger:BFShowing()
self:PrintIt("reacting on ButtonFacade!");
end
will result in the "can't find it"
ps: i also made ButtonFacade an optional dependency in my toc file
im thinking more of trying to insert the option frame of ButtonFacade inside the options of SerpentStinger (like adding the profile optiontable), but im not sure yet if that is possible.
The addon has an warning icon that is only to be show in battle or when the user opens the options (working as intended, HookScript worked like a charm there).
ok, seems like i wasnt as clear as i thought, sorry for that.
as it is now, when you go to the options (in blizOptions), the warning icon+labels is toggled to show, so the player can see the adjustments it does to the addon (and it disapears again when player closes/escapes options)
what i would like to do, is to show it also when the player edits the SerpentStinger skin options in ButtonFacade settings (they are correctly handled, but i think its better to show that to the player)
hope i took away the confusion about what i really want to achieve here.
0
not giving up on the framework just yet ^^
Cheers,
prop
edit: using fixxed widths for the frames in the [BOTTOM] frame, and the issue is solved, using Relative width just doesnt seem to result in correct dimensions?
0
I can indeed hope that this patch will be approved (or a solution is found for the preventing of floating sub-frames upon resizing) soon(tm).
For now, i have poored myself a big mug of coffee, and gonna take a look in the resize calls to make sure sub-frames are resized/repositioned correct. If all else fails, i will make a mainframe container using Blizzard's frame, and try to fill that with the ace3 framework - either way enough to do for me
Thanks for all your answers,
Prop.
PS: back to the kitchen; mug is empty >.<
0
i am able to create a main frame (unable to acces the option to disable resize?), adding tabs and a treeview, all goes well...
then, i want to create more frames (using inlinegroup & simplegroup) which measurements are variable.. using this layout:
[ TOP ]
[ BOTTOM]
where the bottomframe contains:
[LEFT][RIGHT]
when i resize the main frame, the [RIGHT] frame occasionally floats away, and will be snapped into place after i resize the mainframe for a second time. (not when i move it)
the main issue i now have is when i add a scrollframe to the [LEFT] frame: the [RIGHT] frame's measurements are just fckd up with that
code i use for the mainframe of the selected tab:
when i add the following frame into the [LEFT] container, the right container's measurements are just...
The above code is called upon (and the var container is parsed, ofc) when i selected the correct tab to show these frames
does anyone see what i do wrong? or is the ace3gui just messing things up? if so, i think i'll go back to create my own frames
i hope i provided enough information, if not, let me know :)
thanks in advance,
Prop
Edit:
After a reloadui, the initial view of the rightframe is correct, tho after a resize, it is completely distort again, floats outside of the mainframe on occasion also
0
nice move btw!
0
thanks for showing the link!
Cheers,
Prop
0
but nonetheless: its obvious, so for me its a /facepalm.
but could you state where that is documented? i might miss more information then.
Thanks alot for sharing this,Nevcairiel! really appreciated!
Cheers,
Prop
0
but OT: thats not good :S
thanks for your reply tho!
Cheers,
prop
0
is there any way to set this while making the option table?
Cheers,
Prop
0
the problem now, is that when the user clicks a subtree (ie: Addons) of ButtonFacade, the function for hiding will be called, so i tried .Addons, and it works (need to make sure it shown on ButtonFacade itself also ofcourse)
Thanks alot for your help! really appreciate it!
Cheers,
Prop
0
change Default Bar State from Page 1 to Don't Page
that should do the trick
cheers,
Prop
0
i have now copied the example you gave me (for now) and placed it áfter registering my addon with ButtonFacade and áfter the callback function, but it stil doesnt work correctly.
using the code
will result in the "can't find it"
ps: i also made ButtonFacade an optional dependency in my toc file
im thinking more of trying to insert the option frame of ButtonFacade inside the options of SerpentStinger (like adding the profile optiontable), but im not sure yet if that is possible.
Thanks again for your support on this matter!
Cheers,
Prop
0
0
>.<, thanks for pointing that out.
and for the callback, i was thinking of that also, but rather show it when user clicks my addon in ButtonFacade.
as for the code, i tried it and it gives the same error:
also tried BF.options.Addons.SerpentStinger, which gave the error:
so, as it now i will probably use the callback function to show the icon, but any information regarding this issue would be awesome still.
Cheers,
Prop
Edit: hehe, wont touch it ^^
0
edit:
0
as it is now, when you go to the options (in blizOptions), the warning icon+labels is toggled to show, so the player can see the adjustments it does to the addon (and it disapears again when player closes/escapes options)
what i would like to do, is to show it also when the player edits the SerpentStinger skin options in ButtonFacade settings (they are correctly handled, but i think its better to show that to the player)
hope i took away the confusion about what i really want to achieve here.
Cheers,
prop