Download
(4Kb)
Download
Updated: 12-09-09 08:05 AM
Pictures
File Info
Updated:12-09-09 08:05 AM
Created:08-14-09 07:31 AM
Downloads:22,776
Favorites:85
MD5:

oUF MoveableFrames  Popular! (More than 5000 hits)

Version: 1.6
by: Xruptor [More]

THIS ADDON IS OUTDATED! IT HAS BEEN ABANDONED! I DON'T PLAN TO UPDATE IT!

THIS MOD IS NO LONGER MAINTAINED. I HAVE ONLY KEPT IT IN CASE YOUR USING A REALLY OLD OUF LAYOUT! OTHERWISE USE THE MOD BELOW INSTEAD TO MOVE YOUR FRAMES! IT'S THE OFFICIAL ONE FROM HASTE!

oUF_MovableFrames





------------------------------------------------------------------------

BTW: Yes I know it's spelled 'movable' and not 'moveable', but you'd be surprised how many people forget that. I also wanted this library to show in searches when the word 'move' was used. :P

Since so many oUF layouts have frames that cannot be moved or repositioned. I created this plugin to allow users to move frames without having to have any programming experience.

NOTE: This plugin requires that the oUF layout author add support for this plugin in their oUF layout. If support is not added then this plugin will not work.

Usage: Type /mvf to toggle the unlocking and locking of frames.

Header frames will have a small movable red square that can be positioned anywhere on the screen. You may or may not be able to see the frames attached to this anchor.


----------------------------
Authors:

NOTE: Authors you MUST make sure your frames and objects are created with NAMES. If no names are provided then the library will return errors. The library cannot possibly know how to save/restore a frame or object with no name.

To implement this plugin in your layout, simply add the code below in the style creation (frame creation) phase of your addon.

Code:
self.MoveableFrames = true

OPTIONAL:
You can also use the new BlackList and WhiteList functions added in version 1.3:

Code:
oUF_MoveableFrames_BLKLST(framename)

OPTIONAL:
Blacklisted frames will not be able to be moved or repositioned by the user. So if you have a specific frame you want not to be moved, then use this function.

Code:
oUF_MoveableFrames_WHTLST(framename)

OPTIONAL:
Whitelisted frames will be able to be moved and repositioned by the user. This function can be used for frames outside of the oUF object set. So if you have custom frames you wish to be added to the moveableframes library, you can use this function to do so.


-----------------------
HEADER FRAME SUPPORT:
-----------------------


Header frames are now supported in this library. The 'oUF_MoveableFrames_HEADER' function will automatically create an anchor frame that can be moved by the user. This anchor will be stored and repositioned each time the user logs into the game. There is no special setup required. All frames that are passed to this function will have it's SetPoint set to the anchor.

Code:
oUF_MoveableFrames_HEADER(frame, desc, ofsx, ofsy)
NOTE: In order to see the anchors on the screen, the users must use the slash command /mvf. The anchor frames are hidden by default.

Version 1.6:
-Updated toc

Version 1.5:
-Removed some redundant code
-Some code cleanup

Version 1.4:
NOTE: Frames must now be moved using the unlock/lock toggle. Type /mvf to toggle.
-Removed some redundant code
-Removed the ability to drag frames using the ALT key.
-Added a lock/unlock toggle for moving frames. (Alt Key drag has been removed)

Version 1.3:
-Added two new functions to allow authors to add frames to a WhiteList or BlackList.
-Added function oUF_MoveableFrames_BLKLST, allows an author to add a frame to a list of frames that cannot be moved or repositioned.
-Added function oUF_MoveableFrames_WHTLST, allows an author to add a frame to a list of frames that can be moved and repositioned.

-Added Header Frame Support!
--Added function oUF_MoveableFrames_HEADER, allows an author to designate a header frame he/she wants to be moved and repositioned. This function will automatically create a movable anchor frame that will have it's positioned stored and then restored. The parent frame will have it's position automatically set to the anchor. There is no special setup required.

-Added a slash command, /mvf to display and hide all the header frame anchors on the screen.


Version 1.2:
-Added several nil checks
-Added a warning display for frames/objects with no names to reposition.
-Added a note to oUF style authors to please add names to their frames/objects.

Version 1.1:
-Fixed placement issues and position bugs that were occurring for some users. (Special thanks to Dawn)
Optional Files (0)


Post A Reply Comment Options
Unread 10-30-09, 02:34 AM  
zizko
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Hi!

I used Ouf_alekk layout, and i dont know where can i paste :
self.MoveableFrames = true

Pls, help me!
Many Thanks!
Report comment to moderator  
Reply With Quote
Unread 10-29-09, 06:37 AM  
Xruptor
A Flamescale Wyrmkin
 
Xruptor's Avatar
AddOn Author - Click to view AddOns

Forum posts: 137
File comments: 640
Uploads: 22
Originally posted by Dawn
I want to use it with oUF_viv, however I'm using a function to make them moveable and have set movableframes to false for party and raidframes, since they reset anyway and I wanted to prevent creating a mess. Since function and moveableframes both save to layout-local.

But party and raid resetting their position is not only a prob with oUF_viv, from what I read, other layouts, like Caelian's also "suffer" from it.


edit: I could upload a modified version of viv (without the move function) as an optional file. Basically, it shouldn't be a problem to keep the code for testing purposes, though. Since oUF_MoveableFrames lets you move frames by clicking directly on the bars. I have my "move frames" sitting on the sides of bars to prevent clicking issues. You can also show those frames with an option (see setup part of the layout).

Thanks for looking into it.
Hmmm... let me take a look at this modified version. If what you say is true, then it would appear that headers may be causing some issues on several layouts.
__________________
Click HERE for the ultimate idiot test.

if (sizeof(sadness) > sizeof(happiness)) { initDepression(); }
Report comment to moderator  
Reply With Quote
Unread 10-28-09, 02:16 PM  
shinchih2001
A Defias Bandit

Forum posts: 3
File comments: 198
Uploads: 0
Originally posted by Derkyle
The creator of the layout must provide names for their frames or objects when created. Otherwise how is the library supposed to know what frame is being moved and how to store the positions? If no name is given then the returned value is nil or anonymous frame.

Example:
local newFrame = CreateFrame("Frame", "MyTempFrame", UIParent)


This creates a frame named MyTempFrame with a parent of UIParent

Example 2:
local newFrame = CreateFrame("Frame", nil, UIParent)


This creates a frame with absolutely NO NAME. Thus impossible for the moving function to store and restore a frame or object by name.

------------

Mind you I can put some checks for nil values, however no storing/restoring of positions would occur and you would have to move the frames every single time.

If an issue like this occurs, it's best to contact the creator of the oUF style and alert them that their frames or objects require names.
THANKS FOR YOUR ANSWER^^
Report comment to moderator  
Reply With Quote
Unread 10-28-09, 11:44 AM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 918
File comments: 959
Uploads: 22
I want to use it with oUF_viv, however I'm using a function to make them moveable and have set movableframes to false for party and raidframes, since they reset anyway and I wanted to prevent creating a mess. Since function and moveableframes both save to layout-local.

But party and raid resetting their position is not only a prob with oUF_viv, from what I read, other layouts, like Caelian's also "suffer" from it.


edit: I could upload a modified version of viv (without the move function) as an optional file. Basically, it shouldn't be a problem to keep the code for testing purposes, though. Since oUF_MoveableFrames lets you move frames by clicking directly on the bars. I have my "move frames" sitting on the sides of bars to prevent clicking issues. You can also show those frames with an option (see setup part of the layout).

Thanks for looking into it.
Last edited by Dawn : 10-28-09 at 11:50 AM.
Report comment to moderator  
Reply With Quote
Unread 10-27-09, 03:00 PM  
Xruptor
A Flamescale Wyrmkin
 
Xruptor's Avatar
AddOn Author - Click to view AddOns

Forum posts: 137
File comments: 640
Uploads: 22
Originally posted by Dawn
I can't test the new version at this PC, but any chance this will work better (or at all) with party and raid frames using headers?

*wants to get rid of that party/raid move function in his layout*
*chuckle*

No I didn't add anything to handle headers. However, I will look into it for you Dawn Let me get your layout so I can make some modifications.

Actually, which layout are you referring to. You have several :P
__________________
Click HERE for the ultimate idiot test.

if (sizeof(sadness) > sizeof(happiness)) { initDepression(); }
Last edited by Xruptor : 10-27-09 at 03:01 PM.
Report comment to moderator  
Reply With Quote
Unread 10-27-09, 09:17 AM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 918
File comments: 959
Uploads: 22
I can't test the new version at this PC, but any chance this will work better (or at all) with party and raid frames using headers?

*wants to get rid of that party/raid move function in his layout*
Report comment to moderator  
Reply With Quote
Unread 10-27-09, 06:45 AM  
Xruptor
A Flamescale Wyrmkin
 
Xruptor's Avatar
AddOn Author - Click to view AddOns

Forum posts: 137
File comments: 640
Uploads: 22
I uploaded an updated version of the library to address the nil issue. I've added several checks for nil values. I've also added a warning notification for frames/objects that have no name and are being repositioned.

I've updated the description for the project to address the primary issue around the nil error.
__________________
Click HERE for the ultimate idiot test.

if (sizeof(sadness) > sizeof(happiness)) { initDepression(); }
Report comment to moderator  
Reply With Quote
Unread 10-26-09, 10:03 AM  
Xruptor
A Flamescale Wyrmkin
 
Xruptor's Avatar
AddOn Author - Click to view AddOns

Forum posts: 137
File comments: 640
Uploads: 22
Originally posted by shinchih2001
[2009/10/26 11:35:26-702-x1]: oUF_MoveableFrames-1.1\oUF_MoveableFrames.lua:26: table index is nil
oUF_MoveableFrames-1.1\oUF_MoveableFrames.lua:104: in function <...ace\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:97>

when i move oUF_Brun ToToT frame,i got this error
The creator of the layout must provide names for their frames or objects when created. Otherwise how is the library supposed to know what frame is being moved and how to store the positions? If no name is given then the returned value is nil or anonymous frame.

Example:
local newFrame = CreateFrame("Frame", "MyTempFrame", UIParent)


This creates a frame named MyTempFrame with a parent of UIParent

Example 2:
local newFrame = CreateFrame("Frame", nil, UIParent)


This creates a frame with absolutely NO NAME. Thus impossible for the moving function to store and restore a frame or object by name.

------------

Mind you I can put some checks for nil values, however no storing/restoring of positions would occur and you would have to move the frames every single time.

If an issue like this occurs, it's best to contact the creator of the oUF style and alert them that their frames or objects require names.
__________________
Click HERE for the ultimate idiot test.

if (sizeof(sadness) > sizeof(happiness)) { initDepression(); }
Report comment to moderator  
Reply With Quote
Unread 10-26-09, 04:25 AM  
shinchih2001
A Defias Bandit

Forum posts: 3
File comments: 198
Uploads: 0
[2009/10/26 11:35:26-702-x1]: oUF_MoveableFrames-1.1\oUF_MoveableFrames.lua:26: table index is nil
oUF_MoveableFrames-1.1\oUF_MoveableFrames.lua:104: in function <...ace\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:97>

when i move oUF_Brun ToToT frame,i got this error
Report comment to moderator  
Reply With Quote
Unread 10-02-09, 08:13 AM  
Xruptor
A Flamescale Wyrmkin
 
Xruptor's Avatar
AddOn Author - Click to view AddOns

Forum posts: 137
File comments: 640
Uploads: 22
Originally posted by Arrowsong
I seem to be having an issue, and I'm not sure if it is caused by this addon or possibly oOF_Tukz so I'll paste the error log just in case. Maybe you can give me a heads up?

Once I enter the world, if I go into combat I get the "Action has been blocked", however, if I reload my UI as soon as I enter the world, then I get no errors until the next time I shutdown, restart wow. So, for now, as soon as I enter world, I simply reload the UI to avoid the problem. Just thought to paste the log here, in case it was someting that could be checked, fixed?

---START OF TAINT LOG---
9/15 21:11:58.734 Execution tainted by oUF while reading oUF_Tukz_targettarget - getglobal()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:43 RestoreLayout()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:75 func()
9/15 21:11:58.734 Interface\AddOns\oUF\ouf.lua:495
9/15 21:11:58.734 oUF_Tukz_targettarget:Show()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:72 SecureStateDriverManager_UpdateUnitWatch()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:111
9/15 21:11:58.734 An action was blocked in combat because of taint from oUF - oUF_Tukz_targettarget:ClearAllPoints()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:62 RestoreLayout()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:75 func()
9/15 21:11:58.734 Interface\AddOns\oUF\ouf.lua:495
9/15 21:11:58.734 oUF_Tukz_targettarget:Show()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:72 SecureStateDriverManager_UpdateUnitWatch()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:111
9/15 21:11:58.734 An action was blocked in combat because of taint from oUF - oUF_Tukz_targettarget:SetPoint()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:63 RestoreLayout()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:75 func()
9/15 21:11:58.734 Interface\AddOns\oUF\ouf.lua:495
9/15 21:11:58.734 oUF_Tukz_targettarget:Show()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:72 SecureStateDriverManager_UpdateUnitWatch()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:111
---END OF TAINT LOG---

Thanks for any input.
It appears that some actions are being triggered by oUF_Tukz during combat that is triggering these taints. Many of them seem to be movement calls that are made by the mod oUF_Tukz itself.

Execution tainted by oUF while reading oUF_Tukz_targettarget - getglobal()

The targettarget frames or functions of the mod seem to be calling several of these taints. I would contact the author and have him/her address these. The oUF_MoveableFrames library only adds built in blizzard functionality to frames if a specific parameter is found. Again, I suggest you bring this up with the author as there are several UnitFrames that use this library with no issues/taints. Wish I could have helped a bit more on your question though
__________________
Click HERE for the ultimate idiot test.

if (sizeof(sadness) > sizeof(happiness)) { initDepression(); }
Report comment to moderator  
Reply With Quote
Unread 10-02-09, 08:08 AM  
Xruptor
A Flamescale Wyrmkin
 
Xruptor's Avatar
AddOn Author - Click to view AddOns

Forum posts: 137
File comments: 640
Uploads: 22
Originally posted by shinchih2001
oUF_Cealling is support for your addon
but i can"t mvoe oUF_Cealling's party and raid frame@@
The frames must have parent frames that are moveable and have the correct marker for this library to work. I haven't taken a look at oUF_Cealling myself, but I assure you that probably is the issue. This has happened before with another mod and in fact an issue similar to this was addressed below in previous posts.
__________________
Click HERE for the ultimate idiot test.

if (sizeof(sadness) > sizeof(happiness)) { initDepression(); }
Report comment to moderator  
Reply With Quote
Unread 09-16-09, 02:04 PM  
Arrowsong
A Defias Bandit

Forum posts: 2
File comments: 34
Uploads: 0
I seem to be having an issue, and I'm not sure if it is caused by this addon or possibly oOF_Tukz so I'll paste the error log just in case. Maybe you can give me a heads up?

Once I enter the world, if I go into combat I get the "Action has been blocked", however, if I reload my UI as soon as I enter the world, then I get no errors until the next time I shutdown, restart wow. So, for now, as soon as I enter world, I simply reload the UI to avoid the problem. Just thought to paste the log here, in case it was someting that could be checked, fixed?

---START OF TAINT LOG---
9/15 21:11:58.734 Execution tainted by oUF while reading oUF_Tukz_targettarget - getglobal()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:43 RestoreLayout()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:75 func()
9/15 21:11:58.734 Interface\AddOns\oUF\ouf.lua:495
9/15 21:11:58.734 oUF_Tukz_targettarget:Show()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:72 SecureStateDriverManager_UpdateUnitWatch()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:111
9/15 21:11:58.734 An action was blocked in combat because of taint from oUF - oUF_Tukz_targettarget:ClearAllPoints()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:62 RestoreLayout()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:75 func()
9/15 21:11:58.734 Interface\AddOns\oUF\ouf.lua:495
9/15 21:11:58.734 oUF_Tukz_targettarget:Show()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:72 SecureStateDriverManager_UpdateUnitWatch()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:111
9/15 21:11:58.734 An action was blocked in combat because of taint from oUF - oUF_Tukz_targettarget:SetPoint()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:63 RestoreLayout()
9/15 21:11:58.734 Interface\AddOns\oUF_MoveableFrames\oUF_MoveableFrames.lua:75 func()
9/15 21:11:58.734 Interface\AddOns\oUF\ouf.lua:495
9/15 21:11:58.734 oUF_Tukz_targettarget:Show()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:72 SecureStateDriverManager_UpdateUnitWatch()
9/15 21:11:58.734 Interface\FrameXML\SecureStateDriver.lua:111
---END OF TAINT LOG---

Thanks for any input.
Report comment to moderator  
Reply With Quote
Unread 09-14-09, 12:47 AM  
shinchih2001
A Defias Bandit

Forum posts: 3
File comments: 198
Uploads: 0
oUF_Cealling is support for your addon
but i can"t mvoe oUF_Cealling's party and raid frame@@
Report comment to moderator  
Reply With Quote
Unread 09-01-09, 09:31 AM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 918
File comments: 959
Uploads: 22
Holder frames, grrr. I'm getting bored of them. Thank you for the head up.
Report comment to moderator  
Reply With Quote
Unread 08-31-09, 04:24 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
Party frames are anchored to a header, same goes for raid. We had this discussion about moving oUF frames in the forum already. You can move party/raid aswell, but to do so you need to parent the party/raid headers to a container frame that you are going to move.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: