⛏️ index : haiku.git

// InfoWindow.h
// Generated by Interface Elements (Window v2.3) on Feb 23 2004
// This is a user written class and will not be overwritten.

#ifndef _INFOWINDOW_H_
#define _INFOWINDOW_H_

#include "IEWindow.h"
#include "InfoWindowDefs.h"
#include "PopUpMenuDefs.h"
#include "TPreferences.h"

extern const char *XCONTAINER_APP;

enum 
{
	CMD_UPDATE_CONTAINER_ITEM = 'updC',	
	CMD_UNLOAD_LIBRARY				= 'unld',
	CMD_IMPORT_REPLICANT 			= 'dupr',
	CMD_TICK									= 'tick',	
};


class InfoWindow : public IEWindow
{
	public:
									InfoWindow(void);
									~InfoWindow(void);

		virtual void  MessageReceived(BMessage *message);
		virtual bool 	QuitRequested();
		virtual void  MenusBeginning();

						void  GetPrefs();
					  void	SetPrefs();
		
	private:
			// These are the interesting functions showing how you can 
			// interact via BMessages with a Shelf/Container view
			BMessenger	MessengerForTarget(type_code w) const;
			int32				GetReplicantAt(int32 index) const;
			status_t		GetReplicantName(int32 uid, BMessage *result) const;
			status_t		DeleteReplicant(int32 uid);
			status_t		ImportReplicant(int32 uid);
		
			bool				IsReplicantLoaded(int32 uid) const;
		
			void				UpdateLists(bool make_empty);
			void				EmptyLists();

			BMessenger			fTarget;
			BMessageRunner	fTickToken;

			BPoint					fImportLoc;

			BMessage		*ReadMessageFromResource(const char *resName);
			void				CreateViews();
			BMenuField  *fMenuField;
			BBox				*fMainBox;
			
			BListView		*fReplicantList;			
			BListView		*fLibraryList;
			
			BButton			*fDeleteRep;
			BButton			*fCopyRep;
			BButton			*fUnloadLib;
				
			TPreferences	*fPrefs;
};

#endif