Category: oUF: Plugins
Addon Information
Works with 3.2
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)
Derkyle's Portal Bug Reports Feature Requests
Author:
Version:
1.5
Date:
11-13-2009 08:04 AM
Size:
3.80 Kb
Downloads:
5,953
Favorites:
82
MD5:
Pictures
oUF MoveableFrames   Popular! (More than 5000 hits)
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.
  Change Log - oUF MoveableFrames
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 - oUF MoveableFrames
Sorry, there are currently no optional files available.
  Archived Versions - oUF MoveableFrames
File Name
Version
Size
Author
Date
1.4
4kB
Derkyle
11-04-2009 09:22 AM
1.3
4kB
Derkyle
11-01-2009 08:58 AM
1.2
2kB
Derkyle
10-27-2009 08:43 AM
1.1
2kB
Derkyle
08-15-2009 10:20 AM
1.0
2kB
Derkyle
08-14-2009 09:31 AM
  Comments - oUF MoveableFrames
Post A Reply Comment Options
Old 11-07-2009, 11:48 AM  
zizko
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Quote:
Originally posted by Derkyle
Find in Interface\ouf_Alekk\ouf_alekk.lua

Code:
self.Health = CreateFrame("StatusBar", nil, self)
Right ABOVE that put

Code:
self.MoveableFrames = true
Many Thanks!
Worked
zizko is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 11-07-2009, 08:13 AM  
Derkyle
A Fallenroot Satyr
 
Derkyle's Avatar
Interface Author - Click to view interfaces

Forum posts: 23
File comments: 115
Uploads: 14
Quote:
Originally posted by zizko
Hi!

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

Pls, help me!
Many Thanks!
Find in Interface\ouf_Alekk\ouf_alekk.lua

Code:
self.Health = CreateFrame("StatusBar", nil, self)
Right ABOVE that put

Code:
self.MoveableFrames = true
__________________
-Derkyle
Derkyle is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 11-04-2009, 09:23 AM  
Derkyle
A Fallenroot Satyr
 
Derkyle's Avatar
Interface Author - Click to view interfaces

Forum posts: 23
File comments: 115
Uploads: 14
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)
__________________
-Derkyle
Derkyle is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 11-01-2009, 09:09 AM  
Derkyle
A Fallenroot Satyr
 
Derkyle's Avatar
Interface Author - Click to view interfaces

Forum posts: 23
File comments: 115
Uploads: 14
New BlackList and WhiteList functions added in version 1.3:

Code:
oUF_MoveableFrames_BLKLST(framename)
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)
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.
__________________
-Derkyle
Derkyle is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-30-2009, 04: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!
zizko is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-29-2009, 08:37 AM  
Derkyle
A Fallenroot Satyr
 
Derkyle's Avatar
Interface Author - Click to view interfaces

Forum posts: 23
File comments: 115
Uploads: 14
Quote:
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.
__________________
-Derkyle
Derkyle is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-28-2009, 04:16 PM  
shinchih2001
A Kobold Labourer

Forum posts: 0
File comments: 97
Uploads: 0
Quote:
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^^
shinchih2001 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-28-2009, 01:44 PM  
Dawn
A Chromatic Dragonspawn
 
Dawn's Avatar
Interface Author - Click to view interfaces

Forum posts: 175
File comments: 401
Uploads: 14
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-2009 at 01:50 PM.
Dawn is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-27-2009, 05:00 PM  
Derkyle
A Fallenroot Satyr
 
Derkyle's Avatar
Interface Author - Click to view interfaces

Forum posts: 23
File comments: 115
Uploads: 14
Quote:
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
__________________
-Derkyle

Last edited by Derkyle : 10-27-2009 at 05:01 PM.
Derkyle is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-27-2009, 11:17 AM  
Dawn
A Chromatic Dragonspawn
 
Dawn's Avatar
Interface Author - Click to view interfaces

Forum posts: 175
File comments: 401
Uploads: 14
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*
Dawn is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-27-2009, 08:45 AM  
Derkyle
A Fallenroot Satyr
 
Derkyle's Avatar
Interface Author - Click to view interfaces

Forum posts: 23
File comments: 115
Uploads: 14
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.
__________________
-Derkyle
Derkyle is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-26-2009, 12:03 PM  
Derkyle
A Fallenroot Satyr
 
Derkyle's Avatar
Interface Author - Click to view interfaces

Forum posts: 23
File comments: 115
Uploads: 14
Quote:
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.
__________________
-Derkyle
Derkyle is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-26-2009, 06:25 AM  
shinchih2001
A Kobold Labourer

Forum posts: 0
File comments: 97
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
shinchih2001 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-02-2009, 10:13 AM  
Derkyle
A Fallenroot Satyr
 
Derkyle's Avatar
Interface Author - Click to view interfaces

Forum posts: 23
File comments: 115
Uploads: 14
Quote:
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
__________________
-Derkyle
Derkyle is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 10-02-2009, 10:08 AM  
Derkyle
A Fallenroot Satyr
 
Derkyle's Avatar
Interface Author - Click to view interfaces

Forum posts: 23
File comments: 115
Uploads: 14
Quote:
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.
__________________
-Derkyle
Derkyle is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Post A Reply



Category Jump:




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.