mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
56 lines
2.2 KiB
C++
56 lines
2.2 KiB
C++
//+----------------------------------------------------------------------------+
|
|
//| Description: Magic Set Editor - Program to make card games |
|
|
//| Copyright: (C) Twan van Laarhoven and the other MSE developers |
|
|
//| License: GNU General Public License 2 or later (see file COPYING) |
|
|
//+----------------------------------------------------------------------------+
|
|
|
|
#pragma once
|
|
|
|
// ----------------------------------------------------------------------------- : Includes
|
|
|
|
#include <util/prec.hpp>
|
|
#include <data/installer.hpp>
|
|
|
|
class PackageUpdateList;
|
|
class PackageInfoPanel;
|
|
|
|
// ----------------------------------------------------------------------------- : Packages window
|
|
|
|
/// A window that displays the installed packages and updates to them
|
|
class PackagesWindow : public wxDialog {
|
|
public:
|
|
/// Show the packages window, optionally downloading the package database from the website
|
|
PackagesWindow(Window* parent, bool download_package_list = true);
|
|
/// Show the packages window for an installer
|
|
PackagesWindow(Window* parent, const InstallerP& installer);
|
|
~PackagesWindow();
|
|
|
|
private:
|
|
PackageUpdateList* package_list; ///< List of available packages
|
|
PackageInfoPanel* package_info; ///< Description of the selected package
|
|
wxStaticText* waiting_info; ///< Did we get the list of installers?
|
|
|
|
/// List of the packages shown in this window
|
|
InstallablePackages installable_packages;
|
|
InstallablePackageP package; ///< Selected package
|
|
PackageAction where; ///< Where to install? (PACKAGE_LOCAL or PACKAGE_GLOBAL)
|
|
|
|
bool waiting_for_list; ///< waiting for the list of installers?
|
|
|
|
DECLARE_EVENT_TABLE();
|
|
|
|
void onOk(wxCommandEvent&);
|
|
void onActionChange(wxCommandEvent&);
|
|
void onPackageSelect(wxCommandEvent&);
|
|
void onUpdateUI(wxUpdateUIEvent&);
|
|
void onIdle(wxIdleEvent&);
|
|
|
|
/// Window initialization
|
|
void init(Window* parent, bool show_only_installable);
|
|
|
|
/// Check whether we have downloaded the list of installers
|
|
/** If the download is (partially) complete, update the installable_packages list */
|
|
bool checkInstallerList(bool refresh = true);
|
|
};
|
|
|