xref: /haiku/src/add-ons/tracker/zipomatic/ZipOMaticWindow.h (revision 926f5ddfbee702ef829083dae06d0e3dc40744c2)
1*926f5ddfSshatty #ifndef __ZIPPO_WINDOW_H__
2*926f5ddfSshatty #define __ZIPPO_WINDOW_H__
3*926f5ddfSshatty 
4*926f5ddfSshatty #include <Window.h>
5*926f5ddfSshatty #include <MenuBar.h>
6*926f5ddfSshatty #include <Bitmap.h>
7*926f5ddfSshatty #include <Menu.h>
8*926f5ddfSshatty #include <MenuItem.h>
9*926f5ddfSshatty 
10*926f5ddfSshatty #include <ZipOMaticSettings.h>
11*926f5ddfSshatty class ZippoView;
12*926f5ddfSshatty class ZipperThread;
13*926f5ddfSshatty 
14*926f5ddfSshatty class ZippoWindow : public BWindow
15*926f5ddfSshatty {
16*926f5ddfSshatty public:
17*926f5ddfSshatty 					ZippoWindow			(BMessage * a_message = NULL);
18*926f5ddfSshatty 					~ZippoWindow		(void);
19*926f5ddfSshatty 	virtual void	MessageReceived 	(BMessage * a_message);
20*926f5ddfSshatty 	virtual bool	QuitRequested		(void);
21*926f5ddfSshatty 	virtual void	Zoom			 	(BPoint origin, float width, float height);
22*926f5ddfSshatty 
23*926f5ddfSshatty 	bool			IsZipping			(void);
24*926f5ddfSshatty 
25*926f5ddfSshatty private:
26*926f5ddfSshatty 
27*926f5ddfSshatty 	status_t		ReadSettings		(void);
28*926f5ddfSshatty 	status_t		WriteSettings		(void);
29*926f5ddfSshatty 
30*926f5ddfSshatty 	void			StartZipping		(BMessage * a_message);
31*926f5ddfSshatty 	void			StopZipping			(void);
32*926f5ddfSshatty 
33*926f5ddfSshatty 	void			CloseWindowOrKeepOpen (void);
34*926f5ddfSshatty 
35*926f5ddfSshatty 	ZippoView	*	zippoview;
36*926f5ddfSshatty 	ZippoSettings	m_zippo_settings;
37*926f5ddfSshatty 	ZipperThread *	m_zipper_thread;
38*926f5ddfSshatty 
39*926f5ddfSshatty 	bool	m_got_refs_at_window_startup;
40*926f5ddfSshatty 	bool	m_zipping_was_stopped;
41*926f5ddfSshatty 
42*926f5ddfSshatty 	BMessage	*	m_alert_invoker_message;
43*926f5ddfSshatty 	BInvoker	*	m_alert_window_invoker;
44*926f5ddfSshatty };
45*926f5ddfSshatty 
46*926f5ddfSshatty #endif // __ZIPPO_WINDOW_H__
47