#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:
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