From f344b1dca68ddc2e9688bf9c6f966ca74c7f9def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Sat, 27 Jul 2013 22:25:08 +0200 Subject: [PATCH] HaikuDepot: BGroupView holding buttons for package actions... ... that can be applied to the selected package(s). Does nothing except create the buttons and layout. --- src/apps/haiku-depot/PackageActionsView.cpp | 81 +++++++++++++++++++++ src/apps/haiku-depot/PackageActionsView.h | 29 ++++++++ 2 files changed, 110 insertions(+) create mode 100644 src/apps/haiku-depot/PackageActionsView.cpp create mode 100644 src/apps/haiku-depot/PackageActionsView.h diff --git a/src/apps/haiku-depot/PackageActionsView.cpp b/src/apps/haiku-depot/PackageActionsView.cpp new file mode 100644 index 0000000000..8d18043fca --- /dev/null +++ b/src/apps/haiku-depot/PackageActionsView.cpp @@ -0,0 +1,81 @@ +/* + * Copyright 2013, Stephan Aßmus . + * All rights reserved. Distributed under the terms of the MIT License. + */ + +#include "PackageActionsView.h" + +#include +#include + +#include +#include +#include +#include + + +#undef B_TRANSLATION_CONTEXT +#define B_TRANSLATION_CONTEXT "PackageActionsView" + + +enum { + MSG_INSTALL = 'inst', + MSG_TOGGLE_ACTIVE = 'tgac', + MSG_UPDATE = 'stmd', + MSG_UNINSTALL = 'dein', +}; + + +PackageActionsView::PackageActionsView() + : + BGroupView("package actions view") +{ + // Contruct action buttons + fInstallButton = new BButton("install", B_TRANSLATE("Install"), + new BMessage(MSG_INSTALL)); + + fToggleActiveButton = new BButton("toggle active", + B_TRANSLATE("Deactivate"), new BMessage(MSG_TOGGLE_ACTIVE)); + + fUpdateButton = new BButton("update", + B_TRANSLATE("Update"), new BMessage(MSG_UPDATE)); + + fUninstallButton = new BButton("uninstall", B_TRANSLATE("Uninstall"), + new BMessage(MSG_UNINSTALL)); + + // Build layout + BLayoutBuilder::Group<>(this) + .AddGlue(1.0f) + .Add(fUninstallButton) + .AddGlue(0.1f) + .Add(fUpdateButton) + .Add(fToggleActiveButton) + .Add(fInstallButton) + ; +} + + +PackageActionsView::~PackageActionsView() +{ +} + + +void +PackageActionsView::AttachedToWindow() +{ + fInstallButton->SetTarget(this); + fToggleActiveButton->SetTarget(this); + fUpdateButton->SetTarget(this); + fUninstallButton->SetTarget(this); +} + + +void +PackageActionsView::MessageReceived(BMessage* message) +{ + switch (message->what) { + default: + BGroupView::MessageReceived(message); + break; + } +} diff --git a/src/apps/haiku-depot/PackageActionsView.h b/src/apps/haiku-depot/PackageActionsView.h new file mode 100644 index 0000000000..02ef03caa4 --- /dev/null +++ b/src/apps/haiku-depot/PackageActionsView.h @@ -0,0 +1,29 @@ +/* + * Copyright 2013, Stephan Aßmus . + * All rights reserved. Distributed under the terms of the MIT License. + */ +#ifndef PACKAGE_ACTIONS_VIEW_H +#define PACKAGE_ACTIONS_VIEW_H + +#include + + +class BButton; + + +class PackageActionsView : public BGroupView { +public: + PackageActionsView(); + virtual ~PackageActionsView(); + + virtual void AttachedToWindow(); + virtual void MessageReceived(BMessage* message); + +private: + BButton* fInstallButton; + BButton* fToggleActiveButton; + BButton* fUpdateButton; + BButton* fUninstallButton; +}; + +#endif // PACKAGE_ACTIONS_VIEW_H