Download
(26Kb)
Download
Updated: 01-11-11 05:57 PM
Pictures
File Info
Updated:01-11-11 05:57 PM
Created:05-21-09 12:25 AM
Downloads:10,799
Favorites:53
MD5:

Chaos Frame Modifier  Popular! (More than 5000 hits)

Version: r42
by: ChaosInc [More]

CFM allows full manipulation of almost any frame in the game.

** Please use the Bug Report/Feature Request features to the right. This is more for your benefit than mine as I may not notice them in comments right away. **

Slash Command
/cfm - brings up config
ESC - closes config

Frame List
This lists your frames currently in your database.
Left Click: Selects the frame and fills in it's info in all other frames (except "Add Frame").
Right Click: Prompts removal of the frame from the database.

Properties Tab
Pretty straight forward.

Anchor Tab
Change a frame's anchor points, parent and allows fine-tuned positioning.

Add Frame Tab
The place to add a frame to the database.

Other Tab
Change the name of a frame on your list.
Load/Copy other profiles you have saved.

Mouseover Frame (bottom)
This will tell you the name of the frame your mouse is currently over, as well as the parent of the frame.

Known Bugs
None

Credits
ME!: I wrote it.
Moongaze: LOTS of help along the way, including a lot of performance suggestions.
WoWInterface Community: Including (but not limited to) Seerah, Akryn, and kraftman for helping me with my noobish questions on the forums when I'd get stuck.

HELP SPREAD YOUR FAVORITE ADDONS VIA FACEBOOK!
Remember to "Like" your favorite addons to help authors spread their hard work!

r42
Note to self: If you have time to level an alt, you have time to update your projects. And man what an update was needed for this one. ;)

+ Profile Loading/Copying added to Options
+ "Disable Mouse" feature added to Properties (enjoy it, this was a pain to do with currently existing code :p)
+ It's a new year, copyright should reflect it
+ Frame restoration has been removed from the "Remove" function and now has it's own so other elements can access it
+ OnShow function properly hooks now (again)
+ List buttons will now keep their backgrounds after deleting a frame
+ Changing the height value with "Constrain" checked will now properly update the width box instead of itself (coulda sworn I fixed that once already...)
+ Slightly adjusted Properties to make room for new and possible additional options
+ Numerous other bug fixes I've lost track of
+ Ask users to use the Facebook "Like" link to help spread CFM (shameless plug, bite me ;p)

- Chat Edit box has been removed from default frames due to strange behaviour
- "Converted" comments removed
- Removed debug commenting spam

r41
+ line 108 fixed
+ some background coding changes in preparation for custom background/border options
+ changing the height while constrain is selected will now properly change the width text

r40
+ correct OnShow scripts not hooking properly when a newly added "invisible" frame becomes visible, such as the target frame (line 309 error)

r39
+ UI Overhaul!
+ Custom Name Support
+ Ability to change names added to "Options" tab
- Removed a bunch of old code that was literally doing nothing now

When users first log in, their saved vars should automatically convert to the new custom naming format. This will be verified by their previous entries being followed by "Temp". Click the Options tab and rename as you like.

r37
+ Reverted a change that lead to problems with trying to hook frames that don't exist yet (Line 77 errors)
+ Suppressed combat related messages until I figure out why they're spamming even though there is a delay built in to prevent it
+ Decide what I should have for lunch today

r36
+ Added common default frames. Look for the button on the "Add Frame" tab
+ Added button for upcoming options (profile swapping, custom colors if I can ever figure out how it works)

r35
+ Add a delay for players entering vehicles in case they have altered the any vehicle elements. The stupid animation keeps overriding custom placements. CFM will now wait until after the animation to apply it's settings. This should be a temporary fix until I find the bastard script and kill it.

r34
+ Force creation of achievement alert frames (reported by H0PE)

r33
+ 4.0 ready
+ GUI overhaul. It was too large for my liking and purpose. It's now about half the size and has options separated into panels that "share common interest". Hopefully it will be a little less intimidating to look at now. Maybe. Probably not, but I tried anyways.
+ Description change so it's not so much of a "wall-o-text". Not everyone is tech saavy to understand the nitty-gritty of it. More importantly, most could care less.
+ Any "Discord" credits have been removed. It's been dead for years and most don't even know it existed. People need to move on if they're still making a big deal of it.
+ Removal of the "Parent" field when adding frames. Frames will now simply add their own parent info or have it defaulted to UIParent. It was a redundant element.
+ Fixed a few bugs I came across along the way. Nothing too major, my own stupid mistakes.
+ I should grab some coffee. It's been a long morning of staring at/rearranging code.
+ DFM support has been removed. If people haven't converted by now, the likelihood of it happening now is somewhere around "no".
+ No I have not changed the colors. I'm considering reskinning it a bit to make it look prettier with the new Cata artwork. Purple/green will still be in there somewhere, however. ;)
+ Donation icon added to front page. And "I'll eat your soul" look to those who said they were gonna donate and never did. :p

r32
+ When a frame is unlocked for dragging it will now be highlighted. Woot!
+ The Show/Hide/Lock buttons will now throw warnings if a frame is not selected.
+ New option added for clamping frames to the screen. Saved settings should silently add themselves, but I've gotten mixed results during testing. Post any bugs so I can fix, or just delete and readd the frame.

r31
+ If the WorldFrame is modified, it will permanently assign itself to "BACKGROUND" strata to prevent users from accidentally overlapping EVERYTHING else. Trust me, changing this lead to ugly results.
+ If the WorldFrame is selected from the list, the strata box will automatically be disabled.
+ Frames are set as movable before attempting to move them. Imagine that.
+ GUI scroll frame is created before other elements to avoid possible conflicts
+ Bugs with dropdown menus have been fixed. I don't remember what they were, but they were fixed anyways.
+ Some other background coding fixes

r30
+ Ya know what would be handy? If the manual value fields actually referred to themselves rather than trying to pull property data from the "Parent" field. I don't think you can pull width data from "UIParent", but hey, it was worth a shot. All other fields have been fixed accordingly as well.
+ Manually adding an Alpha value will actually change a frame's alpha level now. Imagine that.
+ Time for breakfast!

r29
Better late than never....

+ Wanna see through your frame? Alpha control is finally here!
+ Hate using the X/Y mover? Use the new lock/unlock feature to drag-n-drop your frame!
+ Ya know, 2k+ lines to sort through to find the config frame stuff is a pain. The GUI is in it's own file.
+ Hey copyright, it's 2010 now, get with the program.
+ Blizz's Interface frame has an annoying habit of resetting frames against my wishes. This has been worked around.
+ 2 sec delay was a bit long, dropped to 1 sec.
+ Since the name feature was removed, all residual data has been removed.
+ Ever remove a frame then get spammed about how it can't be found? F1X0R3D!
+ Fixed some label alignments/anchoring
+ My Financial Aid check cleared today. I has monies again!

r28
Spam sucks. Let's fix that.

r27
+ If a player enters the game in combat, CFM will now wait until the player leaves combat to apply settings.
+ Added checks to the rest of the config settings making sure the user has a frame selected before trying to apply settings (WHOOPS!)

r26
+ Frames will now properly adjust after entering/leaving an instance (this should fix all other issues concerning this behaviour as well)
+ Frames should properly readjust when talents change with default UI action bars
+ Some code rewrite

r25
+ Added checks to make sure users have a frame selected before trying to alter properties (NOTE: UNTESTED!)

r24
.toc update

r23
+ Added missing "OnShow" hooks when a frame is initially added, which was causing a variety of frames to keep reseting their x/y positions until login/reload

r22
+ Force load Blizzard_AchievementUI if user has made changes to the AchievementFrame (ticket 5958)

r21
+ Anchoring fixes, now aligns properly on widescreens
+ Added frames will now set as movable before attempting to modify them

r20
+ Changed restore info and useProfile to PerCharacter variables to avoid taint. Existing variables should convert silently.
+ Frames should now restore after exiting a vehicle
+ File no longer run through LuaSrcDiet. Too much of a hassle to keep updated and the performance trade off is hardly noticeable.

r19
+ CombatLockDown checks added.
+ ForceHidden frames should not show at ANY point now (for real this time!)

r18
+ Fix bug where not all frames were being loaded
+ ForceHide properly works on already hidden frames (example: TargetFrame will now stay hidden, even on target changes)
+ Some code cleanup

r 17
+ Frames are now set as "UserPlaced". If newly added frames were already previously "UserPlaced", it is recorded in that frames restore data.
+ Fix bug where Blizz's target frame would remain present after zoning/porting (not tested)(WoWI Ticket 5937).
+ Frames not currently present (addon disabled/deleted, etc.) will no longer show up in the frame list.

r16
+ Fix WorldFrame strata work around(typo)
+ Added additional checks when working with the WorldFrame (hopefully no more bugs, but no promises)
+ No really, "useProfile" isn't a selectable frame. Fixed.
+ Fix typo when importing forceHide value from DFM (was saving incorrectly)
+ Increase load delay from 1sec to 2sec to compensate a bit for UI lag
+ Profile swapping now works the way it's supposed to (thanks Akryn)
+ If a parent frame is no longer present for a selected frame, it will now default to "UIParent"
+ Users will now be prompted to reloadUI when switching profiles (in case frames don't end up where they're supposed to)

r15
+ profile swapping (temp setup)

r14
+ Clicking height +/- will now properly update the height box instead of the width box
+ Created workaround for strata error when attempting to add/edit the WorldFrame
+ Fix confusion with From/To points (listed correctly, code was backwards)

r13
Users are now able to import settings from DFM (see desc for details)

r11
+ Added (+/-) buttons to height,width,scale and level
+ Reorganized config frame for the new buttons
+ Moved (-) on X/Y edit boxes

- No longer possible to set a negative level

r8
Mouseover info frame now shows parent data
Couple bug fixes that many may not have even seen
Switched file version to revision numbering (easier to deal with)

1.1
Clicking the 0,0 button should now set X/Y boxes to 0
Frames with no defined parent will now default to "UIParent"

1.0
Initial Release
Post A Reply Comment Options
Unread 12-01-10, 07:09 PM  
Gixx
A Kobold Labourer

Forum posts: 0
File comments: 32
Uploads: 0
Originally posted by ChaosInc
Gixx, does this look familiar in regards to your error?

Code:
Error occured in: Global
Count: 1
Message: ..\AddOns\CFM\CFM.lua line 313:
   PartyMemberFrame2:SetPoint(): PartyMemberFrame3PetFrame is dependent on this
If so, I'm not exactly sure what the problem is. I'll have to ask and see if someone has an answer in the forums.
There was no error. Everything worked fine until I did a relog and my unitframes were all over the screen.

But I found a way to reverse the way the party frames are ordered: You have to set the anchor of your PartyMemberFrameX to "UIParent" instead of "PartyMemberFrame(X-1)PetFrame". Then it works

So it has to be an issue with anchoring i guess.
Last edited by Gixx : 12-01-10 at 10:23 PM.
Report comment to moderator  
Reply With Quote
Unread 12-01-10, 06:53 PM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
Gixx, does this look familiar in regards to your error?

Code:
Error occured in: Global
Count: 1
Message: ..\AddOns\CFM\CFM.lua line 313:
   PartyMemberFrame2:SetPoint(): PartyMemberFrame3PetFrame is dependent on this
If so, I'm not exactly sure what the problem is. I'll have to ask and see if someone has an answer in the forums.
Report comment to moderator  
Reply With Quote
Unread 11-29-10, 11:58 PM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
Originally posted by Gixx
I found a bug in CFM when moving the party frames.
I want to move my uniframes similar to how they are in Caith Ui but with the standard UI - player and target frame in the middle of the screen and my party to the left.

When I only move my player and target frame, I have no problems and everything works well. When I move my party frames, everything works well.
But when I reverse the way the party frames are ordered, I have some problems. Here is what I'm doing:
I change the anchor of "PartyMemberFrame4" to UIParent, the anchor of "PartyMemberFrame3" to "PartyMemberFrame4PetFrame", "PartyMemberFrame2" to "PartyMemberFrame3PetFrame" and "PartyMemberFrame1" to "PartyMemberFrame2PetFrame".
It looks like i want, but after a relog my player and target frame reset to the topleft and my party frames are all over the screen.

I was able to reproduce the error on a twink.

P. S.: I wasn't in a real party when I setup the frames. I used the following script to show my party frames:
/run for i=1,4 do _G["PartyMemberFrame"..i]:Show()end;
for i=1,4 do _G["PartyMemberFrame"..i.."PetFrame"]:Show()end

Hope this helps to fix this bug!
I'll see if I can recreate this issue. So far, I've had no issues with unit frames so I can't make any promises on this.
Report comment to moderator  
Reply With Quote
Unread 11-27-10, 09:29 PM  
Gixx
A Kobold Labourer

Forum posts: 0
File comments: 32
Uploads: 0
I found a bug in CFM when moving the party frames.
I want to move my uniframes similar to how they are in Caith Ui but with the standard UI - player and target frame in the middle of the screen and my party to the left.

When I only move my player and target frame, I have no problems and everything works well. When I move my party frames, everything works well.
But when I reverse the way the party frames are ordered, I have some problems. Here is what I'm doing:
I change the anchor of "PartyMemberFrame4" to UIParent, the anchor of "PartyMemberFrame3" to "PartyMemberFrame4PetFrame", "PartyMemberFrame2" to "PartyMemberFrame3PetFrame" and "PartyMemberFrame1" to "PartyMemberFrame2PetFrame".
It looks like i want, but after a relog my player and target frame reset to the topleft and my party frames are all over the screen.

I was able to reproduce the error on a twink.

P. S.: I wasn't in a real party when I setup the frames. I used the following script to show my party frames:
/run for i=1,4 do _G["PartyMemberFrame"..i]:Show()end;
for i=1,4 do _G["PartyMemberFrame"..i.."PetFrame"]:Show()end

Hope this helps to fix this bug!
Report comment to moderator  
Reply With Quote
Unread 11-15-10, 11:48 PM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
The function I'm adding is turning to be a lot more code changing than I originally thought it was going to be.
Report comment to moderator  
Reply With Quote
Unread 11-09-10, 08:27 PM  
saphirre12
A Fallenroot Satyr

Forum posts: 27
File comments: 28
Uploads: 0
Thx for clearing things up .
Report comment to moderator  
Reply With Quote
Unread 11-09-10, 07:58 AM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
Originally posted by saphirre12
Here is my situation that I may think a bug
I currently get my Talent frame scale to 1.3 . However, after I log on the next day , it got reset back to 1 . I /cfm and the setting scale 1.3 is still there . This randomly happened cuz sometimes it didn't get reset
Sigh. Once again the plague of Blizz's LoD UI. Think I'll just load all of it and nix all of these situations once and for all. It'll be a bit though; I'm currently working on some major recoding to add a new functionality and my working copy is currently not fully operational.
Report comment to moderator  
Reply With Quote
Unread 11-08-10, 11:44 PM  
saphirre12
A Fallenroot Satyr

Forum posts: 27
File comments: 28
Uploads: 0
Here is my situation that I may think a bug
I currently get my Talent frame scale to 1.3 . However, after I log on the next day , it got reset back to 1 . I /cfm and the setting scale 1.3 is still there . This randomly happened cuz sometimes it didn't get reset
Report comment to moderator  
Reply With Quote
Unread 11-07-10, 04:43 PM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
RE: NuN Frame

I think I see the issue with this one. I moved the script hooking to when CFM loads, which I realize is a HUGE mistake on my part (honestly, I can't remember why I did this in the first place). The problem boils down to that CFM loads before NuN (addons load in alphabetical order) so when CFM tries to hook the frame it doesn't exist because the addon isn't loaded yet. I'll reposition the hook back to a later point and it should fix the issue.

RE: Auctioneer

Auctioneer's modules are LoD, which would generate the same error due to not being in existance yet. The bar is not created until Auctioneer opens at an auction vendor. I can supply a workaround for this, I'll just have to find the info in auctioneer (or ask their devs) and force-load the frame.

EDIT: Correction, the auction frame in question is actually part of Blizz's LoD UIs. I should be able to force-load Blizzard_AuctionUI and fix it. I should probably add a bunch of others as well to avoid potential issues in the future (although I swear I already did this...).
Last edited by Sythalin : 11-07-10 at 04:47 PM.
Report comment to moderator  
Reply With Quote
Unread 11-07-10, 01:37 PM  
H0PE
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 28
File comments: 299
Uploads: 1
The error: I've deleted all layers I only got one on most of my chars:
NuNMicroFrame - notesuneed micro button frame. I scale and make it transparent with CFM. No other layers atm, not even achievementframe.

Snipet from the CFM.lua about that particular layer:
["NuNMicroFrame"] = {
["strata"] = "LOW",
["point"] = "BOTTOMLEFT",
["parent"] = "UIParent",
["forceHide"] = false,
["alpha"] = 0.4980392156862745,
["width"] = 96.99997223598903,
["lock"] = true,
["offsetY"] = 100.724014836244,
["offsetX"] = 549.0001895684495,
["relativePoint"] = "BOTTOMLEFT",
["sameXY"] = false,
["level"] = 24,
["height"] = 29.00000007028864,
["scale"] = 0.699999988079071,

New issue:
Got a banker char with auctioneer addon enabled all the time. For this char I've added one layer to the CFM list:

["AuctionProgressFrame"] = {
["strata"] = "MEDIUM",
["point"] = "BOTTOM",
["parent"] = "AuctionFrame",
["forceHide"] = false,
["alpha"] = 1,
["width"] = 299.9999929711365,
["lock"] = true,
["offsetY"] = 0,
["offsetX"] = 0,
["relativePoint"] = "TOP",
["sameXY"] = false,
["level"] = 58,
["height"] = 64.00000449847266,
["scale"] = 1,

The idea behind my modification is to put the progress bar nicely above the auctionframe. However this didnt happened when I've split some items with thebar. I had to open CFM options up and clicked around the options, that somehow registered the anchor. But seems until that point it was hooked to the original anchor.

Sorry to be that bugbag for you, I do like this addon even though I'm not using it to its full potential just yet. :]

Your coding ideas: I really appreciate your answers, many thanks. I should try to conjure up some energy and start learning lua myself. I got some serious ideas about guild addon for years that no one ever created yet but im sure people would say like O.o this is awesome info about our guild. Anyways I think I make some general ideas about learning lua and ui stuff and put your ideas on a list for sure.

Originally posted by ChaosInc
H0PE, what frames do you currently have registered? I've run across this bug before and it on specific frames. It's an issue with CFM trying to hook a script of a "non-existant" frame (meaning it's probably not loaded yet - Load on Demand).

EDIT: As far as your questions go:



I started out self-teaching HTML and have worked up from there. Same with lua coding. I opened other projects and looked over their coding to learn. You'll find a lot of authors actually started this way.


It is a rare occasion where an error is actually on Blizz's end and contact is needed to be made. 9/10 times it's an error on our side (misinterpretation of the API, typos, etc). For example, the achievement frame is something that I have to figure out. From experience, I've learned that some frames have animations that screw up placement, such as the recent update for vehicle frames. This will probably end up being another such case.



Changes to the API are usually released through the official forums. Look all the way at the bottom of patch notes at some point and you'll see a link they provide. A lot of times, however, changes are not documented and authors find them on their own and update everyone else. The one popular site I would suggest looking at if you're interested in getting started is WoWWiki.
Last edited by H0PE : 11-07-10 at 02:56 PM.
Report comment to moderator  
Reply With Quote
Unread 11-06-10, 07:52 PM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
H0PE, what frames do you currently have registered? I've run across this bug before and it on specific frames. It's an issue with CFM trying to hook a script of a "non-existant" frame (meaning it's probably not loaded yet - Load on Demand).

EDIT: As far as your questions go:

I always wanted to start making addons. I got a little coding experience but very limited.
I started out self-teaching HTML and have worked up from there. Same with lua coding. I opened other projects and looked over their coding to learn. You'll find a lot of authors actually started this way.

And I was always wondering: How the hell you communicate with issues with blizzard like this with the achievementframe? I mean do they listen at all?
It is a rare occasion where an error is actually on Blizz's end and contact is needed to be made. 9/10 times it's an error on our side (misinterpretation of the API, typos, etc). For example, the achievement frame is something that I have to figure out. From experience, I've learned that some frames have animations that screw up placement, such as the recent update for vehicle frames. This will probably end up being another such case.

Where do you learn about the changes from patch to patch? To me the whole ui coding is a big mistery and I was always afraid to start dealing with the subject
Changes to the API are usually released through the official forums. Look all the way at the bottom of patch notes at some point and you'll see a link they provide. A lot of times, however, changes are not documented and authors find them on their own and update everyone else. The one popular site I would suggest looking at if you're interested in getting started is WoWWiki.
Last edited by Sythalin : 11-06-10 at 07:59 PM.
Report comment to moderator  
Reply With Quote
Unread 11-06-10, 10:25 AM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
Thanks, kinda forgot about that one. When do you receive this message (login, adding a frame,etc)? At work but I'll fix whatever the issue is when I get home.
Report comment to moderator  
Reply With Quote
Unread 11-06-10, 05:11 AM  
H0PE
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 28
File comments: 299
Uploads: 1
EDIT:
Still got this error message:
1x CFM-wowi:revision\CFM.lua:77: attempt to index field '?' (a nil value)
(tail call): ?:

Locals:
(*temporary) = "ADDON_LOADED"
(*temporary) = "CFM"
(*temporary) = "ADDON_LOADED"
(*temporary) = "CFM"
(*temporary) = <function> defined =[C]:-1

---

I always wanted to start making addons. I got a little coding experience but very limited. And I was always wondering: How the hell you communicate with issues with blizzard like this with the achievementframe? I mean do they listen at all? where do you learn about the changes from patch to patch? To me the whole ui coding is a big mistery and I was always afraid to start dealing with the subject. :S

I wonder how can you do it.
Big thanks for your work!

Originally posted by ChaosInc
I've been able to replicate the achievement popup bug, but sad to say I haven't been able to supply a fix yet. Yey for more wierd Blizz behaviours.
Last edited by H0PE : 11-06-10 at 05:21 AM.
Report comment to moderator  
Reply With Quote
Unread 11-05-10, 08:32 PM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
I've been able to replicate the achievement popup bug, but sad to say I haven't been able to supply a fix yet. Yey for more wierd Blizz behaviours.
Report comment to moderator  
Reply With Quote
Unread 11-03-10, 06:34 AM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
That damned frame again. There's something wacky about it I swear.

I'll look into it and see what's going with both of those.
Report comment to moderator  
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.