xref: /haiku/src/apps/deskbar/WindowMenu.h (revision 25a7b01d15612846f332751841da3579db313082)
141281cf3SAxel Dörfler /*
241281cf3SAxel Dörfler Open Tracker License
341281cf3SAxel Dörfler 
441281cf3SAxel Dörfler Terms and Conditions
541281cf3SAxel Dörfler 
641281cf3SAxel Dörfler Copyright (c) 1991-2000, Be Incorporated. All rights reserved.
741281cf3SAxel Dörfler 
841281cf3SAxel Dörfler Permission is hereby granted, free of charge, to any person obtaining a copy of
941281cf3SAxel Dörfler this software and associated documentation files (the "Software"), to deal in
1041281cf3SAxel Dörfler the Software without restriction, including without limitation the rights to
1141281cf3SAxel Dörfler use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
1241281cf3SAxel Dörfler of the Software, and to permit persons to whom the Software is furnished to do
1341281cf3SAxel Dörfler so, subject to the following conditions:
1441281cf3SAxel Dörfler 
1541281cf3SAxel Dörfler The above copyright notice and this permission notice applies to all licensees
1641281cf3SAxel Dörfler and shall be included in all copies or substantial portions of the Software.
1741281cf3SAxel Dörfler 
1841281cf3SAxel Dörfler THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1941281cf3SAxel Dörfler IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF TITLE, MERCHANTABILITY,
2041281cf3SAxel Dörfler FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
2141281cf3SAxel Dörfler BE INCORPORATED BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
2241281cf3SAxel Dörfler AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION
2341281cf3SAxel Dörfler WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2441281cf3SAxel Dörfler 
2541281cf3SAxel Dörfler Except as contained in this notice, the name of Be Incorporated shall not be
2641281cf3SAxel Dörfler used in advertising or otherwise to promote the sale, use or other dealings in
2741281cf3SAxel Dörfler this Software without prior written authorization from Be Incorporated.
2841281cf3SAxel Dörfler 
291687edd0SFredrik Holmqvist Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
301687edd0SFredrik Holmqvist trademarks of Be Incorporated in the United States and other countries. Other
311687edd0SFredrik Holmqvist brand product names are registered trademarks or trademarks of their respective
321687edd0SFredrik Holmqvist holders.
3341281cf3SAxel Dörfler All rights reserved.
3441281cf3SAxel Dörfler */
351cd61330SJohn Scipione #ifndef WINDOWMENU_H
361cd61330SJohn Scipione #define WINDOWMENU_H
371cd61330SJohn Scipione 
3841281cf3SAxel Dörfler 
3941281cf3SAxel Dörfler // list of windows for a specific application
4041281cf3SAxel Dörfler // always submenu for a TeamMenuItem
4141281cf3SAxel Dörfler // all DB positions
4241281cf3SAxel Dörfler 
4341281cf3SAxel Dörfler 
4441281cf3SAxel Dörfler #include <Menu.h>
4541281cf3SAxel Dörfler #include <String.h>
46*1a59d9dbSRyan Leavengood #include <WindowInfo.h>
4741281cf3SAxel Dörfler 
4841281cf3SAxel Dörfler 
4941281cf3SAxel Dörfler class TWindowMenu : public BMenu {
5041281cf3SAxel Dörfler 	public:
5141281cf3SAxel Dörfler 		TWindowMenu(const BList* team, const char* signature);
5241281cf3SAxel Dörfler 
5341281cf3SAxel Dörfler 		virtual void	AttachedToWindow();
5441281cf3SAxel Dörfler 		virtual void	DetachedFromWindow();
5541281cf3SAxel Dörfler 
5641281cf3SAxel Dörfler 		BPoint			ScreenLocation();
5741281cf3SAxel Dörfler 		void			SetExpanded(bool status, int addAtIndex);
58*1a59d9dbSRyan Leavengood 		static bool		WindowShouldBeListed(client_window_info* info);
5941281cf3SAxel Dörfler 
6041281cf3SAxel Dörfler 	private:
6141281cf3SAxel Dörfler 		const BList		*fTeam;
6241281cf3SAxel Dörfler 		BString			fApplicationSignature;
6341281cf3SAxel Dörfler 		bool			fExpanded;
6441281cf3SAxel Dörfler 		int				fExpandedIndex;
6541281cf3SAxel Dörfler };
6641281cf3SAxel Dörfler 
6771bd3ba5SJonas Sundström 
681cd61330SJohn Scipione #endif	/* WINDOWMENU_H */
69