xref: /haiku/src/apps/pairs/PairsWindow.h (revision fdc055299718951a44e0fcd2dce7cda075190eec)
169e62e48SStephan Aßmus /*
24c587adeSStephan Aßmus  * Copyright 2008 Ralf Schülke, ralf.schuelke@googlemail.com.
34c587adeSStephan Aßmus  * Copyright 2010 Adam Smith <adamd.smith@utoronto.ca>
4c6b0a589SJohn Scipione  * Copyright 2014 Haiku, Inc. All rights reserved.
5c6b0a589SJohn Scipione  *
6c6b0a589SJohn Scipione  * Distributed under the terms of the MIT License.
7c6b0a589SJohn Scipione  *
8c6b0a589SJohn Scipione  * Authors:
9*fdc05529SJohn Scipione  *		Ralf Schülke, ralf.schuelke@googlemail.com
10c6b0a589SJohn Scipione  *		John Scipione, jscipione@gmail.com
11*fdc05529SJohn Scipione  *		Adam Smith, adamd.smith@utoronto.ca
1269e62e48SStephan Aßmus  */
1369e62e48SStephan Aßmus #ifndef PAIRS_WINDOW_H
1469e62e48SStephan Aßmus #define PAIRS_WINDOW_H
1569e62e48SStephan Aßmus 
16c6b0a589SJohn Scipione 
1769e62e48SStephan Aßmus #include <Window.h>
1869e62e48SStephan Aßmus 
19c6b0a589SJohn Scipione 
2097e1b053SJohn Scipione class BMenu;
2169e62e48SStephan Aßmus class BMessageRunner;
2297e1b053SJohn Scipione class PairsView;
2369e62e48SStephan Aßmus 
2469e62e48SStephan Aßmus 
2569e62e48SStephan Aßmus class PairsWindow : public BWindow {
2669e62e48SStephan Aßmus public:
2769e62e48SStephan Aßmus 								PairsWindow();
2869e62e48SStephan Aßmus 		virtual					~PairsWindow();
2969e62e48SStephan Aßmus 
3069e62e48SStephan Aßmus 		virtual	void			MessageReceived(BMessage* message);
3169e62e48SStephan Aßmus 
324c587adeSStephan Aßmus 		void					NewGame();
3397e1b053SJohn Scipione 		void					SetGameSize(uint8 rows, uint8 cols);
344c587adeSStephan Aßmus 
3569e62e48SStephan Aßmus private:
3697e1b053SJohn Scipione 				void			_MakeGameView(uint8 rows, uint8 cols);
374c587adeSStephan Aßmus 				void			_MakeMenuBar();
3897e1b053SJohn Scipione 				void			_ResizeWindow(uint8 rows, uint8 cols);
394c587adeSStephan Aßmus 
4069e62e48SStephan Aßmus 				BView*			fBackgroundView;
4169e62e48SStephan Aßmus 				PairsView*		fPairsView;
424c587adeSStephan Aßmus 				BMenuBar*		fMenuBar;
4369e62e48SStephan Aßmus 				BMessageRunner*	fPairComparing;
4469e62e48SStephan Aßmus 				bool			fIsFirstClick;
4569e62e48SStephan Aßmus 				bool			fIsPairsActive;
4697e1b053SJohn Scipione 				int32			fPairCardPosition;
4797e1b053SJohn Scipione 				int32			fPairCardTmpPosition;
4897e1b053SJohn Scipione 				int32			fButtonTmpPosition;
4997e1b053SJohn Scipione 				int32			fButtonPosition;
5097e1b053SJohn Scipione 				int32			fButtonClicks;
5197e1b053SJohn Scipione 				int32			fFinishPairs;
5297e1b053SJohn Scipione 				BMenu*			fIconSizeMenu;
5369e62e48SStephan Aßmus };
5469e62e48SStephan Aßmus 
5569e62e48SStephan Aßmus #endif	// PAIRS_WINDOW_H
56