mirror of
https://review.haiku-os.org/haiku
synced 2025-02-07 06:16:11 +01:00
* New logo specific to R1 Alpha/1. * "Setup Partitions" is now always visible, since it will most likely be required to prepare a partition for installation anyways. * The optional packages are still in the GUI, but are collapsed by default as before. As there are currently no optional packages, a message will be displayed if no optional packages are found on the source partition. * The default label for the "Onto" popup is now "Please choose target" instead of the first partition found, even though it is not actually selected yet. * The EULA window is still shown, but it's not based on a BAlert anymore. * Only make main window non-minimizable if the Deskbar is not running (untested). * Style cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30368 a95241bf-73f2-0310-859d-f6bbb57e9c96
126 lines
3.0 KiB
C++
126 lines
3.0 KiB
C++
/*
|
|
* Copyright 2005, Jérôme DUVAL. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef __PACKAGEVIEWS_H__
|
|
#define __PACKAGEVIEWS_H__
|
|
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#include <Bitmap.h>
|
|
#include <CheckBox.h>
|
|
#include <Entry.h>
|
|
#include <List.h>
|
|
#include <StringView.h>
|
|
|
|
|
|
class Group {
|
|
public:
|
|
Group();
|
|
virtual ~Group();
|
|
void SetGroupName(const char* group)
|
|
{ strcpy(fGroup, group); }
|
|
const char* GroupName() const
|
|
{ return fGroup; }
|
|
private:
|
|
char fGroup[64];
|
|
};
|
|
|
|
|
|
class Package : public Group {
|
|
public:
|
|
Package(const char* folder);
|
|
virtual ~Package();
|
|
|
|
void SetFolder(const char* folder)
|
|
{ strcpy(fFolder, folder); }
|
|
void SetName(const char* name)
|
|
{ strcpy(fName, name); }
|
|
void SetDescription(const char* description)
|
|
{ strcpy(fDescription, description); }
|
|
void SetSize(const int32 size)
|
|
{ fSize = size; }
|
|
void SetIcon(BBitmap* icon)
|
|
{ delete fIcon; fIcon = icon; }
|
|
void SetOnByDefault(bool onByDefault)
|
|
{ fOnByDefault = onByDefault; }
|
|
void SetAlwaysOn(bool alwaysOn)
|
|
{ fAlwaysOn = alwaysOn; }
|
|
const char* Folder() const
|
|
{ return fFolder; }
|
|
const char* Name() const
|
|
{ return fName; }
|
|
const char* Description() const
|
|
{ return fDescription; }
|
|
const int32 Size() const
|
|
{ return fSize; }
|
|
void GetSizeAsString(char* string);
|
|
const BBitmap* Icon() const
|
|
{ return fIcon; }
|
|
bool OnByDefault() const
|
|
{ return fOnByDefault; }
|
|
bool AlwaysOn() const
|
|
{ return fAlwaysOn; }
|
|
|
|
static Package* PackageFromEntry(BEntry &dir);
|
|
|
|
private:
|
|
char fFolder[64];
|
|
char fName[64];
|
|
char fDescription[64];
|
|
int32 fSize;
|
|
BBitmap* fIcon;
|
|
bool fAlwaysOn;
|
|
bool fOnByDefault;
|
|
};
|
|
|
|
|
|
class PackageCheckBox : public BCheckBox {
|
|
public:
|
|
PackageCheckBox(BRect rect, Package* item);
|
|
virtual ~PackageCheckBox();
|
|
|
|
virtual void Draw(BRect updateRect);
|
|
virtual void MouseMoved(BPoint point, uint32 transit,
|
|
const BMessage* dragMessage);
|
|
|
|
Package* GetPackage()
|
|
{ return fPackage; };
|
|
private:
|
|
Package* fPackage;
|
|
};
|
|
|
|
|
|
class GroupView : public BStringView {
|
|
public:
|
|
GroupView(BRect rect, Group* group);
|
|
virtual ~GroupView();
|
|
|
|
private:
|
|
Group* fGroup;
|
|
};
|
|
|
|
|
|
class PackagesView : public BView {
|
|
public:
|
|
PackagesView(BRect rect, const char* name);
|
|
PackagesView(const char* name);
|
|
virtual ~PackagesView();
|
|
|
|
void Clean();
|
|
void AddPackages(BList& list, BMessage* message);
|
|
void GetTotalSizeAsString(char* string);
|
|
void GetPackagesToInstall(BList* list, int32* size);
|
|
|
|
virtual void FrameResized(float width, float height);
|
|
virtual void Draw(BRect updateRect);
|
|
virtual void GetPreferredSize(float* _width, float* _height);
|
|
virtual BSize MaxSize();
|
|
|
|
private:
|
|
BList fViews;
|
|
};
|
|
|
|
#endif // __PACKAGEVIEWS_H__
|