haiku/src/apps/packageinstaller/PackageStatus.h

54 lines
992 B
C++

/*
* Copyright (c) 2007, Haiku, Inc.
* Distributed under the terms of the MIT license.
*
* Author:
* Łukasz 'Sil2100' Zemczak <sil2100@vexillium.org>
*/
#ifndef PACKAGESTATUS_H
#define PACKAGESTATUS_H
#include <Window.h>
#include <View.h>
#include <Button.h>
#include <StatusBar.h>
enum {
P_MSG_NEXT_STAGE = 'psne',
P_MSG_STOP,
P_MSG_RESET
};
class StopButton : public BButton {
public:
StopButton();
virtual void Draw(BRect);
};
class PackageStatus : public BWindow {
public:
PackageStatus(const char *title, const char *label = NULL,
const char *trailing = NULL, BHandler *parent = NULL);
~PackageStatus();
void MessageReceived(BMessage *msg);
void Reset(uint32 stages, const char *label = NULL,
const char *trailing = NULL);
void StageStep(uint32 count, const char *text = NULL,
const char *trailing = NULL);
bool Stopped();
private:
BStatusBar *fStatus;
StopButton *fButton;
bool fIsStopped;
BHandler *fParent;
};
#endif