[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] Hiding and re-showing a window?



if you use visible_ instead of show and hide, it would be compatible with swingosc

Am 08.05.2009 um 11:28 schrieb thelych@xxxxxxxxx:

Batuhan,

Cocoa only, if you want to hide the window you can try that (should work)

(
w = SCWindow("my name is... panel", Rect(128, 64, 340, 360));

32.do({ arg i;
	b = SCButton(w, Rect(rrand(20,300),rrand(20,300), 75, 24));
	b.states = [["Start "++i, Color.black, Color.rand],
		["Stop "++i, Color.white, Color.red]];
});
w.front;
)

a = SCNSObject.newFromRawPointer(w.slotAt(0));
b = a.invoke("window"); a.release; // release a
b.invoke("orderOut:", [b], true); // hide


b.invoke("orderFront:", [b], true); // show
b.release; // release it when you do not need to hide it again...ect...


Wrapped up fast - checking for isVisible may be better ...ect...

+SCWindow {
	asNSWindow {
		var view, window;
		view = SCNSObject.newFromRawPointer(dataptr);
		window = view.invoke("window");
		view.release;
		^window; // you own it - call release one you do not need it anymore
	}
	
	hide {
		var nsObj;
		nsObj = this.asNSWindow;
		nsObj.invoke("orderOut:", [nil], true);
		nsObj.release;
	}
	
	show {
		var nsObj;
		nsObj = this.asNSWindow;
		nsObj.invoke("orderFront:", [nil], true);
		nsObj.release;
	}
}


(
w = SCWindow("my name is... panel", Rect(128, 64, 340, 360));

32.do({ arg i;
	b = SCButton(w, Rect(rrand(20,300),rrand(20,300), 75, 24));
	b.states = [["Start "++i, Color.black, Color.rand],
		["Stop "++i, Color.white, Color.red]];
});
w.front;
)
w.hide; // hide
w.show; // show


best,
charles

Le 7 mai 09 à 22:14, Batuhan Bozkurt a écrit :

Hi James, I've completely disregarded alpha because well, I thought when alpha is 0, the window is still there and thought it would respond to clicks and I'll have code windows floating around, so I thought it would interfere, but trying it now, seems that when alpha is 0 there is this exception that the window does not respond to clicks (i.e. never becomes the front window) so I can access other code windows without the zero alpha window getting on my way (I'm not really sure now if that is reliable though, is this a "feature"?). It is still there in expose etc. (invisible but space is reserved) but I can live with that I guess...

If there is a better way of doing it I'm always interested though...

Thanks,
Batuhan

On May 7, 2009, at 8:45 PM, James Harkins wrote:

Actually there could be a cross-platform issue here. I think the alpha
trick works on mac, but not SwingOSC. For SwingOSC:

w.visible = false;
w.visible = true;

Not sure if SCWindow supports visible_.

hjh

PS Yes, once you close a window, it's gone. w.close is permanent.




On Thu, May 7, 2009 at 2:40 PM, James Harkins <jamshark70@xxxxxxxxx> wrote:
Set the window's alpha to 0? Then back to 1 when you need it again.
hjh

On Thu, May 7, 2009 at 3:39 PM, Batuhan Bozkurt
<batuhan@xxxxxxxxxxxxxxxxxx> wrote:
Hi all,

Stuck on something very fundamental, I can't really see how I haven't needed this before but, how should I go for hiding a window to be able to reopen it later on without creating a new Window, with its state intact (i.e. without reinitializing the window and widgets, the ones which I use now are actually subclasses of the standard widgets and they have their own private states)? I know this is also a question of design, but for now, I'd be really happy if I could just close a window (or hide it) and reopen it as if it was always there, just by rendering it invisible then visible... I've ditched the docs and the archives but couldn't find a mention of it at all. Now seems like once I close the window, its gone forever... Any pointers?


--
James Harkins /// dewdrop world
jamshark70@xxxxxxxxxxxxxxxxx
http://www.dewdrop-world.net

"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal."  -- Whitman

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/ sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/


_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/ sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/



_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/