xref: /haiku/src/add-ons/tracker/zipomatic/ZipOMaticWindow.h (revision 6e645865304e06c60123df84c048753a2c35ee17)
1*6e645865SJonas Sundström #ifndef _ZIPOMATIC_WINDOW_H
2*6e645865SJonas Sundström #define _ZIPOMATIC_WINDOW_H
3926f5ddfSshatty 
4*6e645865SJonas Sundström 
5926f5ddfSshatty #include <Bitmap.h>
6926f5ddfSshatty #include <Menu.h>
7*6e645865SJonas Sundström #include <MenuBar.h>
8926f5ddfSshatty #include <MenuItem.h>
9*6e645865SJonas Sundström #include <Window.h>
10926f5ddfSshatty 
113b41fbe4SJérôme Duval #include "ZipOMaticSettings.h"
12*6e645865SJonas Sundström #include "ZipOMaticView.h"
13*6e645865SJonas Sundström #include "ZipperThread.h"
14*6e645865SJonas Sundström 
15926f5ddfSshatty 
16926f5ddfSshatty class ZippoWindow : public BWindow
17926f5ddfSshatty {
18926f5ddfSshatty public:
19*6e645865SJonas Sundström 							ZippoWindow(BMessage* message = NULL);
20*6e645865SJonas Sundström 							~ZippoWindow();
21*6e645865SJonas Sundström 
22*6e645865SJonas Sundström 	virtual	void			MessageReceived(BMessage* message);
23*6e645865SJonas Sundström 	virtual	bool			QuitRequested();
24926f5ddfSshatty 	virtual	void			Zoom(BPoint origin, float width, float height);
25926f5ddfSshatty 
26*6e645865SJonas Sundström 			bool			IsZipping();
27926f5ddfSshatty 
28926f5ddfSshatty private:
29*6e645865SJonas Sundström 			status_t		_ReadSettings();
30*6e645865SJonas Sundström 			status_t		_WriteSettings();
31926f5ddfSshatty 
32*6e645865SJonas Sundström 			void			_StartZipping(BMessage* message);
33*6e645865SJonas Sundström 			void			_StopZipping();
34926f5ddfSshatty 
35*6e645865SJonas Sundström 			void			_CloseWindowOrKeepOpen();
36926f5ddfSshatty 
37*6e645865SJonas Sundström 			ZippoView*		fView;
38*6e645865SJonas Sundström 			ZippoSettings	fSettings;
39*6e645865SJonas Sundström 			ZipperThread*	fThread;
40926f5ddfSshatty 
41*6e645865SJonas Sundström 			bool			fWindowGotRefs;
42*6e645865SJonas Sundström 			bool			fZippingWasStopped;
43926f5ddfSshatty 
44*6e645865SJonas Sundström 			BInvoker*		fWindowInvoker;
45926f5ddfSshatty };
46926f5ddfSshatty 
47*6e645865SJonas Sundström #endif	// _ZIPOMATIC_WINDOW_H
48*6e645865SJonas Sundström 
49