controls question [Archive] - Quintessential Forum

PDA

View Full Version : controls question


Inthewoods
01-12-2004, 02:12 AM
I'm having a blast learning how to skin QCD. Right now, I'm up against a design problem. I have 2 extensions, both the same size and location, and both are resizable. (specifically, playlist and encoding windows). They open one over the other, but if one is currently resized from default size, it's a mess because they share some, but not all elements. So........ I need to find a way to implement one of the following:

1. Have both windows "track" the resizing from one control so they are always the same size (preferable), or 2. Find a way to simultaneously close one when the other opens so they're never both open together.


I'm stumped.......Anybody have any ideas?

fatal error
01-12-2004, 05:06 AM
************************************************** *****************
* ExtNopen/extNclose setting for opening/closing dependant extensions
************************************************** *****************

This setting defines dependant extensions that should open or close
based on an extension openning or closing.

Usage:

Ext2Open=1-,3+ ; when extension 2 opens, ext 1 will close,
; and ext 3 will open

Ext2Close=4+,3- ; when extension 2 closes, ext 4 will open,
; and ext 3 will close

Addition: It is standard for an extension to close when it's owner
extension closes. To override this, use the '=' operator with this
setting. Eg:

Ext1Close=2= ; for when ext 1 is the owner of ext 2,
; this will allow ext 2 to remain open when
; ext 1 closes

above is from skinning updates text file

stretching 2 extensions at same time isnt possible as far as I know.

Inthewoods
01-12-2004, 05:26 PM
************************************************** *****************
* ExtNopen/extNclose setting for opening/closing dependant extensions
************************************************** *****************

This setting defines dependant extensions that should open or close
based on an extension openning or closing.

Usage:

Ext2Open=1-,3+ ; when extension 2 opens, ext 1 will close,
; and ext 3 will open

Ext2Close=4+,3- ; when extension 2 closes, ext 4 will open,
; and ext 3 will close

Addition: It is standard for an extension to close when it's owner
extension closes. To override this, use the '=' operator with this
setting. Eg:

Ext1Close=2= ; for when ext 1 is the owner of ext 2,
; this will allow ext 2 to remain open when
; ext 1 closes

above is from skinning updates text file

stretching 2 extensions at same time isnt possible as far as I know.


Thanks for pointing me to that skinning updates file. Your suggestion worked fine.

Inthewoods
01-13-2004, 02:36 AM
Hi again...

I'm having a heck of a time getting the ResizeSet buttons to line up properly on the skin borders. They're almost there, but when I attempt to tweak the map positions, things are getting kinda murky...I can't seem to figure out how to correctly measure button positions and sizes vs map positions and sizes. Is this just a learning curve thing or are there some "rules" if you will, to help get things finished?

Inthewoods
01-13-2004, 02:42 AM
Hi again...

I'm having a heck of a time getting the ResizeSet buttons to line up properly on the skin borders. They're almost there, but when I attempt to tweak the map positions, things are getting kinda murky...I can't seem to figure out how to correctly measure button positions and sizes vs map positions and sizes. Is this just a learning curve thing or are there some "rules" if you will, to help get things finished?


I just figured it out, I had a couple extra pixels of blank space around the resize buttons.....

Inthewoods
01-17-2004, 12:29 AM
Hi Again......

Is it possible to have access to the vis plug-ins from the main body (as in the quinamp3 skin) and from an extension as well? (I'm not talking external vis but rather an actual numbered extension). They don't need to be active at the same time, I just want to be able to access the vis from 2 different locations.

any ideas?

regener8ed
01-17-2004, 04:59 AM
Right now, I'm up against a design problem. I have 2 extensions, both the same size and location, and both are resizable. (specifically, playlist and encoding windows). They open one over the other, but if one is currently resized from default size, it's a mess because they share some, but not all elements. So........ I need to find a way to implement one of the following:

1. Have both windows "track" the resizing from one control so they are always the same size (preferable), or 2. Find a way to simultaneously close one when the other opens so they're never both open together.

I'm stumped.......Anybody have any ideas?
here's a little tip about resizing your playlist/encoder: extensions owned by a resizable extension will be move/stretch if the owner resizes. However, an owned extension won't have this dependancy if it has its own resize control.

so: 1. if you want the encoder to resize along with the playlist, DON'T put a resize control on the encoder. simply putting the extension map for the encoder over top of the playlist will make the playlist extension "own" the encoder extension. (p.s.: don't put the encoder body where it will cover the playlist resize control - leave that area transparent.)
2. you really don't need a close button for the encoder extension either - let the close button for the playlist show thru also and it will do the trick for both.

Inthewoods
01-17-2004, 02:05 PM
here's a little tip about resizing your playlist/encoder: extensions owned by a resizable extension will be move/stretch if the owner resizes. However, an owned extension won't have this dependancy if it has its own resize control.

so: 1. if you want the encoder to resize along with the playlist, DON'T put a resize control on the encoder. simply putting the extension map for the encoder over top of the playlist will make the playlist extension "own" the encoder extension. (p.s.: don't put the encoder body where it will cover the playlist resize control - leave that area transparent.)
2. you really don't need a close button for the encoder extension either - let the close button for the playlist show thru also and it will do the trick for both.


Hi regener8ed,

Your suggestion sounded really good, so I followed your advice to the letter, relocating the encoder map so it opens over the playlist, removed the resize control and made the appropriate areas transparent. However, the encoder still doesn't resize with the playlist (and of course without the resize control the encoder won't resize at all now). By definition, my playlist "owns" the encoder because it contains the control for it.....but, I was wondering, could this problem be due to the fact that I have all my extensions set as dragable? It's not a big deal really, but I get kind of obsessed (a nice way of saying anal I guess ) when I can't make something work the way it "should". In any case, thanks for the tip, I'll keep pluggin' away.....

regener8ed
01-17-2004, 03:39 PM
the encoder still doesn't resize with the playlist (and of course without the resize control the encoder won't resize at all now). By definition, my playlist "owns" the encoder because it contains the control for it.....but, I was wondering, could this problem be due to the fact that I have all my extensions set as dragable?
a couple things i would check:
- make sure all of the controls on each extension are completely surrounded by the body color the extension they are on.
- make sure the button to toggle the encoder extension is located on the playlist extension (again make sure this shows thru when the encoder layer is visible).
- you want to make the playlist extension draggable, but NOT the encoder (since you want it to stay linked to the playlist).
- one other thing, you'll want to set extontop for the encoder layer, so that whenever you resize or touch any part of the playlist extension that shows thru, it wont pull the playlist extension back on top of the encoder.

Inthewoods
01-17-2004, 03:54 PM
You stated:
"- you want to make the playlist extension draggable, but NOT the encoder (since you want it to stay linked to the playlist)."

That was the ticket! I made the encoder undraggable, it works beautifully now. It was one of those "so obvious to anybody except for the guy who's working on it" type of things.....